summaryrefslogtreecommitdiff
path: root/java/org/gnu
diff options
context:
space:
mode:
authorPo Lu <luangruo@yahoo.com>2023-03-17 10:38:09 +0800
committerPo Lu <luangruo@yahoo.com>2023-03-17 10:38:09 +0800
commitda660a1ffa3218f8e6ec4dfd5422ca6c1ded38ae (patch)
tree679b3932c0946059b69f5d654f93830ad122eb2b /java/org/gnu
parentb37bb4279c7541cac6596747ea0951e8f02462ec (diff)
Update Android port
* java/org/gnu/emacs/EmacsView.java (cancelPopupMenu): Dismiss context menu correctly. (isOpaque): New function. * java/org/gnu/emacs/EmacsWindowAttachmentManager.java: Make consumer list public.
Diffstat (limited to 'java/org/gnu')
-rw-r--r--java/org/gnu/emacs/EmacsView.java21
-rw-r--r--java/org/gnu/emacs/EmacsWindowAttachmentManager.java2
2 files changed, 22 insertions, 1 deletions
diff --git a/java/org/gnu/emacs/EmacsView.java b/java/org/gnu/emacs/EmacsView.java
index 878ef2f3fbf..681da98fa16 100644
--- a/java/org/gnu/emacs/EmacsView.java
+++ b/java/org/gnu/emacs/EmacsView.java
@@ -514,6 +514,17 @@ public final class EmacsView extends ViewGroup
contextMenu = null;
popupActive = false;
+
+ /* It is not possible to know with 100% certainty which activity
+ is currently displaying the context menu. Loop through each
+ activity and call `closeContextMenu' instead. */
+
+ for (EmacsWindowAttachmentManager.WindowConsumer consumer
+ : EmacsWindowAttachmentManager.MANAGER.consumers)
+ {
+ if (consumer instanceof EmacsActivity)
+ ((EmacsActivity) consumer).closeContextMenu ();
+ }
}
@Override
@@ -646,6 +657,16 @@ public final class EmacsView extends ViewGroup
return isCurrentlyTextEditor;
}
+ @Override
+ public boolean
+ isOpaque ()
+ {
+ /* Returning true here allows the system to not draw the contents
+ of windows underneath this view, thereby improving
+ performance. */
+ return true;
+ }
+
public synchronized void
setICMode (int icMode)
{
diff --git a/java/org/gnu/emacs/EmacsWindowAttachmentManager.java b/java/org/gnu/emacs/EmacsWindowAttachmentManager.java
index 30f29250970..c0197ab802c 100644
--- a/java/org/gnu/emacs/EmacsWindowAttachmentManager.java
+++ b/java/org/gnu/emacs/EmacsWindowAttachmentManager.java
@@ -67,7 +67,7 @@ public final class EmacsWindowAttachmentManager
public void destroy ();
};
- private List<WindowConsumer> consumers;
+ public List<WindowConsumer> consumers;
public List<EmacsWindow> windows;
public