Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7c288db5 authored by Hongwei Wang's avatar Hongwei Wang
Browse files

Do not auto-pip on launching translucent activity

Note we only prevent Activity from auto-pip in this case. Launching a
translucent Activity still sets ActivityTaskSupervisor#mUserLeaving to
be true and a non-auto-pip Activity will request to enter PiP when they
receive the onUserLeaveHint callback.

Bug: 245735998
Test: `adb shell am start -n <translucent-activity>` over YT
Test: atest PinnedStackTests
Change-Id: Iee4dc55592d3e9851174d18759917dd14f5c0071
parent 390a963b
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -1595,12 +1595,14 @@ class TaskFragment extends WindowContainer<WindowContainer> {
        boolean pauseImmediately = false;
        boolean shouldAutoPip = false;
        if (resuming != null) {
            // We do not want to trigger auto-PiP upon launch of a translucent activity.
            final boolean resumingOccludesParent = resuming.occludesParent();
            // Resuming the new resume activity only if the previous activity can't go into Pip
            // since we want to give Pip activities a chance to enter Pip before resuming the
            // next activity.
            final boolean lastResumedCanPip = prev.checkEnterPictureInPictureState(
                    "shouldAutoPipWhilePausing", userLeaving);
            if (userLeaving && lastResumedCanPip
            if (userLeaving && resumingOccludesParent && lastResumedCanPip
                    && prev.pictureInPictureArgs.isAutoEnterEnabled()) {
                shouldAutoPip = true;
            } else if (!lastResumedCanPip) {