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

Unified Diff: components/arc/power/arc_power_bridge.cc

Issue 2805433002: Adding ArcBridge interface for synchronizing brightness settings (Closed)
Patch Set: Refactoring 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 side-by-side diff with in-line comments
Download patch
Index: components/arc/power/arc_power_bridge.cc
diff --git a/components/arc/power/arc_power_bridge.cc b/components/arc/power/arc_power_bridge.cc
index a9a47f52230fa89212c416b9dfca5a0d4cbbd55d..e0b50f84199d084d4ce77d3ab1d181959eab2f03 100644
--- a/components/arc/power/arc_power_bridge.cc
+++ b/components/arc/power/arc_power_bridge.cc
@@ -17,7 +17,7 @@
namespace arc {
ArcPowerBridge::ArcPowerBridge(ArcBridgeService* bridge_service)
- : ArcService(bridge_service), binding_(this) {
+ : ArcService(bridge_service), binding_(this), weak_ptr_factory_(this) {
arc_bridge_service()->power()->AddObserver(this);
}
@@ -34,6 +34,10 @@ void ArcPowerBridge::OnInstanceReady() {
ash::Shell::GetInstance()->display_configurator()->AddObserver(this);
chromeos::DBusThreadManager::Get()->GetPowerManagerClient()->
AddObserver(this);
+ chromeos::DBusThreadManager::Get()
+ ->GetPowerManagerClient()
+ ->GetScreenBrightnessPercent(base::Bind(&ArcPowerBridge::UpdateBrightness,
+ weak_ptr_factory_.GetWeakPtr()));
}
void ArcPowerBridge::OnInstanceClosed() {
@@ -74,6 +78,18 @@ void ArcPowerBridge::OnPowerStateChanged(
power_instance->SetInteractive(enabled);
}
+void ArcPowerBridge::UpdateBrightness(double percent) {
+ mojom::PowerInstance* power_instance = ARC_GET_INSTANCE_FOR_METHOD(
+ arc_bridge_service()->power(), UpdateBrightness);
+ if (!power_instance)
+ return;
+ power_instance->UpdateBrightness(percent);
Daniel Erat 2017/04/05 23:43:38 nit: just do: if (power_instance) power_ins
+}
+
+void ArcPowerBridge::BrightnessChanged(int level, bool user_initiated) {
Daniel Erat 2017/04/05 23:43:38 please make order of methods in .cc files match or
yueli 2017/04/06 01:12:37 Done.
+ UpdateBrightness(static_cast<double>(level));
+}
+
void ArcPowerBridge::OnAcquireDisplayWakeLock(mojom::DisplayWakeLockType type) {
if (!chromeos::PowerPolicyController::IsInitialized()) {
LOG(WARNING) << "PowerPolicyController is not available";
@@ -126,6 +142,13 @@ void ArcPowerBridge::IsDisplayOn(const IsDisplayOnCallback& callback) {
ash::Shell::GetInstance()->display_configurator()->IsDisplayOn());
}
+void ArcPowerBridge::SetBrightness(double percent) {
+ chromeos::DBusThreadManager::Get()
+ ->GetPowerManagerClient()
+ ->SetScreenBrightnessPercent(percent, true);
+ return;
Daniel Erat 2017/04/05 23:43:38 remove pointless return statement
yueli 2017/04/06 01:12:37 Done.
+}
+
void ArcPowerBridge::ReleaseAllDisplayWakeLocks() {
if (!chromeos::PowerPolicyController::IsInitialized()) {
LOG(WARNING) << "PowerPolicyController is not available";
« components/arc/power/arc_power_bridge.h ('K') | « components/arc/power/arc_power_bridge.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698