Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8ecb7219 authored by Yuncheol Heo's avatar Yuncheol Heo
Browse files

CEC: Send <ReportMenuStatus:active> together sending <ActiveSource>.

- Some TV doesn't ask the menu status actively, so we'll send it
  together when sending <ActiveSource>.

Bug: 18109775
Change-Id: I4f7378bb9feaa11d9c9e5a2f6633e19cd41a5fc5
parent 5b820a8a
Loading
Loading
Loading
Loading
+6 −3
Original line number Diff line number Diff line
@@ -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.
    }