summaryrefslogtreecommitdiffstats
path: root/packages
diff options
context:
space:
mode:
authorPaul Lawrence <paullawrence@google.com>2014-03-27 16:37:28 +0000
committerPaul Lawrence <paullawrence@google.com>2014-03-28 10:35:44 -0700
commit945490c12e32b1c13b9097c00702558260b2011f (patch)
treed5ad838f520e98a1266d65a603b2869f69c1c853 /packages
parent0e14f2d45557527242f27ce7de9027e6ccaa45d6 (diff)
downloadframeworks_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.java7
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);
}