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

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

Issue 15734010: chromeos: Add delay between screen off and lock. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 7 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 | Annotate | Revision Log
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/power_policy_controller.h" 5 #include "chromeos/dbus/power_policy_controller.h"
6 6
7 #include "base/format_macros.h" 7 #include "base/format_macros.h"
8 #include "base/logging.h" 8 #include "base/logging.h"
9 #include "base/string_util.h" 9 #include "base/string_util.h"
10 #include "base/stringprintf.h" 10 #include "base/stringprintf.h"
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after
136 manager_ = NULL; 136 manager_ = NULL;
137 } 137 }
138 138
139 void PowerPolicyController::ApplyPrefs(const PrefValues& values) { 139 void PowerPolicyController::ApplyPrefs(const PrefValues& values) {
140 prefs_policy_.Clear(); 140 prefs_policy_.Clear();
141 141
142 power_manager::PowerManagementPolicy::Delays* delays = 142 power_manager::PowerManagementPolicy::Delays* delays =
143 prefs_policy_.mutable_ac_delays(); 143 prefs_policy_.mutable_ac_delays();
144 delays->set_screen_dim_ms(values.ac_screen_dim_delay_ms); 144 delays->set_screen_dim_ms(values.ac_screen_dim_delay_ms);
145 delays->set_screen_off_ms(values.ac_screen_off_delay_ms); 145 delays->set_screen_off_ms(values.ac_screen_off_delay_ms);
146 delays->set_screen_lock_ms(values.ac_screen_lock_delay_ms); 146 delays->set_screen_lock_ms(
147 values.enable_screen_lock ? values.ac_screen_lock_delay_ms : 0);
Mattias Nissler (ping if slow) 2013/05/31 13:22:46 This would become: if (values.ac_screen_lock_dela
bartfab (slow) 2013/05/31 13:35:59 Actually, I think we would want to use the minimum
bartfab (slow) 2013/05/31 13:37:32 Let me try that again, hopefully without confusing
Daniel Erat 2013/05/31 13:41:58 Yes, I agree. Like Mattias suggested, I'll just re
147 delays->set_idle_warning_ms(values.ac_idle_warning_delay_ms); 148 delays->set_idle_warning_ms(values.ac_idle_warning_delay_ms);
148 delays->set_idle_ms(values.ac_idle_delay_ms); 149 delays->set_idle_ms(values.ac_idle_delay_ms);
149 150
150 // If screen-locking is enabled, ensure that the screen is locked when
151 // it's turned off due to user inactivity.
Mattias Nissler (ping if slow) 2013/05/31 13:22:46 I guess we want to retain this block.
152 if (values.enable_screen_lock && delays->screen_off_ms() > 0 &&
153 (delays->screen_lock_ms() <= 0 ||
154 delays->screen_off_ms() < delays->screen_lock_ms())) {
155 delays->set_screen_lock_ms(delays->screen_off_ms());
156 }
157
158 delays = prefs_policy_.mutable_battery_delays(); 151 delays = prefs_policy_.mutable_battery_delays();
159 delays->set_screen_dim_ms(values.battery_screen_dim_delay_ms); 152 delays->set_screen_dim_ms(values.battery_screen_dim_delay_ms);
160 delays->set_screen_off_ms(values.battery_screen_off_delay_ms); 153 delays->set_screen_off_ms(values.battery_screen_off_delay_ms);
161 delays->set_screen_lock_ms(values.battery_screen_lock_delay_ms); 154 delays->set_screen_lock_ms(
155 values.enable_screen_lock ? values.battery_screen_lock_delay_ms : 0);
Mattias Nissler (ping if slow) 2013/05/31 13:22:46 same for battery obviously.
162 delays->set_idle_warning_ms(values.battery_idle_warning_delay_ms); 156 delays->set_idle_warning_ms(values.battery_idle_warning_delay_ms);
163 delays->set_idle_ms(values.battery_idle_delay_ms); 157 delays->set_idle_ms(values.battery_idle_delay_ms);
164 if (values.enable_screen_lock && delays->screen_off_ms() > 0 &&
165 (delays->screen_lock_ms() <= 0 ||
166 delays->screen_off_ms() < delays->screen_lock_ms())) {
167 delays->set_screen_lock_ms(delays->screen_off_ms());
168 }
169 158
170 prefs_policy_.set_idle_action(GetProtoAction(values.idle_action)); 159 prefs_policy_.set_idle_action(GetProtoAction(values.idle_action));
171 prefs_policy_.set_lid_closed_action(GetProtoAction(values.lid_closed_action)); 160 prefs_policy_.set_lid_closed_action(GetProtoAction(values.lid_closed_action));
172 prefs_policy_.set_use_audio_activity(values.use_audio_activity); 161 prefs_policy_.set_use_audio_activity(values.use_audio_activity);
173 prefs_policy_.set_use_video_activity(values.use_video_activity); 162 prefs_policy_.set_use_video_activity(values.use_video_activity);
174 prefs_policy_.set_presentation_idle_delay_factor( 163 prefs_policy_.set_presentation_idle_delay_factor(
175 values.presentation_idle_delay_factor); 164 values.presentation_idle_delay_factor);
176 prefs_policy_.set_user_activity_screen_dim_delay_factor( 165 prefs_policy_.set_user_activity_screen_dim_delay_factor(
177 values.user_activity_screen_dim_delay_factor); 166 values.user_activity_screen_dim_delay_factor);
178 167
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
216 void PowerPolicyController::SendCurrentPolicy() { 205 void PowerPolicyController::SendCurrentPolicy() {
217 std::string reason; 206 std::string reason;
218 207
219 power_manager::PowerManagementPolicy policy = prefs_policy_; 208 power_manager::PowerManagementPolicy policy = prefs_policy_;
220 if (prefs_were_set_) 209 if (prefs_were_set_)
221 reason = "Prefs"; 210 reason = "Prefs";
222 211
223 if (honor_screen_wake_locks_ && !screen_wake_locks_.empty()) { 212 if (honor_screen_wake_locks_ && !screen_wake_locks_.empty()) {
224 policy.mutable_ac_delays()->set_screen_dim_ms(0); 213 policy.mutable_ac_delays()->set_screen_dim_ms(0);
225 policy.mutable_ac_delays()->set_screen_off_ms(0); 214 policy.mutable_ac_delays()->set_screen_off_ms(0);
215 policy.mutable_ac_delays()->set_screen_lock_ms(0);
226 policy.mutable_battery_delays()->set_screen_dim_ms(0); 216 policy.mutable_battery_delays()->set_screen_dim_ms(0);
227 policy.mutable_battery_delays()->set_screen_off_ms(0); 217 policy.mutable_battery_delays()->set_screen_off_ms(0);
218 policy.mutable_battery_delays()->set_screen_lock_ms(0);
228 } 219 }
229 220
230 if ((!screen_wake_locks_.empty() || !system_wake_locks_.empty()) && 221 if ((!screen_wake_locks_.empty() || !system_wake_locks_.empty()) &&
231 (!policy.has_idle_action() || policy.idle_action() == 222 (!policy.has_idle_action() || policy.idle_action() ==
232 power_manager::PowerManagementPolicy_Action_SUSPEND)) { 223 power_manager::PowerManagementPolicy_Action_SUSPEND)) {
233 policy.set_idle_action( 224 policy.set_idle_action(
234 power_manager::PowerManagementPolicy_Action_DO_NOTHING); 225 power_manager::PowerManagementPolicy_Action_DO_NOTHING);
235 } 226 }
236 227
237 for (WakeLockMap::const_iterator it = screen_wake_locks_.begin(); 228 for (WakeLockMap::const_iterator it = screen_wake_locks_.begin();
238 it != screen_wake_locks_.end(); ++it) { 229 it != screen_wake_locks_.end(); ++it) {
239 reason += (reason.empty() ? "" : ", ") + it->second; 230 reason += (reason.empty() ? "" : ", ") + it->second;
240 } 231 }
241 for (WakeLockMap::const_iterator it = system_wake_locks_.begin(); 232 for (WakeLockMap::const_iterator it = system_wake_locks_.begin();
242 it != system_wake_locks_.end(); ++it) { 233 it != system_wake_locks_.end(); ++it) {
243 reason += (reason.empty() ? "" : ", ") + it->second; 234 reason += (reason.empty() ? "" : ", ") + it->second;
244 } 235 }
245 236
246 if (!reason.empty()) 237 if (!reason.empty())
247 policy.set_reason(reason); 238 policy.set_reason(reason);
248 client_->SetPolicy(policy); 239 client_->SetPolicy(policy);
249 } 240 }
250 241
251 void PowerPolicyController::SendEmptyPolicy() { 242 void PowerPolicyController::SendEmptyPolicy() {
252 client_->SetPolicy(power_manager::PowerManagementPolicy()); 243 client_->SetPolicy(power_manager::PowerManagementPolicy());
253 } 244 }
254 245
255 } // namespace chromeos 246 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698