diff options
author | Paul Lawrence <paullawrence@google.com> | 2014-03-27 16:37:28 +0000 |
---|---|---|
committer | Paul Lawrence <paullawrence@google.com> | 2014-03-28 10:35:44 -0700 |
commit | 945490c12e32b1c13b9097c00702558260b2011f (patch) | |
tree | d5ad838f520e98a1266d65a603b2869f69c1c853 /packages | |
parent | 0e14f2d45557527242f27ce7de9027e6ccaa45d6 (diff) | |
download | frameworks_base-945490c12e32b1c13b9097c00702558260b2011f.zip frameworks_base-945490c12e32b1c13b9097c00702558260b2011f.tar.gz frameworks_base-945490c12e32b1c13b9097c00702558260b2011f.tar.bz2 |
Don't double prompt on booting encrypted device
vold will store password securely until KeyGuard requests it
and hands it on to KeyStore.
This is a revision of
https://googleplex-android-review.git.corp.google.com/#/c/418123/
which was reverted. It had two bugs in LockSettingsService.checkVoldPassword.
1) We were not checking password for null, which caused an exception
2) checkPattern/checkPassword return true if there is no saved pattern or password.
This leads to situations where we get true returned even when the password
doesn't match. Call the correct one based on what is there, not what vold
thinks ought to be there.
Bug: 12990752
Change-Id: I05315753387b1e508de5aa79b5a68ad7315791d4
Diffstat (limited to 'packages')
-rw-r--r-- | packages/Keyguard/src/com/android/keyguard/KeyguardViewMediator.java | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/packages/Keyguard/src/com/android/keyguard/KeyguardViewMediator.java b/packages/Keyguard/src/com/android/keyguard/KeyguardViewMediator.java index 31e806c..3fc562c 100644 --- a/packages/Keyguard/src/com/android/keyguard/KeyguardViewMediator.java +++ b/packages/Keyguard/src/com/android/keyguard/KeyguardViewMediator.java @@ -979,6 +979,13 @@ public class KeyguardViewMediator { return; } + 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 + hideLocked(); + return; + } + if (DEBUG) Log.d(TAG, "doKeyguard: showing the lock screen"); showLocked(options); } |