Don't print sensitive data on AssistStructure.dump()
Test: manual verification Bug: 38205945 Change-Id: Ic184ee6da313a2c0f8e0dd11979f6985d8023140
This commit is contained in:
@@ -1936,7 +1936,7 @@ public class AssistStructure implements Parcelable {
|
||||
}
|
||||
|
||||
/** @hide */
|
||||
public void dump() {
|
||||
public void dump(boolean showSensitive) {
|
||||
if (mActivityComponent == null) {
|
||||
Log.i(TAG, "dump(): calling ensureData() first");
|
||||
ensureData();
|
||||
@@ -1949,11 +1949,11 @@ public class AssistStructure implements Parcelable {
|
||||
WindowNode node = getWindowNodeAt(i);
|
||||
Log.i(TAG, "Window #" + i + " [" + node.getLeft() + "," + node.getTop()
|
||||
+ " " + node.getWidth() + "x" + node.getHeight() + "]" + " " + node.getTitle());
|
||||
dump(" ", node.getRootViewNode());
|
||||
dump(" ", node.getRootViewNode(), showSensitive);
|
||||
}
|
||||
}
|
||||
|
||||
void dump(String prefix, ViewNode node) {
|
||||
void dump(String prefix, ViewNode node, boolean showSensitive) {
|
||||
Log.i(TAG, prefix + "View [" + node.getLeft() + "," + node.getTop()
|
||||
+ " " + node.getWidth() + "x" + node.getHeight() + "]" + " " + node.getClassName());
|
||||
int id = node.getId();
|
||||
@@ -1992,12 +1992,15 @@ public class AssistStructure implements Parcelable {
|
||||
}
|
||||
CharSequence text = node.getText();
|
||||
if (text != null) {
|
||||
final String safeText = node.isSanitized() || showSensitive ? text.toString()
|
||||
: "REDACTED[" + text.length() + " chars]";
|
||||
Log.i(TAG, prefix + " Text (sel " + node.getTextSelectionStart() + "-"
|
||||
+ node.getTextSelectionEnd() + "): " + text);
|
||||
+ node.getTextSelectionEnd() + "): " + safeText);
|
||||
Log.i(TAG, prefix + " Text size: " + node.getTextSize() + " , style: #"
|
||||
+ node.getTextStyle());
|
||||
Log.i(TAG, prefix + " Text color fg: #" + Integer.toHexString(node.getTextColor())
|
||||
+ ", bg: #" + Integer.toHexString(node.getTextBackgroundColor()));
|
||||
Log.i(TAG, prefix + " Input type: " + node.getInputType());
|
||||
}
|
||||
String webDomain = node.getWebDomain();
|
||||
if (webDomain != null) {
|
||||
@@ -2031,7 +2034,6 @@ public class AssistStructure implements Parcelable {
|
||||
Log.i(TAG, prefix + "Autofill info: id= " + autofillId
|
||||
+ ", type=" + node.getAutofillType()
|
||||
+ ", options=" + Arrays.toString(node.getAutofillOptions())
|
||||
+ ", inputType=" + node.getInputType()
|
||||
+ ", hints=" + Arrays.toString(node.getAutofillHints())
|
||||
+ ", value=" + node.getAutofillValue()
|
||||
+ ", sanitized=" + node.isSanitized());
|
||||
@@ -2043,7 +2045,7 @@ public class AssistStructure implements Parcelable {
|
||||
String cprefix = prefix + " ";
|
||||
for (int i=0; i<NCHILDREN; i++) {
|
||||
ViewNode cnode = node.getChildAt(i);
|
||||
dump(cprefix, cnode);
|
||||
dump(cprefix, cnode, showSensitive);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -888,7 +888,7 @@ final class Session implements RemoteFillService.FillServiceCallbacks, ViewState
|
||||
|
||||
if (sVerbose) {
|
||||
Slog.v(TAG, "Dumping structure of " + context + " before calling service.save()");
|
||||
context.getStructure().dump();
|
||||
context.getStructure().dump(false);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1402,7 +1402,7 @@ final class Session implements RemoteFillService.FillServiceCallbacks, ViewState
|
||||
pw.println(context.getStructure() + " (look at logcat)");
|
||||
|
||||
// TODO: add method on AssistStructure to dump on pw
|
||||
context.getStructure().dump();
|
||||
context.getStructure().dump(false);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
|
||||
@@ -107,7 +107,7 @@ public class AssistVisualizer extends View {
|
||||
|
||||
public void logTree() {
|
||||
if (mAssistStructure != null) {
|
||||
mAssistStructure.dump();
|
||||
mAssistStructure.dump(true);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user