diff options
| author | nkostylev@chromium.org <nkostylev@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-05-11 21:49:42 +0000 |
|---|---|---|
| committer | nkostylev@chromium.org <nkostylev@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-05-11 21:49:42 +0000 |
| commit | aa9a98a2a81bef4f88da964a7160031b8ff67a0e (patch) | |
| tree | 625a0fed99756001c6a3848f0cb05b0b96a484a8 | |
| parent | 2b813edee02c52948eb538f0a73a011060710e68 (diff) | |
| download | chromium_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
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(); |
