diff options
| -rw-r--r-- | services/core/java/com/android/server/wm/DesktopModeLaunchParamsModifier.java | 9 | ||||
| -rw-r--r-- | services/core/java/com/android/server/wm/TaskLaunchParamsModifier.java | 2 |
2 files changed, 8 insertions, 3 deletions
diff --git a/services/core/java/com/android/server/wm/DesktopModeLaunchParamsModifier.java b/services/core/java/com/android/server/wm/DesktopModeLaunchParamsModifier.java index ac987929a142..b6f74a08631e 100644 --- a/services/core/java/com/android/server/wm/DesktopModeLaunchParamsModifier.java +++ b/services/core/java/com/android/server/wm/DesktopModeLaunchParamsModifier.java @@ -75,8 +75,8 @@ class DesktopModeLaunchParamsModifier implements LaunchParamsModifier { return RESULT_SKIP; } if (com.android.window.flags.Flags.fixLayoutExistingTask() - && task.getOrganizedTask() != null) { - appendLog("task is organized, skipping"); + && task.getCreatedByOrganizerTask() != null) { + appendLog("has created-by-organizer-task, skipping"); return RESULT_SKIP; } @@ -111,6 +111,11 @@ class DesktopModeLaunchParamsModifier implements LaunchParamsModifier { return RESULT_SKIP; } + if ((options == null || options.getLaunchBounds() == null) && task.hasOverrideBounds()) { + appendLog("current task has bounds set, not overriding"); + return RESULT_SKIP; + } + DesktopModeBoundsCalculator.updateInitialBounds(task, layout, activity, options, outParams.mBounds, this::appendLog); appendLog("final desktop mode task bounds set to %s", outParams.mBounds); diff --git a/services/core/java/com/android/server/wm/TaskLaunchParamsModifier.java b/services/core/java/com/android/server/wm/TaskLaunchParamsModifier.java index e3a5b66b83fd..6c7d979dc43d 100644 --- a/services/core/java/com/android/server/wm/TaskLaunchParamsModifier.java +++ b/services/core/java/com/android/server/wm/TaskLaunchParamsModifier.java @@ -384,7 +384,7 @@ class TaskLaunchParamsModifier implements LaunchParamsModifier { // an existing task. adjustBoundsToAvoidConflictInDisplayArea(taskDisplayArea, outParams.mBounds); } - } else { + } else if (task == null || !task.hasOverrideBounds()) { if (source != null && source.inFreeformWindowingMode() && resolvedMode == WINDOWING_MODE_FREEFORM && outParams.mBounds.isEmpty() |