diff --git a/services/core/java/com/android/server/wm/ActivityStarter.java b/services/core/java/com/android/server/wm/ActivityStarter.java index 7abcc4b808a14..e50aff438ecd7 100644 --- a/services/core/java/com/android/server/wm/ActivityStarter.java +++ b/services/core/java/com/android/server/wm/ActivityStarter.java @@ -2687,11 +2687,8 @@ class ActivityStarter { // launched into the same root task. mTargetRootTask = Task.fromWindowContainerToken(mSourceRecord.mLaunchRootTask); } else { - final Task rootTask = - getOrCreateRootTask(mStartActivity, mLaunchFlags, intentTask, mOptions); - // TODO(b/184806710): #getOrCreateRootTask should never return null? - mTargetRootTask = - rootTask != null ? rootTask : intentActivity.getRootTask(); + mTargetRootTask = getOrCreateRootTask(mStartActivity, mLaunchFlags, intentTask, + mOptions); } } diff --git a/services/core/java/com/android/server/wm/RootWindowContainer.java b/services/core/java/com/android/server/wm/RootWindowContainer.java index 94fc51dc94d24..cc99f377bfeed 100644 --- a/services/core/java/com/android/server/wm/RootWindowContainer.java +++ b/services/core/java/com/android/server/wm/RootWindowContainer.java @@ -2754,7 +2754,7 @@ class RootWindowContainer extends WindowContainer // First preference goes to the launch root task set in the activity options. if (options != null) { final Task candidateRoot = Task.fromWindowContainerToken(options.getLaunchRootTask()); - if (canLaunchOnDisplay(r, candidateRoot)) { + if (candidateRoot != null && canLaunchOnDisplay(r, candidateRoot)) { return candidateRoot; } }