diff options
| -rw-r--r-- | services/core/java/com/android/server/wm/WindowManagerService.java | 40 | ||||
| -rw-r--r-- | services/core/java/com/android/server/wm/WindowState.java | 6 |
2 files changed, 14 insertions, 32 deletions
diff --git a/services/core/java/com/android/server/wm/WindowManagerService.java b/services/core/java/com/android/server/wm/WindowManagerService.java index 22f9f50fe6dd..8a84a92ed31a 100644 --- a/services/core/java/com/android/server/wm/WindowManagerService.java +++ b/services/core/java/com/android/server/wm/WindowManagerService.java @@ -2174,10 +2174,7 @@ public class WindowManagerService extends IWindowManager.Stub // The exit animation is running... wait for it! win.mExiting = true; win.mRemoveOnExit = true; - final DisplayContent displayContent = win.getDisplayContent(); - if (displayContent != null) { - displayContent.layoutNeeded = true; - } + win.setDisplayLayoutNeeded(); final boolean focusChanged = updateFocusedWindowLocked( UPDATE_FOCUS_WILL_PLACE_SURFACES, false /*updateInputWindows*/); mWindowPlacerLocked.performSurfacePlacement(); @@ -2300,10 +2297,7 @@ public class WindowManagerService extends IWindowManager.Stub windows.remove(win); if (!mWindowPlacerLocked.isInLayout()) { assignLayersLocked(windows); - final DisplayContent displayContent = win.getDisplayContent(); - if (displayContent != null) { - displayContent.layoutNeeded = true; - } + win.setDisplayLayoutNeeded(); if (performLayout) { mWindowPlacerLocked.performSurfacePlacement(); } @@ -2385,10 +2379,7 @@ public class WindowManagerService extends IWindowManager.Stub w.mGivenVisibleInsets.scale(w.mGlobalScale); w.mGivenTouchableRegion.scale(w.mGlobalScale); } - final DisplayContent displayContent = w.getDisplayContent(); - if (displayContent != null) { - displayContent.layoutNeeded = true; - } + w.setDisplayLayoutNeeded(); mWindowPlacerLocked.performSurfacePlacement(); } } @@ -2730,10 +2721,7 @@ public class WindowManagerService extends IWindowManager.Stub WindowManagerPolicy.FINISH_LAYOUT_REDO_WALLPAPER; } - final DisplayContent displayContent = win.getDisplayContent(); - if (displayContent != null) { - displayContent.layoutNeeded = true; - } + win.setDisplayLayoutNeeded(); win.mGivenInsetsPending = (flags&WindowManagerGlobal.RELAYOUT_INSETS_PENDING) != 0; configChanged = updateOrientationFromAppTokensLocked(false); mWindowPlacerLocked.performSurfacePlacement(); @@ -2826,10 +2814,7 @@ public class WindowManagerService extends IWindowManager.Stub getDefaultDisplayContentLocked().pendingLayoutChanges |= WindowManagerPolicy.FINISH_LAYOUT_REDO_WALLPAPER; } - final DisplayContent displayContent = win.getDisplayContent(); - if (displayContent != null) { - displayContent.layoutNeeded = true; - } + win.setDisplayLayoutNeeded(); mWindowPlacerLocked.requestTraversal(); } } @@ -3950,10 +3935,7 @@ public class WindowManagerService extends IWindowManager.Stub } } changed = true; - final DisplayContent displayContent = win.getDisplayContent(); - if (displayContent != null) { - displayContent.layoutNeeded = true; - } + win.setDisplayLayoutNeeded(); } } else if (win.isVisibleNow()) { if (!runningAppAnimation) { @@ -3967,10 +3949,7 @@ public class WindowManagerService extends IWindowManager.Stub } } changed = true; - final DisplayContent displayContent = win.getDisplayContent(); - if (displayContent != null) { - displayContent.layoutNeeded = true; - } + win.setDisplayLayoutNeeded(); } } @@ -4138,10 +4117,7 @@ public class WindowManagerService extends IWindowManager.Stub } w.mLastFreezeDuration = 0; unfrozeWindows = true; - final DisplayContent displayContent = w.getDisplayContent(); - if (displayContent != null) { - displayContent.layoutNeeded = true; - } + w.setDisplayLayoutNeeded(); } } if (force || unfrozeWindows) { diff --git a/services/core/java/com/android/server/wm/WindowState.java b/services/core/java/com/android/server/wm/WindowState.java index c73dbaf607eb..b1a430ac9a65 100644 --- a/services/core/java/com/android/server/wm/WindowState.java +++ b/services/core/java/com/android/server/wm/WindowState.java @@ -1321,6 +1321,12 @@ final class WindowState implements WindowManagerPolicy.WindowState { } } + void setDisplayLayoutNeeded() { + if (mDisplayContent != null) { + mDisplayContent.layoutNeeded = true; + } + } + private class DeathRecipient implements IBinder.DeathRecipient { @Override public void binderDied() { |