diff --git a/services/core/java/com/android/server/hdmi/HdmiCecMessage.java b/services/core/java/com/android/server/hdmi/HdmiCecMessage.java index f8b39627f2360..ff7da11340ebc 100644 --- a/services/core/java/com/android/server/hdmi/HdmiCecMessage.java +++ b/services/core/java/com/android/server/hdmi/HdmiCecMessage.java @@ -115,8 +115,12 @@ public final class HdmiCecMessage { s.append(String.format("<%s> %X%X:%02X", opcodeToString(mOpcode), mSource, mDestination, mOpcode)); if (mParams.length > 0) { - for (byte data : mParams) { - s.append(String.format(":%02X", data)); + if (filterMessageParameters(mOpcode)) { + s.append(String.format(" ", mParams.length)); + } else { + for (byte data : mParams) { + s.append(String.format(":%02X", data)); + } } } return s.toString(); @@ -270,5 +274,21 @@ public final class HdmiCecMessage { return String.format("Opcode: %02X", opcode); } } + + private static boolean filterMessageParameters(int opcode) { + switch (opcode) { + case Constants.MESSAGE_USER_CONTROL_PRESSED: + case Constants.MESSAGE_USER_CONTROL_RELEASED: + case Constants.MESSAGE_SET_OSD_NAME: + case Constants.MESSAGE_SET_OSD_STRING: + case Constants.MESSAGE_VENDOR_COMMAND: + case Constants.MESSAGE_VENDOR_REMOTE_BUTTON_DOWN: + case Constants.MESSAGE_VENDOR_REMOTE_BUTTON_UP: + case Constants.MESSAGE_VENDOR_COMMAND_WITH_ID: + return true; + default: + return false; + } + } }