Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(266)

Side by Side Diff: chromeos/dbus/fake_power_manager_client.cc

Issue 1206733002: ChromeOs Power Emulation Impl (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Updated Unittest and removed power manager restrictions Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chromeos/dbus/fake_power_manager_client.h" 5 #include "chromeos/dbus/fake_power_manager_client.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/bind_helpers.h" 8 #include "base/bind_helpers.h"
9 #include "base/logging.h"
9 #include "base/time/time.h" 10 #include "base/time/time.h"
10 11
11 namespace chromeos { 12 namespace chromeos {
13 namespace {
14
15 const int kDefaultBatteryLifeSpanSec = 6 * 3600; // 6 hours
16
17 } // namespace
12 18
13 FakePowerManagerClient::FakePowerManagerClient() 19 FakePowerManagerClient::FakePowerManagerClient()
14 : num_request_restart_calls_(0), 20 : num_request_notify_observers_(0),
21 num_request_restart_calls_(0),
15 num_request_shutdown_calls_(0), 22 num_request_shutdown_calls_(0),
16 num_set_policy_calls_(0), 23 num_set_policy_calls_(0),
17 num_set_is_projecting_calls_(0), 24 num_set_is_projecting_calls_(0),
18 num_pending_suspend_readiness_callbacks_(0), 25 num_pending_suspend_readiness_callbacks_(0),
19 is_projecting_(false) { 26 is_projecting_(false) {
20 } 27 }
21 28
22 FakePowerManagerClient::~FakePowerManagerClient() { 29 FakePowerManagerClient::~FakePowerManagerClient() {
23 } 30 }
24 31
25 void FakePowerManagerClient::Init(dbus::Bus* bus) { 32 void FakePowerManagerClient::Init(dbus::Bus* bus) {
33 UpdatePowerProperties(
34 50, false, power_manager::PowerSupplyProperties_BatteryState_DISCHARGING,
35 power_manager::PowerSupplyProperties_ExternalPower_DISCONNECTED);
oshima 2015/07/09 00:15:39 do you still need this?
mozartalouis 2015/07/09 01:56:15 We need it for when chrome starts on the Linux env
oshima 2015/07/09 17:10:15 If this is necessary, please call this in your tes
26 } 36 }
27 37
28 void FakePowerManagerClient::AddObserver(Observer* observer) { 38 void FakePowerManagerClient::AddObserver(Observer* observer) {
29 observers_.AddObserver(observer); 39 observers_.AddObserver(observer);
30 } 40 }
31 41
32 void FakePowerManagerClient::RemoveObserver(Observer* observer) { 42 void FakePowerManagerClient::RemoveObserver(Observer* observer) {
33 observers_.RemoveObserver(observer); 43 observers_.RemoveObserver(observer);
34 } 44 }
35 45
36 bool FakePowerManagerClient::HasObserver(const Observer* observer) const { 46 bool FakePowerManagerClient::HasObserver(const Observer* observer) const {
37 return false; 47 return observers_.HasObserver(observer);
38 } 48 }
39 49
40 void FakePowerManagerClient::SetRenderProcessManagerDelegate( 50 void FakePowerManagerClient::SetRenderProcessManagerDelegate(
41 base::WeakPtr<RenderProcessManagerDelegate> delegate) { 51 base::WeakPtr<RenderProcessManagerDelegate> delegate) {
42 render_process_manager_delegate_ = delegate; 52 render_process_manager_delegate_ = delegate;
43 } 53 }
44 54
45 void FakePowerManagerClient::DecreaseScreenBrightness(bool allow_off) { 55 void FakePowerManagerClient::DecreaseScreenBrightness(bool allow_off) {
46 } 56 }
47 57
48 void FakePowerManagerClient::IncreaseScreenBrightness() { 58 void FakePowerManagerClient::IncreaseScreenBrightness() {
49 } 59 }
50 60
51 void FakePowerManagerClient::SetScreenBrightnessPercent(double percent, 61 void FakePowerManagerClient::SetScreenBrightnessPercent(double percent,
52 bool gradual) { 62 bool gradual) {
53 } 63 }
54 64
55 void FakePowerManagerClient::GetScreenBrightnessPercent( 65 void FakePowerManagerClient::GetScreenBrightnessPercent(
56 const GetScreenBrightnessPercentCallback& callback) { 66 const GetScreenBrightnessPercentCallback& callback) {
57 } 67 }
58 68
59 void FakePowerManagerClient::DecreaseKeyboardBrightness() { 69 void FakePowerManagerClient::DecreaseKeyboardBrightness() {
60 } 70 }
61 71
62 void FakePowerManagerClient::IncreaseKeyboardBrightness() { 72 void FakePowerManagerClient::IncreaseKeyboardBrightness() {
63 } 73 }
64 74
65 void FakePowerManagerClient::RequestStatusUpdate() { 75 void FakePowerManagerClient::RequestStatusUpdate() {
76 NotifyObservers();
66 } 77 }
67 78
68 void FakePowerManagerClient::RequestSuspend() { 79 void FakePowerManagerClient::RequestSuspend() {
69 } 80 }
70 81
71 void FakePowerManagerClient::RequestRestart() { 82 void FakePowerManagerClient::RequestRestart() {
72 ++num_request_restart_calls_; 83 ++num_request_restart_calls_;
73 } 84 }
74 85
75 void FakePowerManagerClient::RequestShutdown() { 86 void FakePowerManagerClient::RequestShutdown() {
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
122 FOR_EACH_OBSERVER(Observer, observers_, DarkSuspendImminent()); 133 FOR_EACH_OBSERVER(Observer, observers_, DarkSuspendImminent());
123 } 134 }
124 135
125 void FakePowerManagerClient::SendPowerButtonEvent( 136 void FakePowerManagerClient::SendPowerButtonEvent(
126 bool down, 137 bool down,
127 const base::TimeTicks& timestamp) { 138 const base::TimeTicks& timestamp) {
128 FOR_EACH_OBSERVER(Observer, observers_, 139 FOR_EACH_OBSERVER(Observer, observers_,
129 PowerButtonEventReceived(down, timestamp)); 140 PowerButtonEventReceived(down, timestamp));
130 } 141 }
131 142
143 void FakePowerManagerClient::UpdatePowerProperties(
144 int battery_percent,
145 bool is_calculating_battery_time,
146 power_manager::PowerSupplyProperties::BatteryState battery_state,
147 power_manager::PowerSupplyProperties::ExternalPower external_power) {
148 int remaining_battery_sec =
149 battery_percent * kDefaultBatteryLifeSpanSec / 100;
150
151 props_.set_battery_percent(battery_percent);
152 props_.set_is_calculating_battery_time(is_calculating_battery_time);
153 props_.set_battery_state(battery_state);
154 props_.set_external_power(external_power);
155
156 // Sets |time_to_full| and |time_to_empty| based on the set properties
157 if (battery_percent == 100 &&
158 (battery_state ==
159 power_manager::PowerSupplyProperties_BatteryState_CHARGING ||
160 battery_state ==
161 power_manager::PowerSupplyProperties_BatteryState_FULL)) {
162 props_.set_battery_time_to_full_sec(0);
163 props_.set_battery_time_to_empty_sec(0);
164 } else if (battery_state ==
165 power_manager::PowerSupplyProperties_BatteryState_CHARGING) {
166 props_.set_battery_time_to_full_sec(kDefaultBatteryLifeSpanSec -
167 remaining_battery_sec);
168 props_.set_battery_time_to_empty_sec(0);
169 } else {
170 props_.set_battery_time_to_full_sec(0);
171 props_.set_battery_time_to_empty_sec(remaining_battery_sec);
172 }
173
174 NotifyObservers();
175 }
176
177 void FakePowerManagerClient::NotifyObservers() {
178 FOR_EACH_OBSERVER(Observer, observers_, PowerChanged(props_));
179 ++num_request_notify_observers_;
180 }
181
132 void FakePowerManagerClient::HandleSuspendReadiness() { 182 void FakePowerManagerClient::HandleSuspendReadiness() {
133 CHECK(num_pending_suspend_readiness_callbacks_ > 0); 183 CHECK(num_pending_suspend_readiness_callbacks_ > 0);
134 184
135 --num_pending_suspend_readiness_callbacks_; 185 --num_pending_suspend_readiness_callbacks_;
136 } 186 }
137 187
138 } // namespace chromeos 188 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698