Loading services/core/java/com/android/server/hdmi/RequestActiveSourceAction.java +12 −1 Original line number Diff line number Diff line Loading @@ -29,6 +29,12 @@ public class RequestActiveSourceAction extends HdmiCecFeatureAction { // State to wait for the <Active Source> message. private static final int STATE_WAIT_FOR_ACTIVE_SOURCE = 1; // Number of retries <Request Active Source> is sent if no device answers this message. private static final int MAX_SEND_RETRY_COUNT = 1; private int mSendRetryCount = 0; RequestActiveSourceAction(HdmiCecLocalDevice source, IHdmiControlCallback callback) { super(source, callback); } Loading Loading @@ -60,7 +66,12 @@ public class RequestActiveSourceAction extends HdmiCecFeatureAction { return; } if (mState == STATE_WAIT_FOR_ACTIVE_SOURCE) { if (mSendRetryCount++ < MAX_SEND_RETRY_COUNT) { sendCommand(HdmiCecMessageBuilder.buildRequestActiveSource(getSourceAddress())); addTimer(mState, HdmiConfig.TIMEOUT_MS); } else { finishWithCallback(HdmiControlManager.RESULT_TIMEOUT); } } } } services/tests/servicestests/src/com/android/server/hdmi/HdmiCecLocalDeviceTvTest.java +4 −0 Original line number Diff line number Diff line Loading @@ -1722,7 +1722,11 @@ public class HdmiCecLocalDeviceTvTest { mNativeWrapper.clearResultMessages(); mTestLooper.moveTimeForward(HdmiConfig.TIMEOUT_MS); mTestLooper.dispatchAll(); assertThat(mNativeWrapper.getResultMessages()).doesNotContain(activeSourceFromTv); // Skip the retry. mTestLooper.moveTimeForward(HdmiConfig.TIMEOUT_MS); mTestLooper.dispatchAll(); assertThat(mNativeWrapper.getResultMessages()).contains(activeSourceFromTv); } Loading Loading
services/core/java/com/android/server/hdmi/RequestActiveSourceAction.java +12 −1 Original line number Diff line number Diff line Loading @@ -29,6 +29,12 @@ public class RequestActiveSourceAction extends HdmiCecFeatureAction { // State to wait for the <Active Source> message. private static final int STATE_WAIT_FOR_ACTIVE_SOURCE = 1; // Number of retries <Request Active Source> is sent if no device answers this message. private static final int MAX_SEND_RETRY_COUNT = 1; private int mSendRetryCount = 0; RequestActiveSourceAction(HdmiCecLocalDevice source, IHdmiControlCallback callback) { super(source, callback); } Loading Loading @@ -60,7 +66,12 @@ public class RequestActiveSourceAction extends HdmiCecFeatureAction { return; } if (mState == STATE_WAIT_FOR_ACTIVE_SOURCE) { if (mSendRetryCount++ < MAX_SEND_RETRY_COUNT) { sendCommand(HdmiCecMessageBuilder.buildRequestActiveSource(getSourceAddress())); addTimer(mState, HdmiConfig.TIMEOUT_MS); } else { finishWithCallback(HdmiControlManager.RESULT_TIMEOUT); } } } }
services/tests/servicestests/src/com/android/server/hdmi/HdmiCecLocalDeviceTvTest.java +4 −0 Original line number Diff line number Diff line Loading @@ -1722,7 +1722,11 @@ public class HdmiCecLocalDeviceTvTest { mNativeWrapper.clearResultMessages(); mTestLooper.moveTimeForward(HdmiConfig.TIMEOUT_MS); mTestLooper.dispatchAll(); assertThat(mNativeWrapper.getResultMessages()).doesNotContain(activeSourceFromTv); // Skip the retry. mTestLooper.moveTimeForward(HdmiConfig.TIMEOUT_MS); mTestLooper.dispatchAll(); assertThat(mNativeWrapper.getResultMessages()).contains(activeSourceFromTv); } Loading