From 09a9b38fbccd4c6e62f042d8bb326f9b6ef9a8f0 Mon Sep 17 00:00:00 2001 From: Irfan Sheriff Date: Tue, 14 Feb 2012 09:26:07 -0800 Subject: [PATCH] Add support for wifi verification before connect Change-Id: Ie1fb9c2fad4f75985077236eab61c296314f4fe4 --- res/values/arrays.xml | 8 ++++++++ src/com/android/settings/wifi/AdvancedWifiSettings.java | 7 ++----- src/com/android/settings/wifi/WifiSettings.java | 7 ++++--- 3 files changed, 14 insertions(+), 8 deletions(-) diff --git a/res/values/arrays.xml b/res/values/arrays.xml index 17a16692915..8c7ebfc96c4 100644 --- a/res/values/arrays.xml +++ b/res/values/arrays.xml @@ -237,6 +237,10 @@ Disconnected Unsuccessful + + Blocked + + Temporarily avoiding poor connection @@ -262,6 +266,10 @@ Disconnected Unsuccessful + + Blocked + + Temporarily avoiding poor connection diff --git a/src/com/android/settings/wifi/AdvancedWifiSettings.java b/src/com/android/settings/wifi/AdvancedWifiSettings.java index c213512bbe0..5d673c454ee 100644 --- a/src/com/android/settings/wifi/AdvancedWifiSettings.java +++ b/src/com/android/settings/wifi/AdvancedWifiSettings.java @@ -77,10 +77,7 @@ public class AdvancedWifiSettings extends SettingsPreferenceFragment (CheckBoxPreference) findPreference(KEY_ENABLE_WIFI_WATCHDOG); if (watchdogEnabled != null) { watchdogEnabled.setChecked(Secure.getInt(getContentResolver(), - Secure.WIFI_WATCHDOG_ON, 1) == 1); - - //TODO: Bring this back after changing watchdog behavior - getPreferenceScreen().removePreference(watchdogEnabled); + Secure.WIFI_WATCHDOG_POOR_NETWORK_TEST_ENABLED, 1) == 1); } ListPreference frequencyPref = (ListPreference) findPreference(KEY_FREQUENCY_BAND); @@ -145,7 +142,7 @@ public class AdvancedWifiSettings extends SettingsPreferenceFragment ((CheckBoxPreference) preference).isChecked() ? 1 : 0); } else if (KEY_ENABLE_WIFI_WATCHDOG.equals(key)) { Secure.putInt(getContentResolver(), - Secure.WIFI_WATCHDOG_ON, + Secure.WIFI_WATCHDOG_POOR_NETWORK_TEST_ENABLED, ((CheckBoxPreference) preference).isChecked() ? 1 : 0); } else { return super.onPreferenceTreeClick(screen, preference); diff --git a/src/com/android/settings/wifi/WifiSettings.java b/src/com/android/settings/wifi/WifiSettings.java index 22ba3bd7c47..cf53ac56c73 100644 --- a/src/com/android/settings/wifi/WifiSettings.java +++ b/src/com/android/settings/wifi/WifiSettings.java @@ -565,9 +565,10 @@ public class WifiSettings extends SettingsPreferenceFragment //network state change events so the apps dont have to worry about //ignoring supplicant state change when network is connected //to get more fine grained information. - if (!mConnected.get()) { - updateConnectionState(WifiInfo.getDetailedStateOf((SupplicantState) - intent.getParcelableExtra(WifiManager.EXTRA_NEW_STATE))); + SupplicantState state = (SupplicantState) intent.getParcelableExtra( + WifiManager.EXTRA_NEW_STATE); + if (!mConnected.get() && SupplicantState.isHandshakeState(state)) { + updateConnectionState(WifiInfo.getDetailedStateOf(state)); } if (mInXlSetupWizard) {