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 fb8b1fdc7b0adfa8f37d807f9e71be051217d20b..abec9d75b79f5f30dfff12f36ca5dd14e5443a71 100644 |
--- a/components/arc/power/arc_power_bridge.cc |
+++ b/components/arc/power/arc_power_bridge.cc |
@@ -14,6 +14,12 @@ |
namespace arc { |
+namespace { |
+ |
+constexpr uint32_t kMinVersionForSetInteractive = 1; |
+ |
+} // namespace |
+ |
ArcPowerBridge::ArcPowerBridge(ArcBridgeService* bridge_service) |
: ArcService(bridge_service), binding_(this) { |
arc_bridge_service()->power()->AddObserver(this); |
@@ -26,12 +32,8 @@ ArcPowerBridge::~ArcPowerBridge() { |
void ArcPowerBridge::OnInstanceReady() { |
mojom::PowerInstance* power_instance = |
- arc_bridge_service()->power()->instance(); |
- if (!power_instance) { |
- LOG(ERROR) << "OnPowerInstanceReady called, but no power instance found"; |
- return; |
- } |
- |
+ arc_bridge_service()->power()->GetInstanceForMethod("Init"); |
+ DCHECK(power_instance); |
power_instance->Init(binding_.CreateInterfacePtrAndBind()); |
ash::Shell::GetInstance()->display_configurator()->AddObserver(this); |
} |
@@ -44,11 +46,10 @@ void ArcPowerBridge::OnInstanceClosed() { |
void ArcPowerBridge::OnPowerStateChanged( |
chromeos::DisplayPowerState power_state) { |
mojom::PowerInstance* power_instance = |
- arc_bridge_service()->power()->instance(); |
- if (!power_instance) { |
- LOG(ERROR) << "PowerInstance is not available"; |
+ arc_bridge_service()->power()->GetInstanceForMethod( |
+ "SetInteractive", kMinVersionForSetInteractive); |
+ if (!power_instance) |
return; |
- } |
bool enabled = (power_state != chromeos::DISPLAY_POWER_ALL_OFF); |
power_instance->SetInteractive(enabled); |