From 202bc11ee083adbd5557ea84b3bc85d81205b325 Mon Sep 17 00:00:00 2001 From: Marvin Ramin Date: Fri, 3 Apr 2020 16:58:42 +0200 Subject: [PATCH] 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 --- .../android/server/hdmi/HdmiCecMessage.java | 24 +++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) 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; + } + } }