From b6db9b9f15bba690bc06305f58580d20137a9454 Mon Sep 17 00:00:00 2001 From: Shraddha Basantwani Date: Mon, 2 Nov 2020 11:50:57 +0530 Subject: [PATCH] CEC : Add validator for deck status message Test: atest HdmiCecMessageValidatorTest Bug: 170811408 Change-Id: Ifd0aa76d77cef5f8b83bc02a03ec63eb6c4f7721 --- .../android/server/hdmi/HdmiCecMessageValidator.java | 2 ++ .../server/hdmi/HdmiCecMessageValidatorTest.java | 12 ++++++++++++ 2 files changed, 14 insertions(+) diff --git a/services/core/java/com/android/server/hdmi/HdmiCecMessageValidator.java b/services/core/java/com/android/server/hdmi/HdmiCecMessageValidator.java index 578b66e26b693..67e1bb5579359 100644 --- a/services/core/java/com/android/server/hdmi/HdmiCecMessageValidator.java +++ b/services/core/java/com/android/server/hdmi/HdmiCecMessageValidator.java @@ -151,6 +151,8 @@ public class HdmiCecMessageValidator { // TODO: Handle messages for the Deck Control. addValidationInfo( Constants.MESSAGE_DECK_CONTROL, new OneByteRangeValidator(0x01, 0x04), DEST_DIRECT); + addValidationInfo( + Constants.MESSAGE_DECK_STATUS, new OneByteRangeValidator(0x11, 0x1F), 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 e24e3f7ee053d..67596052b4efa 100644 --- a/services/tests/servicestests/src/com/android/server/hdmi/HdmiCecMessageValidatorTest.java +++ b/services/tests/servicestests/src/com/android/server/hdmi/HdmiCecMessageValidatorTest.java @@ -364,6 +364,18 @@ public class HdmiCecMessageValidatorTest { assertMessageValidity("40:42:05").isEqualTo(ERROR_PARAMETER); } + @Test + public void isValid_deckStatus() { + assertMessageValidity("40:1B:11:58").isEqualTo(OK); + assertMessageValidity("40:1B:1F").isEqualTo(OK); + + assertMessageValidity("4F:1B:11").isEqualTo(ERROR_DESTINATION); + assertMessageValidity("F0:1B:1F").isEqualTo(ERROR_SOURCE); + assertMessageValidity("40:1B").isEqualTo(ERROR_PARAMETER_SHORT); + assertMessageValidity("40:1B:10").isEqualTo(ERROR_PARAMETER); + assertMessageValidity("40:1B:20").isEqualTo(ERROR_PARAMETER); + } + private IntegerSubject assertMessageValidity(String message) { return assertThat(mHdmiCecMessageValidator.isValid(buildMessage(message))); }