diff options
author | eroman@chromium.org <eroman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-10-20 00:05:54 +0000 |
---|---|---|
committer | eroman@chromium.org <eroman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-10-20 00:05:54 +0000 |
commit | 051b74fdf31cb369f0f16811bc58d425a9c3dd04 (patch) | |
tree | d43dde42112978714b94d1bd668b79cb2758db4d | |
parent | 2a9d601b66de546afaaa4f5aedaf2c26bfb21020 (diff) | |
download | chromium_src-051b74fdf31cb369f0f16811bc58d425a9c3dd04.zip chromium_src-051b74fdf31cb369f0f16811bc58d425a9c3dd04.tar.gz chromium_src-051b74fdf31cb369f0f16811bc58d425a9c3dd04.tar.bz2 |
Revert 63135 - Update icons to show lowdata and very lowdata for 3G data.
Seems to be repsonsible for a compile failure.
BUG=chromium-os:5608
TEST=manual
Review URL: http://codereview.chromium.org/3748005
TBR=chocobo@chromium.org
Review URL: http://codereview.chromium.org/3923002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@63145 0039d316-1c4b-4281-b951-d872f2087c98
32 files changed, 100 insertions, 218 deletions
diff --git a/chrome/app/theme/statusbar_network_3g.png b/chrome/app/theme/statusbar_network_3g.png Binary files differindex b276ad2..556136f 100644 --- a/chrome/app/theme/statusbar_network_3g.png +++ b/chrome/app/theme/statusbar_network_3g.png diff --git a/chrome/app/theme/statusbar_network_3g_lowdata.png b/chrome/app/theme/statusbar_network_3g_lowdata.png Binary files differdeleted file mode 100644 index 556136f..0000000 --- a/chrome/app/theme/statusbar_network_3g_lowdata.png +++ /dev/null diff --git a/chrome/app/theme/statusbar_network_3g_vlowdata.png b/chrome/app/theme/statusbar_network_3g_vlowdata.png Binary files differdeleted file mode 100644 index bcf46aa..0000000 --- a/chrome/app/theme/statusbar_network_3g_vlowdata.png +++ /dev/null diff --git a/chrome/app/theme/statusbar_network_bars1_lowdata.png b/chrome/app/theme/statusbar_network_bars1_lowdata.png Binary files differdeleted file mode 100644 index 69b6181..0000000 --- a/chrome/app/theme/statusbar_network_bars1_lowdata.png +++ /dev/null diff --git a/chrome/app/theme/statusbar_network_bars1_vlowdata.png b/chrome/app/theme/statusbar_network_bars1_vlowdata.png Binary files differdeleted file mode 100644 index 5932ffd..0000000 --- a/chrome/app/theme/statusbar_network_bars1_vlowdata.png +++ /dev/null diff --git a/chrome/app/theme/statusbar_network_bars2_lowdata.png b/chrome/app/theme/statusbar_network_bars2_lowdata.png Binary files differdeleted file mode 100644 index a58fc13..0000000 --- a/chrome/app/theme/statusbar_network_bars2_lowdata.png +++ /dev/null diff --git a/chrome/app/theme/statusbar_network_bars2_vlowdata.png b/chrome/app/theme/statusbar_network_bars2_vlowdata.png Binary files differdeleted file mode 100644 index 6817f3d..0000000 --- a/chrome/app/theme/statusbar_network_bars2_vlowdata.png +++ /dev/null diff --git a/chrome/app/theme/statusbar_network_bars3_lowdata.png b/chrome/app/theme/statusbar_network_bars3_lowdata.png Binary files differdeleted file mode 100644 index e36b8c6..0000000 --- a/chrome/app/theme/statusbar_network_bars3_lowdata.png +++ /dev/null diff --git a/chrome/app/theme/statusbar_network_bars3_vlowdata.png b/chrome/app/theme/statusbar_network_bars3_vlowdata.png Binary files differdeleted file mode 100644 index 4e1a9038..0000000 --- a/chrome/app/theme/statusbar_network_bars3_vlowdata.png +++ /dev/null diff --git a/chrome/app/theme/statusbar_network_bars4_lowdata.png b/chrome/app/theme/statusbar_network_bars4_lowdata.png Binary files differdeleted file mode 100644 index 9e5bc94..0000000 --- a/chrome/app/theme/statusbar_network_bars4_lowdata.png +++ /dev/null diff --git a/chrome/app/theme/statusbar_network_bars4_vlowdata.png b/chrome/app/theme/statusbar_network_bars4_vlowdata.png Binary files differdeleted file mode 100644 index 1ac34f6..0000000 --- a/chrome/app/theme/statusbar_network_bars4_vlowdata.png +++ /dev/null diff --git a/chrome/app/theme/statusbar_network_bars5_lowdata.png b/chrome/app/theme/statusbar_network_bars5_lowdata.png Binary files differdeleted file mode 100644 index a00a902..0000000 --- a/chrome/app/theme/statusbar_network_bars5_lowdata.png +++ /dev/null diff --git a/chrome/app/theme/statusbar_network_bars5_vlowdata.png b/chrome/app/theme/statusbar_network_bars5_vlowdata.png Binary files differdeleted file mode 100644 index 67a03fa..0000000 --- a/chrome/app/theme/statusbar_network_bars5_vlowdata.png +++ /dev/null diff --git a/chrome/app/theme/statusbar_network_bars6_lowdata.png b/chrome/app/theme/statusbar_network_bars6_lowdata.png Binary files differdeleted file mode 100644 index dd002c8..0000000 --- a/chrome/app/theme/statusbar_network_bars6_lowdata.png +++ /dev/null diff --git a/chrome/app/theme/statusbar_network_bars6_vlowdata.png b/chrome/app/theme/statusbar_network_bars6_vlowdata.png Binary files differdeleted file mode 100644 index 629ab40..0000000 --- a/chrome/app/theme/statusbar_network_bars6_vlowdata.png +++ /dev/null diff --git a/chrome/app/theme/statusbar_network_bars7_lowdata.png b/chrome/app/theme/statusbar_network_bars7_lowdata.png Binary files differdeleted file mode 100644 index 5ff211d..0000000 --- a/chrome/app/theme/statusbar_network_bars7_lowdata.png +++ /dev/null diff --git a/chrome/app/theme/statusbar_network_bars7_vlowdata.png b/chrome/app/theme/statusbar_network_bars7_vlowdata.png Binary files differdeleted file mode 100644 index 40839fc..0000000 --- a/chrome/app/theme/statusbar_network_bars7_vlowdata.png +++ /dev/null diff --git a/chrome/app/theme/statusbar_network_bars8_lowdata.png b/chrome/app/theme/statusbar_network_bars8_lowdata.png Binary files differdeleted file mode 100644 index 21320fa..0000000 --- a/chrome/app/theme/statusbar_network_bars8_lowdata.png +++ /dev/null diff --git a/chrome/app/theme/statusbar_network_bars8_vlowdata.png b/chrome/app/theme/statusbar_network_bars8_vlowdata.png Binary files differdeleted file mode 100644 index dff8aeb..0000000 --- a/chrome/app/theme/statusbar_network_bars8_vlowdata.png +++ /dev/null diff --git a/chrome/app/theme/statusbar_network_bars9_lowdata.png b/chrome/app/theme/statusbar_network_bars9_lowdata.png Binary files differdeleted file mode 100644 index 50b6489..0000000 --- a/chrome/app/theme/statusbar_network_bars9_lowdata.png +++ /dev/null diff --git a/chrome/app/theme/statusbar_network_bars9_vlowdata.png b/chrome/app/theme/statusbar_network_bars9_vlowdata.png Binary files differdeleted file mode 100644 index 1678f03..0000000 --- a/chrome/app/theme/statusbar_network_bars9_vlowdata.png +++ /dev/null diff --git a/chrome/app/theme/theme_resources.grd b/chrome/app/theme/theme_resources.grd index ec967bc..e7d6007 100644 --- a/chrome/app/theme/theme_resources.grd +++ b/chrome/app/theme/theme_resources.grd @@ -526,45 +526,25 @@ <include name="IDR_STATUSBAR_FEEDBACK_PRESSED" file="statusbar_feedback_pressed.png" type="BINDATA" /> <include name="IDR_STATUSBAR_MENU" file="statusbar_menu.png" type="BINDATA" /> <include name="IDR_STATUSBAR_NETWORK_3G" file="statusbar_network_3g.png" type="BINDATA" /> - <include name="IDR_STATUSBAR_NETWORK_3G_LOWDATA" file="statusbar_network_3g_lowdata.png" type="BINDATA" /> - <include name="IDR_STATUSBAR_NETWORK_3G_VLOWDATA" file="statusbar_network_3g_vlowdata.png" type="BINDATA" /> <include name="IDR_STATUSBAR_NETWORK_BARS0" file="statusbar_network_bars0.png" type="BINDATA" /> <include name="IDR_STATUSBAR_NETWORK_BARS1" file="statusbar_network_bars1.png" type="BINDATA" /> <include name="IDR_STATUSBAR_NETWORK_BARS1_BLACK" file="statusbar_network_bars1b.png" type="BINDATA" /> - <include name="IDR_STATUSBAR_NETWORK_BARS1_LOWDATA" file="statusbar_network_bars1_lowdata.png" type="BINDATA" /> - <include name="IDR_STATUSBAR_NETWORK_BARS1_VLOWDATA" file="statusbar_network_bars1_vlowdata.png" type="BINDATA" /> <include name="IDR_STATUSBAR_NETWORK_BARS2" file="statusbar_network_bars2.png" type="BINDATA" /> <include name="IDR_STATUSBAR_NETWORK_BARS2_BLACK" file="statusbar_network_bars2b.png" type="BINDATA" /> - <include name="IDR_STATUSBAR_NETWORK_BARS2_LOWDATA" file="statusbar_network_bars2_lowdata.png" type="BINDATA" /> - <include name="IDR_STATUSBAR_NETWORK_BARS2_VLOWDATA" file="statusbar_network_bars2_vlowdata.png" type="BINDATA" /> <include name="IDR_STATUSBAR_NETWORK_BARS3" file="statusbar_network_bars3.png" type="BINDATA" /> <include name="IDR_STATUSBAR_NETWORK_BARS3_BLACK" file="statusbar_network_bars3b.png" type="BINDATA" /> - <include name="IDR_STATUSBAR_NETWORK_BARS3_LOWDATA" file="statusbar_network_bars3_lowdata.png" type="BINDATA" /> - <include name="IDR_STATUSBAR_NETWORK_BARS3_VLOWDATA" file="statusbar_network_bars3_vlowdata.png" type="BINDATA" /> <include name="IDR_STATUSBAR_NETWORK_BARS4" file="statusbar_network_bars4.png" type="BINDATA" /> <include name="IDR_STATUSBAR_NETWORK_BARS4_BLACK" file="statusbar_network_bars4b.png" type="BINDATA" /> - <include name="IDR_STATUSBAR_NETWORK_BARS4_LOWDATA" file="statusbar_network_bars4_lowdata.png" type="BINDATA" /> - <include name="IDR_STATUSBAR_NETWORK_BARS4_VLOWDATA" file="statusbar_network_bars4_vlowdata.png" type="BINDATA" /> <include name="IDR_STATUSBAR_NETWORK_BARS5" file="statusbar_network_bars5.png" type="BINDATA" /> <include name="IDR_STATUSBAR_NETWORK_BARS5_BLACK" file="statusbar_network_bars5b.png" type="BINDATA" /> - <include name="IDR_STATUSBAR_NETWORK_BARS5_LOWDATA" file="statusbar_network_bars5_lowdata.png" type="BINDATA" /> - <include name="IDR_STATUSBAR_NETWORK_BARS5_VLOWDATA" file="statusbar_network_bars5_vlowdata.png" type="BINDATA" /> <include name="IDR_STATUSBAR_NETWORK_BARS6" file="statusbar_network_bars6.png" type="BINDATA" /> <include name="IDR_STATUSBAR_NETWORK_BARS6_BLACK" file="statusbar_network_bars6b.png" type="BINDATA" /> - <include name="IDR_STATUSBAR_NETWORK_BARS6_LOWDATA" file="statusbar_network_bars6_lowdata.png" type="BINDATA" /> - <include name="IDR_STATUSBAR_NETWORK_BARS6_VLOWDATA" file="statusbar_network_bars6_vlowdata.png" type="BINDATA" /> <include name="IDR_STATUSBAR_NETWORK_BARS7" file="statusbar_network_bars7.png" type="BINDATA" /> <include name="IDR_STATUSBAR_NETWORK_BARS7_BLACK" file="statusbar_network_bars7b.png" type="BINDATA" /> - <include name="IDR_STATUSBAR_NETWORK_BARS7_LOWDATA" file="statusbar_network_bars7_lowdata.png" type="BINDATA" /> - <include name="IDR_STATUSBAR_NETWORK_BARS7_VLOWDATA" file="statusbar_network_bars7_vlowdata.png" type="BINDATA" /> <include name="IDR_STATUSBAR_NETWORK_BARS8" file="statusbar_network_bars8.png" type="BINDATA" /> <include name="IDR_STATUSBAR_NETWORK_BARS8_BLACK" file="statusbar_network_bars8b.png" type="BINDATA" /> - <include name="IDR_STATUSBAR_NETWORK_BARS8_LOWDATA" file="statusbar_network_bars8_lowdata.png" type="BINDATA" /> - <include name="IDR_STATUSBAR_NETWORK_BARS8_VLOWDATA" file="statusbar_network_bars8_vlowdata.png" type="BINDATA" /> <include name="IDR_STATUSBAR_NETWORK_BARS9" file="statusbar_network_bars9.png" type="BINDATA" /> <include name="IDR_STATUSBAR_NETWORK_BARS9_BLACK" file="statusbar_network_bars9b.png" type="BINDATA" /> - <include name="IDR_STATUSBAR_NETWORK_BARS9_LOWDATA" file="statusbar_network_bars9_lowdata.png" type="BINDATA" /> - <include name="IDR_STATUSBAR_NETWORK_BARS9_VLOWDATA" file="statusbar_network_bars9_vlowdata.png" type="BINDATA" /> <include name="IDR_STATUSBAR_NETWORK_BARS_PRESSED" file="statusbar_network_bars_pressed.png" type="BINDATA" /> <include name="IDR_STATUSBAR_NETWORK_DISCONNECTED" file="statusbar_network_disconnected.png" type="BINDATA" /> <include name="IDR_STATUSBAR_NETWORK_EDGE" file="statusbar_network_edge.png" type="BINDATA" /> diff --git a/chrome/browser/chromeos/cros/network_library.cc b/chrome/browser/chromeos/cros/network_library.cc index 5e43c89..a5a53df 100644 --- a/chrome/browser/chromeos/cros/network_library.cc +++ b/chrome/browser/chromeos/cros/network_library.cc @@ -264,35 +264,6 @@ bool CellularNetwork::is_gsm() const { network_technology_ != NETWORK_TECHNOLOGY_UNKNOWN; } -CellularNetwork::DataLeft CellularNetwork::data_left() const { - if (data_plans_.empty()) - return DATA_NORMAL; - CellularDataPlan plan = data_plans_[0]; - if (plan.plan_type == CELLULAR_DATA_PLAN_UNLIMITED) { - int64 remaining = plan.plan_end_time - plan.update_time; - if (remaining <= 0) - return DATA_NONE; - else if (remaining <= kCellularDataVeryLowSecs) - return DATA_VERY_LOW; - else if (remaining <= kCellularDataLowSecs) - return DATA_LOW; - else - return DATA_NORMAL; - } else if (plan.plan_type == CELLULAR_DATA_PLAN_METERED_PAID || - plan.plan_type == CELLULAR_DATA_PLAN_METERED_BASE) { - int64 remaining = plan.plan_data_bytes - plan.data_bytes_used; - if (remaining <= 0) - return DATA_NONE; - else if (remaining <= kCellularDataVeryLowBytes) - return DATA_VERY_LOW; - else if (remaining <= kCellularDataLowBytes) - return DATA_LOW; - else - return DATA_NORMAL; - } - return DATA_NORMAL; -} - std::string CellularNetwork::GetNetworkTechnologyString() const { // No need to localize these cellular technology abbreviations. switch (network_technology_) { @@ -1025,9 +996,7 @@ class NetworkLibraryImpl : public NetworkLibrary { test_plan.plan_type = CELLULAR_DATA_PLAN_METERED_PAID; test_plan.update_time = base::Time::Now().ToInternalValue() / base::Time::kMicrosecondsPerSecond; - chromeos::CellularDataPlanList test_plans; - test_plans.push_back(test_plan); - cellular_.SetDataPlans(test_plans); + cellular_data_plans_.push_back(test_plan); } void UpdateSystemInfo() { @@ -1086,7 +1055,9 @@ class NetworkLibraryImpl : public NetworkLibrary { } void NotifyCellularDataPlanChanged() { - FOR_EACH_OBSERVER(Observer, observers_, CellularDataPlanChanged(this)); + FOR_EACH_OBSERVER(Observer, observers_, + CellularDataPlanChanged(cellular_.service_path(), + cellular_data_plans_)); } void UpdateNetworkStatus() { @@ -1142,7 +1113,7 @@ class NetworkLibraryImpl : public NetworkLibrary { } void UpdateCellularDataPlan(const CellularDataPlanList& data_plans) { - cellular_.SetDataPlans(data_plans); + cellular_data_plans_ = data_plans; NotifyCellularDataPlanChanged(); } @@ -1172,6 +1143,9 @@ class NetworkLibraryImpl : public NetworkLibrary { // The current connected (or connecting) cellular network. CellularNetwork cellular_; + // The data plan for the current cellular network. + CellularDataPlanList cellular_data_plans_; + // The remembered cellular networks. CellularNetworkVector remembered_cellular_networks_; diff --git a/chrome/browser/chromeos/cros/network_library.h b/chrome/browser/chromeos/cros/network_library.h index 4a672d5..7f7a7b1 100644 --- a/chrome/browser/chromeos/cros/network_library.h +++ b/chrome/browser/chromeos/cros/network_library.h @@ -17,18 +17,6 @@ namespace chromeos { -// Cellular network is considered low data when less than 60 minues. -static const int kCellularDataLowSecs = 60 * 60; - -// Cellular network is considered low data when less than 30 minues. -static const int kCellularDataVeryLowSecs = 30 * 60; - -// Cellular network is considered low data when less than 100MB. -static const int kCellularDataLowBytes = 100 * 1024 * 1024; - -// Cellular network is considered very low data when less than 50MB. -static const int kCellularDataVeryLowBytes = 50 * 1024 * 1024; - class Network { public: const std::string& service_path() const { return service_path_; } @@ -130,13 +118,6 @@ class WirelessNetwork : public Network { class CellularNetwork : public WirelessNetwork { public: - enum DataLeft { - DATA_NORMAL, - DATA_LOW, - DATA_VERY_LOW, - DATA_NONE - }; - CellularNetwork(); explicit CellularNetwork(const ServiceInfo& service) : WirelessNetwork() { @@ -169,7 +150,6 @@ class CellularNetwork : public WirelessNetwork { const std::string& last_update() const { return last_update_; } const unsigned int prl_version() const { return prl_version_; } bool is_gsm() const; - DataLeft data_left() const; // WirelessNetwork overrides. virtual void Clear(); @@ -179,7 +159,7 @@ class CellularNetwork : public WirelessNetwork { return data_plans_; } - void SetDataPlans(const CellularDataPlanList& data_plans) { + void SetDataPlans(CellularDataPlanList& data_plans) { data_plans_ = data_plans; } // Return a string representation of network technology. @@ -323,7 +303,8 @@ class NetworkLibrary { // Called when the network has changed. (wifi networks, and ethernet) virtual void NetworkChanged(NetworkLibrary* obj) = 0; // Called when the cellular data plan has changed. - virtual void CellularDataPlanChanged(NetworkLibrary* obj) {} + virtual void CellularDataPlanChanged(const std::string& service_path, + const CellularDataPlanList& plans) {} }; virtual ~NetworkLibrary() {} @@ -407,7 +388,8 @@ class NetworkLibrary { // Initiates cellular data plan refresh. Plan data will be passed through // Network::Observer::CellularDataPlanChanged callback. - virtual void RefreshCellularDataPlans(const CellularNetwork& network) = 0; + virtual void RefreshCellularDataPlans( + const CellularNetwork& network) = 0; // Disconnect from the specified wireless (either cellular or wifi) network. virtual void DisconnectFromWirelessNetwork( diff --git a/chrome/browser/chromeos/dom_ui/internet_options_handler.cc b/chrome/browser/chromeos/dom_ui/internet_options_handler.cc index b9e6fdc..c98733b 100644 --- a/chrome/browser/chromeos/dom_ui/internet_options_handler.cc +++ b/chrome/browser/chromeos/dom_ui/internet_options_handler.cc @@ -23,6 +23,7 @@ #include "chrome/browser/browser_window.h" #include "chrome/browser/chromeos/cros/cros_library.h" #include "chrome/browser/chromeos/status/network_menu.h" +#include "chrome/browser/chromeos/network_message_observer.h" #include "chrome/browser/dom_ui/dom_ui_util.h" #include "chrome/browser/tab_contents/tab_contents.h" #include "chrome/browser/tab_contents/tab_contents_view.h" @@ -325,11 +326,10 @@ void InternetOptionsHandler::NetworkChanged(chromeos::NetworkLibrary* cros) { } void InternetOptionsHandler::CellularDataPlanChanged( - chromeos::NetworkLibrary* obj) { + const std::string& service_path, + const chromeos::CellularDataPlanList& plans) { if (!dom_ui_) return; - const chromeos::CellularNetwork cellular = obj->cellular_network(); - const chromeos::CellularDataPlanList& plans = cellular.GetDataPlans(); DictionaryValue connection_plans; ListValue* plan_list = new ListValue(); for (chromeos::CellularDataPlanList::const_iterator iter = plans.begin(); @@ -337,7 +337,7 @@ void InternetOptionsHandler::CellularDataPlanChanged( ++iter) { plan_list->Append(CellularDataPlanToDictionary(*iter)); } - connection_plans.SetString("servicePath", cellular.service_path()); + connection_plans.SetString("servicePath", service_path); connection_plans.Set("plans", plan_list); dom_ui_->CallJavascriptFunction( L"options.InternetOptions.updateCellularPlans", connection_plans); @@ -416,7 +416,7 @@ string16 InternetOptionsHandler::GetPlanWarning( if (time_left <= 0) { return l10n_util::GetStringFUTF16( IDS_NETWORK_MINUTES_REMAINING_MESSAGE, ASCIIToUTF16("0")); - } else if (time_left <= chromeos::kCellularDataVeryLowSecs) { + } else if (time_left <= chromeos::kDataNearingExpirationSecs) { return l10n_util::GetStringFUTF16( IDS_NETWORK_MINUTES_UNTIL_EXPIRATION_MESSAGE, UTF8ToUTF16(base::Int64ToString(time_left/60))); @@ -428,10 +428,10 @@ string16 InternetOptionsHandler::GetPlanWarning( if (bytes_remaining <= 0) { return l10n_util::GetStringFUTF16( IDS_NETWORK_DATA_REMAINING_MESSAGE, ASCIIToUTF16("0")); - } else if (bytes_remaining <= chromeos::kCellularDataVeryLowBytes) { + } else if (bytes_remaining <= chromeos::kDataLowDataBytes) { return l10n_util::GetStringFUTF16( IDS_NETWORK_DATA_REMAINING_MESSAGE, - UTF8ToUTF16(base::Int64ToString(bytes_remaining/(1024*1024)))); + UTF8ToUTF16(base::Int64ToString(bytes_remaining/1024))); } } return string16(); diff --git a/chrome/browser/chromeos/dom_ui/internet_options_handler.h b/chrome/browser/chromeos/dom_ui/internet_options_handler.h index f960121..658791d 100644 --- a/chrome/browser/chromeos/dom_ui/internet_options_handler.h +++ b/chrome/browser/chromeos/dom_ui/internet_options_handler.h @@ -30,7 +30,8 @@ class InternetOptionsHandler : public OptionsPageUIHandler, // NetworkLibrary::Observer implementation. virtual void NetworkChanged(chromeos::NetworkLibrary* obj); - virtual void CellularDataPlanChanged(chromeos::NetworkLibrary* obj); + virtual void CellularDataPlanChanged(const std::string& service_path, + const chromeos::CellularDataPlanList& plans); private: // Passes data needed to show details overlay for network. diff --git a/chrome/browser/chromeos/network_message_observer.cc b/chrome/browser/chromeos/network_message_observer.cc index 438f433..c4df580 100644 --- a/chrome/browser/chromeos/network_message_observer.cc +++ b/chrome/browser/chromeos/network_message_observer.cc @@ -143,16 +143,15 @@ void NetworkMessageObserver::NetworkChanged(NetworkLibrary* obj) { CreateModalPopup(view); } -void NetworkMessageObserver::CellularDataPlanChanged(NetworkLibrary* obj) { - const CellularNetwork& cellular = obj->cellular_network(); +void NetworkMessageObserver::CellularDataPlanChanged( + const std::string& service_path, const CellularDataPlanList& plans) { // Active plan is the first one in the list. Use empty one if none found. - const CellularDataPlanList& plans = cellular.GetDataPlans(); CellularDataPlan plan = plans.empty() ? CellularDataPlan() : plans[0]; // If connected cellular network changed, or data plan is different, then // it's a new network. Then hide all previous notifications. bool new_plan = false; - if (cellular.service_path() != cellular_service_path_) { - cellular_service_path_ = cellular.service_path(); + if (service_path != cellular_service_path_) { + cellular_service_path_ = service_path; new_plan = true; } else if (plan.plan_name != cellular_data_plan_.plan_name || plan.plan_type != cellular_data_plan_.plan_type) { @@ -179,32 +178,50 @@ void NetworkMessageObserver::CellularDataPlanChanged(NetworkLibrary* obj) { } } - if (plan.plan_type != CELLULAR_DATA_PLAN_UNKNOWN) { - if (cellular.data_left() == CellularNetwork::DATA_NONE) { + if (plan.plan_type == CELLULAR_DATA_PLAN_UNLIMITED) { + // Time based plan. Show nearing expiration and data expiration. + int64 time_left = plan.plan_end_time - plan.update_time; + if (time_left <= 0) { notification_low_data_.Hide(); - int message = plan.plan_type == CELLULAR_DATA_PLAN_UNLIMITED ? - IDS_NETWORK_MINUTES_REMAINING_MESSAGE : - IDS_NETWORK_DATA_REMAINING_MESSAGE; notification_no_data_.Show(l10n_util::GetStringFUTF16( - message, ASCIIToUTF16("0")), + IDS_NETWORK_MINUTES_REMAINING_MESSAGE, ASCIIToUTF16("0")), l10n_util::GetStringUTF16(IDS_NETWORK_PURCHASE_MORE_MESSAGE), NewCallback(this, &NetworkMessageObserver::MobileSetup), false, false); - } else if (cellular.data_left() == CellularNetwork::DATA_VERY_LOW) { + } else if (time_left <= kDataNearingExpirationSecs) { notification_no_data_.Hide(); - int message = plan.plan_type == CELLULAR_DATA_PLAN_UNLIMITED ? - IDS_NETWORK_MINUTES_REMAINING_MESSAGE : - IDS_NETWORK_DATA_REMAINING_MESSAGE; - int64 remaining = plan.plan_type == CELLULAR_DATA_PLAN_UNLIMITED ? - (plan.plan_end_time - plan.update_time) / 60 : - (plan.plan_data_bytes - plan.data_bytes_used) / (1024 * 1024); notification_low_data_.Show(l10n_util::GetStringFUTF16( - message, UTF8ToUTF16(base::Int64ToString(remaining))), + IDS_NETWORK_MINUTES_UNTIL_EXPIRATION_MESSAGE, + UTF8ToUTF16(base::Int64ToString(time_left/60))), l10n_util::GetStringUTF16(IDS_NETWORK_PURCHASE_MORE_MESSAGE), NewCallback(this, &NetworkMessageObserver::MobileSetup), false, false); } else { - // Got data, so hide notifications. + // Got more data, so hide notifications. + notification_low_data_.Hide(); + notification_no_data_.Hide(); + } + } else if (plan.plan_type == CELLULAR_DATA_PLAN_METERED_PAID || + plan.plan_type == CELLULAR_DATA_PLAN_METERED_BASE) { + // Metered plan. Show low data and out of data. + int64 bytes_remaining = plan.plan_data_bytes - plan.data_bytes_used; + if (bytes_remaining <= 0) { + notification_low_data_.Hide(); + notification_no_data_.Show(l10n_util::GetStringFUTF16( + IDS_NETWORK_DATA_REMAINING_MESSAGE, ASCIIToUTF16("0")), + l10n_util::GetStringUTF16(IDS_NETWORK_PURCHASE_MORE_MESSAGE), + NewCallback(this, &NetworkMessageObserver::MobileSetup), + false, false); + } else if (bytes_remaining <= kDataLowDataBytes) { + notification_no_data_.Hide(); + notification_low_data_.Show(l10n_util::GetStringFUTF16( + IDS_NETWORK_DATA_REMAINING_MESSAGE, + UTF8ToUTF16(base::Int64ToString(bytes_remaining/1024))), + l10n_util::GetStringUTF16(IDS_NETWORK_PURCHASE_MORE_MESSAGE), + NewCallback(this, &NetworkMessageObserver::MobileSetup), + false, false); + } else { + // Got more data, so hide notifications. notification_low_data_.Hide(); notification_no_data_.Hide(); } diff --git a/chrome/browser/chromeos/network_message_observer.h b/chrome/browser/chromeos/network_message_observer.h index 8cf603a..c92f6e2 100644 --- a/chrome/browser/chromeos/network_message_observer.h +++ b/chrome/browser/chromeos/network_message_observer.h @@ -20,6 +20,12 @@ class WindowDelegate; namespace chromeos { +// We show nearing expiration notification when less than 30 minutes. +static const int kDataNearingExpirationSecs = 30 * 60; + +// We show low data notification when less than 50MB. +static const int kDataLowDataBytes = 50 * 1024; + // The network message observer displays a system notification for network // messages. @@ -36,7 +42,8 @@ class NetworkMessageObserver : public NetworkLibrary::Observer { // NetworkLibrary::Observer implementation. virtual void NetworkChanged(NetworkLibrary* obj); - virtual void CellularDataPlanChanged(NetworkLibrary* obj); + virtual void CellularDataPlanChanged(const std::string& service_path, + const CellularDataPlanList& plans); bool initialized_; // Wifi networks by service path. diff --git a/chrome/browser/chromeos/status/network_menu.cc b/chrome/browser/chromeos/status/network_menu.cc index ad9caf2..d23e7ff 100644 --- a/chrome/browser/chromeos/status/network_menu.cc +++ b/chrome/browser/chromeos/status/network_menu.cc @@ -45,57 +45,6 @@ namespace chromeos { // static const int NetworkMenu::kNumWifiImages = 9; -// NOTE: Use an array rather than just calculating a resource number to avoid -// creating implicit ordering dependencies on the resource values. -// static -const int NetworkMenu::kBarsImages[kNumWifiImages] = { - IDR_STATUSBAR_NETWORK_BARS1, - IDR_STATUSBAR_NETWORK_BARS2, - IDR_STATUSBAR_NETWORK_BARS3, - IDR_STATUSBAR_NETWORK_BARS4, - IDR_STATUSBAR_NETWORK_BARS5, - IDR_STATUSBAR_NETWORK_BARS6, - IDR_STATUSBAR_NETWORK_BARS7, - IDR_STATUSBAR_NETWORK_BARS8, - IDR_STATUSBAR_NETWORK_BARS9, -}; -// static -const int NetworkMenu::kBarsImagesBlack[kNumWifiImages] = { - IDR_STATUSBAR_NETWORK_BARS1_BLACK, - IDR_STATUSBAR_NETWORK_BARS2_BLACK, - IDR_STATUSBAR_NETWORK_BARS3_BLACK, - IDR_STATUSBAR_NETWORK_BARS4_BLACK, - IDR_STATUSBAR_NETWORK_BARS5_BLACK, - IDR_STATUSBAR_NETWORK_BARS6_BLACK, - IDR_STATUSBAR_NETWORK_BARS7_BLACK, - IDR_STATUSBAR_NETWORK_BARS8_BLACK, - IDR_STATUSBAR_NETWORK_BARS9_BLACK, -}; -// static -const int NetworkMenu::kBarsImagesLowData[kNumWifiImages] = { - IDR_STATUSBAR_NETWORK_BARS1_LOWDATA, - IDR_STATUSBAR_NETWORK_BARS2_LOWDATA, - IDR_STATUSBAR_NETWORK_BARS3_LOWDATA, - IDR_STATUSBAR_NETWORK_BARS4_LOWDATA, - IDR_STATUSBAR_NETWORK_BARS5_LOWDATA, - IDR_STATUSBAR_NETWORK_BARS6_LOWDATA, - IDR_STATUSBAR_NETWORK_BARS7_LOWDATA, - IDR_STATUSBAR_NETWORK_BARS8_LOWDATA, - IDR_STATUSBAR_NETWORK_BARS9_LOWDATA, -}; -// static -const int NetworkMenu::kBarsImagesVLowData[kNumWifiImages] = { - IDR_STATUSBAR_NETWORK_BARS1_VLOWDATA, - IDR_STATUSBAR_NETWORK_BARS2_VLOWDATA, - IDR_STATUSBAR_NETWORK_BARS3_VLOWDATA, - IDR_STATUSBAR_NETWORK_BARS4_VLOWDATA, - IDR_STATUSBAR_NETWORK_BARS5_VLOWDATA, - IDR_STATUSBAR_NETWORK_BARS6_VLOWDATA, - IDR_STATUSBAR_NETWORK_BARS7_VLOWDATA, - IDR_STATUSBAR_NETWORK_BARS8_VLOWDATA, - IDR_STATUSBAR_NETWORK_BARS9_VLOWDATA, -}; - NetworkMenu::NetworkMenu() : min_width_(-1) { network_menu_.reset(NetworkMenuUI::CreateMenu2(this)); @@ -371,32 +320,36 @@ void NetworkMenu::UpdateMenu() { // static SkBitmap NetworkMenu::IconForNetworkStrength(int strength, bool black) { // Compose wifi icon by superimposing various icons. - int index = static_cast<int>(strength / 100.0 * - nextafter(static_cast<float>(kNumWifiImages), 0)); - index = std::max(std::min(index, kNumWifiImages - 1), 0); - const int* images = black ? kBarsImagesBlack : kBarsImages; - return *ResourceBundle::GetSharedInstance().GetBitmapNamed(images[index]); -} + // NOTE: Use an array rather than just calculating a resource number to avoid + // creating implicit ordering dependencies on the resource values. + static const int kBarsImages[kNumWifiImages] = { + IDR_STATUSBAR_NETWORK_BARS1, + IDR_STATUSBAR_NETWORK_BARS2, + IDR_STATUSBAR_NETWORK_BARS3, + IDR_STATUSBAR_NETWORK_BARS4, + IDR_STATUSBAR_NETWORK_BARS5, + IDR_STATUSBAR_NETWORK_BARS6, + IDR_STATUSBAR_NETWORK_BARS7, + IDR_STATUSBAR_NETWORK_BARS8, + IDR_STATUSBAR_NETWORK_BARS9, + }; + static const int kBarsBlackImages[kNumWifiImages] = { + IDR_STATUSBAR_NETWORK_BARS1_BLACK, + IDR_STATUSBAR_NETWORK_BARS2_BLACK, + IDR_STATUSBAR_NETWORK_BARS3_BLACK, + IDR_STATUSBAR_NETWORK_BARS4_BLACK, + IDR_STATUSBAR_NETWORK_BARS5_BLACK, + IDR_STATUSBAR_NETWORK_BARS6_BLACK, + IDR_STATUSBAR_NETWORK_BARS7_BLACK, + IDR_STATUSBAR_NETWORK_BARS8_BLACK, + IDR_STATUSBAR_NETWORK_BARS9_BLACK, + }; -SkBitmap NetworkMenu::IconForNetworkStrength(CellularNetwork cellular) { - // Compose wifi icon by superimposing various icons. - int index = static_cast<int>(cellular.strength() / 100.0 * + int index = static_cast<int>(strength / 100.0 * nextafter(static_cast<float>(kNumWifiImages), 0)); index = std::max(std::min(index, kNumWifiImages - 1), 0); - const int* images; - switch (cellular.data_left()) { - case CellularNetwork::DATA_NONE: - case CellularNetwork::DATA_VERY_LOW: - images = kBarsImagesVLowData; - break; - case CellularNetwork::DATA_LOW: - images = kBarsImagesLowData; - break; - case CellularNetwork::DATA_NORMAL: - images = kBarsImages; - break; - } - return *ResourceBundle::GetSharedInstance().GetBitmapNamed(images[index]); + return *ResourceBundle::GetSharedInstance().GetBitmapNamed( + black ? kBarsBlackImages[index] : kBarsImages[index]); } // static diff --git a/chrome/browser/chromeos/status/network_menu.h b/chrome/browser/chromeos/status/network_menu.h index 3c8d322..8419cfe 100644 --- a/chrome/browser/chromeos/status/network_menu.h +++ b/chrome/browser/chromeos/status/network_menu.h @@ -114,10 +114,6 @@ class NetworkMenu : public views::ViewMenuDelegate, // on a light background or a white icon for display on a dark background. static SkBitmap IconForNetworkStrength(int strength, bool black); - // Returns the Icon for a network strength for CellularNetwork |cellular|. - // This returns different colored bars depending on cellular data left. - static SkBitmap IconForNetworkStrength(CellularNetwork cellular); - // This method will convert the |icon| bitmap to the correct size for display. // If the |badge| icon is not empty, it will draw that on top of the icon. static SkBitmap IconForDisplay(SkBitmap icon, SkBitmap badge); @@ -194,12 +190,6 @@ class NetworkMenu : public views::ViewMenuDelegate, // The number of wifi strength images. static const int kNumWifiImages; - // Bars image resources. - static const int kBarsImages[]; - static const int kBarsImagesBlack[]; - static const int kBarsImagesLowData[]; - static const int kBarsImagesVLowData[]; - // Our menu items. MenuItemVector menu_items_; diff --git a/chrome/browser/chromeos/status/network_menu_button.cc b/chrome/browser/chromeos/status/network_menu_button.cc index 3d43f18..c16383e 100644 --- a/chrome/browser/chromeos/status/network_menu_button.cc +++ b/chrome/browser/chromeos/status/network_menu_button.cc @@ -120,16 +120,11 @@ void NetworkMenuButton::NetworkChanged(NetworkLibrary* cros) { IDS_STATUSBAR_NETWORK_CONNECTED_TOOLTIP, UTF8ToWide(cros->wifi_network().name()))); } else if (cros->cellular_connected()) { - const CellularNetwork& cellular = cros->cellular_network(); - if (cellular.data_left() == CellularNetwork::DATA_NONE) { - // If no data, then we show 0 bars. - SetIcon(*rb.GetBitmapNamed(IDR_STATUSBAR_NETWORK_BARS0)); - } else { - SetIcon(IconForNetworkStrength(cellular)); - } + SetIcon(IconForNetworkStrength( + cros->cellular_network().strength(), false)); SetTooltipText(l10n_util::GetStringF( IDS_STATUSBAR_NETWORK_CONNECTED_TOOLTIP, - UTF8ToWide(cellular.name()))); + UTF8ToWide(cros->cellular_network().name()))); } else { SetIcon(*rb.GetBitmapNamed(IDR_STATUSBAR_NETWORK_BARS0)); SetTooltipText(l10n_util::GetString( @@ -141,20 +136,9 @@ void NetworkMenuButton::NetworkChanged(NetworkLibrary* cros) { SetBadge(*rb.GetBitmapNamed(IDR_STATUSBAR_NETWORK_DISCONNECTED)); } else if (!cros->ethernet_connected() && !cros->wifi_connected() && (cros->cellular_connecting() || cros->cellular_connected())) { - int id; - switch (cros->cellular_network().data_left()) { - case CellularNetwork::DATA_NONE: - case CellularNetwork::DATA_VERY_LOW: - id = IDR_STATUSBAR_NETWORK_3G_VLOWDATA; - break; - case CellularNetwork::DATA_LOW: - id = IDR_STATUSBAR_NETWORK_3G_LOWDATA; - break; - case CellularNetwork::DATA_NORMAL: - id = IDR_STATUSBAR_NETWORK_3G; - break; - } - SetBadge(*rb.GetBitmapNamed(id)); + // TODO(chocobo): Check cellular network 3g/edge. + SetBadge(*rb.GetBitmapNamed(IDR_STATUSBAR_NETWORK_3G)); +// SetBadge(*rb.GetBitmapNamed(IDR_STATUSBAR_NETWORK_EDGE)); } else { SetBadge(SkBitmap()); } @@ -169,11 +153,6 @@ void NetworkMenuButton::NetworkChanged(NetworkLibrary* cros) { UpdateMenu(); } -void NetworkMenuButton::CellularDataPlanChanged(NetworkLibrary* cros) { - // Call NetworkChanged which will update the icon. - NetworkChanged(cros); -} - void NetworkMenuButton::SetBadge(const SkBitmap& badge) { badge_ = badge; } diff --git a/chrome/browser/chromeos/status/network_menu_button.h b/chrome/browser/chromeos/status/network_menu_button.h index 79c5cdb..bb5ff96 100644 --- a/chrome/browser/chromeos/status/network_menu_button.h +++ b/chrome/browser/chromeos/status/network_menu_button.h @@ -56,7 +56,6 @@ class NetworkMenuButton : public StatusAreaButton, // NetworkLibrary::Observer implementation. virtual void NetworkChanged(NetworkLibrary* obj); - virtual void CellularDataPlanChanged(NetworkLibrary* obj); // Sets the badge icon. void SetBadge(const SkBitmap& badge); |