diff options
| -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); } |