| Index: chrome/browser/chromeos/status/network_menu.cc
|
| ===================================================================
|
| --- chrome/browser/chromeos/status/network_menu.cc (revision 65103)
|
| +++ chrome/browser/chromeos/status/network_menu.cc (working copy)
|
| @@ -4,6 +4,8 @@
|
|
|
| #include "chrome/browser/chromeos/status/network_menu.h"
|
|
|
| +#include <algorithm>
|
| +
|
| #include "app/l10n_util.h"
|
| #include "app/resource_bundle.h"
|
| #include "base/command_line.h"
|
| @@ -390,6 +392,47 @@
|
| }
|
|
|
| // static
|
| +// TODO(ers) update for GSM when we have the necessary images
|
| +SkBitmap NetworkMenu::BadgeForNetworkTechnology(
|
| + const CellularNetwork* cellular) {
|
| +
|
| + int id = -1;
|
| + if (cellular->network_technology() == NETWORK_TECHNOLOGY_EVDO) {
|
| + switch (cellular->data_left()) {
|
| + case CellularNetwork::DATA_NONE:
|
| + case CellularNetwork::DATA_VERY_LOW:
|
| + id = IDR_STATUSBAR_NETWORK_3G_ERROR;
|
| + break;
|
| + case CellularNetwork::DATA_LOW:
|
| + id = IDR_STATUSBAR_NETWORK_3G_WARN;
|
| + break;
|
| + case CellularNetwork::DATA_NORMAL:
|
| + id = IDR_STATUSBAR_NETWORK_3G;
|
| + break;
|
| + }
|
| + } else if (cellular->network_technology() == NETWORK_TECHNOLOGY_1XRTT) {
|
| + switch (cellular->data_left()) {
|
| + case CellularNetwork::DATA_NONE:
|
| + case CellularNetwork::DATA_VERY_LOW:
|
| + id = IDR_STATUSBAR_NETWORK_1X_ERROR;
|
| + break;
|
| + case CellularNetwork::DATA_LOW:
|
| + id = IDR_STATUSBAR_NETWORK_1X_WARN;
|
| + break;
|
| + case CellularNetwork::DATA_NORMAL:
|
| + id = IDR_STATUSBAR_NETWORK_1X;
|
| + break;
|
| + }
|
| + } else {
|
| + id = -1;
|
| + }
|
| + if (id == -1)
|
| + return SkBitmap();
|
| + else
|
| + return *ResourceBundle::GetSharedInstance().GetBitmapNamed(id);
|
| +}
|
| +
|
| +// static
|
| SkBitmap NetworkMenu::IconForDisplay(SkBitmap icon, SkBitmap badge) {
|
| // Draw badge at (14,14).
|
| static const int kBadgeX = 14;
|
| @@ -530,9 +573,7 @@
|
| }
|
| SkBitmap icon = IconForNetworkStrength(cell_networks[i]->strength(),
|
| true);
|
| - // TODO(chocobo): Check cellular network 3g/edge.
|
| - SkBitmap badge = *rb.GetBitmapNamed(IDR_STATUSBAR_NETWORK_3G);
|
| - // SkBitmap badge = *rb.GetBitmapNamed(IDR_STATUSBAR_NETWORK_EDGE);
|
| + SkBitmap badge = BadgeForNetworkTechnology(cell_networks[i]);
|
| int flag = FLAG_CELLULAR;
|
| if (active_cellular &&
|
| cell_networks[i]->service_path() ==
|
| @@ -642,7 +683,7 @@
|
| view->SetLoginTextfieldFocus();
|
| }
|
|
|
| -void NetworkMenu::ShowWifi(const WifiNetwork* wifi, bool focus_login) const{
|
| +void NetworkMenu::ShowWifi(const WifiNetwork* wifi, bool focus_login) const {
|
| DCHECK(wifi);
|
| if (use_settings_ui_ &&
|
| (MenuUI::IsEnabled() || wifi->connected() || wifi->connecting())) {
|
| @@ -667,7 +708,7 @@
|
| void NetworkMenu::ActivateCellular(const CellularNetwork* cellular) const {
|
| DCHECK(cellular);
|
| Browser* browser = BrowserList::GetLastActive();
|
| - // TODO?(stevenjb) : specify which service to activate.
|
| + // TODO(stevenjb) : specify which service to activate.
|
| browser->ShowSingletonTab(GURL(chrome::kChromeUIMobileSetupURL));
|
| }
|
|
|
|
|