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

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: Update To new methods and naming 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 <algorithm>
8
7 #include "base/bind.h" 9 #include "base/bind.h"
8 #include "base/bind_helpers.h" 10 #include "base/bind_helpers.h"
9 #include "base/time/time.h" 11 #include "base/time/time.h"
10 12
11 namespace chromeos { 13 namespace chromeos {
14 namespace {
15
16 const int kDefaultBatteryEmptySec = 6 * 3600; // 6 hours
Daniel Erat 2015/06/29 19:34:18 please give this a better name and add a comment d
mozartalouis 2015/06/29 20:06:01 Done.
17
18 } // namespace
12 19
13 FakePowerManagerClient::FakePowerManagerClient() 20 FakePowerManagerClient::FakePowerManagerClient()
14 : num_request_restart_calls_(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 UpdateBatteryPercentage(50);
34 UpdateIsCalculatingBatteryTime(false);
35 UpdateExternalPower(
36 power_manager::PowerSupplyProperties_ExternalPower_DISCONNECTED);
37 UpdateBatteryState(
38 power_manager::PowerSupplyProperties_BatteryState_DISCHARGING);
26 } 39 }
27 40
28 void FakePowerManagerClient::AddObserver(Observer* observer) { 41 void FakePowerManagerClient::AddObserver(Observer* observer) {
29 observers_.AddObserver(observer); 42 observers_.AddObserver(observer);
30 } 43 }
31 44
32 void FakePowerManagerClient::RemoveObserver(Observer* observer) { 45 void FakePowerManagerClient::RemoveObserver(Observer* observer) {
33 observers_.RemoveObserver(observer); 46 observers_.RemoveObserver(observer);
34 } 47 }
35 48
36 bool FakePowerManagerClient::HasObserver(const Observer* observer) const { 49 bool FakePowerManagerClient::HasObserver(const Observer* observer) const {
37 return false; 50 return observers_.HasObserver(observer);
38 } 51 }
39 52
40 void FakePowerManagerClient::SetRenderProcessManagerDelegate( 53 void FakePowerManagerClient::SetRenderProcessManagerDelegate(
41 base::WeakPtr<RenderProcessManagerDelegate> delegate) { 54 base::WeakPtr<RenderProcessManagerDelegate> delegate) {
42 render_process_manager_delegate_ = delegate; 55 render_process_manager_delegate_ = delegate;
43 } 56 }
44 57
45 void FakePowerManagerClient::DecreaseScreenBrightness(bool allow_off) { 58 void FakePowerManagerClient::DecreaseScreenBrightness(bool allow_off) {
46 } 59 }
47 60
48 void FakePowerManagerClient::IncreaseScreenBrightness() { 61 void FakePowerManagerClient::IncreaseScreenBrightness() {
49 } 62 }
50 63
51 void FakePowerManagerClient::SetScreenBrightnessPercent(double percent, 64 void FakePowerManagerClient::SetScreenBrightnessPercent(double percent,
52 bool gradual) { 65 bool gradual) {
53 } 66 }
54 67
55 void FakePowerManagerClient::GetScreenBrightnessPercent( 68 void FakePowerManagerClient::GetScreenBrightnessPercent(
56 const GetScreenBrightnessPercentCallback& callback) { 69 const GetScreenBrightnessPercentCallback& callback) {
57 } 70 }
58 71
59 void FakePowerManagerClient::DecreaseKeyboardBrightness() { 72 void FakePowerManagerClient::DecreaseKeyboardBrightness() {
60 } 73 }
61 74
62 void FakePowerManagerClient::IncreaseKeyboardBrightness() { 75 void FakePowerManagerClient::IncreaseKeyboardBrightness() {
63 } 76 }
64 77
65 void FakePowerManagerClient::RequestStatusUpdate() { 78 void FakePowerManagerClient::RequestStatusUpdate() {
79 UpdateObserver();
66 } 80 }
67 81
68 void FakePowerManagerClient::RequestSuspend() { 82 void FakePowerManagerClient::RequestSuspend() {
69 } 83 }
70 84
71 void FakePowerManagerClient::RequestRestart() { 85 void FakePowerManagerClient::RequestRestart() {
72 ++num_request_restart_calls_; 86 ++num_request_restart_calls_;
73 } 87 }
74 88
75 void FakePowerManagerClient::RequestShutdown() { 89 void FakePowerManagerClient::RequestShutdown() {
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
122 FOR_EACH_OBSERVER(Observer, observers_, DarkSuspendImminent()); 136 FOR_EACH_OBSERVER(Observer, observers_, DarkSuspendImminent());
123 } 137 }
124 138
125 void FakePowerManagerClient::SendPowerButtonEvent( 139 void FakePowerManagerClient::SendPowerButtonEvent(
126 bool down, 140 bool down,
127 const base::TimeTicks& timestamp) { 141 const base::TimeTicks& timestamp) {
128 FOR_EACH_OBSERVER(Observer, observers_, 142 FOR_EACH_OBSERVER(Observer, observers_,
129 PowerButtonEventReceived(down, timestamp)); 143 PowerButtonEventReceived(down, timestamp));
130 } 144 }
131 145
146 void FakePowerManagerClient::UpdateBatteryPercentage(int percentage) {
147 props_.set_battery_percent(percentage);
148 UpdateObserver();
149 }
150
151 void FakePowerManagerClient::UpdateExternalPower(
152 power_manager::PowerSupplyProperties::ExternalPower power_source) {
153 switch (power_source) {
Daniel Erat 2015/06/29 19:34:18 why do you need this switch statement? can't you j
mozartalouis 2015/06/29 20:06:01 It was there before just in case we wanted to do f
154 case power_manager::PowerSupplyProperties_ExternalPower_USB:
155 // Say that the system is charging on USB if charging is enabled
156 // (i.e. a low-power charger).
157 props_.set_external_power(
158 power_manager::PowerSupplyProperties_ExternalPower_USB);
159 break;
160 case power_manager::PowerSupplyProperties_ExternalPower_AC:
161 // Say that the system is charging on AC if charging is enabled.
162 props_.set_external_power(
163 power_manager::PowerSupplyProperties_ExternalPower_AC);
164 break;
165 case power_manager::PowerSupplyProperties_ExternalPower_DISCONNECTED:
166 // Say discharging without any charger connected.
167 props_.set_external_power(
168 power_manager::PowerSupplyProperties_ExternalPower_DISCONNECTED);
169 break;
170 default:
171 NOTREACHED() << "Unhandled power source " << power_source;
172 }
173 UpdateObserver();
174 }
175
176 void FakePowerManagerClient::UpdateBatteryState(
177 power_manager::PowerSupplyProperties::BatteryState state) {
178 props_.set_battery_state(state);
179
180 int64 remaining_battery_time = std::max(
Daniel Erat 2015/06/29 19:34:18 please either rename to "remaining_battery_sec" or
mozartalouis 2015/06/29 20:06:01 Done.
181 1, (int)props_.battery_percent() * kDefaultBatteryEmptySec / 100);
Daniel Erat 2015/06/29 19:34:18 use static_cast<> rather than a c-style cast: http
mozartalouis 2015/06/29 20:06:01 Done.
182
183 if (props_.battery_percent() == 100 &&
184 props_.battery_state() ==
185 power_manager::PowerSupplyProperties_BatteryState_CHARGING) {
186 props_.set_battery_state(
187 power_manager::PowerSupplyProperties_BatteryState_FULL);
Daniel Erat 2015/06/29 19:34:18 you should also set battery_time_to_empty_sec and
mozartalouis 2015/06/29 20:06:01 Done.
188 } else if (props_.battery_state() ==
189 power_manager::PowerSupplyProperties_BatteryState_CHARGING) {
190 props_.set_battery_state(
191 power_manager::PowerSupplyProperties_BatteryState_CHARGING);
192 props_.set_battery_time_to_full_sec(
193 std::max(static_cast<int64>(1),
194 kDefaultBatteryEmptySec - remaining_battery_time));
Daniel Erat 2015/06/29 19:34:18 set battery_time_to_empty_sec to 0
mozartalouis 2015/06/29 20:06:01 Done.
195 } else {
196 props_.set_battery_state(
197 power_manager::PowerSupplyProperties_BatteryState_DISCHARGING);
198 props_.set_battery_time_to_empty_sec(remaining_battery_time);
Daniel Erat 2015/06/29 19:34:18 set battery_time_to_full_sec to 0
mozartalouis 2015/06/29 20:06:01 Done.
199 }
200 UpdateObserver();
201 }
202
203 void FakePowerManagerClient::UpdateIsCalculatingBatteryTime(
204 bool is_calculating) {
205 props_.set_is_calculating_battery_time(is_calculating);
206 UpdateObserver();
207 }
208
209 void FakePowerManagerClient::UpdateObserver() {
Daniel Erat 2015/06/29 19:34:18 maybe rename this to NotifyObservers()? (there can
mozartalouis 2015/06/29 20:06:01 Done.
210 FOR_EACH_OBSERVER(Observer, observers_, PowerChanged(props_));
211 }
212
132 void FakePowerManagerClient::HandleSuspendReadiness() { 213 void FakePowerManagerClient::HandleSuspendReadiness() {
133 CHECK(num_pending_suspend_readiness_callbacks_ > 0); 214 CHECK(num_pending_suspend_readiness_callbacks_ > 0);
134 215
135 --num_pending_suspend_readiness_callbacks_; 216 --num_pending_suspend_readiness_callbacks_;
136 } 217 }
137 218
138 } // namespace chromeos 219 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698