Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2201)

Unified Diff: ash/system/chromeos/network/tray_network.cc

Issue 12387065: Convert TrayVPN to use new NetworkState code (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix browser_tests Created 7 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: ash/system/chromeos/network/tray_network.cc
diff --git a/ash/system/chromeos/network/tray_network.cc b/ash/system/chromeos/network/tray_network.cc
index 54a40eb4ac25a5c50894f6c2719e6a93d5baf4fc..3dff2234e022568b8c3967e8d9107f1824a8af7b 100644
--- a/ash/system/chromeos/network/tray_network.cc
+++ b/ash/system/chromeos/network/tray_network.cc
@@ -10,7 +10,6 @@
#include "ash/system/chromeos/network/network_list_detailed_view.h"
#include "ash/system/chromeos/network/network_list_detailed_view_base.h"
#include "ash/system/chromeos/network/network_state_list_detailed_view.h"
-#include "ash/system/chromeos/network/tray_network_state_observer.h"
#include "ash/system/tray/system_tray.h"
#include "ash/system/tray/system_tray_delegate.h"
#include "ash/system/tray/system_tray_notifier.h"
@@ -20,8 +19,6 @@
#include "ash/system/tray/tray_notification_view.h"
#include "base/command_line.h"
#include "base/utf_string_conversions.h"
-#include "chromeos/chromeos_switches.h"
-#include "chromeos/network/network_configuration_handler.h"
#include "chromeos/network/network_state.h"
#include "chromeos/network/network_state_handler.h"
#include "grit/ash_resources.h"
@@ -407,8 +404,7 @@ TrayNetwork::TrayNetwork(SystemTray* system_tray)
detailed_(NULL),
notification_(NULL),
messages_(new tray::NetworkMessages()),
- request_wifi_view_(false),
- uninitialized_msg_(0) {
+ request_wifi_view_(false) {
if (UseNewNetworkHandlers())
network_state_observer_.reset(new TrayNetworkStateObserver(this));
Shell::GetInstance()->system_tray_notifier()->AddNetworkObserver(this);
@@ -445,7 +441,8 @@ views::View* TrayNetwork::CreateDetailedView(user::LoginStatus status) {
request_wifi_view_ = false;
} else {
if (UseNewNetworkHandlers()) {
- detailed_ = new tray::NetworkStateListDetailedView(this, status);
+ detailed_ = new tray::NetworkStateListDetailedView(
+ this, tray::NetworkStateListDetailedView::LIST_TYPE_NETWORK, status);
} else {
detailed_ = new tray::NetworkListDetailedView(
this, status, IDS_ASH_STATUS_TRAY_NETWORK);
@@ -522,8 +519,7 @@ void TrayNetwork::ClearNetworkMessage(MessageType message_type) {
}
void TrayNetwork::OnWillToggleWifi() {
- if (UseNewNetworkHandlers())
- return; // Handled in TrayNetworkStateObserver::NetworkManagerChanged()
+ // Triggered by a user action (e.g. keyboard shortcut)
if (!detailed_ ||
detailed_->GetViewType() == tray::NetworkDetailedView::WIFI_VIEW) {
request_wifi_view_ = true;
@@ -531,42 +527,22 @@ void TrayNetwork::OnWillToggleWifi() {
}
}
-void TrayNetwork::TrayNetworkUpdated() {
+void TrayNetwork::NetworkStateChanged(bool list_changed) {
if (tray_ && UseNewNetworkHandlers())
tray_->UpdateNetworkStateHandlerIcon();
if (default_)
default_->Update();
-}
-
-void TrayNetwork::NetworkServiceChanged(const chromeos::NetworkState* network) {
- if (!network->IsConnectingState())
- connecting_networks_.erase(network->path());
-}
-
-void TrayNetwork::ConnectToNetwork(const std::string& service_path) {
- DCHECK(UseNewNetworkHandlers());
- const NetworkState* network =
- NetworkStateHandler::Get()->GetNetworkState(service_path);
- if (!network)
- return;
- if (CommandLine::ForCurrentProcess()->HasSwitch(
- chromeos::switches::kEnableNewNetworkConfigurationHandlers) &&
- !network->IsConnectedState()) {
- chromeos::NetworkConfigurationHandler::Get()->Connect(
- service_path,
- base::Bind(&base::DoNothing),
- chromeos::network_handler::ErrorCallback());
- connecting_networks_.insert(service_path);
- } else {
- // This will show the settings UI for a connected network.
- // TODO(stevenjb): Change the API to explicitly show network settings.
- Shell::GetInstance()->system_tray_delegate()->ConnectToNetwork(
- service_path);
+ if (detailed_) {
+ if (list_changed)
+ detailed_->NetworkListChanged();
+ else
+ detailed_->ManagerChanged();
}
}
-bool TrayNetwork::HasConnectingNetwork(const std::string& service_path) {
- return connecting_networks_.count(service_path) > 0;
+void TrayNetwork::NetworkServiceChanged(const chromeos::NetworkState* network) {
+ if (detailed_)
+ detailed_->NetworkServiceChanged(network);
}
void TrayNetwork::GetNetworkStateHandlerImageAndLabel(
@@ -587,13 +563,13 @@ void TrayNetwork::GetNetworkStateHandlerImageAndLabel(
// network, or the connection was user requested, use the connecting
// network.
if (connecting_network &&
- (!network ||
- HasConnectingNetwork(connecting_network->path()))) {
+ (!network || TrayNetworkStateObserver::HasConnectingNetwork(
+ connecting_network->path()))) {
network = connecting_network;
}
if (!network) {
// If no connecting network, check for cellular initializing.
- int uninitialized_msg = GetUninitializedMsg();
+ int uninitialized_msg = network_icon::GetCellularUninitializedMsg();
if (uninitialized_msg != 0) {
*image = network_icon::GetImageForConnectingNetwork(
icon_type, flimflam::kTypeCellular);
@@ -616,29 +592,6 @@ void TrayNetwork::GetNetworkStateHandlerImageAndLabel(
*label = network_icon::GetLabelForNetwork(network, icon_type);
}
-int TrayNetwork::GetUninitializedMsg() {
- NetworkStateHandler* handler = NetworkStateHandler::Get();
- if (handler->TechnologyUninitialized(
- NetworkStateHandler::kMatchTypeMobile)) {
- uninitialized_msg_ = IDS_ASH_STATUS_TRAY_INITIALIZING_CELLULAR;
- uninitialized_state_time_ = base::Time::Now();
- return uninitialized_msg_;
- } else if (handler->GetScanningByType(
- NetworkStateHandler::kMatchTypeMobile)) {
- uninitialized_msg_ = IDS_ASH_STATUS_TRAY_CELLULAR_SCANNING;
- uninitialized_state_time_ = base::Time::Now();
- return uninitialized_msg_;
- }
- // There can be a delay between leaving the Initializing state and when
- // a Cellular device shows up, so keep showing the initializing
- // animation for a bit to avoid flashing the disconnect icon.
- const int kInitializingDelaySeconds = 1;
- base::TimeDelta dtime = base::Time::Now() - uninitialized_state_time_;
- if (dtime.InSeconds() < kInitializingDelaySeconds)
- return uninitialized_msg_;
- return 0;
-}
-
void TrayNetwork::LinkClicked(MessageType message_type, int link_id) {
tray::NetworkMessages::MessageMap::const_iterator iter =
messages()->messages().find(message_type);
« no previous file with comments | « ash/system/chromeos/network/tray_network.h ('k') | ash/system/chromeos/network/tray_network_state_observer.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698