CEC: Filter certain message arguments from logging

Filter the message arguments of certain HDMI CEC messages to exclude
them from logging.
This will affect logging via both HdmiLogger as well as in dumpsys.

Bug: 153153719
Test: lunch adt3-userdebug; make; flashall
Change-Id: Iceef34c9aafb96a78483556239a410ce7e983005
This commit is contained in:
Marvin Ramin
2020-04-03 16:58:42 +02:00
parent ea6a210cf5
commit 202bc11ee0

View File

@@ -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(" <Redacted len=%d>", 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;
}
}
}