From 8398472551b0c63c09d21b8a7baffdcaca2788cc Mon Sep 17 00:00:00 2001 From: Shraddha Basantwani Date: Mon, 2 Nov 2020 11:12:04 +0530 Subject: [PATCH] CEC : Add validator for deck control message Test: atest HdmiCecMessageValidatorTest Bug: 170811408 Change-Id: I64897e9ae3f35f71dd3fb38b00b2d8e924b88b30 --- .../android/server/hdmi/HdmiCecMessageValidator.java | 2 ++ .../server/hdmi/HdmiCecMessageValidatorTest.java | 11 +++++++++++ 2 files changed, 13 insertions(+) diff --git a/services/core/java/com/android/server/hdmi/HdmiCecMessageValidator.java b/services/core/java/com/android/server/hdmi/HdmiCecMessageValidator.java index fe97f701e0898..578b66e26b693 100644 --- a/services/core/java/com/android/server/hdmi/HdmiCecMessageValidator.java +++ b/services/core/java/com/android/server/hdmi/HdmiCecMessageValidator.java @@ -149,6 +149,8 @@ public class HdmiCecMessageValidator { new AsciiValidator(3), DEST_BROADCAST); // TODO: Handle messages for the Deck Control. + addValidationInfo( + Constants.MESSAGE_DECK_CONTROL, new OneByteRangeValidator(0x01, 0x04), DEST_DIRECT); // TODO: Handle messages for the Tuner Control. diff --git a/services/tests/servicestests/src/com/android/server/hdmi/HdmiCecMessageValidatorTest.java b/services/tests/servicestests/src/com/android/server/hdmi/HdmiCecMessageValidatorTest.java index 553df3bafd001..e24e3f7ee053d 100644 --- a/services/tests/servicestests/src/com/android/server/hdmi/HdmiCecMessageValidatorTest.java +++ b/services/tests/servicestests/src/com/android/server/hdmi/HdmiCecMessageValidatorTest.java @@ -353,6 +353,17 @@ public class HdmiCecMessageValidatorTest { assertMessageValidity("40:35:EE:52:4A").isEqualTo(ERROR_PARAMETER); } + @Test + public void isValid_deckControl() { + assertMessageValidity("40:42:01:6E").isEqualTo(OK); + assertMessageValidity("40:42:04").isEqualTo(OK); + + assertMessageValidity("4F:42:01").isEqualTo(ERROR_DESTINATION); + assertMessageValidity("F0:42:04").isEqualTo(ERROR_SOURCE); + assertMessageValidity("40:42").isEqualTo(ERROR_PARAMETER_SHORT); + assertMessageValidity("40:42:05").isEqualTo(ERROR_PARAMETER); + } + private IntegerSubject assertMessageValidity(String message) { return assertThat(mHdmiCecMessageValidator.isValid(buildMessage(message))); }