Merge "Ensure no resumed activity while staring one in the same TF" into main
diff --git a/services/core/java/com/android/server/wm/ActivityTaskSupervisor.java b/services/core/java/com/android/server/wm/ActivityTaskSupervisor.java
index eb15b31..6eb9ed69 100644
--- a/services/core/java/com/android/server/wm/ActivityTaskSupervisor.java
+++ b/services/core/java/com/android/server/wm/ActivityTaskSupervisor.java
@@ -794,6 +794,14 @@
             return false;
         }
 
+        // Try pausing the existing resumed activity in the same TaskFragment if any.
+        final TaskFragment taskFragment = r.getTaskFragment();
+        if (taskFragment != null && taskFragment.getResumedActivity() != null) {
+            if (taskFragment.startPausing(mUserLeaving, false /* uiSleeping */, r, "realStart")) {
+                return false;
+            }
+        }
+
         final Task task = r.getTask();
         final Task rootTask = task.getRootTask();