diff options
| author | 2024-01-11 14:15:40 +0900 | |
|---|---|---|
| committer | 2024-03-26 06:58:58 +0000 | |
| commit | 80ebad3fbf47b42558e75e958c135bd883eb3d73 (patch) | |
| tree | 1d24af3911a9b672f9fa09e748bb32e85f47a1be | |
| parent | 7548f9fa58e38c706d8056682da5725dfce2a05f (diff) | |
Decouple the insets from configuration
Change the default behavior to dispatch configuration without insets
considered.
Bug: 151861875
Test: DisplayPolicyTests
Change-Id: Ie65cd2ce503ba51b0732cb402265965b08f3b3c7
Merged-In: Ie65cd2ce503ba51b0732cb402265965b08f3b3c7
(cherry picked from commit 2408314321e501144cf81e81cab2dde6e2ec5492)
| -rw-r--r-- | services/core/java/com/android/server/wm/WindowManagerFlags.java | 2 | ||||
| -rw-r--r-- | services/core/java/com/android/server/wm/WindowManagerService.java | 11 |
2 files changed, 9 insertions, 4 deletions
diff --git a/services/core/java/com/android/server/wm/WindowManagerFlags.java b/services/core/java/com/android/server/wm/WindowManagerFlags.java index 7b0d931abf8a..294733e85fbd 100644 --- a/services/core/java/com/android/server/wm/WindowManagerFlags.java +++ b/services/core/java/com/android/server/wm/WindowManagerFlags.java @@ -48,5 +48,7 @@ class WindowManagerFlags { final boolean mAllowsScreenSizeDecoupledFromStatusBarAndCutout = Flags.allowsScreenSizeDecoupledFromStatusBarAndCutout(); + final boolean mInsetsDecoupledConfiguration = Flags.insetsDecoupledConfiguration(); + /* End Available Flags */ } diff --git a/services/core/java/com/android/server/wm/WindowManagerService.java b/services/core/java/com/android/server/wm/WindowManagerService.java index ae5a5cb7316c..6a1cd264d95f 100644 --- a/services/core/java/com/android/server/wm/WindowManagerService.java +++ b/services/core/java/com/android/server/wm/WindowManagerService.java @@ -1190,13 +1190,16 @@ public class WindowManagerService extends IWindowManager.Stub final boolean isScreenSizeDecoupledFromStatusBarAndCutout = context.getResources() .getBoolean(R.bool.config_decoupleStatusBarAndDisplayCutoutFromScreenSize) && mFlags.mAllowsScreenSizeDecoupledFromStatusBarAndCutout; - if (!isScreenSizeDecoupledFromStatusBarAndCutout) { + if (mFlags.mInsetsDecoupledConfiguration) { + mDecorTypes = 0; + mConfigTypes = 0; + } else if (isScreenSizeDecoupledFromStatusBarAndCutout) { + mDecorTypes = WindowInsets.Type.navigationBars(); + mConfigTypes = WindowInsets.Type.navigationBars(); + } else { mDecorTypes = WindowInsets.Type.displayCutout() | WindowInsets.Type.navigationBars(); mConfigTypes = WindowInsets.Type.displayCutout() | WindowInsets.Type.statusBars() | WindowInsets.Type.navigationBars(); - } else { - mDecorTypes = WindowInsets.Type.navigationBars(); - mConfigTypes = WindowInsets.Type.navigationBars(); } mLetterboxConfiguration = new LetterboxConfiguration( |