diff options
Diffstat (limited to 'src/com/android/settings/SecuritySettings.java')
-rw-r--r-- | src/com/android/settings/SecuritySettings.java | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/com/android/settings/SecuritySettings.java b/src/com/android/settings/SecuritySettings.java index eea98b4..704eacd 100644 --- a/src/com/android/settings/SecuritySettings.java +++ b/src/com/android/settings/SecuritySettings.java @@ -212,6 +212,7 @@ public class SecuritySettings extends SettingsPreferenceFragment // lock after preference mLockAfter = setupLockAfterPreference(pm); + updateLockAfterPreferenceSummary(); // visible pattern mVisiblePattern = (CheckBoxPreference) pm.findPreference(KEY_VISIBLE_PATTERN); @@ -303,6 +304,27 @@ public class SecuritySettings extends SettingsPreferenceFragment return result; } + private void updateLockAfterPreferenceSummary() { + // Not all security types have a "lock after" preference, so ignore those that don't. + if (mLockAfter == null) return; + + // Update summary message with current value + long currentTimeout = Settings.Secure.getLong(getContentResolver(), + Settings.Secure.LOCK_SCREEN_LOCK_AFTER_TIMEOUT, 0); + final CharSequence[] entries = mLockAfter.getEntries(); + final CharSequence[] values = mLockAfter.getEntryValues(); + int best = 0; + for (int i = 0; i < values.length; i++) { + long timeout = Long.valueOf(values[i].toString()); + if (currentTimeout >= timeout) { + best = i; + } + } + String summary = mLockAfter.getContext() + .getString(R.string.lock_after_timeout_summary, entries[best]); + mLockAfter.setSummary(summary); + } + private static void disableUnusableTimeouts(ListPreference pref, long maxTimeout) { final CharSequence[] entries = pref.getEntries(); final CharSequence[] values = pref.getEntryValues(); @@ -788,6 +810,7 @@ public class SecuritySettings extends SettingsPreferenceFragment } catch (NumberFormatException e) { Log.e("SecuritySettings", "could not persist lockAfter timeout setting", e); } + updateLockAfterPreferenceSummary(); } else if (preference == mUseLocation) { boolean newValue = value == null ? false : (Boolean) value; GoogleLocationSettingHelper.setUseLocationForServices(getActivity(), newValue); |