diff options
| -rw-r--r-- | services/core/java/com/android/server/wm/TaskLaunchParamsModifier.java | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/services/core/java/com/android/server/wm/TaskLaunchParamsModifier.java b/services/core/java/com/android/server/wm/TaskLaunchParamsModifier.java index dff621c5871a..625cff340912 100644 --- a/services/core/java/com/android/server/wm/TaskLaunchParamsModifier.java +++ b/services/core/java/com/android/server/wm/TaskLaunchParamsModifier.java @@ -439,6 +439,13 @@ class TaskLaunchParamsModifier implements LaunchParamsModifier { taskDisplayArea = mSupervisor.mRootWindowContainer.getDefaultTaskDisplayArea(); } + // Re-route to default display if the home activity doesn't support multi-display + if (taskDisplayArea != null && activityRecord.isActivityTypeHome() + && !mSupervisor.mRootWindowContainer.canStartHomeOnDisplayArea(activityRecord.info, + taskDisplayArea, false /* allowInstrumenting */)) { + taskDisplayArea = mSupervisor.mRootWindowContainer.getDefaultTaskDisplayArea(); + } + return (taskDisplayArea != null) ? taskDisplayArea : getFallbackDisplayAreaForActivity(activityRecord, request); |