commit | 1d1132c91772902b11d5925ccd5b104ca748b9f7 | [log] [tgz] |
---|---|---|
author | Adrian Roos <roosa@google.com> | Wed Jan 17 15:10:15 2018 +0000 |
committer | Android (Google) Code Review <android-gerrit@google.com> | Wed Jan 17 15:10:15 2018 +0000 |
tree | 50619a9fafc5c7cff6554e71c0870aec7e42e49f | |
parent | 38f43a5eaff672be98c9b4970877cba4e4d9f4f6 [diff] | |
parent | e1d68cda9dde91f73c1c93ea8376fd2e14fbd5d7 [diff] |
Merge "DisplayCutout: Reload displays when resource overlays change"
diff --git a/core/java/android/hardware/display/DisplayManagerInternal.java b/core/java/android/hardware/display/DisplayManagerInternal.java index 3f6dd2e..078958a 100644 --- a/core/java/android/hardware/display/DisplayManagerInternal.java +++ b/core/java/android/hardware/display/DisplayManagerInternal.java
@@ -179,6 +179,11 @@ public abstract void persistBrightnessSliderEvents(); /** + * Notifies the display manager that resource overlays have changed. + */ + public abstract void onOverlayChanged(); + + /** * Describes the requested power state of the display. * * This object is intended to describe the general characteristics of the
diff --git a/services/core/java/com/android/server/display/DisplayManagerService.java b/services/core/java/com/android/server/display/DisplayManagerService.java index 02e4fe0..a55fec5 100644 --- a/services/core/java/com/android/server/display/DisplayManagerService.java +++ b/services/core/java/com/android/server/display/DisplayManagerService.java
@@ -2009,5 +2009,14 @@ mDisplayPowerController.persistBrightnessSliderEvents(); } } + + @Override + public void onOverlayChanged() { + synchronized (mSyncRoot) { + if (updateLogicalDisplaysLocked()) { + scheduleTraversalLocked(false); + } + } + } } }
diff --git a/services/core/java/com/android/server/wm/WindowManagerService.java b/services/core/java/com/android/server/wm/WindowManagerService.java index d2ab9df..58673db 100644 --- a/services/core/java/com/android/server/wm/WindowManagerService.java +++ b/services/core/java/com/android/server/wm/WindowManagerService.java
@@ -6600,6 +6600,7 @@ public void onOverlayChanged() { synchronized (mWindowMap) { mPolicy.onOverlayChangedLw(); + mDisplayManagerInternal.onOverlayChanged(); requestTraversal(); } }