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; import android.util.Log; +import android.os.Build; + import java.io.UnsupportedEncodingException; /* This class implements EmacsClipboard for Android 3.0 and later @@ -43,7 +45,12 @@ public class EmacsSdk11Clipboard extends EmacsClipboard EmacsSdk11Clipboard () { manager = EmacsService.SERVICE.getClipboardManager (); - manager.addPrimaryClipChangedListener (this); + + /* The system forbids Emacs from reading clipboard data in the + background under Android 10 or later. */ + + if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) + manager.addPrimaryClipChangedListener (this); } @Override @@ -105,6 +112,9 @@ public class EmacsSdk11Clipboard extends EmacsClipboard public synchronized int ownsClipboard () { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) + return -1; + return ownsClipboard ? 1 : 0; } |
