diff options
author | Adrian Roos <roosa@google.com> | 2014-10-29 14:30:37 +0100 |
---|---|---|
committer | Adrian Roos <roosa@google.com> | 2014-11-10 19:16:41 +0100 |
commit | 450ce9fc8a1522819aec151433e6f509dfe60690 (patch) | |
tree | ad8f44c840cff52583cb1dfc4f91851e937ee688 /core/java/com/android/internal/widget/LockPatternUtils.java | |
parent | 3e54ce273abafec3a0eca9e7064d5151ec096f0b (diff) | |
download | frameworks_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.java | 16 |
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; } |