From b4f2db4051a8024f4bc7fec21fc7d9cf5f1b006b Mon Sep 17 00:00:00 2001 From: Ebru Kurnaz Date: Tue, 3 Jun 2025 16:18:39 +0000 Subject: [PATCH] Check both content mode and sys decor flag to get system decoration callbacks from window manager. This is needed as there is no guarantee content mode will be enabled everytime sys decor flag is enabled. Bug: 422070126 Test: NA Flag: EXEMPT bug fix Change-Id: I6bb85e320448448bc7ce1756250a81747f0cbb42 --- .../com/android/launcher3/taskbar/TaskbarManagerImpl.java | 6 ++++-- quickstep/src/com/android/quickstep/DisplayModel.kt | 5 ++++- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarManagerImpl.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarManagerImpl.java index 82b8a4c521..354651408a 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarManagerImpl.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarManagerImpl.java @@ -484,7 +484,8 @@ public class TaskbarManagerImpl implements DisplayDecorationListener { .register(USER_SETUP_COMPLETE_URI, mOnSettingsChangeListener); SettingsCache.INSTANCE.get(mPrimaryWindowContext) .register(NAV_BAR_KIDS_MODE, mOnSettingsChangeListener); - if (DesktopExperienceFlags.ENABLE_SYS_DECORS_CALLBACKS_VIA_WM.isTrue()) { + if (DesktopExperienceFlags.ENABLE_SYS_DECORS_CALLBACKS_VIA_WM.isTrue() + && DesktopExperienceFlags.ENABLE_DISPLAY_CONTENT_MODE_MANAGEMENT.isTrue()) { displaysWithDecorationsRepositoryCompat .registerDisplayDecorationListener(this, dispatcher); } else { @@ -1176,7 +1177,8 @@ public class TaskbarManagerImpl implements DisplayDecorationListener { .unregister(USER_SETUP_COMPLETE_URI, mOnSettingsChangeListener); SettingsCache.INSTANCE.get(mPrimaryWindowContext) .unregister(NAV_BAR_KIDS_MODE, mOnSettingsChangeListener); - if (DesktopExperienceFlags.ENABLE_SYS_DECORS_CALLBACKS_VIA_WM.isTrue()) { + if (DesktopExperienceFlags.ENABLE_SYS_DECORS_CALLBACKS_VIA_WM.isTrue() + && DesktopExperienceFlags.ENABLE_DISPLAY_CONTENT_MODE_MANAGEMENT.isTrue()) { mDisplaysWithDecorationsRepositoryCompat.unregisterDisplayDecorationListener(this); } else { SystemDecorationChangeObserver.getINSTANCE().get(mPrimaryWindowContext) diff --git a/quickstep/src/com/android/quickstep/DisplayModel.kt b/quickstep/src/com/android/quickstep/DisplayModel.kt index 252aed1430..3726128bc4 100644 --- a/quickstep/src/com/android/quickstep/DisplayModel.kt +++ b/quickstep/src/com/android/quickstep/DisplayModel.kt @@ -64,7 +64,10 @@ abstract class DisplayModel( protected abstract fun createDisplayResource(display: Display): RESOURCE_TYPE protected fun initializeDisplays() { - if (DesktopExperienceFlags.ENABLE_SYS_DECORS_CALLBACKS_VIA_WM.isTrue()) { + if ( + DesktopExperienceFlags.ENABLE_SYS_DECORS_CALLBACKS_VIA_WM.isTrue() && + DesktopExperienceFlags.ENABLE_DISPLAY_CONTENT_MODE_MANAGEMENT.isTrue() + ) { displaysWithDecorationsRepositoryCompat.registerDisplayDecorationListener( this, dispatcher,