Improve criteria for restoring fullscreen state on Android

* java/Makefile.in ($(CLASS_FILES) &): Touch all class files,
even those javac chose not to rebuild.

* java/org/gnu/emacs/EmacsActivity.java (onWindowFocusChanged):
Restore fullscreen state here.
(onResume): And not here.
This commit is contained in:
Po Lu 2023-03-02 12:30:36 +08:00
parent 424077fadf
commit 09aa948ab4
2 changed files with 10 additions and 3 deletions

View file

@ -261,6 +261,7 @@ $(CLASS_FILES): $(RESOURCE_FILE)
.SUFFIXES: .java .class
$(CLASS_FILES) &: $(JAVA_FILES)
$(AM_V_JAVAC) $(JAVAC) $(JAVAFLAGS) $(JAVA_FILES)
$(AM_V_SILENT) touch $(CLASS_FILES)
# N.B. that find must be called all over again in case javac generated
# nested classes.

View file

@ -241,6 +241,15 @@ public class EmacsActivity extends Activity
{
focusedActivities.add (this);
lastFocusedActivity = this;
/* Update the window insets as the focus change may have
changed the window insets as well, and the system does not
automatically restore visibility flags. */
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN
&& Build.VERSION.SDK_INT < Build.VERSION_CODES.R
&& isFullscreen)
syncFullscreenWith (window);
}
else
focusedActivities.remove (this);
@ -264,9 +273,6 @@ public class EmacsActivity extends Activity
{
isPaused = false;
/* Update the window insets. */
syncFullscreenWith (window);
EmacsWindowAttachmentManager.MANAGER.noticeDeiconified (this);
super.onResume ();
}