Merge "Get the latest display info for overlay change" into tm-qpr-dev am: 3ad540478f

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/19492302

Change-Id: Id2f38b8302ee3c9fea4c60cdac93ff74b63f686f
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Riddle Hsu
2022-08-03 12:56:12 +00:00
committed by Automerger Merge Worker
2 changed files with 11 additions and 8 deletions

View File

@@ -1900,8 +1900,10 @@ public class DisplayPolicy {
/** /**
* Called when the resource overlays change. * Called when the resource overlays change.
*/ */
public void onOverlayChangedLw() { void onOverlayChanged() {
updateCurrentUserResources(); updateCurrentUserResources();
// Update the latest display size, cutout.
mDisplayContent.updateDisplayInfo();
onConfigurationChanged(); onConfigurationChanged();
mSystemGestures.onConfigurationChanged(); mSystemGestures.onConfigurationChanged();
} }

View File

@@ -7046,13 +7046,14 @@ public class WindowManagerService extends IWindowManager.Stub
} }
public void onOverlayChanged() { public void onOverlayChanged() {
// Post to display thread so it can get the latest display info.
mH.post(() -> {
synchronized (mGlobalLock) { synchronized (mGlobalLock) {
mRoot.forAllDisplays(displayContent -> { mAtmService.deferWindowLayout();
displayContent.getDisplayPolicy().onOverlayChangedLw(); mRoot.forAllDisplays(dc -> dc.getDisplayPolicy().onOverlayChanged());
displayContent.updateDisplayInfo(); mAtmService.continueWindowLayout();
});
requestTraversal();
} }
});
} }
@Override @Override