diff options
Diffstat (limited to 'src/com/android/settings/ChooseLockGeneric.java')
-rw-r--r-- | src/com/android/settings/ChooseLockGeneric.java | 25 |
1 files changed, 22 insertions, 3 deletions
diff --git a/src/com/android/settings/ChooseLockGeneric.java b/src/com/android/settings/ChooseLockGeneric.java index f64a9df..b289e7a 100644 --- a/src/com/android/settings/ChooseLockGeneric.java +++ b/src/com/android/settings/ChooseLockGeneric.java @@ -288,14 +288,30 @@ public class ChooseLockGeneric extends SettingsActivity { } /*** + * Disables preferences that are less secure than required quality. The actual + * implementation is in disableUnusablePreferenceImpl. + * + * @param quality the requested quality. + * @param allowBiometric whether to allow biometic screen lock. + */ + protected void disableUnusablePreferences(final int quality, + MutableBoolean allowBiometric) { + disableUnusablePreferencesImpl(quality, allowBiometric, false /* hideDisabled */); + } + + /*** * Disables preferences that are less secure than required quality. * * @param quality the requested quality. + * @param allowBiometric whether to allow biometic screen lock. + * @param hideDisabled whether to hide disable screen lock options. */ - private void disableUnusablePreferences(final int quality, MutableBoolean allowBiometric) { + protected void disableUnusablePreferencesImpl(final int quality, + MutableBoolean allowBiometric, boolean hideDisabled) { final PreferenceScreen entries = getPreferenceScreen(); - final boolean onlyShowFallback = getActivity().getIntent() - .getBooleanExtra(LockPatternUtils.LOCKSCREEN_BIOMETRIC_WEAK_FALLBACK, false); + final Intent intent = getActivity().getIntent(); + final boolean onlyShowFallback = intent.getBooleanExtra( + LockPatternUtils.LOCKSCREEN_BIOMETRIC_WEAK_FALLBACK, false); final boolean weakBiometricAvailable = mChooseLockSettingsHelper.utils().isBiometricWeakInstalled(); @@ -326,6 +342,9 @@ public class ChooseLockGeneric extends SettingsActivity { } else if (KEY_UNLOCK_SET_PASSWORD.equals(key)) { enabled = quality <= DevicePolicyManager.PASSWORD_QUALITY_COMPLEX; } + if (hideDisabled) { + visible = visible && enabled; + } if (!visible || (onlyShowFallback && !allowedForFallback(key))) { entries.removePreference(pref); } else if (!enabled) { |