diff options
| -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. |