summaryrefslogtreecommitdiffstats
path: root/services/java/com/android/server/wm/WindowAnimator.java
diff options
context:
space:
mode:
Diffstat (limited to 'services/java/com/android/server/wm/WindowAnimator.java')
-rw-r--r--services/java/com/android/server/wm/WindowAnimator.java6
1 files changed, 4 insertions, 2 deletions
diff --git a/services/java/com/android/server/wm/WindowAnimator.java b/services/java/com/android/server/wm/WindowAnimator.java
index fdd8aab..db3b2bd 100644
--- a/services/java/com/android/server/wm/WindowAnimator.java
+++ b/services/java/com/android/server/wm/WindowAnimator.java
@@ -3,6 +3,7 @@
package com.android.server.wm;
import static android.view.WindowManager.LayoutParams.FLAG_SHOW_WALLPAPER;
+import static android.view.WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED;
import static com.android.server.wm.WindowManagerService.LayoutFields.SET_UPDATE_ROTATION;
import static com.android.server.wm.WindowManagerService.LayoutFields.SET_WALLPAPER_MAY_CHANGE;
@@ -278,7 +279,7 @@ public class WindowAnimator {
}
mService.mFocusMayChange = true;
}
- if (win.isReadyForDisplay() && !winAnimator.isAnimating()) {
+ if (win.isReadyForDisplay() && winAnimator.mAnimationIsEntrance) {
mForceHiding = true;
}
if (WindowManagerService.DEBUG_VISIBILITY) Slog.v(TAG,
@@ -292,7 +293,8 @@ public class WindowAnimator {
+ " anim=" + win.mWinAnimator.mAnimation);
} else if (mPolicy.canBeForceHidden(win, win.mAttrs)) {
final boolean changed;
- if (mForceHiding && !winAnimator.isAnimating()) {
+ if (mForceHiding && (!winAnimator.isAnimating()
+ || (winAnimator.mAttrFlags & FLAG_SHOW_WHEN_LOCKED) == 0)) {
changed = win.hideLw(false, false);
if (WindowManagerService.DEBUG_VISIBILITY && changed) Slog.v(TAG,
"Now policy hidden: " + win);