Ensure no resumed activity while staring one in the same TF

An activity was started without pausing the resumed activity in
the TF, which resulted in two resumed activity in the TF.

Bug: 296504990
Test: manually tested
Change-Id: I6184d8ce8d71ce0e02cda9ca975e1bb5dff3fe9d
diff --git a/services/core/java/com/android/server/wm/ActivityTaskSupervisor.java b/services/core/java/com/android/server/wm/ActivityTaskSupervisor.java
index f9dac3a..fd2b9d8 100644
--- a/services/core/java/com/android/server/wm/ActivityTaskSupervisor.java
+++ b/services/core/java/com/android/server/wm/ActivityTaskSupervisor.java
@@ -801,6 +801,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();