From ae094b27159864cb47015b96d18c5d32ef84fdc1 Mon Sep 17 00:00:00 2001 From: Irfan Sheriff Date: Wed, 30 May 2012 16:52:38 -0700 Subject: Fix walled garden detection on nakasi Bug: 6576101 Change-Id: Iad2ea67e54662cd30a0e7425dab2a6174d13d152 --- .../java/android/net/wifi/WifiWatchdogStateMachine.java | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) (limited to 'wifi/java/android/net') 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; -- cgit v1.1