summaryrefslogtreecommitdiffstats
path: root/ash
diff options
context:
space:
mode:
authorstevenjb@chromium.org <stevenjb@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-03-02 17:47:24 +0000
committerstevenjb@chromium.org <stevenjb@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-03-02 17:47:24 +0000
commit849746701f850f583798cb98b4c6fe00f7424548 (patch)
tree6c049d9b71ea8cfd3d8648a17e785c6616e56be6 /ash
parent6f54ab335c8794b0b93fe9473adadd27e95b5cf8 (diff)
downloadchromium_src-849746701f850f583798cb98b4c6fe00f7424548.zip
chromium_src-849746701f850f583798cb98b4c6fe00f7424548.tar.gz
chromium_src-849746701f850f583798cb98b4c6fe00f7424548.tar.bz2
Fix status area for NetworkStateHandler
NetworkConfigurationHandler is not enabled with NetworkStatehandler so check flag before using. Includes some cleanup code. BUG=179504 Review URL: https://chromiumcodereview.appspot.com/12378052 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@185727 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ash')
-rw-r--r--ash/system/chromeos/network/network_state_list_detailed_view.cc36
-rw-r--r--ash/system/chromeos/network/network_state_list_detailed_view.h8
-rw-r--r--ash/system/chromeos/network/tray_network.cc5
3 files changed, 27 insertions, 22 deletions
diff --git a/ash/system/chromeos/network/network_state_list_detailed_view.cc b/ash/system/chromeos/network/network_state_list_detailed_view.cc
index 4678411..a09bcf0 100644
--- a/ash/system/chromeos/network/network_state_list_detailed_view.cc
+++ b/ash/system/chromeos/network/network_state_list_detailed_view.cc
@@ -146,8 +146,9 @@ NetworkStateListDetailedView::~NetworkStateListDetailedView() {
}
void NetworkStateListDetailedView::ManagerChanged() {
+ UpdateNetworkListEntries();
UpdateHeaderButtons();
- UpdateNetworkEntries();
+ UpdateMobileAccount();
UpdateNetworkExtra();
Layout();
}
@@ -156,26 +157,28 @@ void NetworkStateListDetailedView::NetworkListChanged() {
NetworkStateList network_list;
NetworkStateHandler::Get()->GetNetworkList(&network_list);
UpdateNetworks(network_list);
+ UpdateNetworkListEntries();
+ UpdateHeaderButtons();
+ UpdateMobileAccount();
+ UpdateNetworkExtra();
Layout();
}
void NetworkStateListDetailedView::NetworkServiceChanged(
const chromeos::NetworkState* network) {
- UpdateNetworkState();
- RefreshNetworkList();
+ UpdateNetworkListEntries();
Layout();
}
void NetworkStateListDetailedView::NetworkIconChanged() {
- UpdateNetworkState();
- RefreshNetworkList();
+ UpdateNetworkListEntries();
Layout();
}
// Overridden from NetworkDetailedView:
void NetworkStateListDetailedView::Init() {
- CreateNetworkEntries();
+ CreateMobileAccount();
CreateNetworkExtra();
CreateHeaderEntry();
CreateHeaderButtons();
@@ -184,6 +187,10 @@ void NetworkStateListDetailedView::Init() {
handler->RequestScan();
handler->GetNetworkList(&network_list);
UpdateNetworks(network_list);
+ UpdateNetworkListEntries();
+ UpdateHeaderButtons();
+ UpdateMobileAccount();
+ UpdateNetworkExtra();
}
NetworkDetailedView::DetailedViewType
@@ -306,7 +313,7 @@ void NetworkStateListDetailedView::CreateHeaderButtons() {
footer()->AddButton(info_icon_);
}
-void NetworkStateListDetailedView::CreateNetworkEntries() {
+void NetworkStateListDetailedView::CreateMobileAccount() {
CreateScrollableList();
HoverHighlightView* container = new HoverHighlightView(this);
@@ -379,16 +386,12 @@ void NetworkStateListDetailedView::UpdateNetworks(
NetworkInfo* info = new NetworkInfo(network->path());
network_list_.push_back(info);
}
- UpdateNetworkState();
- RefreshNetworkList();
-
- UpdateHeaderButtons();
- UpdateNetworkEntries();
- UpdateNetworkExtra();
}
-void NetworkStateListDetailedView::UpdateNetworkState() {
+void NetworkStateListDetailedView::UpdateNetworkListEntries() {
NetworkStateHandler* handler = NetworkStateHandler::Get();
+
+ // First, update state for all networks
for (size_t i = 0; i < network_list_.size(); ++i) {
NetworkInfo* info = network_list_[i];
const chromeos::NetworkState* network =
@@ -402,9 +405,8 @@ void NetworkStateListDetailedView::UpdateNetworkState() {
info->highlight =
network->IsConnectedState() || network->IsConnectingState();
}
-}
-void NetworkStateListDetailedView::RefreshNetworkList() {
+ // Get the updated list entries
network_map_.clear();
std::set<std::string> new_service_paths;
bool needs_relayout = UpdateNetworkListEntries(&new_service_paths);
@@ -566,7 +568,7 @@ bool NetworkStateListDetailedView::UpdateNetworkListEntries(
return needs_relayout;
}
-void NetworkStateListDetailedView::UpdateNetworkEntries() {
+void NetworkStateListDetailedView::UpdateMobileAccount() {
view_mobile_account_->SetVisible(false);
setup_mobile_account_->SetVisible(false);
diff --git a/ash/system/chromeos/network/network_state_list_detailed_view.h b/ash/system/chromeos/network/network_state_list_detailed_view.h
index 1b19518..4c87723 100644
--- a/ash/system/chromeos/network/network_state_list_detailed_view.h
+++ b/ash/system/chromeos/network/network_state_list_detailed_view.h
@@ -70,20 +70,20 @@ class NetworkStateListDetailedView : public NetworkDetailedView,
// Create UI components.
void CreateHeaderEntry();
void CreateHeaderButtons();
- void CreateNetworkEntries();
+ void CreateMobileAccount();
void CreateNetworkExtra();
// Update UI components.
void UpdateHeaderButtons();
+
void UpdateNetworks(const NetworkStateList& networks);
- void UpdateNetworkState();
- void RefreshNetworkList();
+ void UpdateNetworkListEntries();
bool CreateOrUpdateInfoLabel(
int index, const string16& text, views::Label** label);
bool UpdateNetworkChild(int index, const NetworkInfo* info);
bool OrderChild(views::View* view, int index);
bool UpdateNetworkListEntries(std::set<std::string>* new_service_paths);
- void UpdateNetworkEntries();
+ void UpdateMobileAccount();
void UpdateNetworkExtra();
// Adds a settings entry when logged in, and an entry for changing proxy
diff --git a/ash/system/chromeos/network/tray_network.cc b/ash/system/chromeos/network/tray_network.cc
index 4611540..54a40eb 100644
--- a/ash/system/chromeos/network/tray_network.cc
+++ b/ash/system/chromeos/network/tray_network.cc
@@ -20,6 +20,7 @@
#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"
@@ -548,7 +549,9 @@ void TrayNetwork::ConnectToNetwork(const std::string& service_path) {
NetworkStateHandler::Get()->GetNetworkState(service_path);
if (!network)
return;
- if (!network->IsConnectedState()) {
+ if (CommandLine::ForCurrentProcess()->HasSwitch(
+ chromeos::switches::kEnableNewNetworkConfigurationHandlers) &&
+ !network->IsConnectedState()) {
chromeos::NetworkConfigurationHandler::Get()->Connect(
service_path,
base::Bind(&base::DoNothing),