Merge "Fix SystemUI crash from continues launch task with setLaunchRootTask" into udc-dev

This commit is contained in:
Wei Sheng Shih
2023-06-13 05:25:26 +00:00
committed by Android (Google) Code Review

View File

@@ -3310,9 +3310,14 @@ class RootWindowContainer extends WindowContainer<DisplayContent>
if (aOptions != null) {
// Resolve the root task the task should be placed in now based on options
// and reparent if needed.
// TODO(b/229927851) For split-screen, setLaunchRootTask is no longer the "root"
// task, consider to rename methods like "parentTask" instead of "rootTask".
final Task targetRootTask =
getOrCreateRootTask(null, aOptions, task, onTop);
if (targetRootTask != null && task.getRootTask() != targetRootTask) {
// When launch with ActivityOptions#getLaunchRootTask, the "root task" just mean the
// parent of current launch, not the "root task" in hierarchy.
if (targetRootTask != null && task.getRootTask() != targetRootTask
&& task.getParent() != targetRootTask) {
final int reparentMode = onTop
? REPARENT_MOVE_ROOT_TASK_TO_FRONT : REPARENT_LEAVE_ROOT_TASK_IN_PLACE;
task.reparent(targetRootTask, onTop, reparentMode, ANIMATE, DEFER_RESUME,