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

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

Issue 2805433002: Adding ArcBridge interface for synchronizing brightness settings (Closed)
Patch Set: Created 3 years, 8 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) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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_manager_client.h" 5 #include "chromeos/dbus/power_manager_client.h"
6 6
7 #include <stdint.h> 7 #include <stdint.h>
8 8
9 #include <algorithm> 9 #include <algorithm>
10 #include <memory> 10 #include <memory>
(...skipping 168 matching lines...) Expand 10 before | Expand all | Expand 10 after
179 dbus::MethodCall method_call( 179 dbus::MethodCall method_call(
180 power_manager::kPowerManagerInterface, 180 power_manager::kPowerManagerInterface,
181 power_manager::kGetScreenBrightnessPercentMethod); 181 power_manager::kGetScreenBrightnessPercentMethod);
182 power_manager_proxy_->CallMethod( 182 power_manager_proxy_->CallMethod(
183 &method_call, 183 &method_call,
184 dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, 184 dbus::ObjectProxy::TIMEOUT_USE_DEFAULT,
185 base::Bind(&PowerManagerClientImpl::OnGetScreenBrightnessPercent, 185 base::Bind(&PowerManagerClientImpl::OnGetScreenBrightnessPercent,
186 weak_ptr_factory_.GetWeakPtr(), callback)); 186 weak_ptr_factory_.GetWeakPtr(), callback));
187 } 187 }
188 188
189 void SyncScreenBrightness() override {
190 const GetScreenBrightnessPercentCallback& callback =
191 base::Bind(&PowerManagerClientImpl::NotifyBrightnessChanges,
192 weak_ptr_factory_.GetWeakPtr());
Muyuan 2017/04/05 18:41:08 You can inline callback into next line. Also there
yueli 2017/04/05 19:59:46 Done.
193 GetScreenBrightnessPercent(callback);
194 }
195
196 void NotifyBrightnessChanges(double percent) {
197 for (auto& observer : observers_)
198 observer.NotifyBrightnessChange(percent);
199 }
200
189 void RequestStatusUpdate() override { 201 void RequestStatusUpdate() override {
190 POWER_LOG(USER) << "RequestStatusUpdate"; 202 POWER_LOG(USER) << "RequestStatusUpdate";
191 dbus::MethodCall method_call( 203 dbus::MethodCall method_call(
192 power_manager::kPowerManagerInterface, 204 power_manager::kPowerManagerInterface,
193 power_manager::kGetPowerSupplyPropertiesMethod); 205 power_manager::kGetPowerSupplyPropertiesMethod);
194 power_manager_proxy_->CallMethod( 206 power_manager_proxy_->CallMethod(
195 &method_call, 207 &method_call,
196 dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, 208 dbus::ObjectProxy::TIMEOUT_USE_DEFAULT,
197 base::Bind(&PowerManagerClientImpl::OnGetPowerSupplyPropertiesMethod, 209 base::Bind(&PowerManagerClientImpl::OnGetPowerSupplyPropertiesMethod,
198 weak_ptr_factory_.GetWeakPtr())); 210 weak_ptr_factory_.GetWeakPtr()));
(...skipping 261 matching lines...) Expand 10 before | Expand all | Expand 10 after
460 int32_t brightness_level = 0; 472 int32_t brightness_level = 0;
461 bool user_initiated = 0; 473 bool user_initiated = 0;
462 if (!(reader.PopInt32(&brightness_level) && 474 if (!(reader.PopInt32(&brightness_level) &&
463 reader.PopBool(&user_initiated))) { 475 reader.PopBool(&user_initiated))) {
464 POWER_LOG(ERROR) << "Brightness changed signal had incorrect parameters: " 476 POWER_LOG(ERROR) << "Brightness changed signal had incorrect parameters: "
465 << signal->ToString(); 477 << signal->ToString();
466 return; 478 return;
467 } 479 }
468 POWER_LOG(DEBUG) << "Brightness changed to " << brightness_level 480 POWER_LOG(DEBUG) << "Brightness changed to " << brightness_level
469 << ": user initiated " << user_initiated; 481 << ": user initiated " << user_initiated;
470 for (auto& observer : observers_) 482 for (auto& observer : observers_) {
471 observer.BrightnessChanged(brightness_level, user_initiated); 483 observer.BrightnessChanged(brightness_level, user_initiated);
484 observer.NotifyBrightnessChange(static_cast<double>(brightness_level));
485 }
472 } 486 }
473 487
474 void PeripheralBatteryStatusReceived(dbus::Signal* signal) { 488 void PeripheralBatteryStatusReceived(dbus::Signal* signal) {
475 dbus::MessageReader reader(signal); 489 dbus::MessageReader reader(signal);
476 power_manager::PeripheralBatteryStatus protobuf_status; 490 power_manager::PeripheralBatteryStatus protobuf_status;
477 if (!reader.PopArrayOfBytesAsProto(&protobuf_status)) { 491 if (!reader.PopArrayOfBytesAsProto(&protobuf_status)) {
478 POWER_LOG(ERROR) << "Unable to decode protocol buffer from " 492 POWER_LOG(ERROR) << "Unable to decode protocol buffer from "
479 << power_manager::kPeripheralBatteryStatusSignal 493 << power_manager::kPeripheralBatteryStatusSignal
480 << " signal"; 494 << " signal";
481 return; 495 return;
(...skipping 461 matching lines...) Expand 10 before | Expand all | Expand 10 after
943 // static 957 // static
944 PowerManagerClient* PowerManagerClient::Create( 958 PowerManagerClient* PowerManagerClient::Create(
945 DBusClientImplementationType type) { 959 DBusClientImplementationType type) {
946 if (type == REAL_DBUS_CLIENT_IMPLEMENTATION) 960 if (type == REAL_DBUS_CLIENT_IMPLEMENTATION)
947 return new PowerManagerClientImpl(); 961 return new PowerManagerClientImpl();
948 DCHECK_EQ(FAKE_DBUS_CLIENT_IMPLEMENTATION, type); 962 DCHECK_EQ(FAKE_DBUS_CLIENT_IMPLEMENTATION, type);
949 return new FakePowerManagerClient(); 963 return new FakePowerManagerClient();
950 } 964 }
951 965
952 } // namespace chromeos 966 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698