diff --git a/services/core/java/com/android/server/hdmi/DeviceSelectAction.java b/services/core/java/com/android/server/hdmi/DeviceSelectAction.java index cb47bb25f1525b6904162cbda41abacad1d0f13d..86a8e36d748d3aad35088c516b77b003a41d174f 100644 --- a/services/core/java/com/android/server/hdmi/DeviceSelectAction.java +++ b/services/core/java/com/android/server/hdmi/DeviceSelectAction.java @@ -103,10 +103,11 @@ final class DeviceSelectAction extends HdmiCecFeatureAction { if (mIsCec20) { sendSetStreamPath(); } - if (!mIsCec20 || mTarget.getDevicePowerStatus() - == HdmiControlManager.POWER_STATUS_UNKNOWN) { + int targetPowerStatus = localDevice().mService.getHdmiCecNetwork() + .getCecDeviceInfo(getTargetAddress()).getDevicePowerStatus(); + if (!mIsCec20 || targetPowerStatus == HdmiControlManager.POWER_STATUS_UNKNOWN) { queryDevicePowerStatus(); - } else if (mTarget.getDevicePowerStatus() == HdmiControlManager.POWER_STATUS_ON) { + } else if (targetPowerStatus == HdmiControlManager.POWER_STATUS_ON) { invokeCallbackAndFinish(HdmiControlManager.RESULT_SUCCESS); return true; }