1f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)// Copyright 2013 The Chromium Authors. All rights reserved.
2f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
3f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)// found in the LICENSE file.
4f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)
5f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)#include "ash/system/user/tray_user_separator.h"
6f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)
75c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu#include "ash/session/session_state_delegate.h"
8f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)#include "ash/shell.h"
9f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)#include "ui/views/view.h"
10f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)
11f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)namespace ash {
12f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)
13f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)TrayUserSeparator::TrayUserSeparator(SystemTray* system_tray)
14f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)    : SystemTrayItem(system_tray),
15f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)      separator_shown_(false) {
16f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)}
17f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)
18f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)views::View* TrayUserSeparator::CreateTrayView(user::LoginStatus status) {
19f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)  return NULL;
20f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)}
21f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)
22f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)views::View* TrayUserSeparator::CreateDefaultView(user::LoginStatus status) {
23f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)  if (status == user::LOGGED_IN_NONE)
24f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)    return NULL;
25f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)
26f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)  const SessionStateDelegate* session_state_delegate =
27f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)      Shell::GetInstance()->session_state_delegate();
28f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)
2903b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)  // If the screen is locked, a system modal dialog or a single user is shown,
3003b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)  // show nothing.
31f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)  if (session_state_delegate->IsUserSessionBlocked() ||
3203b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)      Shell::GetInstance()->IsSystemModalWindowOpen() ||
33f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)      session_state_delegate->NumberOfLoggedInUsers() < 2)
34f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)    return NULL;
35f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)
36f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)  separator_shown_ = true;
37f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)  return new views::View();
38f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)}
39f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)
40f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)views::View* TrayUserSeparator::CreateDetailedView(user::LoginStatus status) {
41f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)  return NULL;
42f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)}
43f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)
44f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)void TrayUserSeparator::DestroyDefaultView() {
45f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)  separator_shown_ = false;
46f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)}
47f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)
48f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)}  // namespace ash
49