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

Commit 0d5792e9 authored by wilsonshih's avatar wilsonshih
Browse files

Clear the calling identity in isUsableDisplay.

The INTERNAL_SYSTEM_WINDOW permission is checked when
WindowManagerService#shouldShowSystemDecors is called, we should leave
this permission check because it is public method.
Clear the calling identity in WallpaperManagerService#isUsableDisplay
as this method should be used only internally.

Fix: 136447676
Test: atest VrDisplayTests MultiDisplaySystemDecorationTests
Change-Id: I97a93cdd0253933527010f97049694b59d5a4e2a
parent 27fb629b
Loading
Loading
Loading
Loading
+10 −2
Original line number Diff line number Diff line
@@ -1172,8 +1172,16 @@ public class WallpaperManagerService extends IWallpaperManager.Stub
                return false;
            }
            final int displayId = display.getDisplayId();
            return displayId == DEFAULT_DISPLAY
                    || mWindowManagerInternal.shouldShowSystemDecorOnDisplay(displayId);
            if (displayId == DEFAULT_DISPLAY) {
                return true;
            }

            final long ident = Binder.clearCallingIdentity();
            try {
                return mWindowManagerInternal.shouldShowSystemDecorOnDisplay(displayId);
            } finally {
                Binder.restoreCallingIdentity(ident);
            }
        }

        void forEachDisplayConnector(Consumer<DisplayConnector> action) {