Merge "Revert "Do not enter pip during transient launch."" into udc-qpr-dev am: bfa03860e1 am: 0eee437cb7

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/24115184

Change-Id: I1377555ea129e382f7d55d37301b168ed9e9ab9c
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Sam Dubey
2023-07-18 14:30:34 +00:00
committed by Automerger Merge Worker
2 changed files with 8 additions and 13 deletions

View File

@@ -5251,18 +5251,17 @@ class Task extends TaskFragment {
// Ensure that we do not trigger entering PiP an activity on the root pinned task.
return;
}
final boolean isTransient = opts != null && opts.getTransientLaunch();
final Task targetRootTask = toFrontTask != null
? toFrontTask.getRootTask() : toFrontActivity.getRootTask();
final boolean isTransient = opts != null && opts.getTransientLaunch()
|| (targetRootTask != null
&& targetRootTask.mTransitionController.isTransientHide(targetRootTask));
if (targetRootTask != null && (targetRootTask.isActivityTypeAssistant() || isTransient)) {
// Ensure the task/activity being brought forward is not the assistant and is not
// transient. In the case of transient-launch, we want to wait until the end of the
// transition and only allow switch if the transient launch was committed.
return;
}
pipCandidate.supportsEnterPipOnTaskSwitch = true;
// Ensure the task/activity being brought forward is not the assistant and is not transient
// nor transient hide target. In the case of transient-launch, we want to wait until the end
// of the transition and only allow to enter pip on task switch after the transient launch
// was committed.
pipCandidate.supportsEnterPipOnTaskSwitch = targetRootTask == null
|| !(targetRootTask.isActivityTypeAssistant() || isTransient);
}
/**

View File

@@ -1041,10 +1041,6 @@ class Transition implements BLASTSyncEngine.TransactionReadyListener {
ar.getTaskFragment().startPausing(false /* uiSleeping */,
null /* resuming */, "finishTransition");
} finally {
// Didn't schedule for pip, clear the supportsEnterPipOnTaskSwitch flag.
if (!ar.mPauseSchedulePendingForPip) {
ar.supportsEnterPipOnTaskSwitch = false;
}
mController.mAtm.mTaskSupervisor.mUserLeaving = false;
}
// Return false anyway because there's no guarantee that the app will enter pip.