Merge "Let root task can reparent to launch root task while launch" into sc-v2-dev

This commit is contained in:
Tony Huang
2021-09-15 03:48:39 +00:00
committed by Android (Google) Code Review

View File

@@ -2722,6 +2722,17 @@ class ActivityStarter {
mTargetRootTask = intentActivity.getRootTask(); mTargetRootTask = intentActivity.getRootTask();
mSupervisor.handleNonResizableTaskIfNeeded(intentTask, WINDOWING_MODE_UNDEFINED, mSupervisor.handleNonResizableTaskIfNeeded(intentTask, WINDOWING_MODE_UNDEFINED,
mRootWindowContainer.getDefaultTaskDisplayArea(), mTargetRootTask); mRootWindowContainer.getDefaultTaskDisplayArea(), mTargetRootTask);
// We need to check if there is a launch root task in TDA for this target root task.
// If it exist, we need to reparent target root task from TDA to launch root task.
final TaskDisplayArea tda = mTargetRootTask.getDisplayArea();
final Task launchRootTask = tda.getLaunchRootTask(mTargetRootTask.getWindowingMode(),
mTargetRootTask.getActivityType(), null /** options */, null /** sourceTask */,
0 /** launchFlags */);
if (launchRootTask != null && launchRootTask != mTargetRootTask) {
mTargetRootTask.reparent(launchRootTask, POSITION_TOP);
mTargetRootTask = launchRootTask;
}
} }
private void resumeTargetRootTaskIfNeeded() { private void resumeTargetRootTaskIfNeeded() {