diff options
| -rw-r--r-- | core/java/com/android/internal/widget/LockPatternUtils.java | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/core/java/com/android/internal/widget/LockPatternUtils.java b/core/java/com/android/internal/widget/LockPatternUtils.java index 4d1276c54368..2694aa21cf77 100644 --- a/core/java/com/android/internal/widget/LockPatternUtils.java +++ b/core/java/com/android/internal/widget/LockPatternUtils.java @@ -346,12 +346,21 @@ public class LockPatternUtils { */ public int getActivePasswordQuality() { int activePasswordQuality = DevicePolicyManager.PASSWORD_QUALITY_UNSPECIFIED; - switch (getKeyguardStoredPasswordQuality()) { + // Note we don't want to use getKeyguardStoredPasswordQuality() because we want this to + // return biometric_weak if that is being used instead of the backup + int quality = + (int) getLong(PASSWORD_TYPE_KEY, DevicePolicyManager.PASSWORD_QUALITY_SOMETHING); + switch (quality) { case DevicePolicyManager.PASSWORD_QUALITY_SOMETHING: if (isLockPatternEnabled()) { activePasswordQuality = DevicePolicyManager.PASSWORD_QUALITY_SOMETHING; } break; + case DevicePolicyManager.PASSWORD_QUALITY_BIOMETRIC_WEAK: + if (isBiometricWeakInstalled()) { + activePasswordQuality = DevicePolicyManager.PASSWORD_QUALITY_BIOMETRIC_WEAK; + } + break; case DevicePolicyManager.PASSWORD_QUALITY_NUMERIC: if (isLockPasswordEnabled()) { activePasswordQuality = DevicePolicyManager.PASSWORD_QUALITY_NUMERIC; @@ -373,6 +382,7 @@ public class LockPatternUtils { } break; } + return activePasswordQuality; } |