summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--services/java/com/android/server/wm/WindowAnimator.java10
-rw-r--r--services/java/com/android/server/wm/WindowStateAnimator.java5
2 files changed, 10 insertions, 5 deletions
diff --git a/services/java/com/android/server/wm/WindowAnimator.java b/services/java/com/android/server/wm/WindowAnimator.java
index efed0a4a3721..b5cf20135bc3 100644
--- a/services/java/com/android/server/wm/WindowAnimator.java
+++ b/services/java/com/android/server/wm/WindowAnimator.java
@@ -496,7 +496,15 @@ public class WindowAnimator {
final int N = mWinAnimators.size();
for (int i = 0; i < N; i++) {
- mWinAnimators.get(i).prepareSurfaceLocked(true);
+ 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);
}
if (mDimParams != null) {
diff --git a/services/java/com/android/server/wm/WindowStateAnimator.java b/services/java/com/android/server/wm/WindowStateAnimator.java
index bdacb6e23dac..d140aca9204a 100644
--- a/services/java/com/android/server/wm/WindowStateAnimator.java
+++ b/services/java/com/android/server/wm/WindowStateAnimator.java
@@ -1063,10 +1063,7 @@ class WindowStateAnimator {
setSurfaceBoundaries(recoveringMemory);
- 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()) {
+ if (w.mAttachedHidden || !w.isReadyForDisplay()) {
hide();
mAnimator.hideWallpapersLocked(w);