summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--services/core/java/com/android/server/wm/DisplayContent.java2
-rw-r--r--services/core/java/com/android/server/wm/WallpaperController.java30
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--) {