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.
This commit is contained in:
Po Lu 2023-03-17 10:38:09 +08:00
parent b37bb4279c
commit da660a1ffa
2 changed files with 22 additions and 1 deletions

View file

@ -514,6 +514,17 @@ else if (child.getVisibility () != GONE)
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 @@ else if (child.getVisibility () != GONE)
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)
{

View file

@ -67,7 +67,7 @@ public interface WindowConsumer
public void destroy ();
};
private List<WindowConsumer> consumers;
public List<WindowConsumer> consumers;
public List<EmacsWindow> windows;
public