Chromium Code Reviews| 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"; |