diff options
| -rw-r--r-- | libs/WindowManager/Shell/src/com/android/wm/shell/splitscreen/StageCoordinator.java | 14 | ||||
| -rw-r--r-- | services/core/java/com/android/server/wm/Task.java | 16 |
2 files changed, 6 insertions, 24 deletions
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/splitscreen/StageCoordinator.java b/libs/WindowManager/Shell/src/com/android/wm/shell/splitscreen/StageCoordinator.java index 09ddc4313c05..10db5ca03637 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/splitscreen/StageCoordinator.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/splitscreen/StageCoordinator.java @@ -1750,16 +1750,10 @@ public class StageCoordinator implements SplitLayout.SplitLayoutHandler, Objects.requireNonNull(tdaInfo); final int displayWindowingMode = tdaInfo.configuration.windowConfiguration.getWindowingMode(); - final int targetWindowingMode; - if (DesktopModeFlags.ENABLE_REQUEST_FULLSCREEN_BUGFIX.isTrue()) { - // TODO(b/404659187): set windowing mode to undefined for non-freeform displays - targetWindowingMode = WINDOWING_MODE_FULLSCREEN; - } else { - // In freeform-first env, we need to explicitly set the windowing mode when leaving - // the split-screen to be fullscreen. - targetWindowingMode = displayWindowingMode == WINDOWING_MODE_FREEFORM - ? WINDOWING_MODE_FULLSCREEN : WINDOWING_MODE_UNDEFINED; - } + // In freeform-first env, we need to explicitly set the windowing mode when leaving + // the split-screen to be fullscreen. + final int targetWindowingMode = displayWindowingMode == WINDOWING_MODE_FREEFORM + ? WINDOWING_MODE_FULLSCREEN : WINDOWING_MODE_UNDEFINED; toTopStage.doForAllChildTaskInfos(taskInfo -> { wct.setWindowingMode(taskInfo.token, targetWindowingMode); }); diff --git a/services/core/java/com/android/server/wm/Task.java b/services/core/java/com/android/server/wm/Task.java index 6ce447fed88f..3cce17242648 100644 --- a/services/core/java/com/android/server/wm/Task.java +++ b/services/core/java/com/android/server/wm/Task.java @@ -4594,7 +4594,7 @@ class Task extends TaskFragment { // Calling Task#setWindowingMode() for leaf task since this is a specialization of // {@link #setWindowingMode(int)} for root task. if (!isRootTask()) { - clearRestoreWindowingMode(windowingMode); + mMultiWindowRestoreWindowingMode = INVALID_WINDOWING_MODE; super.setWindowingMode(windowingMode); return; } @@ -4603,18 +4603,6 @@ class Task extends TaskFragment { } /** - * Clears {@link #mMultiWindowRestoreWindowingMode} if the windowing mode has changed. - * - * @param windowingMode the windowing mode being requested - */ - private void clearRestoreWindowingMode(int windowingMode) { - if (!DesktopModeFlags.ENABLE_REQUEST_FULLSCREEN_BUGFIX.isTrue() - || windowingMode != getWindowingMode()) { - mMultiWindowRestoreWindowingMode = INVALID_WINDOWING_MODE; - } - } - - /** * Version of {@link #setWindowingMode(int)} for root tasks. * * @param preferredWindowingMode the preferred windowing mode. This may not be honored depending @@ -4663,7 +4651,7 @@ class Task extends TaskFragment { } // Reset multi-window restore windowing mode. - clearRestoreWindowingMode(windowingMode); + mMultiWindowRestoreWindowingMode = INVALID_WINDOWING_MODE; final ActivityRecord topActivity = getTopNonFinishingActivity(); |