Loading services/core/java/com/android/server/wm/WindowManagerService.java +5 −1 Original line number Diff line number Diff line Loading @@ -3024,6 +3024,7 @@ public class WindowManagerService extends IWindowManager.Stub final long origId = Binder.clearCallingIdentity(); synchronized(mWindowMap) { DisplayContent displayContent = null; WindowToken wtoken = mTokenMap.remove(token); if (wtoken != null) { boolean delayed = false; Loading @@ -3033,6 +3034,7 @@ public class WindowManagerService extends IWindowManager.Stub for (int i=0; i<N; i++) { WindowState win = wtoken.windows.get(i); displayContent = win.getDisplayContent(); if (win.mWinAnimator.isAnimating()) { delayed = true; Loading @@ -3047,7 +3049,9 @@ public class WindowManagerService extends IWindowManager.Stub WindowManagerPolicy.TRANSIT_EXIT); } changed = true; win.setDisplayLayoutNeeded(); if (displayContent != null) { displayContent.layoutNeeded = true; } } } Loading services/core/java/com/android/server/wm/WindowStateAnimator.java +9 −4 Original line number Diff line number Diff line Loading @@ -1823,10 +1823,15 @@ class WindowStateAnimator { c.mAttachedHidden = false; if (c.mWinAnimator.mSurfaceControl != null) { c.mWinAnimator.performShowLocked(); // It hadn't been shown, which means layout not performed on it, so now we // want to make sure to do a layout. If called from within the transaction // loop, this will cause it to restart with a new layout. c.setDisplayLayoutNeeded(); // It hadn't been shown, which means layout not // performed on it, so now we want to make sure to // do a layout. If called from within the transaction // loop, this will cause it to restart with a new // layout. final DisplayContent displayContent = c.getDisplayContent(); if (displayContent != null) { displayContent.layoutNeeded = true; } } } } Loading Loading
services/core/java/com/android/server/wm/WindowManagerService.java +5 −1 Original line number Diff line number Diff line Loading @@ -3024,6 +3024,7 @@ public class WindowManagerService extends IWindowManager.Stub final long origId = Binder.clearCallingIdentity(); synchronized(mWindowMap) { DisplayContent displayContent = null; WindowToken wtoken = mTokenMap.remove(token); if (wtoken != null) { boolean delayed = false; Loading @@ -3033,6 +3034,7 @@ public class WindowManagerService extends IWindowManager.Stub for (int i=0; i<N; i++) { WindowState win = wtoken.windows.get(i); displayContent = win.getDisplayContent(); if (win.mWinAnimator.isAnimating()) { delayed = true; Loading @@ -3047,7 +3049,9 @@ public class WindowManagerService extends IWindowManager.Stub WindowManagerPolicy.TRANSIT_EXIT); } changed = true; win.setDisplayLayoutNeeded(); if (displayContent != null) { displayContent.layoutNeeded = true; } } } Loading
services/core/java/com/android/server/wm/WindowStateAnimator.java +9 −4 Original line number Diff line number Diff line Loading @@ -1823,10 +1823,15 @@ class WindowStateAnimator { c.mAttachedHidden = false; if (c.mWinAnimator.mSurfaceControl != null) { c.mWinAnimator.performShowLocked(); // It hadn't been shown, which means layout not performed on it, so now we // want to make sure to do a layout. If called from within the transaction // loop, this will cause it to restart with a new layout. c.setDisplayLayoutNeeded(); // It hadn't been shown, which means layout not // performed on it, so now we want to make sure to // do a layout. If called from within the transaction // loop, this will cause it to restart with a new // layout. final DisplayContent displayContent = c.getDisplayContent(); if (displayContent != null) { displayContent.layoutNeeded = true; } } } } Loading