diff --git a/services/java/com/android/server/wm/WindowAnimator.java b/services/java/com/android/server/wm/WindowAnimator.java index b5cf20135bc38..efed0a4a3721b 100644 --- a/services/java/com/android/server/wm/WindowAnimator.java +++ b/services/java/com/android/server/wm/WindowAnimator.java @@ -496,15 +496,7 @@ public class WindowAnimator { final int N = mWinAnimators.size(); for (int i = 0; i < N; i++) { - final WindowStateAnimator winAnimator = mWinAnimators.get(i); - if (winAnimator.mWin.mIsWallpaper && mService.mWallpaperTarget == null) { - if (!winAnimator.mWin.mWallpaperVisible && !winAnimator.mLastHidden) { - // Wallpaper is no longer visible and there is no wp target => hide it. - winAnimator.hide(); - } - continue; - } - winAnimator.prepareSurfaceLocked(true); + mWinAnimators.get(i).prepareSurfaceLocked(true); } if (mDimParams != null) { diff --git a/services/java/com/android/server/wm/WindowStateAnimator.java b/services/java/com/android/server/wm/WindowStateAnimator.java index d140aca9204a0..bdacb6e23dacd 100644 --- a/services/java/com/android/server/wm/WindowStateAnimator.java +++ b/services/java/com/android/server/wm/WindowStateAnimator.java @@ -1063,7 +1063,10 @@ class WindowStateAnimator { setSurfaceBoundaries(recoveringMemory); - if (w.mAttachedHidden || !w.isReadyForDisplay()) { + if (mWin.mIsWallpaper && !mWin.mWallpaperVisible) { + // Wallpaper is no longer visible and there is no wp target => hide it. + hide(); + } else if (w.mAttachedHidden || !w.isReadyForDisplay()) { hide(); mAnimator.hideWallpapersLocked(w);