summaryrefslogtreecommitdiffstats
path: root/core/java/com/android/internal/widget/LockPatternUtils.java
diff options
context:
space:
mode:
authorAdrian Roos <roosa@google.com>2014-10-29 14:30:37 +0100
committerAdrian Roos <roosa@google.com>2014-11-10 19:16:41 +0100
commit450ce9fc8a1522819aec151433e6f509dfe60690 (patch)
treead8f44c840cff52583cb1dfc4f91851e937ee688 /core/java/com/android/internal/widget/LockPatternUtils.java
parent3e54ce273abafec3a0eca9e7064d5151ec096f0b (diff)
downloadframeworks_base-450ce9fc8a1522819aec151433e6f509dfe60690.zip
frameworks_base-450ce9fc8a1522819aec151433e6f509dfe60690.tar.gz
frameworks_base-450ce9fc8a1522819aec151433e6f509dfe60690.tar.bz2
Disable LockPatternUtilsCache
Also fix a bug where hasPattern and hasPassword were not invalidated properly. Bug: 18163444 Change-Id: I5bd8cc4e7c0d00497ee7a42f3c34449aa3f95a6c
Diffstat (limited to 'core/java/com/android/internal/widget/LockPatternUtils.java')
-rw-r--r--core/java/com/android/internal/widget/LockPatternUtils.java16
1 files changed, 14 insertions, 2 deletions
diff --git a/core/java/com/android/internal/widget/LockPatternUtils.java b/core/java/com/android/internal/widget/LockPatternUtils.java
index d6885da..a4b8380 100644
--- a/core/java/com/android/internal/widget/LockPatternUtils.java
+++ b/core/java/com/android/internal/widget/LockPatternUtils.java
@@ -65,6 +65,13 @@ public class LockPatternUtils {
private static final boolean DEBUG = false;
/**
+ * If true, LockPatternUtils will cache its values in-process. While this leads to faster reads,
+ * it can cause problems because writes to to the settings are no longer synchronous
+ * across all processes.
+ */
+ private static final boolean ENABLE_CLIENT_CACHE = false;
+
+ /**
* The maximum number of incorrect attempts before the user is prevented
* from trying again for {@link #FAILED_ATTEMPT_TIMEOUT_MS}.
*/
@@ -207,8 +214,13 @@ public class LockPatternUtils {
private ILockSettings getLockSettings() {
if (mLockSettingsService == null) {
- mLockSettingsService = LockPatternUtilsCache.getInstance(
- ILockSettings.Stub.asInterface(ServiceManager.getService("lock_settings")));
+ ILockSettings service = ILockSettings.Stub.asInterface(
+ ServiceManager.getService("lock_settings"));
+ if (ENABLE_CLIENT_CACHE) {
+ mLockSettingsService = LockPatternUtilsCache.getInstance(service);
+ } else {
+ mLockSettingsService = service;
+ }
}
return mLockSettingsService;
}