From 45caa2538e1ef829dc2ac2d154485685d49266e8 Mon Sep 17 00:00:00 2001 From: Jeremy Joslin Date: Thu, 4 May 2017 11:22:46 -0700 Subject: [PATCH] Adding a new config and Setting for WiFi Wakeup. Created a new config for WiFi Wakeup (config_wifi_wakeup_available) and defaulted it to NOT_AVAILABLE. Also added a new global Settings constant (WIFI_WAKEUP_AVAILABLE) and defaulted it to the value of the new config noted above. Bug: 37987491 Bug: 38036968 Test: Built, flashed and confirmed proper config value. Test: runtest --path frameworks/base/core/tests/coretests/src/android/provider/SettingsProviderTest.java Change-Id: I0cdca4262a0ef473fcbbf7da8d960c41dfafb11f --- core/java/android/provider/Settings.java | 11 ++++++++++ core/res/res/values/config.xml | 6 ++++++ core/res/res/values/symbols.xml | 1 + .../providers/settings/SettingsProvider.java | 21 ++++++++++++++++++- 4 files changed, 38 insertions(+), 1 deletion(-) diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java index 0840549987a37..dd7faac6f9163 100755 --- a/core/java/android/provider/Settings.java +++ b/core/java/android/provider/Settings.java @@ -8314,6 +8314,17 @@ public final class Settings { @SystemApi public static final String WIFI_WAKEUP_ENABLED = "wifi_wakeup_enabled"; + /** + * Value to specify if Wi-Fi Wakeup is available. + * + * Wi-Fi Wakeup will only operate if it's available + * and {@link #WIFI_WAKEUP_ENABLED} is true. + * + * Type: int (0 for false, 1 for true) + * @hide + */ + public static final String WIFI_WAKEUP_AVAILABLE = "wifi_wakeup_available"; + /** * Value to specify whether network quality scores and badging should be shown in the UI. * diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml index aeb564b49ea8b..bdc76664181dd 100644 --- a/core/res/res/values/config.xml +++ b/core/res/res/values/config.xml @@ -393,6 +393,12 @@ com.android.settings/.TetherService + + 0 + diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml index cff6eb198473e..586b6dd1d02da 100644 --- a/core/res/res/values/symbols.xml +++ b/core/res/res/values/symbols.xml @@ -2085,6 +2085,7 @@ + diff --git a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java index 4b304b2353b3e..502d6581badd4 100644 --- a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java +++ b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java @@ -2872,7 +2872,7 @@ public class SettingsProvider extends ContentProvider { } private final class UpgradeController { - private static final int SETTINGS_VERSION = 144; + private static final int SETTINGS_VERSION = 145; private final int mUserId; @@ -3454,6 +3454,25 @@ public class SettingsProvider extends ContentProvider { currentVersion = 144; } + if (currentVersion == 144) { + // Version 145: Set the default value for WIFI_WAKEUP_AVAILABLE. + if (userId == UserHandle.USER_SYSTEM) { + final SettingsState globalSettings = getGlobalSettingsLocked(); + final Setting currentSetting = globalSettings.getSettingLocked( + Settings.Global.WIFI_WAKEUP_AVAILABLE); + if (currentSetting.isNull()) { + final int defaultValue = getContext().getResources().getInteger( + com.android.internal.R.integer.config_wifi_wakeup_available); + globalSettings.insertSettingLocked( + Settings.Global.WIFI_WAKEUP_AVAILABLE, + String.valueOf(defaultValue), + null, true, SettingsState.SYSTEM_PACKAGE_NAME); + } + } + + currentVersion = 145; + } + // vXXX: Add new settings above this point. if (currentVersion != newVersion) {