Loading services/core/java/com/android/server/wm/ActivityStarter.java +5 −3 Original line number Diff line number Diff line Loading @@ -2737,9 +2737,11 @@ class ActivityStarter { // 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.getActivityType(), null /** options */, mSourceRootTask, 0 /** launchFlags */); // If target root task is created by organizer, let organizer handle reparent itself. if (!mTargetRootTask.mCreatedByOrganizer && launchRootTask != null && launchRootTask != mTargetRootTask) { mTargetRootTask.reparent(launchRootTask, POSITION_TOP); mTargetRootTask = launchRootTask; } Loading services/core/java/com/android/server/wm/TaskDisplayArea.java +5 −0 Original line number Diff line number Diff line Loading @@ -1275,6 +1275,11 @@ final class TaskDisplayArea extends DisplayArea<WindowContainer> { } } } // For better split UX, If task launch by the source task which root task is created by // organizer, it should also launch in that root too. if (sourceTask != null && sourceTask.getRootTask().mCreatedByOrganizer) { return sourceTask.getRootTask(); } return null; } Loading Loading
services/core/java/com/android/server/wm/ActivityStarter.java +5 −3 Original line number Diff line number Diff line Loading @@ -2737,9 +2737,11 @@ class ActivityStarter { // 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.getActivityType(), null /** options */, mSourceRootTask, 0 /** launchFlags */); // If target root task is created by organizer, let organizer handle reparent itself. if (!mTargetRootTask.mCreatedByOrganizer && launchRootTask != null && launchRootTask != mTargetRootTask) { mTargetRootTask.reparent(launchRootTask, POSITION_TOP); mTargetRootTask = launchRootTask; } Loading
services/core/java/com/android/server/wm/TaskDisplayArea.java +5 −0 Original line number Diff line number Diff line Loading @@ -1275,6 +1275,11 @@ final class TaskDisplayArea extends DisplayArea<WindowContainer> { } } } // For better split UX, If task launch by the source task which root task is created by // organizer, it should also launch in that root too. if (sourceTask != null && sourceTask.getRootTask().mCreatedByOrganizer) { return sourceTask.getRootTask(); } return null; } Loading