summaryrefslogtreecommitdiffstats
path: root/packages/SystemUI/src/com/android/systemui/keyguard
diff options
context:
space:
mode:
authorJorim Jaggi <jjaggi@google.com>2014-06-03 22:34:22 +0200
committerJorim Jaggi <jjaggi@google.com>2014-06-03 22:35:57 +0200
commitb9d6079120747205e2ae18162aa730fad3b58d9c (patch)
treeeea75898c8e2412cb2e0cc61d180af3b01e5251b /packages/SystemUI/src/com/android/systemui/keyguard
parent282a615263a808f7887a2d8c56726946e252a60f (diff)
downloadframeworks_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.java15
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);
}