summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornkostylev@chromium.org <nkostylev@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-05-11 21:49:42 +0000
committernkostylev@chromium.org <nkostylev@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-05-11 21:49:42 +0000
commitaa9a98a2a81bef4f88da964a7160031b8ff67a0e (patch)
tree625a0fed99756001c6a3848f0cb05b0b96a484a8
parent2b813edee02c52948eb538f0a73a011060710e68 (diff)
downloadchromium_src-aa9a98a2a81bef4f88da964a7160031b8ff67a0e.zip
chromium_src-aa9a98a2a81bef4f88da964a7160031b8ff67a0e.tar.gz
chromium_src-aa9a98a2a81bef4f88da964a7160031b8ff67a0e.tar.bz2
Merge 85033 - [cros] Show data plan info only when cellular network supports that.
BUG=chrome-os-partner:3556 TEST=Manual. No messages like "No data plan" should be shown for GSM networks like AT&T. Review URL: http://codereview.chromium.org/7003027 TBR=nkostylev@chromium.org Review URL: http://codereview.chromium.org/6969020 git-svn-id: svn://svn.chromium.org/chrome/branches/742/src@85050 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--chrome/browser/chromeos/cros/network_library.cc5
-rw-r--r--chrome/browser/chromeos/cros/network_library.h1
-rw-r--r--chrome/browser/chromeos/network_message_observer.cc8
-rw-r--r--chrome/browser/chromeos/status/network_menu.cc4
-rw-r--r--chrome/browser/ui/webui/options/chromeos/internet_options_handler.cc2
5 files changed, 13 insertions, 7 deletions
diff --git a/chrome/browser/chromeos/cros/network_library.cc b/chrome/browser/chromeos/cros/network_library.cc
index e3385e02..76ad2c8 100644
--- a/chrome/browser/chromeos/cros/network_library.cc
+++ b/chrome/browser/chromeos/cros/network_library.cc
@@ -1633,6 +1633,11 @@ void CellularNetwork::SetApn(const Apn& apn) {
}
}
+bool CellularNetwork::SupportsDataPlan() const {
+ // TODO(nkostylev): Are there cases when only one of this is defined?
+ return !usage_url().empty() || !payment_url().empty();
+}
+
std::string CellularNetwork::GetNetworkTechnologyString() const {
// No need to localize these cellular technology abbreviations.
switch (network_technology_) {
diff --git a/chrome/browser/chromeos/cros/network_library.h b/chrome/browser/chromeos/cros/network_library.h
index b02f36c..7898624 100644
--- a/chrome/browser/chromeos/cros/network_library.h
+++ b/chrome/browser/chromeos/cros/network_library.h
@@ -587,6 +587,7 @@ class CellularNetwork : public WirelessNetwork {
const Apn& apn() const { return apn_; }
const Apn& last_good_apn() const { return last_good_apn_; }
void SetApn(const Apn& apn);
+ bool SupportsDataPlan() const;
// Misc.
bool is_gsm() const {
diff --git a/chrome/browser/chromeos/network_message_observer.cc b/chrome/browser/chromeos/network_message_observer.cc
index 77ab706..fba2c7f 100644
--- a/chrome/browser/chromeos/network_message_observer.cc
+++ b/chrome/browser/chromeos/network_message_observer.cc
@@ -241,16 +241,14 @@ void NetworkMessageObserver::OnNetworkManagerChanged(NetworkLibrary* cros) {
}
void NetworkMessageObserver::OnCellularDataPlanChanged(NetworkLibrary* cros) {
- if (!ShouldShowMobilePlanNotifications()) {
+ if (!ShouldShowMobilePlanNotifications())
return;
- }
-
const CellularNetwork* cellular = cros->cellular_network();
- if (!cellular)
+ if (!cellular || !cellular->SupportsDataPlan())
return;
+
const CellularDataPlanVector* plans =
cros->GetDataPlans(cellular->service_path());
-
// If no plans available, check to see if we need a new plan.
if (!plans || plans->empty()) {
// If previously, we had low data, we know that a plan was near expiring.
diff --git a/chrome/browser/chromeos/status/network_menu.cc b/chrome/browser/chromeos/status/network_menu.cc
index f26fd74..1bf7e69 100644
--- a/chrome/browser/chromeos/status/network_menu.cc
+++ b/chrome/browser/chromeos/status/network_menu.cc
@@ -478,6 +478,8 @@ void MainMenuModel::InitMenuItems(bool is_browser_mode,
bool isActive = active_cellular &&
cell_networks[i]->service_path() == active_cellular->service_path() &&
(cell_networks[i]->connecting() || cell_networks[i]->connected());
+ bool supports_data_plan =
+ active_cellular && active_cellular->SupportsDataPlan();
if (isActive)
flag |= FLAG_ASSOCIATED;
menu_items_.push_back(
@@ -485,7 +487,7 @@ void MainMenuModel::InitMenuItems(bool is_browser_mode,
NetworkMenu::IconForDisplay(icon, badge, roaming_badge,
NULL),
cell_networks[i]->service_path(), flag));
- if (isActive) {
+ if (isActive && supports_data_plan) {
label.clear();
if (active_cellular->needs_new_plan()) {
label = l10n_util::GetStringUTF16(IDS_OPTIONS_SETTINGS_NO_PLAN_LABEL);
diff --git a/chrome/browser/ui/webui/options/chromeos/internet_options_handler.cc b/chrome/browser/ui/webui/options/chromeos/internet_options_handler.cc
index c27ab11..7eab6a0 100644
--- a/chrome/browser/ui/webui/options/chromeos/internet_options_handler.cc
+++ b/chrome/browser/ui/webui/options/chromeos/internet_options_handler.cc
@@ -1122,7 +1122,7 @@ ListValue* InternetOptionsHandler::GetWirelessList() {
chromeos::TYPE_CELLULAR,
false,
(*it)->activation_state(),
- (*it)->restricted_pool()));
+ (*it)->SupportsDataPlan() && (*it)->restricted_pool()));
}
const chromeos::NetworkDevice* cellular_device = cros->FindCellularDevice();