Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 25319431 authored by Riddle Hsu's avatar Riddle Hsu Committed by Android (Google) Code Review
Browse files

Merge "Make sure display config is updated when cutout is changed" into tm-dev

parents 9b93e341 08a30491
Loading
Loading
Loading
Loading
+6 −2
Original line number Diff line number Diff line
@@ -1810,10 +1810,14 @@ public class DisplayPolicy {
    /**
     * Called when the resource overlays change.
     */
    public void onOverlayChangedLw() {
    void onOverlayChanged() {
        updateCurrentUserResources();
        // Update the latest display size, cutout.
        mDisplayContent.updateDisplayInfo();
        // The height of status bar needs to update in case display cutout is changed.
        onConfigurationChanged();
        mSystemGestures.onConfigurationChanged();
        // The height of status bar can affect screen size configuration.
        mDisplayContent.reconfigureDisplayLocked();
    }

    /**
+11 −7
Original line number Diff line number Diff line
@@ -6966,14 +6966,18 @@ public class WindowManagerService extends IWindowManager.Stub
    }

    public void onOverlayChanged() {
        // Post to display thread so it can get the latest display info.
        mH.post(() -> {
            synchronized (mGlobalLock) {
            mRoot.forAllDisplays(displayContent -> {
                displayContent.getDisplayPolicy().onOverlayChangedLw();
                displayContent.updateDisplayInfo();
            });
            requestTraversal();
                mAtmService.deferWindowLayout();
                try {
                    mRoot.forAllDisplays(dc -> dc.getDisplayPolicy().onOverlayChanged());
                } finally {
                    mAtmService.continueWindowLayout();
                }
            }
        });
    }

    @Override
    public Object getWindowManagerLock() {