Merge "Settings: Move priority configuration to its own sub-settings page."
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 307f3b8..38c2790 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -985,6 +985,9 @@
<!-- Title for preference that guides the user through creating an unlock password [CHAR LIMIT=45] -->
<string name="unlock_set_unlock_password_summary">High security</string>
+ <!-- Summary specifying that this is the current screen lock setting [CHAR LIMIT=45] -->
+ <string name="current_screen_lock">Current screen lock</string>
+
<!-- Content of warning dialog about disabling device protection features when user is switching from a secure unlock method to an insecure one. [CHAR LIMIT=NONE] -->
<string name="unlock_disable_frp_warning_content">Device protection features will no longer work.</string>
diff --git a/src/com/android/settings/ChooseLockGeneric.java b/src/com/android/settings/ChooseLockGeneric.java
index cb0ce5f..1da9ac7 100644
--- a/src/com/android/settings/ChooseLockGeneric.java
+++ b/src/com/android/settings/ChooseLockGeneric.java
@@ -244,12 +244,40 @@
}
addPreferencesFromResource(R.xml.security_settings_picker);
disableUnusablePreferences(quality, hideDisabledPrefs);
+ updateCurrentPreference();
updatePreferenceSummaryIfNeeded();
} else {
updateUnlockMethodAndFinish(quality, false);
}
}
+ private void updateCurrentPreference() {
+ String currentKey = getKeyForCurrent();
+ Preference preference = findPreference(currentKey);
+ if (preference != null) {
+ preference.setSummary(R.string.current_screen_lock);
+ }
+ }
+
+ private String getKeyForCurrent() {
+ if (mLockPatternUtils.isLockScreenDisabled()) {
+ return KEY_UNLOCK_SET_OFF;
+ }
+ switch (mLockPatternUtils.getKeyguardStoredPasswordQuality()) {
+ case DevicePolicyManager.PASSWORD_QUALITY_SOMETHING:
+ return KEY_UNLOCK_SET_PATTERN;
+ case DevicePolicyManager.PASSWORD_QUALITY_NUMERIC:
+ case DevicePolicyManager.PASSWORD_QUALITY_NUMERIC_COMPLEX:
+ return KEY_UNLOCK_SET_PIN;
+ case DevicePolicyManager.PASSWORD_QUALITY_ALPHABETIC:
+ case DevicePolicyManager.PASSWORD_QUALITY_ALPHANUMERIC:
+ return KEY_UNLOCK_SET_PASSWORD;
+ case DevicePolicyManager.PASSWORD_QUALITY_UNSPECIFIED:
+ return KEY_UNLOCK_SET_NONE;
+ }
+ return null;
+ }
+
/** increases the quality if necessary */
private int upgradeQuality(int quality) {
quality = upgradeQualityForDPM(quality);