summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Yunfan Chen <yunfanc@google.com> 2024-01-11 14:15:40 +0900
committer Yunfan Chen <yunfanc@google.com> 2024-03-26 06:58:58 +0000
commit80ebad3fbf47b42558e75e958c135bd883eb3d73 (patch)
tree1d24af3911a9b672f9fa09e748bb32e85f47a1be
parent7548f9fa58e38c706d8056682da5725dfce2a05f (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.java2
-rw-r--r--services/core/java/com/android/server/wm/WindowManagerService.java11
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(