Circumvent another styling issue in Android 15 QPR1

* java/org/gnu/emacs/EmacsView.java (popupMenu): On Android 15
and later, reload the default theme before displaying popup
menus.
This commit is contained in:
Po Lu 2025-03-04 09:36:19 +08:00
parent ec517d1dcf
commit d6aea7cc94

View file

@ -707,6 +707,8 @@ else if (child.getVisibility () != GONE)
popupMenu (EmacsContextMenu menu, int xPosition,
int yPosition, boolean force)
{
ContextThemeWrapper context;
if (popupActive && !force)
return false;
@ -720,6 +722,16 @@ else if (child.getVisibility () != GONE)
contextMenu = menu;
popupActive = true;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.VANILLA_ICE_CREAM)
{
context = (ContextThemeWrapper) getContext ();
/* It is necessary to reload the current theme before attempting
to display a new popup menu, or any previously applied system
theme will continue to apply to it. */
context.setTheme (R.style.EmacsStyleOpen);
context.setTheme (R.style.EmacsStyle);
}
/* Use showContextMenu (float, float) on N to get actual popup
behavior. */
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N)