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

Commit 26861ca7 authored by Winni Chang's avatar Winni Chang
Browse files

Refactor RequestSadAction

Some AVR sends out multiple <Initiate ARC> messages. Upon receiving
these, the TV responds with corresponding RequestSadAction, and the
AVR is required to reply with multiple SADs. However, SADs sent out
later may not be fully responded to before the ARC times out,
resulting in these SADs not being updated.

Bug: 361295470
Test: Tested with Samsung Q99C, CEC can now update SADs correctly.
Flag: EXEMPT bugfix

Change-Id: Ide9c417faa4a18b59d567aedb1a9ad222f621112
parent 5b8b3ed4
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -60,6 +60,12 @@ final class SetArcTransmissionStateAction extends HdmiCecFeatureAction {
    boolean start() {
        // Seq #37.
        if (mEnabled) {
            // Avoid triggering duplicate RequestSadAction events.
            // This could lead to unexpected responses from the AVR and cause the TV to receive data
            // out of order. The SAD report does not provide information about the order of events.
            if ((tv().hasAction(RequestSadAction.class))) {
                return true;
            }
            // Request SADs before enabling ARC
            RequestSadAction action = new RequestSadAction(
                    localDevice(), Constants.ADDR_AUDIO_SYSTEM,