[go: nahoru, domu]

blob: c592867461a4c396940ef8f6f65c4cda0321ed06 [file] [log] [blame]
Avi Drissman3a215d1e2022-09-07 19:43:091// Copyright 2016 The Chromium Authors
erg8f7f2a62016-11-03 00:20:202// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
James Cook346c8c62017-07-18 19:38:375#ifndef ASH_WM_LOCK_STATE_CONTROLLER_TEST_API_H_
6#define ASH_WM_LOCK_STATE_CONTROLLER_TEST_API_H_
erg8f7f2a62016-11-03 00:20:207
erg8f7f2a62016-11-03 00:20:208#include "ash/wm/lock_state_controller.h"
Arthur Sonzogni834e018f2023-04-22 10:20:029#include "base/memory/raw_ptr.h"
erg8f7f2a62016-11-03 00:20:2010
11namespace ash {
12
Qiang Xu90fc06d2017-10-14 01:31:3913// Helper class used by tests to access LockStateController's internal state.
erg8f7f2a62016-11-03 00:20:2014class LockStateControllerTestApi {
15 public:
16 explicit LockStateControllerTestApi(LockStateController* controller);
Peter Boströmec31a042021-09-16 23:37:3417
18 LockStateControllerTestApi(const LockStateControllerTestApi&) = delete;
19 LockStateControllerTestApi& operator=(const LockStateControllerTestApi&) =
20 delete;
21
erg8f7f2a62016-11-03 00:20:2022 ~LockStateControllerTestApi();
23
jamescookd9f152f2016-11-15 00:53:0824 void set_shutdown_controller(ShutdownController* shutdown_controller) {
25 controller_->shutdown_controller_ = shutdown_controller;
26 }
erg8f7f2a62016-11-03 00:20:2027
erg8f7f2a62016-11-03 00:20:2028 bool shutdown_timer_is_running() const {
29 return controller_->pre_shutdown_timer_.IsRunning();
30 }
31 bool real_shutdown_timer_is_running() const {
32 return controller_->real_shutdown_timer_.IsRunning();
33 }
34 bool is_animating_lock() const { return controller_->animating_lock_; }
erg8f7f2a62016-11-03 00:20:2035
erg8f7f2a62016-11-03 00:20:2036 void trigger_shutdown_timeout() {
37 controller_->OnPreShutdownAnimationTimeout();
38 controller_->pre_shutdown_timer_.Stop();
39 }
40 void trigger_real_shutdown_timeout() {
41 controller_->OnRealPowerTimeout();
42 controller_->real_shutdown_timer_.Stop();
43 }
44
minchff787332024-01-22 21:15:5845 void set_pine_image_callback(base::OnceClosure callback) {
46 controller_->pine_image_callback_for_test_ = std::move(callback);
47 }
48
erg8f7f2a62016-11-03 00:20:2049 private:
Bartek Nowierskideb75842023-12-27 02:32:4250 raw_ptr<LockStateController, DanglingUntriaged> controller_; // not owned
erg8f7f2a62016-11-03 00:20:2051};
52
erg8f7f2a62016-11-03 00:20:2053} // namespace ash
54
James Cook346c8c62017-07-18 19:38:3755#endif // ASH_WM_LOCK_STATE_CONTROLLER_TEST_API_H_