summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorchocobo@chromium.org <chocobo@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-06-18 22:10:29 +0000
committerchocobo@chromium.org <chocobo@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-06-18 22:10:29 +0000
commit90c23e723735b7641c79d3bb3c6fa4b108351c61 (patch)
tree1ab94eea4a959a1d27e06bf621af8679a3322920
parentb0ef7a630a6c5a1e769678e5d4c339a8217a6795 (diff)
downloadchromium_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.cc36
-rw-r--r--chrome/browser/chromeos/cros/network_library.h3
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);