Use the pre-reset userLeaving for canPipOnFinish

mUserLeaving is reset at the beginning of the function which was
making many activity-start scenarios not actually enter pip when
they should-have.

Bug: 231150295
Test: open auto-pip app. swipe to home.
Change-Id: I8f02cd190565f5b105de31d663acc1258e0fa035
This commit is contained in:
Evan Rosky
2022-05-10 16:07:49 -07:00
parent 03ffb3babe
commit ac9edf2f93

View File

@@ -1674,6 +1674,7 @@ class ActivityStarter {
private @Nullable Task handleStartResult(@NonNull ActivityRecord started,
ActivityOptions options, int result, Transition newTransition,
RemoteTransition remoteTransition) {
final boolean userLeaving = mSupervisor.mUserLeaving;
mSupervisor.mUserLeaving = false;
final Task currentRootTask = started.getRootTask();
final Task startedActivityRootTask =
@@ -1747,7 +1748,7 @@ class ActivityStarter {
// until after we launched to identify the relevant activity.
transitionController.setTransientLaunch(mLastStartActivityRecord, mPriorAboveTask);
}
if (!mSupervisor.mUserLeaving) {
if (!userLeaving) {
// no-user-leaving implies not entering PiP.
transitionController.setCanPipOnFinish(false /* canPipOnFinish */);
}