Merge "CEC: Fix OSD name message length"

This commit is contained in:
TreeHugger Robot
2020-08-24 19:01:22 +00:00
committed by Android (Google) Code Review
2 changed files with 27 additions and 1 deletions

View File

@@ -25,7 +25,7 @@ import java.util.Arrays;
* A helper class to build {@link HdmiCecMessage} from various cec commands.
*/
public class HdmiCecMessageBuilder {
private static final int OSD_NAME_MAX_LENGTH = 13;
private static final int OSD_NAME_MAX_LENGTH = 14;
private HdmiCecMessageBuilder() {}

View File

@@ -62,6 +62,32 @@ public class HdmiCecMessageBuilderTest {
assertThat(message).isEqualTo(buildMessage("5F:81:21:00"));
}
@Test
public void buildSetOsdName_short() {
String deviceName = "abc";
HdmiCecMessage message = HdmiCecMessageBuilder.buildSetOsdNameCommand(ADDR_PLAYBACK_1,
ADDR_TV, deviceName);
assertThat(message).isEqualTo(buildMessage("40:47:61:62:63"));
}
@Test
public void buildSetOsdName_maximumLength() {
String deviceName = "abcdefghijklmn";
HdmiCecMessage message = HdmiCecMessageBuilder.buildSetOsdNameCommand(ADDR_PLAYBACK_1,
ADDR_TV, deviceName);
assertThat(message).isEqualTo(
buildMessage("40:47:61:62:63:64:65:66:67:68:69:6A:6B:6C:6D:6E"));
}
@Test
public void buildSetOsdName_tooLong() {
String deviceName = "abcdefghijklmnop";
HdmiCecMessage message = HdmiCecMessageBuilder.buildSetOsdNameCommand(ADDR_PLAYBACK_1,
ADDR_TV, deviceName);
assertThat(message).isEqualTo(
buildMessage("40:47:61:62:63:64:65:66:67:68:69:6A:6B:6C:6D:6E"));
}
/**
* Build a CEC message from a hex byte string with bytes separated by {@code :}.
*