diff options
| author | Po Lu <luangruo@yahoo.com> | 2024-05-18 20:45:35 +0800 |
|---|---|---|
| committer | Po Lu <luangruo@yahoo.com> | 2024-05-18 20:45:35 +0800 |
| commit | 8dc00dc22250b383e7692fc761cbca25b014aa8a (patch) | |
| tree | a016100ec536856ccbb3c7334b63e0595b8b549f /java/org | |
| parent | 5ec4c1a7d3f0d184982f4efa0c01bc9a76197533 (diff) | |
Housekeeping around androidselect.c
* java/org/gnu/emacs/EmacsClipboard.java (setClipboard)
(getClipboard):
* java/org/gnu/emacs/EmacsSdk11Clipboard.java (setClipboard)
(getClipboard):
* java/org/gnu/emacs/EmacsSdk8Clipboard.java (setClipboard)
(getClipboard): Save and return Strings rather than byte arrays.
* src/androidselect.c (android_init_emacs_clipboard)
(Fandroid_set_clipboard, Fandroid_get_clipboard): Adjust to
match.
Diffstat (limited to 'java/org')
| -rw-r--r-- | java/org/gnu/emacs/EmacsClipboard.java | 4 | ||||
| -rw-r--r-- | java/org/gnu/emacs/EmacsSdk11Clipboard.java | 45 | ||||
| -rw-r--r-- | java/org/gnu/emacs/EmacsSdk8Clipboard.java | 29 |
3 files changed, 21 insertions, 57 deletions
diff --git a/java/org/gnu/emacs/EmacsClipboard.java b/java/org/gnu/emacs/EmacsClipboard.java index 86553f478ed..2560ef793c2 100644 --- a/java/org/gnu/emacs/EmacsClipboard.java +++ b/java/org/gnu/emacs/EmacsClipboard.java @@ -27,10 +27,10 @@ import android.os.Build; public abstract class EmacsClipboard { - public abstract void setClipboard (byte[] bytes); + public abstract void setClipboard (String string); public abstract int ownsClipboard (); public abstract boolean clipboardExists (); - public abstract byte[] getClipboard (); + public abstract String getClipboard (); public abstract String[] getClipboardTargets (); public abstract AssetFileDescriptor getClipboardData (String target); diff --git a/java/org/gnu/emacs/EmacsSdk11Clipboard.java b/java/org/gnu/emacs/EmacsSdk11Clipboard.java index dfc714476ec..e179551c14d 100644 --- a/java/org/gnu/emacs/EmacsSdk11Clipboard.java +++ b/java/org/gnu/emacs/EmacsSdk11Clipboard.java @@ -86,32 +86,23 @@ public final class EmacsSdk11Clipboard extends EmacsClipboard } } - /* Set the clipboard text to CLIPBOARD, a string in UTF-8 - encoding. */ + /* Save the STRING into the clipboard by way of text copied by the + user. */ @Override public synchronized void - setClipboard (byte[] bytes) + setClipboard (String string) { ClipData data; - String string; - try - { - string = new String (bytes, "UTF-8"); - data = ClipData.newPlainText ("Emacs", string); - manager.setPrimaryClip (data); - ownsClipboard = true; + data = ClipData.newPlainText ("Emacs", string); + manager.setPrimaryClip (data); + ownsClipboard = true; - /* onPrimaryClipChanged will be called again. Use this - variable to keep track of how many times the clipboard has - been changed. */ - ++clipboardChangedCount; - } - catch (UnsupportedEncodingException exception) - { - Log.w (TAG, "setClipboard: " + exception); - } + /* onPrimaryClipChanged will be called again. Use this + variable to keep track of how many times the clipboard has + been changed. */ + ++clipboardChangedCount; } /* Return whether or not Emacs owns the clipboard. Value is 1 if @@ -141,7 +132,7 @@ public final class EmacsSdk11Clipboard extends EmacsClipboard NULL if no content is available. */ @Override - public byte[] + public String getClipboard () { ClipData clip; @@ -154,18 +145,8 @@ public final class EmacsSdk11Clipboard extends EmacsClipboard return null; context = EmacsService.SERVICE; - - try - { - text = clip.getItemAt (0).coerceToText (context); - return text.toString ().getBytes ("UTF-8"); - } - catch (UnsupportedEncodingException exception) - { - Log.w (TAG, "getClipboard: " + exception); - } - - return null; + text = clip.getItemAt (0).coerceToText (context); + return text.toString (); } /* Return an array of targets currently provided by the diff --git a/java/org/gnu/emacs/EmacsSdk8Clipboard.java b/java/org/gnu/emacs/EmacsSdk8Clipboard.java index 344ec6f7997..afd235babf5 100644 --- a/java/org/gnu/emacs/EmacsSdk8Clipboard.java +++ b/java/org/gnu/emacs/EmacsSdk8Clipboard.java @@ -52,21 +52,14 @@ public final class EmacsSdk8Clipboard extends EmacsClipboard = (ClipboardManager) context.getSystemService (what); } - /* Set the clipboard text to CLIPBOARD, a string in UTF-8 - encoding. */ + /* Save the STRING into the clipboard by way of text copied by the + user. */ @Override public void - setClipboard (byte[] bytes) + setClipboard (String string) { - try - { - manager.setText (new String (bytes, "UTF-8")); - } - catch (UnsupportedEncodingException exception) - { - Log.w (TAG, "setClipboard: " + exception); - } + manager.setText (string); } /* Return whether or not Emacs owns the clipboard. Value is 1 if @@ -93,7 +86,7 @@ public final class EmacsSdk8Clipboard extends EmacsClipboard NULL if no content is available. */ @Override - public byte[] + public String getClipboard () { String string; @@ -105,17 +98,7 @@ public final class EmacsSdk8Clipboard extends EmacsClipboard return null; string = text.toString (); - - try - { - return string.getBytes ("UTF-8"); - } - catch (UnsupportedEncodingException exception) - { - Log.w (TAG, "getClipboard: " + exception); - } - - return null; + return string; } /* Return an array of targets currently provided by the |
