diff options
| author | 2023-07-18 14:30:34 +0000 | |
|---|---|---|
| committer | 2023-07-18 14:30:34 +0000 | |
| commit | f899d7d26c66a4b92f56c178b255b640e4ee1893 (patch) | |
| tree | 4a1d7641c138b9d16a3068127667f4a8862b69ff | |
| parent | ae0f12ceac877c8bb58025cfecb14e24c943a718 (diff) | |
| parent | 0eee437cb7604552de129242c0bae557f1da9f74 (diff) | |
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>
| -rw-r--r-- | services/core/java/com/android/server/wm/Task.java | 19 | ||||
| -rw-r--r-- | services/core/java/com/android/server/wm/Transition.java | 4 |
2 files changed, 9 insertions, 14 deletions
diff --git a/services/core/java/com/android/server/wm/Task.java b/services/core/java/com/android/server/wm/Task.java index 96190f2b8b3a..92e90ae294d1 100644 --- a/services/core/java/com/android/server/wm/Task.java +++ b/services/core/java/com/android/server/wm/Task.java @@ -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)); - - // 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); + 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; + } /** diff --git a/services/core/java/com/android/server/wm/Transition.java b/services/core/java/com/android/server/wm/Transition.java index 879457767595..a14354041b91 100644 --- a/services/core/java/com/android/server/wm/Transition.java +++ b/services/core/java/com/android/server/wm/Transition.java @@ -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. |