Merge "Do not redact string extras which exclusively contain helpful system information."

This commit is contained in:
Jeff DeCew
2021-06-18 17:05:52 +00:00
committed by Android (Google) Code Review

View File

@@ -585,7 +585,8 @@ public final class NotificationRecord {
pw.println("null");
} else {
pw.print(val.getClass().getSimpleName());
if (redact && (val instanceof CharSequence || val instanceof String)) {
if (redact && (val instanceof CharSequence) && shouldRedactStringExtra(key)) {
pw.print(String.format(" [length=%d]", ((CharSequence) val).length()));
// redact contents from bugreports
} else if (val instanceof Bitmap) {
pw.print(String.format(" (%dx%d)",
@@ -611,6 +612,19 @@ public final class NotificationRecord {
}
}
private boolean shouldRedactStringExtra(String key) {
if (key == null) return true;
switch (key) {
// none of these keys contain user-related information; they do not need to be redacted
case Notification.EXTRA_SUBSTITUTE_APP_NAME:
case Notification.EXTRA_TEMPLATE:
case "android.support.v4.app.extra.COMPAT_TEMPLATE":
return false;
default:
return true;
}
}
@Override
public final String toString() {
return String.format(