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

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: Fixed Unit test bug 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_restart_calls_(0),
15 num_request_shutdown_calls_(0), 21 num_request_shutdown_calls_(0),
16 num_set_policy_calls_(0), 22 num_set_policy_calls_(0),
17 num_set_is_projecting_calls_(0), 23 num_set_is_projecting_calls_(0),
18 num_pending_suspend_readiness_callbacks_(0), 24 num_pending_suspend_readiness_callbacks_(0),
19 is_projecting_(false) { 25 is_projecting_(false) {
20 } 26 }
21 27
22 FakePowerManagerClient::~FakePowerManagerClient() { 28 FakePowerManagerClient::~FakePowerManagerClient() {
23 } 29 }
24 30
25 void FakePowerManagerClient::Init(dbus::Bus* bus) { 31 void FakePowerManagerClient::Init(dbus::Bus* bus) {
32 UpdatePowerProperties(
33 50, false, power_manager::PowerSupplyProperties_BatteryState_DISCHARGING,
34 power_manager::PowerSupplyProperties_ExternalPower_DISCONNECTED);
26 } 35 }
27 36
28 void FakePowerManagerClient::AddObserver(Observer* observer) { 37 void FakePowerManagerClient::AddObserver(Observer* observer) {
29 observers_.AddObserver(observer); 38 observers_.AddObserver(observer);
30 } 39 }
31 40
32 void FakePowerManagerClient::RemoveObserver(Observer* observer) { 41 void FakePowerManagerClient::RemoveObserver(Observer* observer) {
33 observers_.RemoveObserver(observer); 42 observers_.RemoveObserver(observer);
34 } 43 }
35 44
36 bool FakePowerManagerClient::HasObserver(const Observer* observer) const { 45 bool FakePowerManagerClient::HasObserver(const Observer* observer) const {
37 return false; 46 return observers_.HasObserver(observer);
38 } 47 }
39 48
40 void FakePowerManagerClient::SetRenderProcessManagerDelegate( 49 void FakePowerManagerClient::SetRenderProcessManagerDelegate(
41 base::WeakPtr<RenderProcessManagerDelegate> delegate) { 50 base::WeakPtr<RenderProcessManagerDelegate> delegate) {
42 render_process_manager_delegate_ = delegate; 51 render_process_manager_delegate_ = delegate;
43 } 52 }
44 53
45 void FakePowerManagerClient::DecreaseScreenBrightness(bool allow_off) { 54 void FakePowerManagerClient::DecreaseScreenBrightness(bool allow_off) {
46 } 55 }
47 56
48 void FakePowerManagerClient::IncreaseScreenBrightness() { 57 void FakePowerManagerClient::IncreaseScreenBrightness() {
49 } 58 }
50 59
51 void FakePowerManagerClient::SetScreenBrightnessPercent(double percent, 60 void FakePowerManagerClient::SetScreenBrightnessPercent(double percent,
52 bool gradual) { 61 bool gradual) {
53 } 62 }
54 63
55 void FakePowerManagerClient::GetScreenBrightnessPercent( 64 void FakePowerManagerClient::GetScreenBrightnessPercent(
56 const GetScreenBrightnessPercentCallback& callback) { 65 const GetScreenBrightnessPercentCallback& callback) {
57 } 66 }
58 67
59 void FakePowerManagerClient::DecreaseKeyboardBrightness() { 68 void FakePowerManagerClient::DecreaseKeyboardBrightness() {
60 } 69 }
61 70
62 void FakePowerManagerClient::IncreaseKeyboardBrightness() { 71 void FakePowerManagerClient::IncreaseKeyboardBrightness() {
63 } 72 }
64 73
65 void FakePowerManagerClient::RequestStatusUpdate() { 74 void FakePowerManagerClient::RequestStatusUpdate() {
75 NotifyObservers();
66 } 76 }
67 77
68 void FakePowerManagerClient::RequestSuspend() { 78 void FakePowerManagerClient::RequestSuspend() {
69 } 79 }
70 80
71 void FakePowerManagerClient::RequestRestart() { 81 void FakePowerManagerClient::RequestRestart() {
72 ++num_request_restart_calls_; 82 ++num_request_restart_calls_;
73 } 83 }
74 84
75 void FakePowerManagerClient::RequestShutdown() { 85 void FakePowerManagerClient::RequestShutdown() {
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
122 FOR_EACH_OBSERVER(Observer, observers_, DarkSuspendImminent()); 132 FOR_EACH_OBSERVER(Observer, observers_, DarkSuspendImminent());
123 } 133 }
124 134
125 void FakePowerManagerClient::SendPowerButtonEvent( 135 void FakePowerManagerClient::SendPowerButtonEvent(
126 bool down, 136 bool down,
127 const base::TimeTicks& timestamp) { 137 const base::TimeTicks& timestamp) {
128 FOR_EACH_OBSERVER(Observer, observers_, 138 FOR_EACH_OBSERVER(Observer, observers_,
129 PowerButtonEventReceived(down, timestamp)); 139 PowerButtonEventReceived(down, timestamp));
130 } 140 }
131 141
142 void FakePowerManagerClient::UpdatePowerProperties(
143 int battery_percent,
144 bool is_calculating_battery_time,
Daniel Erat 2015/07/09 15:41:47 i'm wondering if this method should also take the
oshima 2015/07/09 17:10:15 If that's the case, I'd suggest to just pass proto
Daniel Erat 2015/07/09 22:01:38 just passing the proto into this class seems fine
145 power_manager::PowerSupplyProperties::BatteryState battery_state,
146 power_manager::PowerSupplyProperties::ExternalPower external_power) {
147 int remaining_battery_sec =
148 battery_percent * kDefaultBatteryLifeSpanSec / 100;
149
150 props_.set_battery_percent(battery_percent);
151 props_.set_is_calculating_battery_time(is_calculating_battery_time);
152 props_.set_battery_state(battery_state);
153 props_.set_external_power(external_power);
154
155 // Sets |time_to_full| and |time_to_empty| based on the set properties
156 if (battery_percent == 100 &&
Daniel Erat 2015/07/09 15:41:47 to match powerd, this code should just be: swit
mozartalouis 2015/07/14 20:01:27 Done.
157 (battery_state ==
158 power_manager::PowerSupplyProperties_BatteryState_CHARGING ||
159 battery_state ==
160 power_manager::PowerSupplyProperties_BatteryState_FULL)) {
161 props_.set_battery_time_to_full_sec(0);
162 props_.set_battery_time_to_empty_sec(0);
163 } else if (battery_state ==
164 power_manager::PowerSupplyProperties_BatteryState_CHARGING) {
165 props_.set_battery_time_to_full_sec(kDefaultBatteryLifeSpanSec -
166 remaining_battery_sec);
167 props_.set_battery_time_to_empty_sec(0);
168 } else {
169 props_.set_battery_time_to_full_sec(0);
170 props_.set_battery_time_to_empty_sec(remaining_battery_sec);
171 }
172
173 NotifyObservers();
174 }
175
176 void FakePowerManagerClient::NotifyObservers() {
177 FOR_EACH_OBSERVER(Observer, observers_, PowerChanged(props_));
178 }
179
132 void FakePowerManagerClient::HandleSuspendReadiness() { 180 void FakePowerManagerClient::HandleSuspendReadiness() {
133 CHECK(num_pending_suspend_readiness_callbacks_ > 0); 181 CHECK(num_pending_suspend_readiness_callbacks_ > 0);
134 182
135 --num_pending_suspend_readiness_callbacks_; 183 --num_pending_suspend_readiness_callbacks_;
136 } 184 }
137 185
138 } // namespace chromeos 186 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698