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) {