]> git.eshelyaron.com Git - emacs.git/commitdiff
Update Android port
authorPo Lu <luangruo@yahoo.com>
Sun, 5 Mar 2023 07:55:24 +0000 (15:55 +0800)
committerPo Lu <luangruo@yahoo.com>
Sun, 5 Mar 2023 07:55:24 +0000 (15:55 +0800)
* java/org/gnu/emacs/EmacsOpenActivity.java (onCreate): Don't
set the style here.
* java/res/values-v11/style.xml:
* java/res/values-v14/style.xml:
* java/res/values-v29/style.xml:
* java/res/values/style.xml: Define styles for the emacsclient
wrapper.
* src/keyboard.c (read_key_sequence): Don't disable text
conversion if use_mouse_menu or if a menu bar prefix key is
being displayed.

java/org/gnu/emacs/EmacsOpenActivity.java
java/res/values-v11/style.xml
java/res/values-v14/style.xml
java/res/values-v29/style.xml
java/res/values/style.xml
src/keyboard.c

index fddd5331d2f026c1f0654f569b59a4855a5ef7f1..ac643ae8a13937c14b35fdf8080785efba2fe727 100644 (file)
@@ -380,11 +380,6 @@ public final class EmacsOpenActivity extends Activity
        return;
       }
 
-    /* Set an appropriate theme.  */
-
-    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH)
-      setTheme (android.R.style.Theme_DeviceDefault);
-
     /* Now see if the action specified is supported by Emacs.  */
 
     if (action.equals ("android.intent.action.VIEW")
index 50cf96e8bc5f7590716c268541877b2e38070a0d..b114758bf0d9cb86fe4367c3e82e1a78721cd412 100644 (file)
@@ -20,4 +20,5 @@ along with GNU Emacs.  If not, see <https://www.gnu.org/licenses/>. -->
 <resources>
   <!-- Style used for popup menus and relatives on Android 3.x.  -->
   <style name="EmacsStyle" parent="@android:style/Theme.Holo.NoActionBar"/>
+  <style name="EmacsStyleOpen" parent="@android:style/Theme.Holo"/>
 </resources>
index 4124887ab5a74ada221eed44febd93b346ec402a..2cb54dc301babf2c0a6ff98f24b2747646faac1d 100644 (file)
@@ -21,4 +21,5 @@ along with GNU Emacs.  If not, see <https://www.gnu.org/licenses/>. -->
   <!-- Style used for popup menus and relatives between Android 4.0
        and Android 10.  -->
   <style name="EmacsStyle" parent="@android:style/Theme.DeviceDefault.NoActionBar"/>
+  <style name="EmacsStyleOpen" parent="@android:style/Theme.DeviceDefault"/>
 </resources>
index cd4a6dd1fec7ff93b188992e4f867f8f128f687b..ec7b8d145544dae83e02283bdce6fd07d3213cb8 100644 (file)
@@ -27,4 +27,6 @@ along with GNU Emacs.  If not, see <https://www.gnu.org/licenses/>. -->
     <!-- Required to make sure the status bar text remains legible.  -->
     <item name="android:statusBarColor">@android:color/black</item>
   </style>
+  <style name="EmacsStyleOpen"
+        parent="@android:style/Theme.DeviceDefault.DayNight"/>
 </resources>
index 396b7d8da39bc8ea73eb5b3193b9fea910f2fbcd..498e844fda0f619a4659ff21a944662a0f02b4c3 100644 (file)
@@ -22,4 +22,5 @@ along with GNU Emacs.  If not, see <https://www.gnu.org/licenses/>. -->
        2.3.  Styles used for newer Android versions are defined in
        the res/values- directories for their respective API levels. -->
   <style name="EmacsStyle" parent="@android:style/Theme.NoTitleBar"/>
+  <style name="EmacsStyleOpen" parent="@android:style/Theme"/>
 </resources>
index 8cdc5027ebd697b9fce9da03e932ac82e68a6c74..a38c739454358a2b3ce291a6247305a26297c63f 100644 (file)
@@ -10215,14 +10215,30 @@ read_key_sequence (Lisp_Object *keybuf, Lisp_Object prompt,
         effect, turn it off after the first character read.  This
         makes input methods send actual key events instead.
 
-         Make sure only to do this once.  */
+         Make sure only to do this once.  Also, disabling text
+         conversion seems to interact badly with menus, so don't
+         disable text conversion if a menu was displayed.  */
 
-      if (!disabled_conversion && t)
+      if (!disabled_conversion && t && !used_mouse_menu)
        {
-         disable_text_conversion ();
-         record_unwind_protect_void (resume_text_conversion);
+         int i;
+
+         /* used_mouse_menu isn't set if a menu bar prefix key has
+            just been stored.  It appears necessary to look for the
+            prefix key itself.  */
+
+         for (i = 0; i < t; ++i)
+           {
+             if (EQ (keybuf[i], Qmenu_bar))
+               break;
+           }
 
-         disabled_conversion = true;
+         if (i == t)
+           {
+             disable_text_conversion ();
+             record_unwind_protect_void (resume_text_conversion);
+             disabled_conversion = true;
+           }
        }
 #endif