OSDN Git Service

DO NOT MERGE Set force hiding differently
authorCraig Mautner <cmautner@google.com>
Mon, 25 Jun 2012 18:13:24 +0000 (11:13 -0700)
committerCraig Mautner <cmautner@google.com>
Mon, 2 Jul 2012 20:16:15 +0000 (13:16 -0700)
Only force hide windows when the keyguard is animating in.

Fixes bug 6721572.

Change-Id: Iad7b8b811bcf0840726cbf6c6f279dabd08a3aba

Conflicts:

services/java/com/android/server/wm/WindowAnimator.java

services/java/com/android/server/wm/WindowAnimator.java

index fdd8aab..db3b2bd 100644 (file)
@@ -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);