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

Unified Diff: ash/system/chromeos/network/tray_network_state_observer.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
« no previous file with comments | « ash/system/chromeos/network/tray_network_state_observer.h ('k') | ash/system/chromeos/network/tray_vpn.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ash/system/chromeos/network/tray_network_state_observer.cc
diff --git a/ash/system/chromeos/network/tray_network_state_observer.cc b/ash/system/chromeos/network/tray_network_state_observer.cc
index a33eeaa6dcc9dc5daeca0436198e085c703da15d..30b6ca7928a3fcfe083540724a1aa172feeaebbc 100644
--- a/ash/system/chromeos/network/tray_network_state_observer.cc
+++ b/ash/system/chromeos/network/tray_network_state_observer.cc
@@ -4,18 +4,27 @@
#include "ash/system/chromeos/network/tray_network_state_observer.h"
-#include "ash/system/chromeos/network/network_detailed_view.h"
-#include "ash/system/chromeos/network/tray_network.h"
-#include "ash/system/tray/tray_constants.h"
+#include <set>
+#include <string>
+
+#include "chromeos/network/network_state.h"
#include "chromeos/network/network_state_handler.h"
#include "third_party/cros_system_api/dbus/service_constants.h"
+namespace {
+
+std::set<std::string>& GetConnectingNetworks() {
+ static std::set<std::string> s_connecting_networks_;
+ return s_connecting_networks_;
+}
+
+}
+
namespace ash {
namespace internal {
-TrayNetworkStateObserver::TrayNetworkStateObserver(TrayNetwork* tray)
- : tray_(tray),
- wifi_state_(WIFI_UNKNOWN) {
+TrayNetworkStateObserver::TrayNetworkStateObserver(Delegate* delegate)
+ : delegate_(delegate) {
chromeos::NetworkStateHandler::Get()->AddObserver(this);
}
@@ -24,46 +33,39 @@ TrayNetworkStateObserver::~TrayNetworkStateObserver() {
}
void TrayNetworkStateObserver::NetworkManagerChanged() {
- tray::NetworkDetailedView* detailed = tray_->detailed();
- bool wifi_enabled = chromeos::NetworkStateHandler::Get()->
- TechnologyEnabled(flimflam::kTypeWifi);
- WifiState wifi_state = wifi_enabled ? WIFI_ENABLED : WIFI_DISABLED;
- if ((wifi_state_ != WIFI_UNKNOWN && wifi_state_ != wifi_state) &&
- (!detailed ||
- detailed->GetViewType() == tray::NetworkDetailedView::WIFI_VIEW)) {
- tray_->set_request_wifi_view(true);
- tray_->PopupDetailedView(kTrayPopupAutoCloseDelayForTextInSeconds, false);
- }
- wifi_state_ = wifi_state;
- if (detailed)
- detailed->ManagerChanged();
+ delegate_->NetworkStateChanged(false);
}
void TrayNetworkStateObserver::NetworkListChanged() {
- tray::NetworkDetailedView* detailed = tray_->detailed();
- if (detailed)
- detailed->NetworkListChanged();
- tray_->TrayNetworkUpdated();
+ delegate_->NetworkStateChanged(true);
}
void TrayNetworkStateObserver::DeviceListChanged() {
- tray::NetworkDetailedView* detailed = tray_->detailed();
- if (detailed)
- detailed->ManagerChanged();
- tray_->TrayNetworkUpdated();
+ delegate_->NetworkStateChanged(false);
}
void TrayNetworkStateObserver::DefaultNetworkChanged(
const chromeos::NetworkState* network) {
- tray_->TrayNetworkUpdated();
+ delegate_->NetworkStateChanged(true);
}
void TrayNetworkStateObserver::NetworkPropertiesUpdated(
const chromeos::NetworkState* network) {
- tray_->NetworkServiceChanged(network);
- tray::NetworkDetailedView* detailed = tray_->detailed();
- if (detailed)
- detailed->NetworkServiceChanged(network);
+ if (!network->IsConnectingState())
+ GetConnectingNetworks().erase(network->path());
+ delegate_->NetworkServiceChanged(network);
+}
+
+// static
+void TrayNetworkStateObserver::AddConnectingNetwork(
+ const std::string& service_path) {
+ GetConnectingNetworks().insert(service_path);
+}
+
+// static
+bool TrayNetworkStateObserver::HasConnectingNetwork(
+ const std::string& service_path) {
+ return GetConnectingNetworks().count(service_path) > 0;
}
} // namespace ash
« no previous file with comments | « ash/system/chromeos/network/tray_network_state_observer.h ('k') | ash/system/chromeos/network/tray_vpn.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698