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

Commit 237922c3 authored by Michal Olech's avatar Michal Olech Committed by Android (Google) Code Review
Browse files

Merge "[CEC] Skip <OTP> when Power mode set to NONE"

parents 63ee82f3 bf9be477
Loading
Loading
Loading
Loading
+16 −9
Original line number Diff line number Diff line
@@ -306,7 +306,15 @@ public class HdmiCecLocalDevicePlayback extends HdmiCecLocalDeviceSource {
    @Override
    @ServiceThreadOnly
    protected void onInitializeCecComplete(int initiatedBy) {
        if (initiatedBy == HdmiControlService.INITIATED_BY_SCREEN_ON) {
        if (initiatedBy != HdmiControlService.INITIATED_BY_SCREEN_ON) {
            return;
        }
        @HdmiControlManager.PowerControlMode
        String powerControlMode = mService.getHdmiCecConfig().getStringValue(
                HdmiControlManager.CEC_SETTING_NAME_POWER_CONTROL_MODE);
        if (powerControlMode.equals(HdmiControlManager.POWER_CONTROL_MODE_NONE)) {
            return;
        }
        oneTouchPlay(new IHdmiControlCallback.Stub() {
            @Override
            public void onComplete(int result) {
@@ -316,7 +324,6 @@ public class HdmiCecLocalDevicePlayback extends HdmiCecLocalDeviceSource {
            }
        });
    }
    }

    @Override
    @CallSuper
+26 −1
Original line number Diff line number Diff line
@@ -982,7 +982,11 @@ public class HdmiCecLocalDevicePlaybackTest {
    }

    @Test
    public void handleOnInitializeCecComplete_ByScreenOn() {
    public void handleOnInitializeCecComplete_ByScreenOn_PowerControlModeTv() {
        mHdmiCecLocalDevicePlayback.mService.getHdmiCecConfig().setStringValue(
                HdmiControlManager.CEC_SETTING_NAME_POWER_CONTROL_MODE,
                HdmiControlManager.POWER_CONTROL_MODE_TV);

        mHdmiCecLocalDevicePlayback.onInitializeCecComplete(
                mHdmiControlService.INITIATED_BY_SCREEN_ON);
        mTestLooper.dispatchAll();
@@ -998,6 +1002,27 @@ public class HdmiCecLocalDevicePlaybackTest {
        assertThat(mNativeWrapper.getResultMessages()).contains(textViewOn);
    }

    @Test
    public void handleOnInitializeCecComplete_ByScreenOn_PowerControlModeNone() {
        mHdmiCecLocalDevicePlayback.mService.getHdmiCecConfig().setStringValue(
                HdmiControlManager.CEC_SETTING_NAME_POWER_CONTROL_MODE,
                HdmiControlManager.POWER_CONTROL_MODE_NONE);

        mHdmiCecLocalDevicePlayback.onInitializeCecComplete(
                mHdmiControlService.INITIATED_BY_SCREEN_ON);
        mTestLooper.dispatchAll();

        HdmiCecMessage activeSource =
                HdmiCecMessageBuilder.buildActiveSource(mPlaybackLogicalAddress,
                        mPlaybackPhysicalAddress);
        HdmiCecMessage textViewOn =
                HdmiCecMessageBuilder.buildTextViewOn(mPlaybackLogicalAddress,
                        ADDR_TV);

        assertThat(mNativeWrapper.getResultMessages()).doesNotContain(activeSource);
        assertThat(mNativeWrapper.getResultMessages()).doesNotContain(textViewOn);
    }

    @Test
    public void handleOnInitializeCecComplete_ByWakeUpMessage() {
        mHdmiCecLocalDevicePlayback.onInitializeCecComplete(