From e06cbb57173c3c8206db74a3fdf26553c52ae969 Mon Sep 17 00:00:00 2001 From: Brandon McAnsh Date: Mon, 22 Jun 2015 09:26:25 -0400 Subject: Development: Add choices to 'Stay Awake' preference * Per a request on Google+ for Google Engineers to add to M, the stay awake values can now be never, while usb debugging, and always. * Keep them pixels awake. Change-Id: I7f43200bab0f000dc7547cc3142c4cacda2f4732 Signed-off-by: Brandon McAnsh --- res/values/cm_arrays.xml | 12 +++++++ res/values/cm_strings.xml | 4 +++ res/xml/development_prefs.xml | 9 +++-- src/com/android/settings/DevelopmentSettings.java | 41 +++++++++++++++++------ 4 files changed, 53 insertions(+), 13 deletions(-) diff --git a/res/values/cm_arrays.xml b/res/values/cm_arrays.xml index 7bbb8b0..1ee23a1 100644 --- a/res/values/cm_arrays.xml +++ b/res/values/cm_arrays.xml @@ -348,4 +348,16 @@ 1 2 + + + @string/keep_screen_on_never + @string/keep_screen_on_debugging + @string/keep_screen_on_charging + + + + 0 + 1 + 2 + diff --git a/res/values/cm_strings.xml b/res/values/cm_strings.xml index 9bb751e..a65dbd5 100644 --- a/res/values/cm_strings.xml +++ b/res/values/cm_strings.xml @@ -616,4 +616,8 @@ Block gesture touch events Don\'t send touch events for navigation and status bar gestures to apps + + Never + While USB debugging + While charging diff --git a/res/xml/development_prefs.xml b/res/xml/development_prefs.xml index 899b1c9..b869474 100644 --- a/res/xml/development_prefs.xml +++ b/res/xml/development_prefs.xml @@ -43,10 +43,13 @@ android:targetClass="com.android.settings.SetFullBackupPassword" /> - + android:dialogTitle="@string/keep_screen_on" + android:entries="@array/keep_screen_on_titles" + android:entryValues="@array/keep_screen_on_values" + android:persistent="false" /> 2: charging) + // NOTE: If we have newer values, then we need to migrate + // this property + if (index >= values.length) { + index = values.length - 1; + } + mKeepScreenOn.setValue(values[index]); + mKeepScreenOn.setSummary(summaries[index]); + mKeepScreenOn.setOnPreferenceChangeListener(this); + } + private void updateHdcpValues() { ListPreference hdcpChecking = (ListPreference) findPreference(HDCP_CHECKING_KEY); if (hdcpChecking != null) { @@ -1145,6 +1161,13 @@ public class DevelopmentSettings extends SettingsPreferenceFragment mShowNonRectClip.setSummary(mShowNonRectClip.getEntries()[0]); } + private void writeStayAwakeOptions(Object newValue) { + int val = Integer.parseInt((String) newValue); + Settings.Global.putInt(getActivity().getContentResolver(), + Settings.Global.STAY_ON_WHILE_PLUGGED_IN, val); + updateStayAwakeOptions(); + } + private void writeShowNonRectClipOptions(Object newValue) { SystemProperties.set(HardwareRenderer.DEBUG_SHOW_NON_RECTANGULAR_CLIP_PROPERTY, newValue == null ? "" : newValue.toString()); @@ -1750,11 +1773,6 @@ public class DevelopmentSettings extends SettingsPreferenceFragment Settings.Secure.putInt(getActivity().getContentResolver(), Settings.Secure.BUGREPORT_IN_POWER_MENU, mBugreportInPower.isChecked() ? 1 : 0); - } else if (preference == mKeepScreenOn) { - Settings.Global.putInt(getActivity().getContentResolver(), - Settings.Global.STAY_ON_WHILE_PLUGGED_IN, - mKeepScreenOn.isChecked() ? - (BatteryManager.BATTERY_PLUGGED_AC | BatteryManager.BATTERY_PLUGGED_USB) : 0); } else if (preference == mBtHciSnoopLog) { writeBtHciSnoopLogOptions(); } else if (preference == mEnableOemUnlock) { @@ -1911,6 +1929,9 @@ public class DevelopmentSettings extends SettingsPreferenceFragment writeRootAccessOptions(newValue); } return true; + } else if (preference == mKeepScreenOn) { + writeStayAwakeOptions(newValue); + return true; } return false; } -- cgit v1.1