diff options
| -rw-r--r-- | core/java/com/android/internal/widget/LockPatternUtils.java | 18 | ||||
| -rw-r--r-- | services/core/java/com/android/server/LockSettingsService.java | 4 | 
2 files changed, 22 insertions, 0 deletions
diff --git a/core/java/com/android/internal/widget/LockPatternUtils.java b/core/java/com/android/internal/widget/LockPatternUtils.java index 60380fb36d20..2e9f4f63899c 100644 --- a/core/java/com/android/internal/widget/LockPatternUtils.java +++ b/core/java/com/android/internal/widget/LockPatternUtils.java @@ -64,6 +64,11 @@ public class LockPatternUtils {      private static final boolean DEBUG = false;      /** +     * The key to identify when the lock pattern enabled flag is being acccessed for legacy reasons. +     */ +    public static final String LEGACY_LOCK_PATTERN_ENABLED = "legacy_lock_pattern_enabled"; + +    /**       * The number of incorrect attempts before which we fall back on an alternative       * method of verifying the user, and resetting their lock pattern.       */ @@ -985,6 +990,19 @@ public class LockPatternUtils {          return isLockPatternEnabled(getKeyguardStoredPasswordQuality(userId), userId);      } +    @Deprecated +    public boolean isLegacyLockPatternEnabled(int userId) { +        // Note: this value should default to {@code true} to avoid any reset that might result. +        // We must use a special key to read this value, since it will by default return the value +        // based on the new logic. +        return getBoolean(LEGACY_LOCK_PATTERN_ENABLED, true, userId); +    } + +    @Deprecated +    public void setLegacyLockPatternEnabled(int userId) { +        setBoolean(Settings.Secure.LOCK_PATTERN_ENABLED, true, userId); +    } +      private boolean isLockPatternEnabled(int mode, int userId) {          return mode == DevicePolicyManager.PASSWORD_QUALITY_SOMETHING                  && savedPatternExists(userId); diff --git a/services/core/java/com/android/server/LockSettingsService.java b/services/core/java/com/android/server/LockSettingsService.java index f1d7da4ee629..45e7b5eb83d5 100644 --- a/services/core/java/com/android/server/LockSettingsService.java +++ b/services/core/java/com/android/server/LockSettingsService.java @@ -350,6 +350,10 @@ public class LockSettingsService extends ILockSettings.Stub {              }          } +        if (LockPatternUtils.LEGACY_LOCK_PATTERN_ENABLED.equals(key)) { +            key = Settings.Secure.LOCK_PATTERN_ENABLED; +        } +          return mStorage.readKeyValue(key, defaultValue, userId);      }  |