| 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 226 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 299 | 300 |
| 300 void NetworkMenuModel::ActivatedAt(int index) { | 301 void NetworkMenuModel::ActivatedAt(int index) { |
| 301 // When we are refreshing the menu, ignore menu item activation. | 302 // When we are refreshing the menu, ignore menu item activation. |
| 302 if (owner_->refreshing_menu_) | 303 if (owner_->refreshing_menu_) |
| 303 return; | 304 return; |
| 304 | 305 |
| 305 int flags = menu_items_[index].flags; | 306 int flags = menu_items_[index].flags; |
| 306 if (flags & FLAG_OPTIONS) { | 307 if (flags & FLAG_OPTIONS) { |
| 307 owner_->delegate()->OpenButtonOptions(); | 308 owner_->delegate()->OpenButtonOptions(); |
| 308 } else if (flags & FLAG_TOGGLE_WIFI) { | 309 } else if (flags & FLAG_TOGGLE_WIFI) { |
| 309 ToggleTechnology(flimflam::kTypeWifi); | 310 ToggleTechnology(NetworkTypePattern::WiFi()); |
| 310 } else if (flags & FLAG_TOGGLE_MOBILE) { | 311 } else if (flags & FLAG_TOGGLE_MOBILE) { |
| 311 ToggleTechnology(NetworkStateHandler::kMatchTypeMobile); | 312 ToggleTechnology(NetworkTypePattern::Mobile()); |
| 312 } else if (flags & FLAG_ETHERNET) { | 313 } else if (flags & FLAG_ETHERNET) { |
| 313 // Do nothing (used in login screen only) | 314 // Do nothing (used in login screen only) |
| 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 } else if (flags & FLAG_ADD_WIFI) { | 317 } else if (flags & FLAG_ADD_WIFI) { |
| 317 ShowOther(flimflam::kTypeWifi); | 318 ShowOther(flimflam::kTypeWifi); |
| 318 } else if (flags & FLAG_ADD_CELLULAR) { | 319 } else if (flags & FLAG_ADD_CELLULAR) { |
| 319 ShowOther(flimflam::kTypeCellular); | 320 ShowOther(flimflam::kTypeCellular); |
| 320 } | 321 } |
| 321 } | 322 } |
| (...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 378 void MainMenuModel::InitMenuItems(bool should_open_button_options) { | 379 void MainMenuModel::InitMenuItems(bool should_open_button_options) { |
| 379 menu_items_.clear(); | 380 menu_items_.clear(); |
| 380 | 381 |
| 381 NetworkStateHandler* handler = NetworkHandler::Get()->network_state_handler(); | 382 NetworkStateHandler* handler = NetworkHandler::Get()->network_state_handler(); |
| 382 | 383 |
| 383 // Populate our MenuItems with the current list of networks. | 384 // Populate our MenuItems with the current list of networks. |
| 384 string16 label; | 385 string16 label; |
| 385 | 386 |
| 386 // Ethernet | 387 // Ethernet |
| 387 // Only display an ethernet icon if enabled, and an ethernet network exists. | 388 // Only display an ethernet icon if enabled, and an ethernet network exists. |
| 388 bool ethernet_enabled = handler->IsTechnologyEnabled(flimflam::kTypeEthernet); | 389 bool ethernet_enabled = |
| 390 handler->IsTechnologyEnabled(NetworkTypePattern::Ethernet()); |
| 389 const NetworkState* ethernet_network = | 391 const NetworkState* ethernet_network = |
| 390 handler->FirstNetworkByType(flimflam::kTypeEthernet); | 392 handler->FirstNetworkByType(NetworkTypePattern::Ethernet()); |
| 391 if (ethernet_enabled && ethernet_network) { | 393 if (ethernet_enabled && ethernet_network) { |
| 392 bool ethernet_connecting = ethernet_network->IsConnectingState(); | 394 bool ethernet_connecting = ethernet_network->IsConnectingState(); |
| 393 if (ethernet_connecting) { | 395 if (ethernet_connecting) { |
| 394 label = l10n_util::GetStringFUTF16( | 396 label = l10n_util::GetStringFUTF16( |
| 395 IDS_STATUSBAR_NETWORK_DEVICE_STATUS, | 397 IDS_STATUSBAR_NETWORK_DEVICE_STATUS, |
| 396 l10n_util::GetStringUTF16(IDS_STATUSBAR_NETWORK_DEVICE_ETHERNET), | 398 l10n_util::GetStringUTF16(IDS_STATUSBAR_NETWORK_DEVICE_ETHERNET), |
| 397 l10n_util::GetStringUTF16(IDS_STATUSBAR_NETWORK_DEVICE_CONNECTING)); | 399 l10n_util::GetStringUTF16(IDS_STATUSBAR_NETWORK_DEVICE_CONNECTING)); |
| 398 } else { | 400 } else { |
| 399 label = l10n_util::GetStringUTF16(IDS_STATUSBAR_NETWORK_DEVICE_ETHERNET); | 401 label = l10n_util::GetStringUTF16(IDS_STATUSBAR_NETWORK_DEVICE_ETHERNET); |
| 400 } | 402 } |
| 401 int flag = FLAG_ETHERNET; | 403 int flag = FLAG_ETHERNET; |
| 402 if (ShouldHighlightNetwork(ethernet_network)) | 404 if (ShouldHighlightNetwork(ethernet_network)) |
| 403 flag |= FLAG_ASSOCIATED; | 405 flag |= FLAG_ASSOCIATED; |
| 404 const gfx::ImageSkia icon = ash::network_icon::GetImageForNetwork( | 406 const gfx::ImageSkia icon = ash::network_icon::GetImageForNetwork( |
| 405 ethernet_network, ash::network_icon::ICON_TYPE_LIST); | 407 ethernet_network, ash::network_icon::ICON_TYPE_LIST); |
| 406 menu_items_.push_back(MenuItem(ui::MenuModel::TYPE_COMMAND, | 408 menu_items_.push_back(MenuItem(ui::MenuModel::TYPE_COMMAND, |
| 407 label, icon, std::string(), flag)); | 409 label, icon, std::string(), flag)); |
| 408 } | 410 } |
| 409 | 411 |
| 410 // Get the list of all networks. | 412 // Get the list of all networks. |
| 411 NetworkStateHandler::NetworkStateList network_list; | 413 NetworkStateHandler::NetworkStateList network_list; |
| 412 handler->GetNetworkList(&network_list); | 414 handler->GetNetworkList(&network_list); |
| 413 | 415 |
| 414 // Cellular Networks | 416 // Cellular Networks |
| 415 if (handler->IsTechnologyEnabled(flimflam::kTypeCellular)) { | 417 if (handler->IsTechnologyEnabled(NetworkTypePattern::Cellular())) { |
| 416 // List Cellular networks. | 418 // List Cellular networks. |
| 417 for (NetworkStateHandler::NetworkStateList::const_iterator iter = | 419 for (NetworkStateHandler::NetworkStateList::const_iterator iter = |
| 418 network_list.begin(); iter != network_list.end(); ++iter) { | 420 network_list.begin(); iter != network_list.end(); ++iter) { |
| 419 const NetworkState* network = *iter; | 421 const NetworkState* network = *iter; |
| 420 if (network->type() != flimflam::kTypeCellular) | 422 if (network->type() != flimflam::kTypeCellular) |
| 421 continue; | 423 continue; |
| 422 std::string activation_state = network->activation_state(); | 424 std::string activation_state = network->activation_state(); |
| 423 | 425 |
| 424 // This is only used in the login screen; do not show unactivated | 426 // This is only used in the login screen; do not show unactivated |
| 425 // networks. | 427 // networks. |
| (...skipping 18 matching lines...) Expand all Loading... |
| 444 flag |= FLAG_ASSOCIATED; | 446 flag |= FLAG_ASSOCIATED; |
| 445 const gfx::ImageSkia icon = ash::network_icon::GetImageForNetwork( | 447 const gfx::ImageSkia icon = ash::network_icon::GetImageForNetwork( |
| 446 network, ash::network_icon::ICON_TYPE_LIST); | 448 network, ash::network_icon::ICON_TYPE_LIST); |
| 447 menu_items_.push_back( | 449 menu_items_.push_back( |
| 448 MenuItem(ui::MenuModel::TYPE_COMMAND, | 450 MenuItem(ui::MenuModel::TYPE_COMMAND, |
| 449 label, icon, network->path(), flag)); | 451 label, icon, network->path(), flag)); |
| 450 } | 452 } |
| 451 | 453 |
| 452 // For GSM add cellular network scan. | 454 // For GSM add cellular network scan. |
| 453 const DeviceState* cellular_device = | 455 const DeviceState* cellular_device = |
| 454 handler->GetDeviceStateByType(flimflam::kTypeCellular); | 456 handler->GetDeviceStateByType(NetworkTypePattern::Cellular()); |
| 455 if (cellular_device && cellular_device->support_network_scan()) { | 457 if (cellular_device && cellular_device->support_network_scan()) { |
| 456 const gfx::ImageSkia icon = | 458 const gfx::ImageSkia icon = |
| 457 ash::network_icon::GetImageForDisconnectedNetwork( | 459 ash::network_icon::GetImageForDisconnectedNetwork( |
| 458 ash::network_icon::ICON_TYPE_LIST, flimflam::kTypeCellular); | 460 ash::network_icon::ICON_TYPE_LIST, flimflam::kTypeCellular); |
| 459 menu_items_.push_back(MenuItem( | 461 menu_items_.push_back(MenuItem( |
| 460 ui::MenuModel::TYPE_COMMAND, | 462 ui::MenuModel::TYPE_COMMAND, |
| 461 l10n_util::GetStringUTF16( | 463 l10n_util::GetStringUTF16( |
| 462 IDS_OPTIONS_SETTINGS_OTHER_CELLULAR_NETWORKS), | 464 IDS_OPTIONS_SETTINGS_OTHER_CELLULAR_NETWORKS), |
| 463 icon, std::string(), FLAG_ADD_CELLULAR)); | 465 icon, std::string(), FLAG_ADD_CELLULAR)); |
| 464 } | 466 } |
| 465 } else { | 467 } else { |
| 466 int initializing_message_id = | 468 int initializing_message_id = |
| 467 ash::network_icon::GetCellularUninitializedMsg(); | 469 ash::network_icon::GetCellularUninitializedMsg(); |
| 468 if (initializing_message_id) { | 470 if (initializing_message_id) { |
| 469 // Initializing cellular modem... | 471 // Initializing cellular modem... |
| 470 AddMessageItem(l10n_util::GetStringUTF16(initializing_message_id)); | 472 AddMessageItem(l10n_util::GetStringUTF16(initializing_message_id)); |
| 471 } | 473 } |
| 472 } | 474 } |
| 473 | 475 |
| 474 // Wimax Networks | 476 // Wimax Networks |
| 475 if (handler->IsTechnologyEnabled(flimflam::kTypeWimax)) { | 477 if (handler->IsTechnologyEnabled(NetworkTypePattern::Wimax())) { |
| 476 // List Wimax networks. | 478 // List Wimax networks. |
| 477 for (NetworkStateHandler::NetworkStateList::const_iterator iter = | 479 for (NetworkStateHandler::NetworkStateList::const_iterator iter = |
| 478 network_list.begin(); iter != network_list.end(); ++iter) { | 480 network_list.begin(); iter != network_list.end(); ++iter) { |
| 479 const NetworkState* network = *iter; | 481 const NetworkState* network = *iter; |
| 480 if (network->type() != flimflam::kTypeWimax) | 482 if (network->type() != flimflam::kTypeWimax) |
| 481 continue; | 483 continue; |
| 482 AddWirelessNetworkMenuItem(network, FLAG_WIMAX); | 484 AddWirelessNetworkMenuItem(network, FLAG_WIMAX); |
| 483 } | 485 } |
| 484 } | 486 } |
| 485 | 487 |
| 486 // Wifi Networks | 488 // Wifi Networks |
| 487 if (handler->IsTechnologyEnabled(flimflam::kTypeWifi)) { | 489 if (handler->IsTechnologyEnabled(NetworkTypePattern::WiFi())) { |
| 488 // List Wifi networks. | 490 // List Wifi networks. |
| 489 int scanning_msg = handler->GetScanningByType(flimflam::kTypeWifi) ? | 491 int scanning_msg = handler->GetScanningByType(NetworkTypePattern::WiFi()) |
| 490 IDS_ASH_STATUS_TRAY_WIFI_SCANNING_MESSAGE : 0; | 492 ? IDS_ASH_STATUS_TRAY_WIFI_SCANNING_MESSAGE |
| 493 : 0; |
| 491 for (NetworkStateHandler::NetworkStateList::const_iterator iter = | 494 for (NetworkStateHandler::NetworkStateList::const_iterator iter = |
| 492 network_list.begin(); iter != network_list.end(); ++iter) { | 495 network_list.begin(); iter != network_list.end(); ++iter) { |
| 493 const NetworkState* network = *iter; | 496 const NetworkState* network = *iter; |
| 494 if (network->type() != flimflam::kTypeWifi) | 497 if (network->type() != flimflam::kTypeWifi) |
| 495 continue; | 498 continue; |
| 496 // Add 'Searching for Wi-Fi networks...' after connected networks. | 499 // Add 'Searching for Wi-Fi networks...' after connected networks. |
| 497 if (scanning_msg && !network->IsConnectedState()) { | 500 if (scanning_msg && !network->IsConnectedState()) { |
| 498 AddMessageItem(l10n_util::GetStringUTF16(scanning_msg)); | 501 AddMessageItem(l10n_util::GetStringUTF16(scanning_msg)); |
| 499 scanning_msg = 0; | 502 scanning_msg = 0; |
| 500 } | 503 } |
| (...skipping 12 matching lines...) Expand all Loading... |
| 513 | 516 |
| 514 if (menu_items_.empty()) { | 517 if (menu_items_.empty()) { |
| 515 // No networks available (and not initializing cellular or wifi scanning) | 518 // No networks available (and not initializing cellular or wifi scanning) |
| 516 AddMessageItem(l10n_util::GetStringFUTF16( | 519 AddMessageItem(l10n_util::GetStringFUTF16( |
| 517 IDS_STATUSBAR_NETWORK_MENU_ITEM_INDENT, | 520 IDS_STATUSBAR_NETWORK_MENU_ITEM_INDENT, |
| 518 l10n_util::GetStringUTF16(IDS_STATUSBAR_NO_NETWORKS_MESSAGE))); | 521 l10n_util::GetStringUTF16(IDS_STATUSBAR_NO_NETWORKS_MESSAGE))); |
| 519 } | 522 } |
| 520 | 523 |
| 521 // Enable / Disable Technology | 524 // Enable / Disable Technology |
| 522 NetworkStateHandler::TechnologyState wifi_state = | 525 NetworkStateHandler::TechnologyState wifi_state = |
| 523 handler->GetTechnologyState(flimflam::kTypeWifi); | 526 handler->GetTechnologyState(NetworkTypePattern::WiFi()); |
| 524 bool wifi_available = | 527 bool wifi_available = |
| 525 wifi_state != NetworkStateHandler::TECHNOLOGY_UNAVAILABLE; | 528 wifi_state != NetworkStateHandler::TECHNOLOGY_UNAVAILABLE; |
| 526 bool wifi_enabled = wifi_state == NetworkStateHandler::TECHNOLOGY_ENABLED; | 529 bool wifi_enabled = wifi_state == NetworkStateHandler::TECHNOLOGY_ENABLED; |
| 527 | 530 |
| 528 NetworkStateHandler::TechnologyState mobile_state = | 531 NetworkStateHandler::TechnologyState mobile_state = |
| 529 handler->GetTechnologyState(NetworkStateHandler::kMatchTypeMobile); | 532 handler->GetTechnologyState(NetworkTypePattern::Mobile()); |
| 530 bool mobile_available = | 533 bool mobile_available = |
| 531 mobile_state != NetworkStateHandler::TECHNOLOGY_UNAVAILABLE; | 534 mobile_state != NetworkStateHandler::TECHNOLOGY_UNAVAILABLE; |
| 532 bool mobile_enabled = mobile_state == NetworkStateHandler::TECHNOLOGY_ENABLED; | 535 bool mobile_enabled = mobile_state == NetworkStateHandler::TECHNOLOGY_ENABLED; |
| 533 | 536 |
| 534 // Do not show disable wifi or cellular during oobe. | 537 // Do not show disable wifi or cellular during oobe. |
| 535 bool show_toggle_wifi = wifi_available && | 538 bool show_toggle_wifi = wifi_available && |
| 536 (should_open_button_options || !wifi_enabled); | 539 (should_open_button_options || !wifi_enabled); |
| 537 bool show_toggle_mobile = mobile_available && | 540 bool show_toggle_mobile = mobile_available && |
| 538 (should_open_button_options || !mobile_enabled); | 541 (should_open_button_options || !mobile_enabled); |
| 539 | 542 |
| 540 if (show_toggle_wifi || show_toggle_mobile) { | 543 if (show_toggle_wifi || show_toggle_mobile) { |
| 541 menu_items_.push_back(MenuItem()); // Separator | 544 menu_items_.push_back(MenuItem()); // Separator |
| 542 | 545 |
| 543 if (show_toggle_wifi) { | 546 if (show_toggle_wifi) { |
| 544 int id = wifi_enabled ? IDS_STATUSBAR_NETWORK_DEVICE_DISABLE : | 547 int id = wifi_enabled ? IDS_STATUSBAR_NETWORK_DEVICE_DISABLE : |
| 545 IDS_STATUSBAR_NETWORK_DEVICE_ENABLE; | 548 IDS_STATUSBAR_NETWORK_DEVICE_ENABLE; |
| 546 label = l10n_util::GetStringFUTF16(id, | 549 label = l10n_util::GetStringFUTF16(id, |
| 547 l10n_util::GetStringUTF16(IDS_STATUSBAR_NETWORK_DEVICE_WIFI)); | 550 l10n_util::GetStringUTF16(IDS_STATUSBAR_NETWORK_DEVICE_WIFI)); |
| 548 int flag = FLAG_TOGGLE_WIFI; | 551 int flag = FLAG_TOGGLE_WIFI; |
| 549 if (wifi_state == NetworkStateHandler::TECHNOLOGY_ENABLING) | 552 if (wifi_state == NetworkStateHandler::TECHNOLOGY_ENABLING) |
| 550 flag |= FLAG_DISABLED; | 553 flag |= FLAG_DISABLED; |
| 551 menu_items_.push_back(MenuItem(ui::MenuModel::TYPE_COMMAND, label, | 554 menu_items_.push_back(MenuItem(ui::MenuModel::TYPE_COMMAND, label, |
| 552 gfx::ImageSkia(), std::string(), flag)); | 555 gfx::ImageSkia(), std::string(), flag)); |
| 553 } | 556 } |
| 554 | 557 |
| 555 if (show_toggle_mobile) { | 558 if (show_toggle_mobile) { |
| 556 const DeviceState* mobile_device = | 559 const DeviceState* mobile_device = |
| 557 handler->GetDeviceStateByType(NetworkStateHandler::kMatchTypeMobile); | 560 handler->GetDeviceStateByType(NetworkTypePattern::Mobile()); |
| 558 bool is_locked = mobile_device && !mobile_device->sim_lock_type().empty(); | 561 bool is_locked = mobile_device && !mobile_device->sim_lock_type().empty(); |
| 559 int id = (mobile_enabled && !is_locked) | 562 int id = (mobile_enabled && !is_locked) |
| 560 ? IDS_STATUSBAR_NETWORK_DEVICE_DISABLE | 563 ? IDS_STATUSBAR_NETWORK_DEVICE_DISABLE |
| 561 : IDS_STATUSBAR_NETWORK_DEVICE_ENABLE; | 564 : IDS_STATUSBAR_NETWORK_DEVICE_ENABLE; |
| 562 label = l10n_util::GetStringFUTF16(id, | 565 label = l10n_util::GetStringFUTF16(id, |
| 563 l10n_util::GetStringUTF16(IDS_STATUSBAR_NETWORK_DEVICE_CELLULAR)); | 566 l10n_util::GetStringUTF16(IDS_STATUSBAR_NETWORK_DEVICE_CELLULAR)); |
| 564 gfx::ImageSkia icon; | 567 gfx::ImageSkia icon; |
| 565 int flag = FLAG_TOGGLE_MOBILE; | 568 int flag = FLAG_TOGGLE_MOBILE; |
| 566 if (mobile_state == NetworkStateHandler::TECHNOLOGY_ENABLING) | 569 if (mobile_state == NetworkStateHandler::TECHNOLOGY_ENABLING) |
| 567 flag |= FLAG_DISABLED; | 570 flag |= FLAG_DISABLED; |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 612 if (default_network) { | 615 if (default_network) { |
| 613 std::string ip_address = default_network->ip_address(); | 616 std::string ip_address = default_network->ip_address(); |
| 614 if (!ip_address.empty()) { | 617 if (!ip_address.empty()) { |
| 615 address_items.push_back(MenuItem(ui::MenuModel::TYPE_COMMAND, | 618 address_items.push_back(MenuItem(ui::MenuModel::TYPE_COMMAND, |
| 616 ASCIIToUTF16(ip_address), gfx::ImageSkia(), std::string(), | 619 ASCIIToUTF16(ip_address), gfx::ImageSkia(), std::string(), |
| 617 FLAG_DISABLED)); | 620 FLAG_DISABLED)); |
| 618 } | 621 } |
| 619 } | 622 } |
| 620 | 623 |
| 621 std::string ethernet_address = | 624 std::string ethernet_address = |
| 622 handler->FormattedHardwareAddressForType(flimflam::kTypeEthernet); | 625 handler->FormattedHardwareAddressForType(NetworkTypePattern::Ethernet()); |
| 623 if (!ethernet_address.empty()) { | 626 if (!ethernet_address.empty()) { |
| 624 std::string label = l10n_util::GetStringUTF8( | 627 std::string label = l10n_util::GetStringUTF8( |
| 625 IDS_STATUSBAR_NETWORK_DEVICE_ETHERNET) + " " + ethernet_address; | 628 IDS_STATUSBAR_NETWORK_DEVICE_ETHERNET) + " " + ethernet_address; |
| 626 address_items.push_back(MenuItem( | 629 address_items.push_back(MenuItem( |
| 627 ui::MenuModel::TYPE_COMMAND, | 630 ui::MenuModel::TYPE_COMMAND, |
| 628 UTF8ToUTF16(label), gfx::ImageSkia(), std::string(), FLAG_DISABLED)); | 631 UTF8ToUTF16(label), gfx::ImageSkia(), std::string(), FLAG_DISABLED)); |
| 629 } | 632 } |
| 630 | 633 |
| 631 std::string wifi_address = | 634 std::string wifi_address = |
| 632 handler->FormattedHardwareAddressForType(flimflam::kTypeWifi); | 635 handler->FormattedHardwareAddressForType(NetworkTypePattern::WiFi()); |
| 633 if (!wifi_address.empty()) { | 636 if (!wifi_address.empty()) { |
| 634 std::string label = l10n_util::GetStringUTF8( | 637 std::string label = l10n_util::GetStringUTF8( |
| 635 IDS_STATUSBAR_NETWORK_DEVICE_WIFI) + " " + wifi_address; | 638 IDS_STATUSBAR_NETWORK_DEVICE_WIFI) + " " + wifi_address; |
| 636 address_items.push_back(MenuItem( | 639 address_items.push_back(MenuItem( |
| 637 ui::MenuModel::TYPE_COMMAND, | 640 ui::MenuModel::TYPE_COMMAND, |
| 638 UTF8ToUTF16(label), gfx::ImageSkia(), std::string(), FLAG_DISABLED)); | 641 UTF8ToUTF16(label), gfx::ImageSkia(), std::string(), FLAG_DISABLED)); |
| 639 } | 642 } |
| 640 | 643 |
| 641 menu_items_ = link_items; | 644 menu_items_ = link_items; |
| 642 if (!menu_items_.empty() && address_items.size() > 1) | 645 if (!menu_items_.empty() && address_items.size() > 1) |
| (...skipping 26 matching lines...) Expand all Loading... |
| 669 return main_menu_model_.get(); | 672 return main_menu_model_.get(); |
| 670 } | 673 } |
| 671 | 674 |
| 672 void NetworkMenu::UpdateMenu() { | 675 void NetworkMenu::UpdateMenu() { |
| 673 refreshing_menu_ = true; | 676 refreshing_menu_ = true; |
| 674 main_menu_model_->InitMenuItems(delegate_->ShouldOpenButtonOptions()); | 677 main_menu_model_->InitMenuItems(delegate_->ShouldOpenButtonOptions()); |
| 675 refreshing_menu_ = false; | 678 refreshing_menu_ = false; |
| 676 } | 679 } |
| 677 | 680 |
| 678 } // namespace chromeos | 681 } // namespace chromeos |
| OLD | NEW |