Merge "Revert "Do not enter pip during transient launch."" into udc-qpr-dev

This commit is contained in:
Sam Dubey
2023-07-18 12:56:22 +00:00
committed by Android (Google) Code Review
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. // Ensure that we do not trigger entering PiP an activity on the root pinned task.
return; return;
} }
final boolean isTransient = opts != null && opts.getTransientLaunch();
final Task targetRootTask = toFrontTask != null final Task targetRootTask = toFrontTask != null
? toFrontTask.getRootTask() : toFrontActivity.getRootTask(); ? toFrontTask.getRootTask() : toFrontActivity.getRootTask();
final boolean isTransient = opts != null && opts.getTransientLaunch() if (targetRootTask != null && (targetRootTask.isActivityTypeAssistant() || isTransient)) {
|| (targetRootTask != null // Ensure the task/activity being brought forward is not the assistant and is not
&& targetRootTask.mTransitionController.isTransientHide(targetRootTask)); // 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 */, ar.getTaskFragment().startPausing(false /* uiSleeping */,
null /* resuming */, "finishTransition"); null /* resuming */, "finishTransition");
} finally { } finally {
// Didn't schedule for pip, clear the supportsEnterPipOnTaskSwitch flag.
if (!ar.mPauseSchedulePendingForPip) {
ar.supportsEnterPipOnTaskSwitch = false;
}
mController.mAtm.mTaskSupervisor.mUserLeaving = false; mController.mAtm.mTaskSupervisor.mUserLeaving = false;
} }
// Return false anyway because there's no guarantee that the app will enter pip. // Return false anyway because there's no guarantee that the app will enter pip.