From: Amith Yamasani Date: Fri, 16 Aug 2013 23:35:54 +0000 (-0700) Subject: Select max timeout, if it's in the timeout list X-Git-Tag: android-x86-4.4-r1~226^2 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=78b8265b17345398e24c229e4b10f87c9c05d73d;p=android-x86%2Fpackages-apps-Settings.git Select max timeout, if it's in the timeout list Bug: 10192592 Change-Id: I21ec208abf0c8659233cdb5219d9b226528aa1d4 --- diff --git a/src/com/android/settings/DisplaySettings.java b/src/com/android/settings/DisplaySettings.java index 6c3a990efc..c379ec3dbf 100644 --- a/src/com/android/settings/DisplaySettings.java +++ b/src/com/android/settings/DisplaySettings.java @@ -109,7 +109,7 @@ public class DisplaySettings extends SettingsPreferenceFragment implements com.android.internal.R.bool.config_dreamsSupported) == false) { getPreferenceScreen().removePreference(mScreenSaverPreference); } - + mScreenTimeoutPreference = (ListPreference) findPreference(KEY_SCREEN_TIMEOUT); final long currentTimeout = Settings.System.getLong(resolver, SCREEN_OFF_TIMEOUT, FALLBACK_SCREEN_TIMEOUT_VALUE); @@ -193,13 +193,18 @@ public class DisplaySettings extends SettingsPreferenceFragment implements } } if (revisedEntries.size() != entries.length || revisedValues.size() != values.length) { + final int userPreference = Integer.parseInt(screenTimeoutPreference.getValue()); screenTimeoutPreference.setEntries( revisedEntries.toArray(new CharSequence[revisedEntries.size()])); screenTimeoutPreference.setEntryValues( revisedValues.toArray(new CharSequence[revisedValues.size()])); - final int userPreference = Integer.parseInt(screenTimeoutPreference.getValue()); if (userPreference <= maxTimeout) { screenTimeoutPreference.setValue(String.valueOf(userPreference)); + } else if (revisedValues.size() > 0 + && Long.parseLong(revisedValues.get(revisedValues.size() - 1).toString()) + == maxTimeout) { + // If the last one happens to be the same as the max timeout, select that + screenTimeoutPreference.setValue(String.valueOf(maxTimeout)); } else { // There will be no highlighted selection since nothing in the list matches // maxTimeout. The user can still select anything less than maxTimeout.