Index: ash/common/system/chromeos/network/network_state_list_detailed_view.cc |
diff --git a/ash/common/system/chromeos/network/network_state_list_detailed_view.cc b/ash/common/system/chromeos/network/network_state_list_detailed_view.cc |
index 14e9becd36959fc94a68b70d4ebedd92cf45ccab..77f907adbeb16d55b431d1528e35ead797510162 100644 |
--- a/ash/common/system/chromeos/network/network_state_list_detailed_view.cc |
+++ b/ash/common/system/chromeos/network/network_state_list_detailed_view.cc |
@@ -8,11 +8,9 @@ |
#include <vector> |
#include "ash/common/ash_constants.h" |
-#include "ash/common/material_design/material_design_controller.h" |
#include "ash/common/system/chromeos/network/network_icon.h" |
#include "ash/common/system/chromeos/network/network_icon_animation.h" |
#include "ash/common/system/chromeos/network/network_info.h" |
-#include "ash/common/system/chromeos/network/network_list.h" |
#include "ash/common/system/chromeos/network/network_list_md.h" |
#include "ash/common/system/chromeos/network/network_list_view_base.h" |
#include "ash/common/system/chromeos/network/tray_network_state_observer.h" |
@@ -74,10 +72,6 @@ namespace ash { |
namespace tray { |
namespace { |
-bool UseMd() { |
- return MaterialDesignController::IsSystemTrayMenuMaterial(); |
-} |
- |
// Delay between scan requests. |
const int kRequestScanDelaySeconds = 10; |
@@ -169,95 +163,6 @@ class NetworkStateListDetailedView::InfoBubble |
//------------------------------------------------------------------------------ |
-const int kFadeIconMs = 500; |
- |
-// A throbber view that fades in/out when shown/hidden. |
-class ScanningThrobber : public ThrobberView { |
- public: |
- ScanningThrobber() { |
- SetPaintToLayer(); |
- layer()->SetFillsBoundsOpaquely(false); |
- layer()->SetOpacity(1.0); |
- accessible_name_ = |
- l10n_util::GetStringUTF16(IDS_ASH_STATUS_TRAY_WIFI_SCANNING_MESSAGE); |
- } |
- ~ScanningThrobber() override {} |
- |
- // views::View |
- void SetVisible(bool visible) override { |
- layer()->GetAnimator()->StopAnimating(); // Stop any previous animation. |
- ui::ScopedLayerAnimationSettings animation(layer()->GetAnimator()); |
- animation.SetTransitionDuration( |
- base::TimeDelta::FromMilliseconds(kFadeIconMs)); |
- layer()->SetOpacity(visible ? 1.0 : 0.0); |
- } |
- |
- void GetAccessibleNodeData(ui::AXNodeData* node_data) override { |
- node_data->SetName(accessible_name_); |
- node_data->role = ui::AX_ROLE_BUSY_INDICATOR; |
- } |
- |
- private: |
- base::string16 accessible_name_; |
- |
- DISALLOW_COPY_AND_ASSIGN(ScanningThrobber); |
-}; |
- |
-//------------------------------------------------------------------------------ |
- |
-// An image button showing the info icon similar to TrayPopupHeaderButton, |
-// but without the toggle properties, that fades in/out when shown/hidden. |
-class InfoIcon : public views::ImageButton { |
- public: |
- explicit InfoIcon(views::ButtonListener* listener) |
- : views::ImageButton(listener) { |
- ui::ResourceBundle& bundle = ui::ResourceBundle::GetSharedInstance(); |
- SetImage( |
- STATE_NORMAL, |
- bundle.GetImageNamed(IDR_AURA_UBER_TRAY_NETWORK_INFO).ToImageSkia()); |
- SetImage(STATE_HOVERED, |
- bundle.GetImageNamed(IDR_AURA_UBER_TRAY_NETWORK_INFO_HOVER) |
- .ToImageSkia()); |
- SetImageAlignment(ALIGN_CENTER, ALIGN_MIDDLE); |
- SetAccessibleName( |
- bundle.GetLocalizedString(IDS_ASH_STATUS_TRAY_NETWORK_INFO)); |
- SetPaintToLayer(); |
- layer()->SetFillsBoundsOpaquely(false); |
- layer()->SetOpacity(1.0); |
- } |
- |
- ~InfoIcon() override {} |
- |
- // views::View |
- gfx::Size GetPreferredSize() const override { |
- return gfx::Size(kTrayPopupItemMinHeight, kTrayPopupItemMinHeight); |
- } |
- |
- void SetVisible(bool visible) override { |
- layer()->GetAnimator()->StopAnimating(); // Stop any previous animation. |
- ui::ScopedLayerAnimationSettings animation(layer()->GetAnimator()); |
- animation.SetTransitionDuration( |
- base::TimeDelta::FromMilliseconds(kFadeIconMs)); |
- layer()->SetOpacity(visible ? 1.0 : 0.0); |
- } |
- |
- // views::CustomButton |
- void StateChanged(ButtonState old_state) override { |
- if (state() == STATE_HOVERED || state() == STATE_PRESSED) { |
- set_background(views::Background::CreateSolidBackground( |
- kTrayPopupHoverBackgroundColor)); |
- } else { |
- set_background(nullptr); |
- } |
- SchedulePaint(); |
- } |
- |
- private: |
- DISALLOW_COPY_AND_ASSIGN(InfoIcon); |
-}; |
- |
-//------------------------------------------------------------------------------ |
- |
// Special layout to overlap the scanning throbber and the info button. |
class InfoThrobberLayout : public views::LayoutManager { |
public: |
@@ -316,25 +221,16 @@ NetworkStateListDetailedView::NetworkStateListDetailedView( |
: NetworkDetailedView(owner), |
list_type_(list_type), |
login_(login), |
- prev_wifi_scanning_state_(false), |
- info_icon_(nullptr), |
- info_button_md_(nullptr), |
- settings_button_md_(nullptr), |
- proxy_settings_button_md_(nullptr), |
- info_bubble_(nullptr), |
- scanning_throbber_(nullptr) { |
+ info_button_(nullptr), |
+ settings_button_(nullptr), |
+ proxy_settings_button_(nullptr), |
+ info_bubble_(nullptr) { |
if (list_type == LIST_TYPE_VPN) { |
// Use a specialized class to list VPNs. |
network_list_view_.reset(new VPNListView(this)); |
} else { |
// Use a common class to list any other network types. |
- // TODO(varkha): NetworkListViewMd is a temporary fork of NetworkListView. |
- // NetworkListView will go away when Material Design becomes default. |
- // See crbug.com/614453. |
- if (UseMd()) |
- network_list_view_.reset(new NetworkListViewMd(this)); |
- else |
- network_list_view_.reset(new NetworkListView(this)); |
+ network_list_view_.reset(new NetworkListView(this)); |
} |
} |
@@ -353,15 +249,11 @@ void NetworkStateListDetailedView::Update() { |
void NetworkStateListDetailedView::Init() { |
Reset(); |
- info_icon_ = nullptr; |
- info_button_md_ = nullptr; |
- settings_button_md_ = nullptr; |
- proxy_settings_button_md_ = nullptr; |
- scanning_throbber_ = nullptr; |
+ info_button_ = nullptr; |
+ settings_button_ = nullptr; |
+ proxy_settings_button_ = nullptr; |
CreateScrollableList(); |
- if (!UseMd()) |
- CreateNetworkExtra(); |
CreateTitleRow(list_type_ == ListType::LIST_TYPE_NETWORK |
? IDS_ASH_STATUS_TRAY_NETWORK |
: IDS_ASH_STATUS_TRAY_VPN); |
@@ -380,12 +272,12 @@ NetworkStateListDetailedView::GetViewType() const { |
void NetworkStateListDetailedView::HandleButtonPressed(views::Button* sender, |
const ui::Event& event) { |
- if (sender == info_button_md_) { |
+ if (sender == info_button_) { |
ToggleInfoBubble(); |
return; |
- } else if (sender == settings_button_md_) { |
+ } else if (sender == settings_button_) { |
ShowSettings(); |
- } else if (sender == proxy_settings_button_md_) { |
+ } else if (sender == proxy_settings_button_) { |
WmShell::Get()->system_tray_controller()->ShowProxySettings(); |
} |
@@ -427,17 +319,17 @@ void NetworkStateListDetailedView::CreateExtraTitleRowButtons() { |
if (login_ == LoginStatus::LOCKED) |
return; |
- DCHECK(!info_button_md_); |
+ DCHECK(!info_button_); |
tri_view()->SetContainerVisible(TriView::Container::END, true); |
- info_button_md_ = new SystemMenuButton( |
+ info_button_ = new SystemMenuButton( |
this, TrayPopupInkDropStyle::HOST_CENTERED, kSystemMenuInfoIcon, |
IDS_ASH_STATUS_TRAY_NETWORK_INFO); |
- tri_view()->AddView(TriView::Container::END, info_button_md_); |
+ tri_view()->AddView(TriView::Container::END, info_button_); |
if (login_ != LoginStatus::NOT_LOGGED_IN) { |
- DCHECK(!settings_button_md_); |
- settings_button_md_ = new SystemMenuButton( |
+ DCHECK(!settings_button_); |
+ settings_button_ = new SystemMenuButton( |
this, TrayPopupInkDropStyle::HOST_CENTERED, kSystemMenuSettingsIcon, |
IDS_ASH_STATUS_TRAY_NETWORK_SETTINGS); |
@@ -446,14 +338,14 @@ void NetworkStateListDetailedView::CreateExtraTitleRowButtons() { |
// creation flow) when session is started but UI flow continues within |
// login UI, i.e., no browser window is yet avaialable. |
if (!WmShell::Get()->system_tray_delegate()->ShouldShowSettings()) |
- settings_button_md_->SetEnabled(false); |
+ settings_button_->SetEnabled(false); |
- tri_view()->AddView(TriView::Container::END, settings_button_md_); |
+ tri_view()->AddView(TriView::Container::END, settings_button_); |
} else { |
- proxy_settings_button_md_ = new SystemMenuButton( |
+ proxy_settings_button_ = new SystemMenuButton( |
this, TrayPopupInkDropStyle::HOST_CENTERED, kSystemMenuSettingsIcon, |
IDS_ASH_STATUS_TRAY_NETWORK_PROXY_SETTINGS); |
- tri_view()->AddView(TriView::Container::END, proxy_settings_button_md_); |
+ tri_view()->AddView(TriView::Container::END, proxy_settings_button_); |
} |
} |
@@ -464,104 +356,32 @@ void NetworkStateListDetailedView::ShowSettings() { |
WmShell::Get()->system_tray_controller()->ShowNetworkSettings(std::string()); |
} |
-void NetworkStateListDetailedView::CreateNetworkExtra() { |
- DCHECK(!UseMd()); |
-} |
- |
-void NetworkStateListDetailedView::SetScanningStateForThrobberView( |
- bool is_scanning) { |
- if (UseMd()) |
- return; |
- |
- // Hide the network info button if the device is scanning for Wi-Fi networks |
- // and display the WiFi scanning indicator. |
- info_icon_->SetVisible(!is_scanning); |
- scanning_throbber_->SetVisible(is_scanning); |
- // Set the element, network info button or the wifi scanning indicator, as |
- // focusable based on which one is active/visible. |
- // NOTE: As we do not want to lose focus from the network info throbber view, |
- // the order of below operation is important. |
- if (is_scanning) { |
- scanning_throbber_->SetFocusBehavior(FocusBehavior::ALWAYS); |
- info_icon_->SetFocusBehavior(FocusBehavior::NEVER); |
- } else { |
- info_icon_->SetFocusBehavior(FocusBehavior::ALWAYS); |
- scanning_throbber_->SetFocusBehavior(FocusBehavior::NEVER); |
- } |
- // If the Network Info view was in focus while this toggle operation was |
- // being performed then the focus should remain on this view. |
- if (info_icon_->HasFocus() && is_scanning) |
- scanning_throbber_->RequestFocus(); |
- else if (scanning_throbber_->HasFocus() && !is_scanning) |
- info_icon_->RequestFocus(); |
-} |
- |
-void NetworkStateListDetailedView::UpdateTechnologyButton( |
- TrayPopupHeaderButton* button, |
- const NetworkTypePattern& technology) { |
- NetworkStateHandler::TechnologyState state = |
- NetworkHandler::Get()->network_state_handler()->GetTechnologyState( |
- technology); |
- if (state == NetworkStateHandler::TECHNOLOGY_UNAVAILABLE) { |
- button->SetVisible(false); |
- return; |
- } |
- button->SetVisible(true); |
- if (state == NetworkStateHandler::TECHNOLOGY_AVAILABLE) { |
- button->SetEnabled(true); |
- button->SetToggled(true); |
- } else if (state == NetworkStateHandler::TECHNOLOGY_ENABLED) { |
- button->SetEnabled(true); |
- button->SetToggled(false); |
- } else if (state == NetworkStateHandler::TECHNOLOGY_ENABLING) { |
- button->SetEnabled(false); |
- button->SetToggled(false); |
- } else { // Initializing |
- button->SetEnabled(false); |
- button->SetToggled(true); |
- } |
-} |
- |
void NetworkStateListDetailedView::UpdateNetworkList() { |
network_list_view_->Update(); |
} |
void NetworkStateListDetailedView::UpdateHeaderButtons() { |
- if (proxy_settings_button_md_) { |
- proxy_settings_button_md_->SetEnabled( |
+ if (proxy_settings_button_) { |
+ proxy_settings_button_->SetEnabled( |
NetworkHandler::Get()->network_state_handler()->DefaultNetwork() != |
nullptr); |
} |
- |
if (list_type_ != LIST_TYPE_VPN) { |
bool scanning = |
NetworkHandler::Get()->network_state_handler()->GetScanningByType( |
NetworkTypePattern::WiFi()); |
ShowProgress(-1, scanning); |
- info_button_md_->SetTooltipText(l10n_util::GetStringUTF16( |
+ info_button_->SetTooltipText(l10n_util::GetStringUTF16( |
scanning ? IDS_ASH_STATUS_TRAY_WIFI_SCANNING_MESSAGE |
: IDS_ASH_STATUS_TRAY_NETWORK_INFO)); |
} |
} |
-bool NetworkStateListDetailedView::OrderChild(views::View* view, int index) { |
- if (scroll_content()->child_at(index) != view) { |
- scroll_content()->ReorderChildView(view, index); |
- return true; |
- } |
- return false; |
-} |
- |
-void NetworkStateListDetailedView::CreateSettingsEntry() { |
- DCHECK(!UseMd()); |
-} |
- |
void NetworkStateListDetailedView::ToggleInfoBubble() { |
if (ResetInfoBubble()) |
return; |
- info_bubble_ = new InfoBubble(UseMd() ? info_button_md_ : info_icon_, |
- CreateNetworkInfoView(), this); |
+ info_bubble_ = new InfoBubble(info_button_, CreateNetworkInfoView(), this); |
views::BubbleDialogDelegateView::CreateBubble(info_bubble_)->Show(); |
info_bubble_->NotifyAccessibilityEvent(ui::AX_EVENT_ALERT, false); |
} |
@@ -640,18 +460,6 @@ views::View* NetworkStateListDetailedView::CreateNetworkInfoView() { |
return container; |
} |
-const gfx::ImageSkia* |
-NetworkStateListDetailedView::GetControlledByExtensionIcon() { |
- // Lazily load the icon from the resource bundle. |
- if (controlled_by_extension_icon_.IsEmpty()) { |
- ui::ResourceBundle& rb = ui::ResourceBundle::GetSharedInstance(); |
- controlled_by_extension_icon_ = |
- rb.GetImageNamed(IDR_AURA_UBER_TRAY_NETWORK_CONTROLLED); |
- } |
- DCHECK(!controlled_by_extension_icon_.IsEmpty()); |
- return controlled_by_extension_icon_.ToImageSkia(); |
-} |
- |
views::View* NetworkStateListDetailedView::CreateControlledByExtensionView( |
const NetworkInfo& info) { |
NetworkingConfigDelegate* networking_config_delegate = |
@@ -672,7 +480,9 @@ views::View* NetworkStateListDetailedView::CreateControlledByExtensionView( |
views::ImageView* controlled_icon = |
new FixedSizedImageView(kTrayPopupDetailsIconWidth, 0); |
- controlled_icon->SetImage(GetControlledByExtensionIcon()); |
+ controlled_icon->SetImage( |
+ ui::ResourceBundle::GetSharedInstance().GetImageSkiaNamed( |
+ IDR_AURA_UBER_TRAY_NETWORK_CONTROLLED)); |
controlled_icon->SetTooltipText(tooltip_text); |
return controlled_icon; |
} |
@@ -687,13 +497,6 @@ void NetworkStateListDetailedView::CallRequestScan() { |
base::TimeDelta::FromSeconds(kRequestScanDelaySeconds)); |
} |
-void NetworkStateListDetailedView::ToggleMobile() { |
- NetworkStateHandler* handler = NetworkHandler::Get()->network_state_handler(); |
- bool enabled = handler->IsTechnologyEnabled(NetworkTypePattern::Mobile()); |
- chromeos::NetworkConnect::Get()->SetTechnologyEnabled( |
- NetworkTypePattern::Mobile(), !enabled); |
-} |
- |
views::View* NetworkStateListDetailedView::CreateViewForNetwork( |
const NetworkInfo& info) { |
HoverHighlightView* container = new HoverHighlightView(this); |
@@ -704,10 +507,6 @@ views::View* NetworkStateListDetailedView::CreateViewForNetwork( |
else |
container->AddIconAndLabel(info.image, info.label, info.highlight); |
container->set_tooltip(info.tooltip); |
- if (!UseMd()) { |
- container->SetBorder( |
- views::CreateEmptyBorder(0, kTrayPopupPaddingHorizontal, 0, 0)); |
- } |
views::View* controlled_icon = CreateControlledByExtensionView(info); |
if (controlled_icon) |
container->AddChildView(controlled_icon); |