From 9b5e824da70b6446a2e1418bc0cf1efaa33bd862 Mon Sep 17 00:00:00 2001 From: Craig Mautner Date: Tue, 23 Sep 2014 18:37:49 -0700 Subject: [PATCH] Force layout and animation when display changes Each time that window manager gets a notification that a display has been added, removed or changed, run a pass through performLayoutAndPlaceSurfaces. This ensures that WindowAnimator.animate() runs once so that the surfaces of remote displays can be updated with their visibility. Fixes bug 17533991. Change-Id: If8745527df86c74da75fbe26b8a2a6fddeb74d2a --- .../core/java/com/android/server/wm/WindowManagerService.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/services/core/java/com/android/server/wm/WindowManagerService.java b/services/core/java/com/android/server/wm/WindowManagerService.java index a4edc86287878..6291a272b9ae4 100644 --- a/services/core/java/com/android/server/wm/WindowManagerService.java +++ b/services/core/java/com/android/server/wm/WindowManagerService.java @@ -11423,6 +11423,7 @@ public class WindowManagerService extends IWindowManager.Stub createDisplayContentLocked(display); displayReady(displayId); } + requestTraversalLocked(); } } @@ -11445,6 +11446,7 @@ public class WindowManagerService extends IWindowManager.Stub } } mAnimator.removeDisplayLocked(displayId); + requestTraversalLocked(); } public void onDisplayChanged(int displayId) { @@ -11456,6 +11458,7 @@ public class WindowManagerService extends IWindowManager.Stub if (displayContent != null) { displayContent.updateDisplayInfo(); } + requestTraversalLocked(); } @Override