Merge "Allow auto-pip when starting activity with FLAG_ACTIVITY_NO_ANIMATION" into tm-qpr-dev

This commit is contained in:
Hongwei Wang
2022-08-31 16:53:21 +00:00
committed by Android (Google) Code Review

View File

@@ -60,10 +60,7 @@ import static android.view.WindowManager.TRANSIT_CHANGE;
import static android.view.WindowManager.TRANSIT_CLOSE; import static android.view.WindowManager.TRANSIT_CLOSE;
import static android.view.WindowManager.TRANSIT_FLAG_APP_CRASHED; import static android.view.WindowManager.TRANSIT_FLAG_APP_CRASHED;
import static android.view.WindowManager.TRANSIT_NONE; 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_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_OPEN;
import static android.view.WindowManager.TRANSIT_TO_BACK; import static android.view.WindowManager.TRANSIT_TO_BACK;
import static android.view.WindowManager.TRANSIT_TO_FRONT; import static android.view.WindowManager.TRANSIT_TO_FRONT;
@@ -4979,22 +4976,16 @@ class Task extends TaskFragment {
dc.prepareAppTransition(TRANSIT_NONE); dc.prepareAppTransition(TRANSIT_NONE);
mTaskSupervisor.mNoAnimActivities.add(r); mTaskSupervisor.mNoAnimActivities.add(r);
} else { } else {
int transit = TRANSIT_OLD_ACTIVITY_OPEN; dc.prepareAppTransition(TRANSIT_OPEN);
if (newTask) { mTaskSupervisor.mNoAnimActivities.remove(r);
if (r.mLaunchTaskBehind) { }
transit = TRANSIT_OLD_TASK_OPEN_BEHIND; if (newTask && !r.mLaunchTaskBehind) {
} else {
// If a new task is being launched, then mark the existing top activity as // 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 // supporting picture-in-picture while pausing only if the starting activity
// would not be considered an overlay on top of the current activity // would not be considered an overlay on top of the current activity
// (eg. not fullscreen, or the assistant) // (eg. not fullscreen, or the assistant)
enableEnterPipOnTaskSwitch(pipCandidate, enableEnterPipOnTaskSwitch(pipCandidate,
null /* toFrontTask */, r, options); null /* toFrontTask */, r, options);
transit = TRANSIT_OLD_TASK_OPEN;
}
}
dc.prepareAppTransition(TRANSIT_OPEN);
mTaskSupervisor.mNoAnimActivities.remove(r);
} }
boolean doShow = true; boolean doShow = true;
if (newTask) { if (newTask) {