diff options
author | Jorim Jaggi <jjaggi@google.com> | 2014-06-03 22:34:22 +0200 |
---|---|---|
committer | Jorim Jaggi <jjaggi@google.com> | 2014-06-03 22:35:57 +0200 |
commit | b9d6079120747205e2ae18162aa730fad3b58d9c (patch) | |
tree | eea75898c8e2412cb2e0cc61d180af3b01e5251b /packages/SystemUI/src/com/android/systemui/keyguard | |
parent | 282a615263a808f7887a2d8c56726946e252a60f (diff) | |
download | frameworks_base-b9d6079120747205e2ae18162aa730fad3b58d9c.zip frameworks_base-b9d6079120747205e2ae18162aa730fad3b58d9c.tar.gz frameworks_base-b9d6079120747205e2ae18162aa730fad3b58d9c.tar.bz2 |
Fix invalid Keyguard state with encrypted devices.
Bug: 15389720
Change-Id: I0a18e78043e5c08f40cf3288abc07f75ea6261a0
Diffstat (limited to 'packages/SystemUI/src/com/android/systemui/keyguard')
-rw-r--r-- | packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java b/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java index 00ee078..c006c88 100644 --- a/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java +++ b/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java @@ -906,6 +906,7 @@ public class KeyguardViewMediator extends SystemUI { if (mLockPatternUtils.checkVoldPassword()) { if (DEBUG) Log.d(TAG, "Not showing lock screen since just decrypted"); // Without this, settings is not enabled until the lock screen first appears + mShowing = false; hideLocked(); return; } @@ -1219,9 +1220,17 @@ public class KeyguardViewMediator extends SystemUI { if (DEBUG) Log.d(TAG, "handleHide"); try { - // Don't actually hide the Keyguard at the moment, wait for window manager until - // it tells us it's safe to do so with startKeyguardExitAnimation. - mWM.keyguardGoingAway(); + if (mShowing) { + + // Don't actually hide the Keyguard at the moment, wait for window manager until + // it tells us it's safe to do so with startKeyguardExitAnimation. + mWM.keyguardGoingAway(); + } else { + + // Don't try to rely on WindowManager - if Keyguard wasn't showing, window + // manager won't start the exit animation. + handleStartKeyguardExitAnimation(0, 0); + } } catch (RemoteException e) { Log.e(TAG, "Error while calling WindowManager", e); } |