summaryrefslogtreecommitdiff
path: root/java/org
diff options
context:
space:
mode:
authorPo Lu <luangruo@yahoo.com>2024-05-18 20:45:35 +0800
committerPo Lu <luangruo@yahoo.com>2024-05-18 20:45:35 +0800
commit8dc00dc22250b383e7692fc761cbca25b014aa8a (patch)
treea016100ec536856ccbb3c7334b63e0595b8b549f /java/org
parent5ec4c1a7d3f0d184982f4efa0c01bc9a76197533 (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.java4
-rw-r--r--java/org/gnu/emacs/EmacsSdk11Clipboard.java45
-rw-r--r--java/org/gnu/emacs/EmacsSdk8Clipboard.java29
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