From 8ecb7219dff70d31376b236e6f5a954a61a3486b Mon Sep 17 00:00:00 2001 From: Yuncheol Heo Date: Mon, 27 Oct 2014 17:29:42 +0900 Subject: [PATCH] CEC: Send together sending . - Some TV doesn't ask the menu status actively, so we'll send it together when sending . Bug: 18109775 Change-Id: I4f7378bb9feaa11d9c9e5a2f6633e19cd41a5fc5 --- .../android/server/hdmi/HdmiCecLocalDevicePlayback.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/services/core/java/com/android/server/hdmi/HdmiCecLocalDevicePlayback.java b/services/core/java/com/android/server/hdmi/HdmiCecLocalDevicePlayback.java index da508e872b492..85a1a152b9ca8 100644 --- a/services/core/java/com/android/server/hdmi/HdmiCecLocalDevicePlayback.java +++ b/services/core/java/com/android/server/hdmi/HdmiCecLocalDevicePlayback.java @@ -158,7 +158,7 @@ final class HdmiCecLocalDevicePlayback extends HdmiCecLocalDevice { assertRunOnServiceThread(); int physicalAddress = HdmiUtils.twoBytesToInt(message.getParams()); maySetActiveSource(physicalAddress); - maySendActiveSource(); + maySendActiveSource(message.getSource()); wakeUpIfActiveSource(); return true; // Broadcast message. } @@ -198,10 +198,13 @@ final class HdmiCecLocalDevicePlayback extends HdmiCecLocalDevice { } } - private void maySendActiveSource() { + private void maySendActiveSource(int dest) { if (mIsActiveSource) { mService.sendCecCommand(HdmiCecMessageBuilder.buildActiveSource( mAddress, mService.getPhysicalAddress())); + // Always reports menu-status active to receive RCP. + mService.sendCecCommand(HdmiCecMessageBuilder.buildReportMenuStatus( + mAddress, dest, Constants.MENU_STATE_ACTIVATED)); } } @@ -209,7 +212,7 @@ final class HdmiCecLocalDevicePlayback extends HdmiCecLocalDevice { @ServiceThreadOnly protected boolean handleRequestActiveSource(HdmiCecMessage message) { assertRunOnServiceThread(); - maySendActiveSource(); + maySendActiveSource(message.getSource()); return true; // Broadcast message. }