summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libs/WindowManager/Shell/src/com/android/wm/shell/splitscreen/StageCoordinator.java14
-rw-r--r--services/core/java/com/android/server/wm/Task.java16
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();