diff options
| author | 2020-11-02 17:37:22 +0530 | |
|---|---|---|
| committer | 2020-11-03 16:48:49 +0530 | |
| commit | 9fa633abeb06607f8e59e2d0f9358e8cc49f9cea (patch) | |
| tree | 606d743cf1e8b6aef2594ed2d4186b1e15e835fa | |
| parent | 5ea0ca572ecb6633d035e2cea5427a600747e639 (diff) | |
CEC : Add validator for give tuner device status message
Reuse status request validator created for <Give Deck Status>.
Test: atest HdmiCecMessageValidatorTest
Bug: 170811408
Change-Id: Ife9ad0433df8893dab0fbe010ef6b4626ff06784
| -rw-r--r-- | services/core/java/com/android/server/hdmi/HdmiCecMessageValidator.java | 8 | ||||
| -rw-r--r-- | services/tests/servicestests/src/com/android/server/hdmi/HdmiCecMessageValidatorTest.java | 9 |
2 files changed, 12 insertions, 5 deletions
diff --git a/services/core/java/com/android/server/hdmi/HdmiCecMessageValidator.java b/services/core/java/com/android/server/hdmi/HdmiCecMessageValidator.java index e06a05e31152..a3ae72e18961 100644 --- a/services/core/java/com/android/server/hdmi/HdmiCecMessageValidator.java +++ b/services/core/java/com/android/server/hdmi/HdmiCecMessageValidator.java @@ -148,17 +148,17 @@ public class HdmiCecMessageValidator { addValidationInfo(Constants.MESSAGE_SET_MENU_LANGUAGE, new AsciiValidator(3), DEST_BROADCAST); + ParameterValidator statusRequestValidator = new OneByteRangeValidator(0x01, 0x03); addValidationInfo( 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); + addValidationInfo(Constants.MESSAGE_GIVE_DECK_STATUS, statusRequestValidator, DEST_DIRECT); addValidationInfo(Constants.MESSAGE_PLAY, new PlayModeValidator(), DEST_DIRECT); // TODO: Handle messages for the Tuner Control. + addValidationInfo( + Constants.MESSAGE_GIVE_TUNER_DEVICE_STATUS, statusRequestValidator, DEST_DIRECT); // Messages for the Vendor Specific Commands. VariableLengthValidator maxLengthValidator = new VariableLengthValidator(0, 14); 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 6cc8db9957cd..5b31f8c18660 100644 --- a/services/tests/servicestests/src/com/android/server/hdmi/HdmiCecMessageValidatorTest.java +++ b/services/tests/servicestests/src/com/android/server/hdmi/HdmiCecMessageValidatorTest.java @@ -377,13 +377,20 @@ public class HdmiCecMessageValidatorTest { } @Test - public void isValid_giveDeckStatus() { + public void isValid_statusRequest() { + assertMessageValidity("40:08:01").isEqualTo(OK); + assertMessageValidity("40:08:02:5C").isEqualTo(OK); assertMessageValidity("40:1A:01:F8").isEqualTo(OK); assertMessageValidity("40:1A:03").isEqualTo(OK); + assertMessageValidity("4F:08:01").isEqualTo(ERROR_DESTINATION); + assertMessageValidity("F0:08:03").isEqualTo(ERROR_SOURCE); assertMessageValidity("4F:1A:01").isEqualTo(ERROR_DESTINATION); assertMessageValidity("F0:1A:03").isEqualTo(ERROR_SOURCE); + assertMessageValidity("40:08").isEqualTo(ERROR_PARAMETER_SHORT); assertMessageValidity("40:1A").isEqualTo(ERROR_PARAMETER_SHORT); + assertMessageValidity("40:08:00").isEqualTo(ERROR_PARAMETER); + assertMessageValidity("40:08:05").isEqualTo(ERROR_PARAMETER); assertMessageValidity("40:1A:00").isEqualTo(ERROR_PARAMETER); assertMessageValidity("40:1A:04").isEqualTo(ERROR_PARAMETER); } |