#include "ash/system/chromeos/network/tray_vpn.h"
+#include "ash/metrics/user_metrics_recorder.h"
+#include "ash/session/session_state_delegate.h"
#include "ash/shell.h"
-#include "ash/system/chromeos/network/network_icon_animation.h"
#include "ash/system/chromeos/network/network_state_list_detailed_view.h"
#include "ash/system/tray/system_tray.h"
#include "ash/system/tray/system_tray_delegate.h"
#include "ash/system/tray/tray_popup_label_button.h"
#include "chromeos/network/network_state.h"
#include "chromeos/network/network_state_handler.h"
-#include "chromeos/network/shill_property_util.h"
#include "grit/ash_strings.h"
+#include "grit/ui_chromeos_strings.h"
#include "third_party/cros_system_api/dbus/service_constants.h"
#include "ui/base/l10n/l10n_util.h"
-#include "ui/base/resource/resource_bundle.h"
+#include "ui/chromeos/network/network_icon.h"
+#include "ui/chromeos/network/network_icon_animation.h"
using chromeos::NetworkHandler;
using chromeos::NetworkState;
using chromeos::NetworkTypePattern;
namespace ash {
-namespace internal {
-
namespace tray {
class VpnDefaultView : public TrayItemMore,
- public network_icon::AnimationObserver {
+ public ui::network_icon::AnimationObserver {
public:
VpnDefaultView(SystemTrayItem* owner, bool show_more)
: TrayItemMore(owner, show_more) {
}
virtual ~VpnDefaultView() {
- network_icon::NetworkIconAnimation::GetInstance()->RemoveObserver(this);
+ ui::network_icon::NetworkIconAnimation::GetInstance()->RemoveObserver(this);
}
static bool ShouldShow() {
bool animating = false;
GetNetworkStateHandlerImageAndLabel(&image, &label, &animating);
if (animating)
- network_icon::NetworkIconAnimation::GetInstance()->AddObserver(this);
+ ui::network_icon::NetworkIconAnimation::GetInstance()->AddObserver(this);
else
- network_icon::NetworkIconAnimation::GetInstance()->RemoveObserver(this);
+ ui::network_icon::NetworkIconAnimation::GetInstance()->RemoveObserver(
+ this);
SetImage(&image);
SetLabel(label);
SetAccessibleName(label);
}
- // network_icon::AnimationObserver
- virtual void NetworkIconChanged() OVERRIDE {
+ // ui::network_icon::AnimationObserver
+ virtual void NetworkIconChanged() override {
Update();
}
const NetworkState* vpn =
handler->FirstNetworkByType(NetworkTypePattern::VPN());
if (!vpn || (vpn->connection_state() == shill::kStateIdle)) {
- *image = network_icon::GetImageForDisconnectedNetwork(
- network_icon::ICON_TYPE_DEFAULT_VIEW, shill::kTypeVPN);
+ *image = ui::network_icon::GetImageForDisconnectedNetwork(
+ ui::network_icon::ICON_TYPE_DEFAULT_VIEW, shill::kTypeVPN);
if (label) {
*label = l10n_util::GetStringUTF16(
IDS_ASH_STATUS_TRAY_VPN_DISCONNECTED);
return;
}
*animating = vpn->IsConnectingState();
- *image = network_icon::GetImageForNetwork(
- vpn, network_icon::ICON_TYPE_DEFAULT_VIEW);
+ *image = ui::network_icon::GetImageForNetwork(
+ vpn, ui::network_icon::ICON_TYPE_DEFAULT_VIEW);
if (label) {
- *label = network_icon::GetLabelForNetwork(
- vpn, network_icon::ICON_TYPE_DEFAULT_VIEW);
+ *label = ui::network_icon::GetLabelForNetwork(
+ vpn, ui::network_icon::ICON_TYPE_DEFAULT_VIEW);
}
}
if (!tray::VpnDefaultView::ShouldShow())
return NULL;
- default_ = new tray::VpnDefaultView(this, status != user::LOGGED_IN_LOCKED);
+ bool userAddingRunning = ash::Shell::GetInstance()
+ ->session_state_delegate()
+ ->IsInSecondaryLoginScreen();
+
+ default_ = new tray::VpnDefaultView(
+ this, status != user::LOGGED_IN_LOCKED && !userAddingRunning);
+
return default_;
}
if (!chromeos::NetworkHandler::IsInitialized())
return NULL;
+ Shell::GetInstance()->metrics()->RecordUserMetricsAction(
+ ash::UMA_STATUS_AREA_DETAILED_VPN_VIEW);
detailed_ = new tray::NetworkStateListDetailedView(
this, tray::NetworkStateListDetailedView::LIST_TYPE_VPN, status);
detailed_->Init();
detailed_->NetworkServiceChanged(network);
}
-} // namespace internal
} // namespace ash