diff options
Diffstat (limited to 'java')
| -rw-r--r-- | java/org/gnu/emacs/EmacsSdk11Clipboard.java | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/java/org/gnu/emacs/EmacsSdk11Clipboard.java b/java/org/gnu/emacs/EmacsSdk11Clipboard.java index 2df2015c9c1..ea35a463299 100644 --- a/java/org/gnu/emacs/EmacsSdk11Clipboard.java +++ b/java/org/gnu/emacs/EmacsSdk11Clipboard.java | |||
| @@ -25,6 +25,8 @@ import android.content.ClipData; | |||
| 25 | 25 | ||
| 26 | import android.util.Log; | 26 | import android.util.Log; |
| 27 | 27 | ||
| 28 | import android.os.Build; | ||
| 29 | |||
| 28 | import java.io.UnsupportedEncodingException; | 30 | import java.io.UnsupportedEncodingException; |
| 29 | 31 | ||
| 30 | /* This class implements EmacsClipboard for Android 3.0 and later | 32 | /* This class implements EmacsClipboard for Android 3.0 and later |
| @@ -43,7 +45,12 @@ public class EmacsSdk11Clipboard extends EmacsClipboard | |||
| 43 | EmacsSdk11Clipboard () | 45 | EmacsSdk11Clipboard () |
| 44 | { | 46 | { |
| 45 | manager = EmacsService.SERVICE.getClipboardManager (); | 47 | manager = EmacsService.SERVICE.getClipboardManager (); |
| 46 | manager.addPrimaryClipChangedListener (this); | 48 | |
| 49 | /* The system forbids Emacs from reading clipboard data in the | ||
| 50 | background under Android 10 or later. */ | ||
| 51 | |||
| 52 | if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) | ||
| 53 | manager.addPrimaryClipChangedListener (this); | ||
| 47 | } | 54 | } |
| 48 | 55 | ||
| 49 | @Override | 56 | @Override |
| @@ -105,6 +112,9 @@ public class EmacsSdk11Clipboard extends EmacsClipboard | |||
| 105 | public synchronized int | 112 | public synchronized int |
| 106 | ownsClipboard () | 113 | ownsClipboard () |
| 107 | { | 114 | { |
| 115 | if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) | ||
| 116 | return -1; | ||
| 117 | |||
| 108 | return ownsClipboard ? 1 : 0; | 118 | return ownsClipboard ? 1 : 0; |
| 109 | } | 119 | } |
| 110 | 120 | ||