From 23e3c17f36a8f1efae724611916a3ba78440b2ea Mon Sep 17 00:00:00 2001 From: Sam Dubey Date: Tue, 18 Jul 2023 11:25:56 +0000 Subject: [PATCH] Revert "Do not enter pip during transient launch." This reverts commit 842e065311d50da97938a98e9459a2e1a6308860. Reason for revert: b/291722322 Change-Id: Ib036c73cd1cf175d96f07335b260ce3678762091 --- .../core/java/com/android/server/wm/Task.java | 17 ++++++++--------- .../java/com/android/server/wm/Transition.java | 4 ---- 2 files changed, 8 insertions(+), 13 deletions(-) diff --git a/services/core/java/com/android/server/wm/Task.java b/services/core/java/com/android/server/wm/Task.java index 66dfdefb24e4c..9c23beb21a921 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)); + 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); } /** diff --git a/services/core/java/com/android/server/wm/Transition.java b/services/core/java/com/android/server/wm/Transition.java index 8319dc026bf38..71192cd5a3be9 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.