From 6215bfdaba4459b831bd0d930b181efefb835463 Mon Sep 17 00:00:00 2001 From: Louis Chang Date: Thu, 24 Sep 2020 15:18:04 +0800 Subject: [PATCH] Restore the behavior of adding a RESUMED activity to stopping list Revert part of 9b8ece2 because of b/169190153. Also this makes the activity starting pausing while resuming it if the activity is started while screen off, see Task#resumeTopActivityInnerLocked where the RWC#ensureVisibilityAndConfig was called after activity state set to RESUMED. Bug: 169190153 Bug: 160435184 Test: existing tests Change-Id: I4afdac6a60f6ad9b1c652eefcce44367109a2a37 --- .../java/com/android/server/wm/ActivityRecord.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/services/core/java/com/android/server/wm/ActivityRecord.java b/services/core/java/com/android/server/wm/ActivityRecord.java index 740b592fda4c8..67924307f009a 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 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A 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: