]> git.eshelyaron.com Git - emacs.git/commitdiff
Correct conditions for iconification on Android
authorPo Lu <luangruo@yahoo.com>
Mon, 8 Jul 2024 07:33:26 +0000 (15:33 +0800)
committerEshel Yaron <me@eshelyaron.com>
Mon, 8 Jul 2024 20:58:28 +0000 (22:58 +0200)
* 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.

(cherry picked from commit 67f291ddae31cc4623fd93280b141ee8611f3f5a)

java/org/gnu/emacs/EmacsActivity.java

index 7d02e4f4834c0d1cf20d4f42ec03703c2e6e437c..0c9e8312b90b9936eba4f21c2ced7872719ce401 100644 (file)
@@ -78,7 +78,7 @@ public class EmacsActivity extends Activity
   public static EmacsWindow focusedWindow;
 
   /* Whether or not this activity is paused.  */
-  private boolean isPaused;
+  private boolean isStopped;
 
   /* Whether or not this activity is fullscreen.  */
   private boolean isFullscreen;
@@ -196,7 +196,7 @@ public class EmacsActivity extends Activity
       window.view.requestFocus ();
 
     /* If the activity is iconified, send that to the window.  */
-    if (isPaused)
+    if (isStopped)
       window.noticeIconified ();
 
     /* Invalidate the focus.  Since attachWindow may be called from
@@ -308,8 +308,13 @@ public class EmacsActivity extends Activity
   public final void
   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 ();
   }
 
@@ -403,21 +408,11 @@ public class EmacsActivity extends Activity
     invalidateFocus (3);
   }
 
-  @Override
-  public final void
-  onPause ()
-  {
-    isPaused = true;
-
-    EmacsWindowManager.MANAGER.noticeIconified (this);
-    super.onPause ();
-  }
-
   @Override
   public final void
   onResume ()
   {
-    isPaused = false;
+    isStopped = false;
     timeOfLastInteraction = 0;
 
     EmacsWindowManager.MANAGER.noticeDeiconified (this);