diff options
| author | 2018-09-21 08:04:10 +0000 | |
|---|---|---|
| committer | 2018-09-21 08:04:10 +0000 | |
| commit | b6c84d1135ccea1e177e181934e7128b4f292496 (patch) | |
| tree | e9ab5368e3ac9def71c7a594a5298578743585d0 | |
| parent | 82b0d17b393783c5259bf183a7ded118d28e50cc (diff) | |
| parent | df87af8bf18c1809adb2df39386fdff736bdfd92 (diff) | |
Merge "Clear mDeferredHideWallpaper if wallpaper is being hidden" into pi-dev
| -rw-r--r-- | services/core/java/com/android/server/wm/WindowState.java | 6 | ||||
| -rw-r--r-- | services/core/java/com/android/server/wm/WindowStateAnimator.java | 7 |
2 files changed, 12 insertions, 1 deletions
diff --git a/services/core/java/com/android/server/wm/WindowState.java b/services/core/java/com/android/server/wm/WindowState.java index 1ae680f793ca..087bd6a80c73 100644 --- a/services/core/java/com/android/server/wm/WindowState.java +++ b/services/core/java/com/android/server/wm/WindowState.java @@ -85,6 +85,7 @@ import static com.android.server.wm.WindowManagerDebugConfig.DEBUG_FOCUS; import static com.android.server.wm.WindowManagerDebugConfig.DEBUG_FOCUS_LIGHT; import static com.android.server.wm.WindowManagerDebugConfig.DEBUG_INPUT_METHOD; import static com.android.server.wm.WindowManagerDebugConfig.DEBUG_LAYOUT; +import static com.android.server.wm.WindowManagerDebugConfig.DEBUG_LAYOUT_REPEATS; import static com.android.server.wm.WindowManagerDebugConfig.DEBUG_ORIENTATION; import static com.android.server.wm.WindowManagerDebugConfig.DEBUG_POWER; import static com.android.server.wm.WindowManagerDebugConfig.DEBUG_RESIZE; @@ -4248,10 +4249,15 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP } if (!mWinAnimator.mLastHidden || wasDeferred) { mWinAnimator.hide(reason); + getDisplayContent().mWallpaperController.mDeferredHideWallpaper = null; dispatchWallpaperVisibility(false); final DisplayContent displayContent = getDisplayContent(); if (displayContent != null) { displayContent.pendingLayoutChanges |= FINISH_LAYOUT_REDO_WALLPAPER; + if (DEBUG_LAYOUT_REPEATS) { + mService.mWindowPlacerLocked.debugLayoutRepeats("hideWallpaperWindow " + this, + displayContent.pendingLayoutChanges); + } } } } diff --git a/services/core/java/com/android/server/wm/WindowStateAnimator.java b/services/core/java/com/android/server/wm/WindowStateAnimator.java index a05e04dd6c7c..08b8150fbc6f 100644 --- a/services/core/java/com/android/server/wm/WindowStateAnimator.java +++ b/services/core/java/com/android/server/wm/WindowStateAnimator.java @@ -1126,7 +1126,7 @@ class WindowStateAnimator { setSurfaceBoundariesLocked(recoveringMemory); - if (mIsWallpaper && !mWin.mWallpaperVisible) { + if (mIsWallpaper && !w.mWallpaperVisible) { // Wallpaper is no longer visible and there is no wp target => hide it. hide("prepareSurfaceLocked"); } else if (w.isParentWindowHidden() || !w.isOnScreen()) { @@ -1190,6 +1190,11 @@ class WindowStateAnimator { // LogicalDisplay. mAnimator.setPendingLayoutChanges(w.getDisplayId(), FINISH_LAYOUT_REDO_ANIM); + if (DEBUG_LAYOUT_REPEATS) { + mService.mWindowPlacerLocked.debugLayoutRepeats( + "showSurfaceRobustlyLocked " + w, + mAnimator.getPendingLayoutChanges(w.getDisplayId())); + } } else { w.setOrientationChanging(false); } |