diff options
author | chocobo@chromium.org <chocobo@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-06-18 22:10:29 +0000 |
---|---|---|
committer | chocobo@chromium.org <chocobo@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-06-18 22:10:29 +0000 |
commit | 90c23e723735b7641c79d3bb3c6fa4b108351c61 (patch) | |
tree | 1ab94eea4a959a1d27e06bf621af8679a3322920 | |
parent | b0ef7a630a6c5a1e769678e5d4c339a8217a6795 (diff) | |
download | chromium_src-90c23e723735b7641c79d3bb3c6fa4b108351c61.zip chromium_src-90c23e723735b7641c79d3bb3c6fa4b108351c61.tar.gz chromium_src-90c23e723735b7641c79d3bb3c6fa4b108351c61.tar.bz2 |
Fix preferred network to use both Google-A and Google.
BUG=none
TEST=manual
Review URL: http://codereview.chromium.org/2804014
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@50286 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | chrome/browser/chromeos/cros/network_library.cc | 36 | ||||
-rw-r--r-- | chrome/browser/chromeos/cros/network_library.h | 3 |
2 files changed, 23 insertions, 16 deletions
diff --git a/chrome/browser/chromeos/cros/network_library.cc b/chrome/browser/chromeos/cros/network_library.cc index afdac74..cd4bd45 100644 --- a/chrome/browser/chromeos/cros/network_library.cc +++ b/chrome/browser/chromeos/cros/network_library.cc @@ -268,20 +268,7 @@ bool NetworkLibraryImpl::ConnectToPreferredNetworkIfAvailable() { return false; } - // First look for Google-A then look for Google. - // Only care if set to auto-connect. - WifiNetwork* wifi = GetWifiNetworkByName(kGoogleAWifi); - // If wifi found and set to not auto-connect, then ignore it. - if (wifi && !wifi->auto_connect()) - wifi = NULL; - - if (!wifi) { - wifi = GetWifiNetworkByName(kGoogleWifi); - // If wifi found and set to not auto-connect, then ignore it. - if (wifi && !wifi->auto_connect()) - wifi = NULL; - } - + WifiNetwork* wifi = GetPreferredNetwork(); if (!wifi) { LOG(INFO) << "Google-A/Google wifi not found or set to not auto-connect."; return false; @@ -321,12 +308,12 @@ bool NetworkLibraryImpl::ConnectToPreferredNetworkIfAvailable() { } bool NetworkLibraryImpl::PreferredNetworkConnected() { - WifiNetwork* wifi = GetWifiNetworkByName(kGoogleAWifi); + WifiNetwork* wifi = GetPreferredNetwork(); return wifi && wifi->connected(); } bool NetworkLibraryImpl::PreferredNetworkFailed() { - WifiNetwork* wifi = GetWifiNetworkByName(kGoogleAWifi); + WifiNetwork* wifi = GetPreferredNetwork(); return !wifi || wifi->failed(); } @@ -591,6 +578,23 @@ void NetworkLibraryImpl::UpdateSystemInfo() { } } +WifiNetwork* NetworkLibraryImpl::GetPreferredNetwork() { + // First look for Google-A then look for Google. + // Only care if set to auto-connect. + WifiNetwork* wifi = GetWifiNetworkByName(kGoogleAWifi); + // If wifi found and set to not auto-connect, then ignore it. + if (wifi && !wifi->auto_connect()) + wifi = NULL; + + if (!wifi) { + wifi = GetWifiNetworkByName(kGoogleWifi); + // If wifi found and set to not auto-connect, then ignore it. + if (wifi && !wifi->auto_connect()) + wifi = NULL; + } + return wifi; +} + WifiNetwork* NetworkLibraryImpl::GetWifiNetworkByName(const std::string& name) { for (size_t i = 0; i < wifi_networks_.size(); ++i) { if (wifi_networks_[i].name().compare(name) == 0) { diff --git a/chrome/browser/chromeos/cros/network_library.h b/chrome/browser/chromeos/cros/network_library.h index 7416228..1f00132 100644 --- a/chrome/browser/chromeos/cros/network_library.h +++ b/chrome/browser/chromeos/cros/network_library.h @@ -437,6 +437,9 @@ class NetworkLibraryImpl : public NetworkLibrary, // Force an update of the system info. void UpdateSystemInfo(); + // Returns the preferred wifi network. + WifiNetwork* GetPreferredNetwork(); + // Gets the WifiNetwork with the given name. Returns NULL if not found. WifiNetwork* GetWifiNetworkByName(const std::string& name); |