diff options
author | chocobo@chromium.org <chocobo@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-10-19 23:48:02 +0000 |
---|---|---|
committer | chocobo@chromium.org <chocobo@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-10-19 23:48:02 +0000 |
commit | 706e8fa0b6f0392c2fe206cb605f6b738a64cc6b (patch) | |
tree | e5587ac66e6a890e39c4a9d865638c50352424e8 /chrome/browser/chromeos/cros/network_library.cc | |
parent | cdc491e034aa38aaace2fea31a4f412709c4d21d (diff) | |
download | chromium_src-706e8fa0b6f0392c2fe206cb605f6b738a64cc6b.zip chromium_src-706e8fa0b6f0392c2fe206cb605f6b738a64cc6b.tar.gz chromium_src-706e8fa0b6f0392c2fe206cb605f6b738a64cc6b.tar.bz2 |
Update icons to show lowdata and very lowdata for 3G data.
BUG=chromium-os:5608
TEST=manual
Review URL: http://codereview.chromium.org/3748005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@63135 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/chromeos/cros/network_library.cc')
-rw-r--r-- | chrome/browser/chromeos/cros/network_library.cc | 42 |
1 files changed, 34 insertions, 8 deletions
diff --git a/chrome/browser/chromeos/cros/network_library.cc b/chrome/browser/chromeos/cros/network_library.cc index a5a53df..5e43c89 100644 --- a/chrome/browser/chromeos/cros/network_library.cc +++ b/chrome/browser/chromeos/cros/network_library.cc @@ -264,6 +264,35 @@ 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_) { @@ -996,7 +1025,9 @@ class NetworkLibraryImpl : public NetworkLibrary { test_plan.plan_type = CELLULAR_DATA_PLAN_METERED_PAID; test_plan.update_time = base::Time::Now().ToInternalValue() / base::Time::kMicrosecondsPerSecond; - cellular_data_plans_.push_back(test_plan); + chromeos::CellularDataPlanList test_plans; + test_plans.push_back(test_plan); + cellular_.SetDataPlans(test_plans); } void UpdateSystemInfo() { @@ -1055,9 +1086,7 @@ class NetworkLibraryImpl : public NetworkLibrary { } void NotifyCellularDataPlanChanged() { - FOR_EACH_OBSERVER(Observer, observers_, - CellularDataPlanChanged(cellular_.service_path(), - cellular_data_plans_)); + FOR_EACH_OBSERVER(Observer, observers_, CellularDataPlanChanged(this)); } void UpdateNetworkStatus() { @@ -1113,7 +1142,7 @@ class NetworkLibraryImpl : public NetworkLibrary { } void UpdateCellularDataPlan(const CellularDataPlanList& data_plans) { - cellular_data_plans_ = data_plans; + cellular_.SetDataPlans(data_plans); NotifyCellularDataPlanChanged(); } @@ -1143,9 +1172,6 @@ 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_; |