Merge "Restore the behavior of adding a RESUMED activity to stopping list"
diff --git a/services/core/java/com/android/server/wm/ActivityRecord.java b/services/core/java/com/android/server/wm/ActivityRecord.java
index 740b592..6792430 100644
--- a/services/core/java/com/android/server/wm/ActivityRecord.java
+++ b/services/core/java/com/android/server/wm/ActivityRecord.java
@@ -4770,14 +4770,14 @@
                     supportsEnterPipOnTaskSwitch = false;
                     break;
                 case RESUMED:
-                    // Do nothing if currently in the process of resuming the activity. Otherwise,
-                    // starting to pause it since it is not visible.
-                    if (!mSetToSleep) {
+                    // If the app is capable of entering PIP, we should try pausing it now
+                    // so it can PIP correctly.
+                    if (deferHidingClient) {
+                        getRootTask().startPausingLocked(
+                                mStackSupervisor.mUserLeaving /* userLeaving */,
+                                false /* uiSleeping */, null /* resuming */, "makeInvisible");
                         break;
                     }
-                    getRootTask().startPausingLocked(mStackSupervisor.mUserLeaving,
-                            false /* uiSleeping */, null /* resuming */, "makeInvisible");
-                    // fall through
                 case INITIALIZING:
                 case PAUSING:
                 case PAUSED: