| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/chromeos/status/network_menu.h" | 5 #include "chrome/browser/chromeos/status/network_menu.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 | 8 |
| 9 #include "ash/shell.h" | 9 #include "ash/shell.h" |
| 10 #include "ash/shell_delegate.h" | 10 #include "ash/shell_delegate.h" |
| 11 #include "ash/system/chromeos/network/network_connect.h" | 11 #include "ash/system/chromeos/network/network_connect.h" |
| 12 #include "ash/system/chromeos/network/network_icon.h" | 12 #include "ash/system/chromeos/network/network_icon.h" |
| 13 #include "base/bind.h" | 13 #include "base/bind.h" |
| 14 #include "base/logging.h" | 14 #include "base/logging.h" |
| 15 #include "base/strings/stringprintf.h" | 15 #include "base/strings/stringprintf.h" |
| 16 #include "base/strings/utf_string_conversions.h" | 16 #include "base/strings/utf_string_conversions.h" |
| 17 #include "chrome/browser/chromeos/choose_mobile_network_dialog.h" | 17 #include "chrome/browser/chromeos/choose_mobile_network_dialog.h" |
| 18 #include "chrome/browser/chromeos/login/user_manager.h" | 18 #include "chrome/browser/chromeos/login/user_manager.h" |
| 19 #include "chrome/browser/chromeos/mobile_config.h" | 19 #include "chrome/browser/chromeos/mobile_config.h" |
| 20 #include "chrome/browser/chromeos/options/network_config_view.h" | 20 #include "chrome/browser/chromeos/options/network_config_view.h" |
| 21 #include "chrome/browser/chromeos/sim_dialog_delegate.h" | 21 #include "chrome/browser/chromeos/sim_dialog_delegate.h" |
| 22 #include "chrome/browser/defaults.h" | 22 #include "chrome/browser/defaults.h" |
| 23 #include "chrome/browser/profiles/profile_manager.h" | 23 #include "chrome/browser/profiles/profile_manager.h" |
| 24 #include "chrome/common/url_constants.h" | 24 #include "chrome/common/url_constants.h" |
| 25 #include "chromeos/network/device_state.h" | 25 #include "chromeos/network/device_state.h" |
| 26 #include "chromeos/network/network_state.h" | 26 #include "chromeos/network/network_state.h" |
| 27 #include "chromeos/network/network_state_handler.h" | 27 #include "chromeos/network/network_state_handler.h" |
| 28 #include "chromeos/network/shill_property_util.h" |
| 28 #include "grit/ash_resources.h" | 29 #include "grit/ash_resources.h" |
| 29 #include "grit/ash_strings.h" | 30 #include "grit/ash_strings.h" |
| 30 #include "grit/generated_resources.h" | 31 #include "grit/generated_resources.h" |
| 31 #include "third_party/cros_system_api/dbus/service_constants.h" | 32 #include "third_party/cros_system_api/dbus/service_constants.h" |
| 32 #include "ui/base/l10n/l10n_util.h" | 33 #include "ui/base/l10n/l10n_util.h" |
| 33 #include "ui/base/models/menu_model.h" | 34 #include "ui/base/models/menu_model.h" |
| 34 #include "ui/base/resource/resource_bundle.h" | 35 #include "ui/base/resource/resource_bundle.h" |
| 35 #include "ui/gfx/image/image_skia.h" | 36 #include "ui/gfx/image/image_skia.h" |
| 36 | 37 |
| 37 namespace chromeos { | 38 namespace chromeos { |
| (...skipping 14 matching lines...) Expand all Loading... |
| 52 found = str.find('&', found + 2); | 53 found = str.find('&', found + 2); |
| 53 } | 54 } |
| 54 return str; | 55 return str; |
| 55 } | 56 } |
| 56 | 57 |
| 57 // Highlight any connected or connecting networks in the UI. | 58 // Highlight any connected or connecting networks in the UI. |
| 58 bool ShouldHighlightNetwork(const NetworkState* network) { | 59 bool ShouldHighlightNetwork(const NetworkState* network) { |
| 59 return network->IsConnectedState() || network->IsConnectingState(); | 60 return network->IsConnectedState() || network->IsConnectingState(); |
| 60 } | 61 } |
| 61 | 62 |
| 62 void ToggleTechnology(const std::string& technology) { | 63 void ToggleTechnology(const NetworkTypePattern& technology) { |
| 63 NetworkStateHandler* handler = NetworkHandler::Get()->network_state_handler(); | 64 NetworkStateHandler* handler = NetworkHandler::Get()->network_state_handler(); |
| 64 bool is_enabled = handler->IsTechnologyEnabled(technology); | 65 bool is_enabled = handler->IsTechnologyEnabled(technology); |
| 65 ash::network_connect::SetTechnologyEnabled(technology, !is_enabled); | 66 ash::network_connect::SetTechnologyEnabled(technology, !is_enabled); |
| 66 } | 67 } |
| 67 | 68 |
| 68 } // namespace | 69 } // namespace |
| 69 | 70 |
| 70 class NetworkMenuModel : public ui::MenuModel { | 71 class NetworkMenuModel : public ui::MenuModel { |
| 71 public: | 72 public: |
| 72 struct MenuItem { | 73 struct MenuItem { |
| (...skipping 225 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 298 | 299 |
| 299 void NetworkMenuModel::ActivatedAt(int index) { | 300 void NetworkMenuModel::ActivatedAt(int index) { |
| 300 // When we are refreshing the menu, ignore menu item activation. | 301 // When we are refreshing the menu, ignore menu item activation. |
| 301 if (owner_->refreshing_menu_) | 302 if (owner_->refreshing_menu_) |
| 302 return; | 303 return; |
| 303 | 304 |
| 304 int flags = menu_items_[index].flags; | 305 int flags = menu_items_[index].flags; |
| 305 if (flags & FLAG_OPTIONS) { | 306 if (flags & FLAG_OPTIONS) { |
| 306 owner_->delegate()->OpenButtonOptions(); | 307 owner_->delegate()->OpenButtonOptions(); |
| 307 } else if (flags & FLAG_TOGGLE_WIFI) { | 308 } else if (flags & FLAG_TOGGLE_WIFI) { |
| 308 ToggleTechnology(flimflam::kTypeWifi); | 309 ToggleTechnology(NetworkTypePattern::WiFi()); |
| 309 } else if (flags & FLAG_TOGGLE_MOBILE) { | 310 } else if (flags & FLAG_TOGGLE_MOBILE) { |
| 310 ToggleTechnology(NetworkStateHandler::kMatchTypeMobile); | 311 ToggleTechnology(NetworkTypePattern::Mobile()); |
| 311 } else if (flags & FLAG_ETHERNET) { | 312 } else if (flags & FLAG_ETHERNET) { |
| 312 owner_->delegate()->OnConnectToNetworkRequested( | 313 owner_->delegate()->OnConnectToNetworkRequested( |
| 313 menu_items_[index].service_path); | 314 menu_items_[index].service_path); |
| 314 } else if (flags & (FLAG_WIFI | FLAG_WIMAX | FLAG_CELLULAR)) { | 315 } else if (flags & (FLAG_WIFI | FLAG_WIMAX | FLAG_CELLULAR)) { |
| 315 ConnectToNetworkAt(index); | 316 ConnectToNetworkAt(index); |
| 316 owner_->delegate()->OnConnectToNetworkRequested( | 317 owner_->delegate()->OnConnectToNetworkRequested( |
| 317 menu_items_[index].service_path); | 318 menu_items_[index].service_path); |
| 318 } else if (flags & FLAG_ADD_WIFI) { | 319 } else if (flags & FLAG_ADD_WIFI) { |
| 319 ShowOther(flimflam::kTypeWifi); | 320 ShowOther(flimflam::kTypeWifi); |
| 320 } else if (flags & FLAG_ADD_CELLULAR) { | 321 } else if (flags & FLAG_ADD_CELLULAR) { |
| (...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 380 void MainMenuModel::InitMenuItems(bool should_open_button_options) { | 381 void MainMenuModel::InitMenuItems(bool should_open_button_options) { |
| 381 menu_items_.clear(); | 382 menu_items_.clear(); |
| 382 | 383 |
| 383 NetworkStateHandler* handler = NetworkHandler::Get()->network_state_handler(); | 384 NetworkStateHandler* handler = NetworkHandler::Get()->network_state_handler(); |
| 384 | 385 |
| 385 // Populate our MenuItems with the current list of networks. | 386 // Populate our MenuItems with the current list of networks. |
| 386 string16 label; | 387 string16 label; |
| 387 | 388 |
| 388 // Ethernet | 389 // Ethernet |
| 389 // Only display an ethernet icon if enabled, and an ethernet network exists. | 390 // Only display an ethernet icon if enabled, and an ethernet network exists. |
| 390 bool ethernet_enabled = handler->IsTechnologyEnabled(flimflam::kTypeEthernet); | 391 bool ethernet_enabled = |
| 392 handler->IsTechnologyEnabled(NetworkTypePattern::Ethernet()); |
| 391 const NetworkState* ethernet_network = | 393 const NetworkState* ethernet_network = |
| 392 handler->FirstNetworkByType(flimflam::kTypeEthernet); | 394 handler->FirstNetworkByType(NetworkTypePattern::Ethernet()); |
| 393 if (ethernet_enabled && ethernet_network) { | 395 if (ethernet_enabled && ethernet_network) { |
| 394 bool ethernet_connecting = ethernet_network->IsConnectingState(); | 396 bool ethernet_connecting = ethernet_network->IsConnectingState(); |
| 395 if (ethernet_connecting) { | 397 if (ethernet_connecting) { |
| 396 label = l10n_util::GetStringFUTF16( | 398 label = l10n_util::GetStringFUTF16( |
| 397 IDS_STATUSBAR_NETWORK_DEVICE_STATUS, | 399 IDS_STATUSBAR_NETWORK_DEVICE_STATUS, |
| 398 l10n_util::GetStringUTF16(IDS_STATUSBAR_NETWORK_DEVICE_ETHERNET), | 400 l10n_util::GetStringUTF16(IDS_STATUSBAR_NETWORK_DEVICE_ETHERNET), |
| 399 l10n_util::GetStringUTF16(IDS_STATUSBAR_NETWORK_DEVICE_CONNECTING)); | 401 l10n_util::GetStringUTF16(IDS_STATUSBAR_NETWORK_DEVICE_CONNECTING)); |
| 400 } else { | 402 } else { |
| 401 label = l10n_util::GetStringUTF16(IDS_STATUSBAR_NETWORK_DEVICE_ETHERNET); | 403 label = l10n_util::GetStringUTF16(IDS_STATUSBAR_NETWORK_DEVICE_ETHERNET); |
| 402 } | 404 } |
| 403 int flag = FLAG_ETHERNET; | 405 int flag = FLAG_ETHERNET; |
| 404 if (ShouldHighlightNetwork(ethernet_network)) | 406 if (ShouldHighlightNetwork(ethernet_network)) |
| 405 flag |= FLAG_ASSOCIATED; | 407 flag |= FLAG_ASSOCIATED; |
| 406 const gfx::ImageSkia icon = ash::network_icon::GetImageForNetwork( | 408 const gfx::ImageSkia icon = ash::network_icon::GetImageForNetwork( |
| 407 ethernet_network, ash::network_icon::ICON_TYPE_LIST); | 409 ethernet_network, ash::network_icon::ICON_TYPE_LIST); |
| 408 menu_items_.push_back(MenuItem(ui::MenuModel::TYPE_COMMAND, | 410 menu_items_.push_back(MenuItem(ui::MenuModel::TYPE_COMMAND, |
| 409 label, icon, std::string(), flag)); | 411 label, icon, std::string(), flag)); |
| 410 } | 412 } |
| 411 | 413 |
| 412 // Get the list of all networks. | 414 // Get the list of all networks. |
| 413 NetworkStateHandler::NetworkStateList network_list; | 415 NetworkStateHandler::NetworkStateList network_list; |
| 414 handler->GetNetworkList(&network_list); | 416 handler->GetNetworkList(&network_list); |
| 415 | 417 |
| 416 // Cellular Networks | 418 // Cellular Networks |
| 417 if (handler->IsTechnologyEnabled(flimflam::kTypeCellular)) { | 419 if (handler->IsTechnologyEnabled(NetworkTypePattern::Cellular())) { |
| 418 // List Cellular networks. | 420 // List Cellular networks. |
| 419 for (NetworkStateHandler::NetworkStateList::const_iterator iter = | 421 for (NetworkStateHandler::NetworkStateList::const_iterator iter = |
| 420 network_list.begin(); iter != network_list.end(); ++iter) { | 422 network_list.begin(); iter != network_list.end(); ++iter) { |
| 421 const NetworkState* network = *iter; | 423 const NetworkState* network = *iter; |
| 422 if (network->type() != flimflam::kTypeCellular) | 424 if (network->type() != flimflam::kTypeCellular) |
| 423 continue; | 425 continue; |
| 424 std::string activation_state = network->activation_state(); | 426 std::string activation_state = network->activation_state(); |
| 425 | 427 |
| 426 // This is only used in the login screen; do not show unactivated | 428 // This is only used in the login screen; do not show unactivated |
| 427 // networks. | 429 // networks. |
| (...skipping 18 matching lines...) Expand all Loading... |
| 446 flag |= FLAG_ASSOCIATED; | 448 flag |= FLAG_ASSOCIATED; |
| 447 const gfx::ImageSkia icon = ash::network_icon::GetImageForNetwork( | 449 const gfx::ImageSkia icon = ash::network_icon::GetImageForNetwork( |
| 448 network, ash::network_icon::ICON_TYPE_LIST); | 450 network, ash::network_icon::ICON_TYPE_LIST); |
| 449 menu_items_.push_back( | 451 menu_items_.push_back( |
| 450 MenuItem(ui::MenuModel::TYPE_COMMAND, | 452 MenuItem(ui::MenuModel::TYPE_COMMAND, |
| 451 label, icon, network->path(), flag)); | 453 label, icon, network->path(), flag)); |
| 452 } | 454 } |
| 453 | 455 |
| 454 // For GSM add cellular network scan. | 456 // For GSM add cellular network scan. |
| 455 const DeviceState* cellular_device = | 457 const DeviceState* cellular_device = |
| 456 handler->GetDeviceStateByType(flimflam::kTypeCellular); | 458 handler->GetDeviceStateByType(NetworkTypePattern::Cellular()); |
| 457 if (cellular_device && cellular_device->support_network_scan()) { | 459 if (cellular_device && cellular_device->support_network_scan()) { |
| 458 const gfx::ImageSkia icon = | 460 const gfx::ImageSkia icon = |
| 459 ash::network_icon::GetImageForDisconnectedNetwork( | 461 ash::network_icon::GetImageForDisconnectedNetwork( |
| 460 ash::network_icon::ICON_TYPE_LIST, flimflam::kTypeCellular); | 462 ash::network_icon::ICON_TYPE_LIST, flimflam::kTypeCellular); |
| 461 menu_items_.push_back(MenuItem( | 463 menu_items_.push_back(MenuItem( |
| 462 ui::MenuModel::TYPE_COMMAND, | 464 ui::MenuModel::TYPE_COMMAND, |
| 463 l10n_util::GetStringUTF16( | 465 l10n_util::GetStringUTF16( |
| 464 IDS_OPTIONS_SETTINGS_OTHER_CELLULAR_NETWORKS), | 466 IDS_OPTIONS_SETTINGS_OTHER_CELLULAR_NETWORKS), |
| 465 icon, std::string(), FLAG_ADD_CELLULAR)); | 467 icon, std::string(), FLAG_ADD_CELLULAR)); |
| 466 } | 468 } |
| 467 } else { | 469 } else { |
| 468 int initializing_message_id = | 470 int initializing_message_id = |
| 469 ash::network_icon::GetCellularUninitializedMsg(); | 471 ash::network_icon::GetCellularUninitializedMsg(); |
| 470 if (initializing_message_id) { | 472 if (initializing_message_id) { |
| 471 // Initializing cellular modem... | 473 // Initializing cellular modem... |
| 472 AddMessageItem(l10n_util::GetStringUTF16(initializing_message_id)); | 474 AddMessageItem(l10n_util::GetStringUTF16(initializing_message_id)); |
| 473 } | 475 } |
| 474 } | 476 } |
| 475 | 477 |
| 476 // Wimax Networks | 478 // Wimax Networks |
| 477 if (handler->IsTechnologyEnabled(flimflam::kTypeWimax)) { | 479 if (handler->IsTechnologyEnabled(NetworkTypePattern::Wimax())) { |
| 478 // List Wimax networks. | 480 // List Wimax networks. |
| 479 for (NetworkStateHandler::NetworkStateList::const_iterator iter = | 481 for (NetworkStateHandler::NetworkStateList::const_iterator iter = |
| 480 network_list.begin(); iter != network_list.end(); ++iter) { | 482 network_list.begin(); iter != network_list.end(); ++iter) { |
| 481 const NetworkState* network = *iter; | 483 const NetworkState* network = *iter; |
| 482 if (network->type() != flimflam::kTypeWimax) | 484 if (network->type() != flimflam::kTypeWimax) |
| 483 continue; | 485 continue; |
| 484 AddWirelessNetworkMenuItem(network, FLAG_WIMAX); | 486 AddWirelessNetworkMenuItem(network, FLAG_WIMAX); |
| 485 } | 487 } |
| 486 } | 488 } |
| 487 | 489 |
| 488 // Wifi Networks | 490 // Wifi Networks |
| 489 if (handler->IsTechnologyEnabled(flimflam::kTypeWifi)) { | 491 if (handler->IsTechnologyEnabled(NetworkTypePattern::WiFi())) { |
| 490 // List Wifi networks. | 492 // List Wifi networks. |
| 491 int scanning_msg = handler->GetScanningByType(flimflam::kTypeWifi) ? | 493 int scanning_msg = handler->GetScanningByType(NetworkTypePattern::WiFi()) |
| 492 IDS_ASH_STATUS_TRAY_WIFI_SCANNING_MESSAGE : 0; | 494 ? IDS_ASH_STATUS_TRAY_WIFI_SCANNING_MESSAGE |
| 495 : 0; |
| 493 for (NetworkStateHandler::NetworkStateList::const_iterator iter = | 496 for (NetworkStateHandler::NetworkStateList::const_iterator iter = |
| 494 network_list.begin(); iter != network_list.end(); ++iter) { | 497 network_list.begin(); iter != network_list.end(); ++iter) { |
| 495 const NetworkState* network = *iter; | 498 const NetworkState* network = *iter; |
| 496 if (network->type() != flimflam::kTypeWifi) | 499 if (network->type() != flimflam::kTypeWifi) |
| 497 continue; | 500 continue; |
| 498 // Add 'Searching for Wi-Fi networks...' after connected networks. | 501 // Add 'Searching for Wi-Fi networks...' after connected networks. |
| 499 if (scanning_msg && !network->IsConnectedState()) { | 502 if (scanning_msg && !network->IsConnectedState()) { |
| 500 AddMessageItem(l10n_util::GetStringUTF16(scanning_msg)); | 503 AddMessageItem(l10n_util::GetStringUTF16(scanning_msg)); |
| 501 scanning_msg = 0; | 504 scanning_msg = 0; |
| 502 } | 505 } |
| (...skipping 12 matching lines...) Expand all Loading... |
| 515 | 518 |
| 516 if (menu_items_.empty()) { | 519 if (menu_items_.empty()) { |
| 517 // No networks available (and not initializing cellular or wifi scanning) | 520 // No networks available (and not initializing cellular or wifi scanning) |
| 518 AddMessageItem(l10n_util::GetStringFUTF16( | 521 AddMessageItem(l10n_util::GetStringFUTF16( |
| 519 IDS_STATUSBAR_NETWORK_MENU_ITEM_INDENT, | 522 IDS_STATUSBAR_NETWORK_MENU_ITEM_INDENT, |
| 520 l10n_util::GetStringUTF16(IDS_STATUSBAR_NO_NETWORKS_MESSAGE))); | 523 l10n_util::GetStringUTF16(IDS_STATUSBAR_NO_NETWORKS_MESSAGE))); |
| 521 } | 524 } |
| 522 | 525 |
| 523 // Enable / Disable Technology | 526 // Enable / Disable Technology |
| 524 NetworkStateHandler::TechnologyState wifi_state = | 527 NetworkStateHandler::TechnologyState wifi_state = |
| 525 handler->GetTechnologyState(flimflam::kTypeWifi); | 528 handler->GetTechnologyState(NetworkTypePattern::WiFi()); |
| 526 bool wifi_available = | 529 bool wifi_available = |
| 527 wifi_state != NetworkStateHandler::TECHNOLOGY_UNAVAILABLE; | 530 wifi_state != NetworkStateHandler::TECHNOLOGY_UNAVAILABLE; |
| 528 bool wifi_enabled = wifi_state == NetworkStateHandler::TECHNOLOGY_ENABLED; | 531 bool wifi_enabled = wifi_state == NetworkStateHandler::TECHNOLOGY_ENABLED; |
| 529 | 532 |
| 530 NetworkStateHandler::TechnologyState mobile_state = | 533 NetworkStateHandler::TechnologyState mobile_state = |
| 531 handler->GetTechnologyState(NetworkStateHandler::kMatchTypeMobile); | 534 handler->GetTechnologyState(NetworkTypePattern::Mobile()); |
| 532 bool mobile_available = | 535 bool mobile_available = |
| 533 mobile_state != NetworkStateHandler::TECHNOLOGY_UNAVAILABLE; | 536 mobile_state != NetworkStateHandler::TECHNOLOGY_UNAVAILABLE; |
| 534 bool mobile_enabled = mobile_state == NetworkStateHandler::TECHNOLOGY_ENABLED; | 537 bool mobile_enabled = mobile_state == NetworkStateHandler::TECHNOLOGY_ENABLED; |
| 535 | 538 |
| 536 // Do not show disable wifi or cellular during oobe. | 539 // Do not show disable wifi or cellular during oobe. |
| 537 bool show_toggle_wifi = wifi_available && | 540 bool show_toggle_wifi = wifi_available && |
| 538 (should_open_button_options || !wifi_enabled); | 541 (should_open_button_options || !wifi_enabled); |
| 539 bool show_toggle_mobile = mobile_available && | 542 bool show_toggle_mobile = mobile_available && |
| 540 (should_open_button_options || !mobile_enabled); | 543 (should_open_button_options || !mobile_enabled); |
| 541 | 544 |
| 542 if (show_toggle_wifi || show_toggle_mobile) { | 545 if (show_toggle_wifi || show_toggle_mobile) { |
| 543 menu_items_.push_back(MenuItem()); // Separator | 546 menu_items_.push_back(MenuItem()); // Separator |
| 544 | 547 |
| 545 if (show_toggle_wifi) { | 548 if (show_toggle_wifi) { |
| 546 int id = wifi_enabled ? IDS_STATUSBAR_NETWORK_DEVICE_DISABLE : | 549 int id = wifi_enabled ? IDS_STATUSBAR_NETWORK_DEVICE_DISABLE : |
| 547 IDS_STATUSBAR_NETWORK_DEVICE_ENABLE; | 550 IDS_STATUSBAR_NETWORK_DEVICE_ENABLE; |
| 548 label = l10n_util::GetStringFUTF16(id, | 551 label = l10n_util::GetStringFUTF16(id, |
| 549 l10n_util::GetStringUTF16(IDS_STATUSBAR_NETWORK_DEVICE_WIFI)); | 552 l10n_util::GetStringUTF16(IDS_STATUSBAR_NETWORK_DEVICE_WIFI)); |
| 550 int flag = FLAG_TOGGLE_WIFI; | 553 int flag = FLAG_TOGGLE_WIFI; |
| 551 if (wifi_state == NetworkStateHandler::TECHNOLOGY_ENABLING) | 554 if (wifi_state == NetworkStateHandler::TECHNOLOGY_ENABLING) |
| 552 flag |= FLAG_DISABLED; | 555 flag |= FLAG_DISABLED; |
| 553 menu_items_.push_back(MenuItem(ui::MenuModel::TYPE_COMMAND, label, | 556 menu_items_.push_back(MenuItem(ui::MenuModel::TYPE_COMMAND, label, |
| 554 gfx::ImageSkia(), std::string(), flag)); | 557 gfx::ImageSkia(), std::string(), flag)); |
| 555 } | 558 } |
| 556 | 559 |
| 557 if (show_toggle_mobile) { | 560 if (show_toggle_mobile) { |
| 558 const DeviceState* mobile_device = | 561 const DeviceState* mobile_device = |
| 559 handler->GetDeviceStateByType(NetworkStateHandler::kMatchTypeMobile); | 562 handler->GetDeviceStateByType(NetworkTypePattern::Mobile()); |
| 560 bool is_locked = mobile_device && !mobile_device->sim_lock_type().empty(); | 563 bool is_locked = mobile_device && !mobile_device->sim_lock_type().empty(); |
| 561 int id = (mobile_enabled && !is_locked) | 564 int id = (mobile_enabled && !is_locked) |
| 562 ? IDS_STATUSBAR_NETWORK_DEVICE_DISABLE | 565 ? IDS_STATUSBAR_NETWORK_DEVICE_DISABLE |
| 563 : IDS_STATUSBAR_NETWORK_DEVICE_ENABLE; | 566 : IDS_STATUSBAR_NETWORK_DEVICE_ENABLE; |
| 564 label = l10n_util::GetStringFUTF16(id, | 567 label = l10n_util::GetStringFUTF16(id, |
| 565 l10n_util::GetStringUTF16(IDS_STATUSBAR_NETWORK_DEVICE_CELLULAR)); | 568 l10n_util::GetStringUTF16(IDS_STATUSBAR_NETWORK_DEVICE_CELLULAR)); |
| 566 gfx::ImageSkia icon; | 569 gfx::ImageSkia icon; |
| 567 int flag = FLAG_TOGGLE_MOBILE; | 570 int flag = FLAG_TOGGLE_MOBILE; |
| 568 if (mobile_state == NetworkStateHandler::TECHNOLOGY_ENABLING) | 571 if (mobile_state == NetworkStateHandler::TECHNOLOGY_ENABLING) |
| 569 flag |= FLAG_DISABLED; | 572 flag |= FLAG_DISABLED; |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 614 if (default_network) { | 617 if (default_network) { |
| 615 std::string ip_address = default_network->ip_address(); | 618 std::string ip_address = default_network->ip_address(); |
| 616 if (!ip_address.empty()) { | 619 if (!ip_address.empty()) { |
| 617 address_items.push_back(MenuItem(ui::MenuModel::TYPE_COMMAND, | 620 address_items.push_back(MenuItem(ui::MenuModel::TYPE_COMMAND, |
| 618 ASCIIToUTF16(ip_address), gfx::ImageSkia(), std::string(), | 621 ASCIIToUTF16(ip_address), gfx::ImageSkia(), std::string(), |
| 619 FLAG_DISABLED)); | 622 FLAG_DISABLED)); |
| 620 } | 623 } |
| 621 } | 624 } |
| 622 | 625 |
| 623 std::string ethernet_address = | 626 std::string ethernet_address = |
| 624 handler->FormattedHardwareAddressForType(flimflam::kTypeEthernet); | 627 handler->FormattedHardwareAddressForType(NetworkTypePattern::Ethernet()); |
| 625 if (!ethernet_address.empty()) { | 628 if (!ethernet_address.empty()) { |
| 626 std::string label = l10n_util::GetStringUTF8( | 629 std::string label = l10n_util::GetStringUTF8( |
| 627 IDS_STATUSBAR_NETWORK_DEVICE_ETHERNET) + " " + ethernet_address; | 630 IDS_STATUSBAR_NETWORK_DEVICE_ETHERNET) + " " + ethernet_address; |
| 628 address_items.push_back(MenuItem( | 631 address_items.push_back(MenuItem( |
| 629 ui::MenuModel::TYPE_COMMAND, | 632 ui::MenuModel::TYPE_COMMAND, |
| 630 UTF8ToUTF16(label), gfx::ImageSkia(), std::string(), FLAG_DISABLED)); | 633 UTF8ToUTF16(label), gfx::ImageSkia(), std::string(), FLAG_DISABLED)); |
| 631 } | 634 } |
| 632 | 635 |
| 633 std::string wifi_address = | 636 std::string wifi_address = |
| 634 handler->FormattedHardwareAddressForType(flimflam::kTypeWifi); | 637 handler->FormattedHardwareAddressForType(NetworkTypePattern::WiFi()); |
| 635 if (!wifi_address.empty()) { | 638 if (!wifi_address.empty()) { |
| 636 std::string label = l10n_util::GetStringUTF8( | 639 std::string label = l10n_util::GetStringUTF8( |
| 637 IDS_STATUSBAR_NETWORK_DEVICE_WIFI) + " " + wifi_address; | 640 IDS_STATUSBAR_NETWORK_DEVICE_WIFI) + " " + wifi_address; |
| 638 address_items.push_back(MenuItem( | 641 address_items.push_back(MenuItem( |
| 639 ui::MenuModel::TYPE_COMMAND, | 642 ui::MenuModel::TYPE_COMMAND, |
| 640 UTF8ToUTF16(label), gfx::ImageSkia(), std::string(), FLAG_DISABLED)); | 643 UTF8ToUTF16(label), gfx::ImageSkia(), std::string(), FLAG_DISABLED)); |
| 641 } | 644 } |
| 642 | 645 |
| 643 menu_items_ = link_items; | 646 menu_items_ = link_items; |
| 644 if (!menu_items_.empty() && address_items.size() > 1) | 647 if (!menu_items_.empty() && address_items.size() > 1) |
| (...skipping 26 matching lines...) Expand all Loading... |
| 671 return main_menu_model_.get(); | 674 return main_menu_model_.get(); |
| 672 } | 675 } |
| 673 | 676 |
| 674 void NetworkMenu::UpdateMenu() { | 677 void NetworkMenu::UpdateMenu() { |
| 675 refreshing_menu_ = true; | 678 refreshing_menu_ = true; |
| 676 main_menu_model_->InitMenuItems(delegate_->ShouldOpenButtonOptions()); | 679 main_menu_model_->InitMenuItems(delegate_->ShouldOpenButtonOptions()); |
| 677 refreshing_menu_ = false; | 680 refreshing_menu_ = false; |
| 678 } | 681 } |
| 679 | 682 |
| 680 } // namespace chromeos | 683 } // namespace chromeos |
| OLD | NEW |