Loading services/core/java/com/android/server/wm/DesktopModeLaunchParamsModifier.java +6 −4 Original line number Diff line number Diff line Loading @@ -101,6 +101,7 @@ class DesktopModeLaunchParamsModifier implements LaunchParamsModifier { + " task-display-area-windowing-mode=" + suggestedDisplayArea.getWindowingMode() + " suggested-display-area=" + suggestedDisplayArea); boolean hasLaunchWindowingMode = false; final boolean inDesktopMode = suggestedDisplayArea.inFreeformWindowingMode() || suggestedDisplayArea.getTopMostVisibleFreeformActivity() != null; if (DesktopExperienceFlags.ENABLE_FREEFORM_DISPLAY_LAUNCH_PARAMS.isTrue() && task == null Loading @@ -108,11 +109,10 @@ class DesktopModeLaunchParamsModifier implements LaunchParamsModifier { || inDesktopMode)) { if (options != null) { final int windowingMode = options.getLaunchWindowingMode(); if (windowingMode == WINDOWING_MODE_UNDEFINED || windowingMode == WINDOWING_MODE_FREEFORM) { if (windowingMode == WINDOWING_MODE_FREEFORM) { // Launching freeform in desktop but not ready to resolve bounds since task is // null, return RESULT_DONE to prevent other modifiers from setting bounds. outParams.mWindowingMode = options.getLaunchWindowingMode(); outParams.mWindowingMode = windowingMode; appendLog("launch-freeform"); return RESULT_DONE; } Loading Loading @@ -165,6 +165,7 @@ class DesktopModeLaunchParamsModifier implements LaunchParamsModifier { outParams.mWindowingMode = sourceTask.getWindowingMode(); appendLog("inherit-from-source=" + outParams.mWindowingMode); } hasLaunchWindowingMode = true; } if (phase == PHASE_WINDOWING_MODE) { Loading Loading @@ -217,7 +218,8 @@ class DesktopModeLaunchParamsModifier implements LaunchParamsModifier { appendLog("inherit-options=" + options.getLaunchWindowingMode()); return RESULT_DONE; } if (DesktopExperienceFlags.ENABLE_FREEFORM_DISPLAY_LAUNCH_PARAMS.isTrue()) { if (DesktopExperienceFlags.ENABLE_FREEFORM_DISPLAY_LAUNCH_PARAMS.isTrue() && hasLaunchWindowingMode) { return RESULT_DONE; } return RESULT_CONTINUE; Loading services/tests/wmtests/src/com/android/server/wm/DesktopModeLaunchParamsModifierTests.java +3 −2 Original line number Diff line number Diff line Loading @@ -1572,7 +1572,8 @@ public class DesktopModeLaunchParamsModifierTests extends @Test @EnableFlags({Flags.FLAG_ENABLE_DESKTOP_WINDOWING_MODE, Flags.FLAG_DISABLE_DESKTOP_LAUNCH_PARAMS_OUTSIDE_DESKTOP_BUG_FIX}) Flags.FLAG_DISABLE_DESKTOP_LAUNCH_PARAMS_OUTSIDE_DESKTOP_BUG_FIX, Flags.FLAG_ENABLE_FREEFORM_DISPLAY_LAUNCH_PARAMS}) public void testFreeformWindowingModeAppliedIfSourceTaskExists() { setupDesktopModeLaunchParamsModifier(); Loading @@ -1583,7 +1584,7 @@ public class DesktopModeLaunchParamsModifierTests extends final ActivityRecord sourceActivity = new ActivityBuilder(task.mAtmService) .setTask(sourceTask).build(); assertEquals(RESULT_CONTINUE, new CalculateRequestBuilder().setTask(task) assertEquals(RESULT_DONE, new CalculateRequestBuilder().setTask(task) .setSource(sourceActivity).calculate()); assertEquals(WINDOWING_MODE_FREEFORM, mResult.mWindowingMode); } Loading Loading
services/core/java/com/android/server/wm/DesktopModeLaunchParamsModifier.java +6 −4 Original line number Diff line number Diff line Loading @@ -101,6 +101,7 @@ class DesktopModeLaunchParamsModifier implements LaunchParamsModifier { + " task-display-area-windowing-mode=" + suggestedDisplayArea.getWindowingMode() + " suggested-display-area=" + suggestedDisplayArea); boolean hasLaunchWindowingMode = false; final boolean inDesktopMode = suggestedDisplayArea.inFreeformWindowingMode() || suggestedDisplayArea.getTopMostVisibleFreeformActivity() != null; if (DesktopExperienceFlags.ENABLE_FREEFORM_DISPLAY_LAUNCH_PARAMS.isTrue() && task == null Loading @@ -108,11 +109,10 @@ class DesktopModeLaunchParamsModifier implements LaunchParamsModifier { || inDesktopMode)) { if (options != null) { final int windowingMode = options.getLaunchWindowingMode(); if (windowingMode == WINDOWING_MODE_UNDEFINED || windowingMode == WINDOWING_MODE_FREEFORM) { if (windowingMode == WINDOWING_MODE_FREEFORM) { // Launching freeform in desktop but not ready to resolve bounds since task is // null, return RESULT_DONE to prevent other modifiers from setting bounds. outParams.mWindowingMode = options.getLaunchWindowingMode(); outParams.mWindowingMode = windowingMode; appendLog("launch-freeform"); return RESULT_DONE; } Loading Loading @@ -165,6 +165,7 @@ class DesktopModeLaunchParamsModifier implements LaunchParamsModifier { outParams.mWindowingMode = sourceTask.getWindowingMode(); appendLog("inherit-from-source=" + outParams.mWindowingMode); } hasLaunchWindowingMode = true; } if (phase == PHASE_WINDOWING_MODE) { Loading Loading @@ -217,7 +218,8 @@ class DesktopModeLaunchParamsModifier implements LaunchParamsModifier { appendLog("inherit-options=" + options.getLaunchWindowingMode()); return RESULT_DONE; } if (DesktopExperienceFlags.ENABLE_FREEFORM_DISPLAY_LAUNCH_PARAMS.isTrue()) { if (DesktopExperienceFlags.ENABLE_FREEFORM_DISPLAY_LAUNCH_PARAMS.isTrue() && hasLaunchWindowingMode) { return RESULT_DONE; } return RESULT_CONTINUE; Loading
services/tests/wmtests/src/com/android/server/wm/DesktopModeLaunchParamsModifierTests.java +3 −2 Original line number Diff line number Diff line Loading @@ -1572,7 +1572,8 @@ public class DesktopModeLaunchParamsModifierTests extends @Test @EnableFlags({Flags.FLAG_ENABLE_DESKTOP_WINDOWING_MODE, Flags.FLAG_DISABLE_DESKTOP_LAUNCH_PARAMS_OUTSIDE_DESKTOP_BUG_FIX}) Flags.FLAG_DISABLE_DESKTOP_LAUNCH_PARAMS_OUTSIDE_DESKTOP_BUG_FIX, Flags.FLAG_ENABLE_FREEFORM_DISPLAY_LAUNCH_PARAMS}) public void testFreeformWindowingModeAppliedIfSourceTaskExists() { setupDesktopModeLaunchParamsModifier(); Loading @@ -1583,7 +1584,7 @@ public class DesktopModeLaunchParamsModifierTests extends final ActivityRecord sourceActivity = new ActivityBuilder(task.mAtmService) .setTask(sourceTask).build(); assertEquals(RESULT_CONTINUE, new CalculateRequestBuilder().setTask(task) assertEquals(RESULT_DONE, new CalculateRequestBuilder().setTask(task) .setSource(sourceActivity).calculate()); assertEquals(WINDOWING_MODE_FREEFORM, mResult.mWindowingMode); } Loading