Merge "Pausing the resumed activity when making it invisible"

This commit is contained in:
Louis Chang
2020-10-15 08:03:48 +00:00
committed by Android (Google) Code Review

View File

@@ -4761,14 +4761,15 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A
supportsEnterPipOnTaskSwitch = false;
break;
case RESUMED:
// 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");
// Do nothing if currently in the process of resuming the activity. Otherwise,
// starting to pause it since it is not visible.
if (task.mInResumeTopActivity
&& task.topRunningActivity(true /* focusableOnly */) == this) {
break;
}
getRootTask().startPausingLocked(mStackSupervisor.mUserLeaving,
false /* uiSleeping */, null /* resuming */, "makeInvisible");
// fall through
case INITIALIZING:
case PAUSING:
case PAUSED: