1c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)// Copyright (c) 2013 The Chromium Authors. All rights reserved. 2c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 3c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)// found in the LICENSE file. 4c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 5c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#include "ash/session_state_delegate_stub.h" 6c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 7c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#include "ash/shell.h" 8c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#include "ash/shell/example_factory.h" 9868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#include "base/strings/string16.h" 10868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#include "base/strings/utf_string_conversions.h" 11c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 12c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)namespace ash { 13c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 14c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)SessionStateDelegateStub::SessionStateDelegateStub() : screen_locked_(false) { 15c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)} 16c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 17c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)SessionStateDelegateStub::~SessionStateDelegateStub() { 18c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)} 19c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 2090dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)int SessionStateDelegateStub::GetMaximumNumberOfLoggedInUsers() const { 2190dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) return 3; 2290dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)} 2390dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) 2490dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)int SessionStateDelegateStub::NumberOfLoggedInUsers() const { 2590dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) return 1; 26c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)} 27c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 28c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)bool SessionStateDelegateStub::IsActiveUserSessionStarted() const { 29c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) return true; 30c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)} 31c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 32c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)bool SessionStateDelegateStub::CanLockScreen() const { 33c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) return true; 34c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)} 35c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 36c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)bool SessionStateDelegateStub::IsScreenLocked() const { 37c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) return screen_locked_; 38c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)} 39c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 40c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)void SessionStateDelegateStub::LockScreen() { 41c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) shell::CreateLockScreen(); 42c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) screen_locked_ = true; 43c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) Shell::GetInstance()->UpdateShelfVisibility(); 44c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)} 45c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 46c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)void SessionStateDelegateStub::UnlockScreen() { 47c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) screen_locked_ = false; 48c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) Shell::GetInstance()->UpdateShelfVisibility(); 49c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)} 50c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 51bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdochbool SessionStateDelegateStub::IsUserSessionBlocked() const { 52bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch return !IsActiveUserSessionStarted() || IsScreenLocked(); 53bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch} 54bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch 5590dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)const base::string16 SessionStateDelegateStub::GetUserDisplayName( 5690dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) MultiProfileIndex index) const { 5790dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) return UTF8ToUTF16("stub-user"); 5890dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)} 5990dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) 6090dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)const std::string SessionStateDelegateStub::GetUserEmail( 6190dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) MultiProfileIndex index) const { 6290dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) return "stub-user@domain.com"; 6390dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)} 6490dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) 6590dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)const gfx::ImageSkia& SessionStateDelegateStub::GetUserImage( 6690dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) MultiProfileIndex index) const { 6790dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) return null_image_; 6890dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)} 6990dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) 70868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)void SessionStateDelegateStub::GetLoggedInUsers(UserIdList* users) { 7190dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)} 7290dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) 73868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)void SessionStateDelegateStub::SwitchActiveUser(const std::string& user_id) { 74868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)} 75868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) 76868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)void SessionStateDelegateStub::AddSessionStateObserver( 77868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) ash::SessionStateObserver* observer) { 78868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)} 79868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) 80868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)void SessionStateDelegateStub::RemoveSessionStateObserver( 81868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) ash::SessionStateObserver* observer) { 8290dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)} 8390dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) 84c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)} // namespace ash 85