1a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch// Copyright 2014 The Chromium Authors. All rights reserved.
2a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch// Use of this source code is governed by a BSD-style license that can be
3a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch// found in the LICENSE file.
4a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch
5a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch#include "ash/system/user/config.h"
6a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch
75c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu#include "ash/session/session_state_delegate.h"
8a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch#include "ash/shell.h"
9a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch#include "ash/shell_delegate.h"
10a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch
11a02191e04bc25c4935f804f2c080ae28663d096dBen Murdochnamespace ash {
12a02191e04bc25c4935f804f2c080ae28663d096dBen Murdochnamespace tray {
13a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch
14a02191e04bc25c4935f804f2c080ae28663d096dBen Murdochnamespace {
15a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch
16a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch// Returns true if session is blocked by e.g. the login screen.
17a02191e04bc25c4935f804f2c080ae28663d096dBen Murdochbool IsUserSessionBlocked() {
18a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch  return Shell::GetInstance()
19a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch             ->session_state_delegate()
20a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch             ->IsUserSessionBlocked();
21a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch}
22a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch
23a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch}  // namespace
24a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch
25a02191e04bc25c4935f804f2c080ae28663d096dBen Murdochbool IsMultiProfileSupportedAndUserActive() {
26a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch  return Shell::GetInstance()->delegate()->IsMultiProfilesEnabled() &&
27a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch         !IsUserSessionBlocked();
28a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch}
29a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch
30a02191e04bc25c4935f804f2c080ae28663d096dBen Murdochbool IsMultiAccountSupportedAndUserActive() {
31a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch  return Shell::GetInstance()->delegate()->IsMultiAccountEnabled() &&
32a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch         !IsUserSessionBlocked();
33a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch}
34a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch
35a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch}  // namespace tray
36a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch}  // namespace ash
37