diff --git a/res/values/strings.xml b/res/values/strings.xml
index d87d98fa73e..a927cf48b42 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -985,6 +985,9 @@
High security
+
+ Current screen lock
+
Device protection features will no longer work.
diff --git a/src/com/android/settings/ChooseLockGeneric.java b/src/com/android/settings/ChooseLockGeneric.java
index 6d31e604f4a..7dac8847c4b 100644
--- a/src/com/android/settings/ChooseLockGeneric.java
+++ b/src/com/android/settings/ChooseLockGeneric.java
@@ -244,12 +244,40 @@ public class ChooseLockGeneric extends SettingsActivity {
}
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);