From 41e13b0a68e49648d2f58738880bc3d6f93201cf Mon Sep 17 00:00:00 2001 From: Filip Gruszczynski Date: Tue, 15 Sep 2015 13:17:44 -0700 Subject: [PATCH] Update circular mask after display is ready. This fixes the situation where the circular mask is not applied because the configuration is not reporting round screen. Configuration is computed based on the display, so we can only depend on it having the correct information after the display became ready. Bug: 23689649 Bug: 23325855 Change-Id: I1e1fa307836f4053cfc4978da0239cb42c5af2c3 --- .../java/com/android/server/wm/WindowManagerService.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/services/core/java/com/android/server/wm/WindowManagerService.java b/services/core/java/com/android/server/wm/WindowManagerService.java index a0499b79dfa80..f47b4d8361658 100644 --- a/services/core/java/com/android/server/wm/WindowManagerService.java +++ b/services/core/java/com/android/server/wm/WindowManagerService.java @@ -996,7 +996,6 @@ public class WindowManagerService extends IWindowManager.Stub SurfaceControl.closeTransaction(); } - updateCircularDisplayMaskIfNeeded(); showEmulatorDisplayOverlayIfNeeded(); } @@ -5948,7 +5947,7 @@ public class WindowManagerService extends IWindowManager.Stub } } - public void updateCircularDisplayMaskIfNeeded() { + private void updateCircularDisplayMaskIfNeeded() { // we're fullscreen and not hosted in an ActivityView if (mContext.getResources().getConfiguration().isScreenRound() && mContext.getResources().getBoolean( @@ -7664,6 +7663,8 @@ public class WindowManagerService extends IWindowManager.Stub mActivityManager.updateConfiguration(null); } catch (RemoteException e) { } + + updateCircularDisplayMaskIfNeeded(); } private void displayReady(int displayId) {