aboutsummaryrefslogtreecommitdiffstats
path: root/java
diff options
context:
space:
mode:
authorPo Lu2024-06-11 14:39:40 +0800
committerPo Lu2024-06-11 14:40:55 +0800
commit677f082b0feda295e6a710b5dac6040f57cfad8b (patch)
treecbd18da7062cda11965c1a57f14b8fb223a75ce9 /java
parentbac8a70f454d022d8352200d85eacd27017d4f12 (diff)
downloademacs-677f082b0feda295e6a710b5dac6040f57cfad8b.tar.gz
emacs-677f082b0feda295e6a710b5dac6040f57cfad8b.zip
Eliminate some redundant synchronization on Android
* java/org/gnu/emacs/EmacsService.java (resetIC): Return on all versions of Android if the connection need not be reset. * java/org/gnu/emacs/EmacsView.java (getICMode, setICMode): Remove needless synchronization.
Diffstat (limited to 'java')
-rw-r--r--java/org/gnu/emacs/EmacsService.java18
-rw-r--r--java/org/gnu/emacs/EmacsView.java4
2 files changed, 15 insertions, 7 deletions
diff --git a/java/org/gnu/emacs/EmacsService.java b/java/org/gnu/emacs/EmacsService.java
index 2dcaad16e50..cfe9e42de4d 100644
--- a/java/org/gnu/emacs/EmacsService.java
+++ b/java/org/gnu/emacs/EmacsService.java
@@ -899,11 +899,19 @@ public final class EmacsService extends Service
899 if (DEBUG_IC) 899 if (DEBUG_IC)
900 Log.d (TAG, "resetIC: " + window + ", " + icMode); 900 Log.d (TAG, "resetIC: " + window + ", " + icMode);
901 901
902 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU 902 oldMode = window.view.getICMode ();
903 && (oldMode = window.view.getICMode ()) == icMode 903
904 /* Don't do this if there is currently no input 904 /* If it's not necessary to reset the input connection for ICMODE to
905 connection. */ 905 take effect, return immediately. */
906 && oldMode != IC_MODE_NULL) 906 if (oldMode == IC_MODE_NULL && icMode == IC_MODE_NULL)
907 {
908 if (DEBUG_IC)
909 Log.d (TAG, "resetIC: redundant invocation ignored");
910 return;
911 }
912
913 if (oldMode == icMode
914 && Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU)
907 { 915 {
908 if (DEBUG_IC) 916 if (DEBUG_IC)
909 Log.d (TAG, "resetIC: calling invalidateInput"); 917 Log.d (TAG, "resetIC: calling invalidateInput");
diff --git a/java/org/gnu/emacs/EmacsView.java b/java/org/gnu/emacs/EmacsView.java
index 244a3a02166..4a505b3c0dc 100644
--- a/java/org/gnu/emacs/EmacsView.java
+++ b/java/org/gnu/emacs/EmacsView.java
@@ -891,13 +891,13 @@ public final class EmacsView extends ViewGroup
891 return true; 891 return true;
892 } 892 }
893 893
894 public synchronized void 894 public void
895 setICMode (int icMode) 895 setICMode (int icMode)
896 { 896 {
897 this.icMode = icMode; 897 this.icMode = icMode;
898 } 898 }
899 899
900 public synchronized int 900 public int
901 getICMode () 901 getICMode ()
902 { 902 {
903 return icMode; 903 return icMode;