diff options
| -rw-r--r-- | services/core/java/com/android/server/wm/Transition.java | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/services/core/java/com/android/server/wm/Transition.java b/services/core/java/com/android/server/wm/Transition.java index c0bf2ce41435..3e23fab86223 100644 --- a/services/core/java/com/android/server/wm/Transition.java +++ b/services/core/java/com/android/server/wm/Transition.java @@ -1052,12 +1052,12 @@ class Transition implements BLASTSyncEngine.TransactionReadyListener { * @return true if we are *guaranteed* to enter-pip. This means we return false if there's * a chance we won't thus legacy-entry (via pause+userLeaving) will return false. */ - private boolean checkEnterPipOnFinish(@NonNull ActivityRecord ar, - @Nullable ActivityRecord resuming) { + private boolean checkEnterPipOnFinish(@NonNull ActivityRecord ar) { if (!mCanPipOnFinish || !ar.isVisible() || ar.getTask() == null || !ar.isState(RESUMED)) { return false; } + final ActivityRecord resuming = getVisibleTransientLaunch(ar.getTaskDisplayArea()); if (ar.pictureInPictureArgs != null && ar.pictureInPictureArgs.isAutoEnterEnabled()) { if (!ar.getTask().isVisibleRequested() || didCommitTransientLaunch()) { // force enable pip-on-task-switch now that we've committed to actually launching @@ -1196,9 +1196,7 @@ class Transition implements BLASTSyncEngine.TransactionReadyListener { final boolean isScreenOff = ar.mDisplayContent == null || ar.mDisplayContent.getDisplayInfo().state == Display.STATE_OFF; if ((!visibleAtTransitionEnd || isScreenOff) && !ar.isVisibleRequested()) { - final ActivityRecord resuming = getVisibleTransientLaunch( - ar.getTaskDisplayArea()); - final boolean commitVisibility = !checkEnterPipOnFinish(ar, resuming); + final boolean commitVisibility = !checkEnterPipOnFinish(ar); // Avoid commit visibility if entering pip or else we will get a sudden // "flash" / surface going invisible for a split second. if (commitVisibility) { @@ -1431,7 +1429,7 @@ class Transition implements BLASTSyncEngine.TransactionReadyListener { if (candidateActivity.getTaskDisplayArea() != taskDisplayArea) { continue; } - if (!candidateActivity.isVisible()) { + if (!candidateActivity.isVisibleRequested()) { continue; } return candidateActivity; |