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

Commit 56b09938 authored by Nathalie Le Clair's avatar Nathalie Le Clair Committed by Android (Google) Code Review
Browse files

Merge "Playback device to not send <Inactive Source> before <Standby>"

parents f3ad010d 3f3223fb
Loading
Loading
Loading
Loading
+4 −5
Original line number Diff line number Diff line
@@ -136,12 +136,8 @@ public class HdmiCecLocalDevicePlayback extends HdmiCecLocalDeviceSource {
        if (!mService.isControlEnabled()) {
            return;
        }
        if (isActiveSource()) {
            mService.sendCecCommand(HdmiCecMessageBuilder.buildInactiveSource(
                    mAddress, mService.getPhysicalAddress()));
        }
        boolean wasActiveSource = isActiveSource();
        // Invalidate the internal active source record when goes to standby
        // Invalidate the internal active source record when going to standby
        mService.setActiveSource(Constants.ADDR_INVALID, Constants.INVALID_PHYSICAL_ADDRESS,
                "HdmiCecLocalDevicePlayback#onStandby()");
        boolean mTvSendStandbyOnSleep = mService.getHdmiCecConfig().getIntValue(
@@ -167,6 +163,9 @@ public class HdmiCecLocalDevicePlayback extends HdmiCecLocalDeviceSource {
                                        Constants.ADDR_BROADCAST));
                        break;
                    case HdmiControlManager.POWER_CONTROL_MODE_NONE:
                        mService.sendCecCommand(
                                HdmiCecMessageBuilder.buildInactiveSource(mAddress,
                                        mService.getPhysicalAddress()));
                        break;
                }
                break;
+18 −0
Original line number Diff line number Diff line
@@ -697,9 +697,12 @@ public class HdmiCecLocalDevicePlaybackTest {
                mHdmiCecLocalDevicePlayback.mAddress, ADDR_TV);
        HdmiCecMessage standbyMessageBroadcast = HdmiCecMessageBuilder.buildStandby(
                mHdmiCecLocalDevicePlayback.mAddress, ADDR_BROADCAST);
        HdmiCecMessage inactiveSource = HdmiCecMessageBuilder.buildInactiveSource(
                mPlaybackLogicalAddress, mPlaybackPhysicalAddress);

        assertThat(mNativeWrapper.getResultMessages()).doesNotContain(standbyMessageToTv);
        assertThat(mNativeWrapper.getResultMessages()).doesNotContain(standbyMessageBroadcast);
        assertThat(mNativeWrapper.getResultMessages()).doesNotContain(inactiveSource);
    }

    @Test
@@ -719,9 +722,12 @@ public class HdmiCecLocalDevicePlaybackTest {
                mHdmiCecLocalDevicePlayback.mAddress, ADDR_TV);
        HdmiCecMessage standbyMessageBroadcast = HdmiCecMessageBuilder.buildStandby(
                mHdmiCecLocalDevicePlayback.mAddress, ADDR_BROADCAST);
        HdmiCecMessage inactiveSource = HdmiCecMessageBuilder.buildInactiveSource(
                mPlaybackLogicalAddress, mPlaybackPhysicalAddress);

        assertThat(mNativeWrapper.getResultMessages()).doesNotContain(standbyMessageToTv);
        assertThat(mNativeWrapper.getResultMessages()).doesNotContain(standbyMessageBroadcast);
        assertThat(mNativeWrapper.getResultMessages()).doesNotContain(inactiveSource);
    }

    @Test
@@ -741,9 +747,12 @@ public class HdmiCecLocalDevicePlaybackTest {
                mHdmiCecLocalDevicePlayback.mAddress, ADDR_TV);
        HdmiCecMessage standbyMessageBroadcast = HdmiCecMessageBuilder.buildStandby(
                mHdmiCecLocalDevicePlayback.mAddress, ADDR_BROADCAST);
        HdmiCecMessage inactiveSource = HdmiCecMessageBuilder.buildInactiveSource(
                mPlaybackLogicalAddress, mPlaybackPhysicalAddress);

        assertThat(mNativeWrapper.getResultMessages()).doesNotContain(standbyMessageToTv);
        assertThat(mNativeWrapper.getResultMessages()).doesNotContain(standbyMessageBroadcast);
        assertThat(mNativeWrapper.getResultMessages()).doesNotContain(inactiveSource);
    }

    @Test
@@ -763,9 +772,12 @@ public class HdmiCecLocalDevicePlaybackTest {
                mHdmiCecLocalDevicePlayback.mAddress, ADDR_TV);
        HdmiCecMessage standbyMessageBroadcast = HdmiCecMessageBuilder.buildStandby(
                mHdmiCecLocalDevicePlayback.mAddress, ADDR_BROADCAST);
        HdmiCecMessage inactiveSource = HdmiCecMessageBuilder.buildInactiveSource(
                mPlaybackLogicalAddress, mPlaybackPhysicalAddress);

        assertThat(mNativeWrapper.getResultMessages()).contains(standbyMessageToTv);
        assertThat(mNativeWrapper.getResultMessages()).doesNotContain(standbyMessageBroadcast);
        assertThat(mNativeWrapper.getResultMessages()).doesNotContain(inactiveSource);
    }

    @Test
@@ -785,9 +797,12 @@ public class HdmiCecLocalDevicePlaybackTest {
                mHdmiCecLocalDevicePlayback.mAddress, ADDR_TV);
        HdmiCecMessage standbyMessageBroadcast = HdmiCecMessageBuilder.buildStandby(
                mHdmiCecLocalDevicePlayback.mAddress, ADDR_BROADCAST);
        HdmiCecMessage inactiveSource = HdmiCecMessageBuilder.buildInactiveSource(
                mPlaybackLogicalAddress, mPlaybackPhysicalAddress);

        assertThat(mNativeWrapper.getResultMessages()).doesNotContain(standbyMessageToTv);
        assertThat(mNativeWrapper.getResultMessages()).contains(standbyMessageBroadcast);
        assertThat(mNativeWrapper.getResultMessages()).doesNotContain(inactiveSource);
    }

    @Test
@@ -807,9 +822,12 @@ public class HdmiCecLocalDevicePlaybackTest {
                mHdmiCecLocalDevicePlayback.mAddress, ADDR_TV);
        HdmiCecMessage standbyMessageBroadcast = HdmiCecMessageBuilder.buildStandby(
                mHdmiCecLocalDevicePlayback.mAddress, ADDR_BROADCAST);
        HdmiCecMessage inactiveSource = HdmiCecMessageBuilder.buildInactiveSource(
                mPlaybackLogicalAddress, mPlaybackPhysicalAddress);

        assertThat(mNativeWrapper.getResultMessages()).doesNotContain(standbyMessageToTv);
        assertThat(mNativeWrapper.getResultMessages()).doesNotContain(standbyMessageBroadcast);
        assertThat(mNativeWrapper.getResultMessages()).contains(inactiveSource);
    }

    @Test