From fd4e760c7948c1dc033a285a23928dc56736c608 Mon Sep 17 00:00:00 2001 From: Shraddha Basantwani Date: Mon, 2 Nov 2020 11:51:44 +0530 Subject: [PATCH] CEC : Add validator for give deck status message Test: atest HdmiCecMessageValidatorTest Bug: 170811408 Change-Id: Ifce7a960af0e9ca8f3a7ee02d6a523e2368f1da0 --- .../android/server/hdmi/HdmiCecMessageValidator.java | 4 ++++ .../server/hdmi/HdmiCecMessageValidatorTest.java | 12 ++++++++++++ 2 files changed, 16 insertions(+) diff --git a/services/core/java/com/android/server/hdmi/HdmiCecMessageValidator.java b/services/core/java/com/android/server/hdmi/HdmiCecMessageValidator.java index 67e1bb5579359..b00ae9c6ee8ad 100644 --- a/services/core/java/com/android/server/hdmi/HdmiCecMessageValidator.java +++ b/services/core/java/com/android/server/hdmi/HdmiCecMessageValidator.java @@ -153,6 +153,10 @@ public class HdmiCecMessageValidator { Constants.MESSAGE_DECK_CONTROL, new OneByteRangeValidator(0x01, 0x04), DEST_DIRECT); addValidationInfo( Constants.MESSAGE_DECK_STATUS, new OneByteRangeValidator(0x11, 0x1F), DEST_DIRECT); + addValidationInfo( + Constants.MESSAGE_GIVE_DECK_STATUS, + new OneByteRangeValidator(0x01, 0x03), + 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 67596052b4efa..350ab24024704 100644 --- a/services/tests/servicestests/src/com/android/server/hdmi/HdmiCecMessageValidatorTest.java +++ b/services/tests/servicestests/src/com/android/server/hdmi/HdmiCecMessageValidatorTest.java @@ -376,6 +376,18 @@ public class HdmiCecMessageValidatorTest { assertMessageValidity("40:1B:20").isEqualTo(ERROR_PARAMETER); } + @Test + public void isValid_giveDeckStatus() { + assertMessageValidity("40:1A:01:F8").isEqualTo(OK); + assertMessageValidity("40:1A:03").isEqualTo(OK); + + assertMessageValidity("4F:1A:01").isEqualTo(ERROR_DESTINATION); + assertMessageValidity("F0:1A:03").isEqualTo(ERROR_SOURCE); + assertMessageValidity("40:1A").isEqualTo(ERROR_PARAMETER_SHORT); + assertMessageValidity("40:1A:00").isEqualTo(ERROR_PARAMETER); + assertMessageValidity("40:1A:04").isEqualTo(ERROR_PARAMETER); + } + private IntegerSubject assertMessageValidity(String message) { return assertThat(mHdmiCecMessageValidator.isValid(buildMessage(message))); }