summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--wifi/java/android/net/wifi/WifiWatchdogStateMachine.java17
1 files changed, 12 insertions, 5 deletions
diff --git a/wifi/java/android/net/wifi/WifiWatchdogStateMachine.java b/wifi/java/android/net/wifi/WifiWatchdogStateMachine.java
index 5220d04..1a42f93 100644
--- a/wifi/java/android/net/wifi/WifiWatchdogStateMachine.java
+++ b/wifi/java/android/net/wifi/WifiWatchdogStateMachine.java
@@ -263,12 +263,19 @@ public class WifiWatchdogStateMachine extends StateMachine {
Context.CONNECTIVITY_SERVICE);
sWifiOnly = (cm.isNetworkSupported(ConnectivityManager.TYPE_MOBILE) == false);
- // Disable for wifi only devices.
- if (Settings.Secure.getString(contentResolver, Settings.Secure.WIFI_WATCHDOG_ON) == null
- && sWifiOnly) {
- log("Disabling watchog for wi-fi only device");
- putSettingsBoolean(contentResolver, Settings.Secure.WIFI_WATCHDOG_ON, false);
+ // Watchdog is always enabled. Poor network detection & walled garden detection
+ // can individually be turned on/off
+ // TODO: Remove this setting & clean up state machine since we always have
+ // watchdog in an enabled state
+ putSettingsBoolean(contentResolver, Settings.Secure.WIFI_WATCHDOG_ON, true);
+
+ // Disable poor network avoidance, but keep watchdog active for walled garden detection
+ if (sWifiOnly) {
+ log("Disabling poor network avoidance for wi-fi only device");
+ putSettingsBoolean(contentResolver,
+ Settings.Secure.WIFI_WATCHDOG_POOR_NETWORK_TEST_ENABLED, false);
}
+
WifiWatchdogStateMachine wwsm = new WifiWatchdogStateMachine(context);
wwsm.start();
return wwsm;