1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-06 06:20:55 -08:00

Correct conditions for iconification on Android

* java/org/gnu/emacs/EmacsActivity.java (EmacsActivity)
<isPaused>: Rename to <isStopped>.
(attachWindow): Adjust to match.
(onPause): Delete function.
(onStop): Deem frames iconified after calls to onStop instead.
This commit is contained in:
Po Lu 2024-07-08 15:33:26 +08:00
parent 130c3efa10
commit 67f291ddae

View file

@ -78,7 +78,7 @@ public class EmacsActivity extends Activity
public static EmacsWindow focusedWindow; public static EmacsWindow focusedWindow;
/* Whether or not this activity is paused. */ /* Whether or not this activity is paused. */
private boolean isPaused; private boolean isStopped;
/* Whether or not this activity is fullscreen. */ /* Whether or not this activity is fullscreen. */
private boolean isFullscreen; private boolean isFullscreen;
@ -196,7 +196,7 @@ public class EmacsActivity extends Activity
window.view.requestFocus (); window.view.requestFocus ();
/* If the activity is iconified, send that to the window. */ /* If the activity is iconified, send that to the window. */
if (isPaused) if (isStopped)
window.noticeIconified (); window.noticeIconified ();
/* Invalidate the focus. Since attachWindow may be called from /* Invalidate the focus. Since attachWindow may be called from
@ -308,8 +308,13 @@ public class EmacsActivity extends Activity
public final void public final void
onStop () onStop ()
{ {
timeOfLastInteraction = SystemClock.elapsedRealtime (); /* Iconification was previously reported in onPause, but that was
misinformed, as `onStop' is the actual callback activated upon
changes in an activity's visibility. */
isStopped = true;
EmacsWindowManager.MANAGER.noticeIconified (this);
timeOfLastInteraction = SystemClock.elapsedRealtime ();
super.onStop (); super.onStop ();
} }
@ -403,21 +408,11 @@ public class EmacsActivity extends Activity
invalidateFocus (3); invalidateFocus (3);
} }
@Override
public final void
onPause ()
{
isPaused = true;
EmacsWindowManager.MANAGER.noticeIconified (this);
super.onPause ();
}
@Override @Override
public final void public final void
onResume () onResume ()
{ {
isPaused = false; isStopped = false;
timeOfLastInteraction = 0; timeOfLastInteraction = 0;
EmacsWindowManager.MANAGER.noticeDeiconified (this); EmacsWindowManager.MANAGER.noticeDeiconified (this);