From 5ad57168da6456e8e4935aaa8512a7f77b74b0a1 Mon Sep 17 00:00:00 2001 From: Jinsuk Kim Date: Mon, 21 Jul 2014 13:31:45 +0900 Subject: [PATCH] Invoke callback for HdmiControlService.deviceSelect() for internal source The call should be always successful if device to switch to is internal TV source as setting it as the active source doesn't require communication with other devices. Added the missing callback invocation. Change-Id: I9968098316a955509f4de0e7af6f4407087ad4a2 --- .../java/com/android/server/hdmi/HdmiCecLocalDeviceTv.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/services/core/java/com/android/server/hdmi/HdmiCecLocalDeviceTv.java b/services/core/java/com/android/server/hdmi/HdmiCecLocalDeviceTv.java index 6aa86a72fc315..a66f473fb7897 100644 --- a/services/core/java/com/android/server/hdmi/HdmiCecLocalDeviceTv.java +++ b/services/core/java/com/android/server/hdmi/HdmiCecLocalDeviceTv.java @@ -135,7 +135,10 @@ final class HdmiCecLocalDeviceTv extends HdmiCecLocalDevice { void deviceSelect(int targetAddress, IHdmiControlCallback callback) { assertRunOnServiceThread(); if (targetAddress == Constants.ADDR_INTERNAL) { - handleSelectInternalSource(callback); + handleSelectInternalSource(); + // Switching to internal source is always successful even when CEC control is disabled. + setActiveSource(targetAddress); + invokeCallback(callback, HdmiControlManager.RESULT_SUCCESS); return; } if (!mService.isControlEnabled()) { @@ -153,7 +156,7 @@ final class HdmiCecLocalDeviceTv extends HdmiCecLocalDevice { } @ServiceThreadOnly - private void handleSelectInternalSource(IHdmiControlCallback callback) { + private void handleSelectInternalSource() { assertRunOnServiceThread(); // Seq #18 if (mService.isControlEnabled() && getActiveSource() != mAddress) {