summaryrefslogtreecommitdiffstats
path: root/src/com/android/settings/ChooseLockGeneric.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/settings/ChooseLockGeneric.java')
-rw-r--r--src/com/android/settings/ChooseLockGeneric.java25
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) {