diff options
| -rw-r--r-- | services/core/java/com/android/server/wm/DisplayContent.java | 2 | ||||
| -rw-r--r-- | services/core/java/com/android/server/wm/WallpaperController.java | 30 |
2 files changed, 12 insertions, 20 deletions
diff --git a/services/core/java/com/android/server/wm/DisplayContent.java b/services/core/java/com/android/server/wm/DisplayContent.java index 2dc133f060ff..e1132db54479 100644 --- a/services/core/java/com/android/server/wm/DisplayContent.java +++ b/services/core/java/com/android/server/wm/DisplayContent.java @@ -1065,7 +1065,7 @@ class DisplayContent extends RootDisplayArea implements WindowManagerPolicy.Disp if (obscuredChanged && w.isVisible() && mWallpaperController.isWallpaperTarget(w)) { // This is the wallpaper target and its obscured state changed... make sure the // current wallpaper's visibility has been updated accordingly. - mWallpaperController.updateWallpaperVisibility(); + mWallpaperController.updateWallpaperTokens(mDisplayContent.isKeyguardLocked()); } w.handleWindowMovedIfNeeded(); diff --git a/services/core/java/com/android/server/wm/WallpaperController.java b/services/core/java/com/android/server/wm/WallpaperController.java index 0cf4e89571b5..00bedcd6d45e 100644 --- a/services/core/java/com/android/server/wm/WallpaperController.java +++ b/services/core/java/com/android/server/wm/WallpaperController.java @@ -308,29 +308,12 @@ class WallpaperController { } } - private boolean shouldWallpaperBeVisible(WindowState wallpaperTarget) { - if (DEBUG_WALLPAPER) { - Slog.v(TAG, "Wallpaper vis: target " + wallpaperTarget + " prev=" - + mPrevWallpaperTarget); - } - return wallpaperTarget != null || mPrevWallpaperTarget != null; - } - boolean isWallpaperTargetAnimating() { return mWallpaperTarget != null && mWallpaperTarget.isAnimating(TRANSITION | PARENTS) && (mWallpaperTarget.mActivityRecord == null || !mWallpaperTarget.mActivityRecord.isWaitingForTransitionStart()); } - void updateWallpaperVisibility() { - final boolean visible = shouldWallpaperBeVisible(mWallpaperTarget); - - for (int curTokenNdx = mWallpaperTokens.size() - 1; curTokenNdx >= 0; curTokenNdx--) { - final WallpaperWindowToken token = mWallpaperTokens.get(curTokenNdx); - token.setVisibility(visible); - } - } - /** * Make one wallpaper visible, according to {@attr showHome}. * This is called during the keyguard unlocking transition @@ -801,11 +784,20 @@ class WallpaperController { result.setWallpaperTarget(wallpaperTarget); } + public void updateWallpaperTokens(boolean keyguardLocked) { + if (DEBUG_WALLPAPER) { + Slog.v(TAG, "Wallpaper vis: target " + mWallpaperTarget + " prev=" + + mPrevWallpaperTarget); + } + updateWallpaperTokens(mWallpaperTarget != null || mPrevWallpaperTarget != null, + keyguardLocked); + } + /** * Change the visibility of the top wallpaper to {@param visibility} and hide all the others. */ - private void updateWallpaperTokens(boolean visibility, boolean locked) { - WindowState topWallpaper = mFindResults.getTopWallpaper(locked); + private void updateWallpaperTokens(boolean visibility, boolean keyguardLocked) { + WindowState topWallpaper = mFindResults.getTopWallpaper(keyguardLocked); WallpaperWindowToken topWallpaperToken = topWallpaper == null ? null : topWallpaper.mToken.asWallpaperToken(); for (int curTokenNdx = mWallpaperTokens.size() - 1; curTokenNdx >= 0; curTokenNdx--) { |