summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--services/core/java/com/android/server/wm/DesktopModeLaunchParamsModifier.java12
1 files changed, 12 insertions, 0 deletions
diff --git a/services/core/java/com/android/server/wm/DesktopModeLaunchParamsModifier.java b/services/core/java/com/android/server/wm/DesktopModeLaunchParamsModifier.java
index 61f5679cdfc4..f04b4af285be 100644
--- a/services/core/java/com/android/server/wm/DesktopModeLaunchParamsModifier.java
+++ b/services/core/java/com/android/server/wm/DesktopModeLaunchParamsModifier.java
@@ -114,6 +114,18 @@ public class DesktopModeLaunchParamsModifier implements LaunchParamsModifier {
return RESULT_DONE;
}
+ // TODO(b/336998072) - Find a better solution to this that makes use of the logic from
+ // TaskLaunchParamsModifier. Put logic in common utils, return RESULT_CONTINUE, inherit
+ // from parent class, etc.
+ if (outParams.mPreferredTaskDisplayArea == null && task.getRootTask() != null) {
+ appendLog("display-from-task=" + task.getRootTask().getDisplayId());
+ outParams.mPreferredTaskDisplayArea = task.getRootTask().getDisplayArea();
+ }
+
+ if (phase == PHASE_DISPLAY_AREA) {
+ return RESULT_DONE;
+ }
+
if (!currentParams.mBounds.isEmpty()) {
appendLog("currentParams has bounds set, not overriding");
return RESULT_SKIP;