diff options
-rw-r--r-- | res/values/strings.xml | 4 | ||||
-rw-r--r-- | res/xml/wifi_advanced_settings.xml | 6 | ||||
-rw-r--r-- | src/com/android/settings/wifi/AdvancedWifiSettings.java | 10 |
3 files changed, 20 insertions, 0 deletions
diff --git a/res/values/strings.xml b/res/values/strings.xml index 3c54d1a..2cf5117 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -1212,6 +1212,10 @@ <string name="wifi_setting_sleep_policy_title">Keep Wi-Fi on during sleep</string> <!-- Generic error message when the sleep policy could not be set. --> <string name="wifi_setting_sleep_policy_error">There was a problem changing the setting</string> + <!-- Checkbox title for option to toggle suspend power optimizations --> + <string name="wifi_suspend_optimizations">Power save</string> + <!-- Checkbox summary for option to toggle suspend power optimizations --> + <string name="wifi_suspend_optimizations_summary">Save power when screen is turned off</string> <!-- Action bar text message to manually add a wifi network [CHAR LIMIT=20]--> <string name="wifi_add_network">Add network</string> <!-- Header for the list of wifi networks--> diff --git a/res/xml/wifi_advanced_settings.xml b/res/xml/wifi_advanced_settings.xml index 3000666..10eab29 100644 --- a/res/xml/wifi_advanced_settings.xml +++ b/res/xml/wifi_advanced_settings.xml @@ -47,6 +47,12 @@ android:entries="@array/wifi_frequency_band_entries" android:entryValues="@array/wifi_frequency_band_values" /> + + <CheckBoxPreference + android:key="suspend_optimizations" + android:title="@string/wifi_suspend_optimizations" + android:summary="@string/wifi_suspend_optimizations_summary" + android:persistent="false" /> <Preference android:key="mac_address" style="?android:attr/preferenceInformationStyle" diff --git a/src/com/android/settings/wifi/AdvancedWifiSettings.java b/src/com/android/settings/wifi/AdvancedWifiSettings.java index bb50d2a..c9bf3bc 100644 --- a/src/com/android/settings/wifi/AdvancedWifiSettings.java +++ b/src/com/android/settings/wifi/AdvancedWifiSettings.java @@ -44,6 +44,7 @@ public class AdvancedWifiSettings extends SettingsPreferenceFragment private static final String KEY_NOTIFY_OPEN_NETWORKS = "notify_open_networks"; private static final String KEY_SLEEP_POLICY = "sleep_policy"; private static final String KEY_POOR_NETWORK_DETECTION = "wifi_poor_network_detection"; + private static final String KEY_SUSPEND_OPTIMIZATIONS = "suspend_optimizations"; private WifiManager mWifiManager; @@ -84,6 +85,11 @@ public class AdvancedWifiSettings extends SettingsPreferenceFragment } } + CheckBoxPreference suspendOptimizations = + (CheckBoxPreference) findPreference(KEY_SUSPEND_OPTIMIZATIONS); + suspendOptimizations.setChecked(Secure.getInt(getContentResolver(), + Secure.WIFI_SUSPEND_OPTIMIZATIONS_ENABLED, 1) == 1); + ListPreference frequencyPref = (ListPreference) findPreference(KEY_FREQUENCY_BAND); if (mWifiManager.isDualBandSupported()) { @@ -148,6 +154,10 @@ public class AdvancedWifiSettings extends SettingsPreferenceFragment Secure.putInt(getContentResolver(), Secure.WIFI_WATCHDOG_POOR_NETWORK_TEST_ENABLED, ((CheckBoxPreference) preference).isChecked() ? 1 : 0); + } else if (KEY_SUSPEND_OPTIMIZATIONS.equals(key)) { + Secure.putInt(getContentResolver(), + Secure.WIFI_SUSPEND_OPTIMIZATIONS_ENABLED, + ((CheckBoxPreference) preference).isChecked() ? 1 : 0); } else { return super.onPreferenceTreeClick(screen, preference); } |