summaryrefslogtreecommitdiff
path: root/java/org/gnu
diff options
context:
space:
mode:
authorPo Lu <luangruo@yahoo.com>2023-02-06 22:00:08 +0800
committerPo Lu <luangruo@yahoo.com>2023-02-06 22:00:08 +0800
commitfc82efc1fe99415d60d9aa06f2ff8e7e92566870 (patch)
tree350d9c170f5d8f680b57fd3d012901087073f4a6 /java/org/gnu
parent7275e32d0b0db412d6a20b3d656ef72ea72d8a44 (diff)
Update Android port
* java/AndroidManifest.xml.in: Prevent the Emacs activity from being overlayed by the emacsclient wrapper. * java/org/gnu/emacs/EmacsOpenActivity.java (run): Likewise. (onCreate): Set an appropriate theme on ICS and up. * java/org/gnu/emacs/EmacsWindow.java (onTouchEvent): Handle ACTION_CANCEL correctly.
Diffstat (limited to 'java/org/gnu')
-rw-r--r--java/org/gnu/emacs/EmacsOpenActivity.java9
-rw-r--r--java/org/gnu/emacs/EmacsWindow.java5
2 files changed, 12 insertions, 2 deletions
diff --git a/java/org/gnu/emacs/EmacsOpenActivity.java b/java/org/gnu/emacs/EmacsOpenActivity.java
index 268a9abd7b1..e987e067a73 100644
--- a/java/org/gnu/emacs/EmacsOpenActivity.java
+++ b/java/org/gnu/emacs/EmacsOpenActivity.java
@@ -184,7 +184,9 @@ public class EmacsOpenActivity extends Activity
intent = new Intent (EmacsOpenActivity.this,
EmacsActivity.class);
- intent.addFlags (Intent.FLAG_ACTIVITY_NEW_TASK);
+
+ /* This means only an existing frame will be displayed. */
+ intent.addFlags (Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
startActivity (intent);
EmacsOpenActivity.this.finish ();
@@ -285,6 +287,11 @@ public 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")
diff --git a/java/org/gnu/emacs/EmacsWindow.java b/java/org/gnu/emacs/EmacsWindow.java
index 5c2b77b0125..e921b972c2c 100644
--- a/java/org/gnu/emacs/EmacsWindow.java
+++ b/java/org/gnu/emacs/EmacsWindow.java
@@ -794,7 +794,10 @@ public class EmacsWindow extends EmacsHandleObject
case MotionEvent.ACTION_UP:
case MotionEvent.ACTION_POINTER_UP:
- /* Touch up event. */
+ case MotionEvent.ACTION_CANCEL:
+ /* Touch up event. Android documentation says ACTION_CANCEL
+ should be treated as more or less equivalent to ACTION_UP,
+ so that is what is done here. */
EmacsNative.sendTouchUp (this.handle, (int) event.getX (index),
(int) event.getY (index),
event.getEventTime (), pointerID);