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

Commit 66a1b77b authored by Hongwei Wang's avatar Hongwei Wang
Browse files

Allow auto-pip when starting activity with FLAG_ACTIVITY_NO_ANIMATION

FLAG_ACTIVITY_NO_ANIMATION is not intended to disable auto-enter-pip
when launching a new Activity (should use FLAG_ACTIVITY_NO_USER_ACTION
instead).

Bug: 244123029
Test: atest PinnedStackTests
Test: verify no regression on b/222773615
Change-Id: Ibeb0e789f0561c7f701eabe4c9d7ffc8c14afa77
parent 0626b324
Loading
Loading
Loading
Loading
+8 −17
Original line number Diff line number Diff line
@@ -60,10 +60,7 @@ import static android.view.WindowManager.TRANSIT_CHANGE;
import static android.view.WindowManager.TRANSIT_CLOSE;
import static android.view.WindowManager.TRANSIT_FLAG_APP_CRASHED;
import static android.view.WindowManager.TRANSIT_NONE;
import static android.view.WindowManager.TRANSIT_OLD_ACTIVITY_OPEN;
import static android.view.WindowManager.TRANSIT_OLD_TASK_CHANGE_WINDOWING_MODE;
import static android.view.WindowManager.TRANSIT_OLD_TASK_OPEN;
import static android.view.WindowManager.TRANSIT_OLD_TASK_OPEN_BEHIND;
import static android.view.WindowManager.TRANSIT_OPEN;
import static android.view.WindowManager.TRANSIT_TO_BACK;
import static android.view.WindowManager.TRANSIT_TO_FRONT;
@@ -4972,22 +4969,16 @@ class Task extends TaskFragment {
                dc.prepareAppTransition(TRANSIT_NONE);
                mTaskSupervisor.mNoAnimActivities.add(r);
            } else {
                int transit = TRANSIT_OLD_ACTIVITY_OPEN;
                if (newTask) {
                    if (r.mLaunchTaskBehind) {
                        transit = TRANSIT_OLD_TASK_OPEN_BEHIND;
                    } else {
                dc.prepareAppTransition(TRANSIT_OPEN);
                mTaskSupervisor.mNoAnimActivities.remove(r);
            }
            if (newTask && !r.mLaunchTaskBehind) {
                // If a new task is being launched, then mark the existing top activity as
                // supporting picture-in-picture while pausing only if the starting activity
                // would not be considered an overlay on top of the current activity
                // (eg. not fullscreen, or the assistant)
                enableEnterPipOnTaskSwitch(pipCandidate,
                        null /* toFrontTask */, r, options);
                        transit = TRANSIT_OLD_TASK_OPEN;
                    }
                }
                dc.prepareAppTransition(TRANSIT_OPEN);
                mTaskSupervisor.mNoAnimActivities.remove(r);
            }
            boolean doShow = true;
            if (newTask) {