Merge "Removing possible user defined strings from bugreport view-dump" into rvc-dev am: 31c94a2f0e

Change-Id: I6ad961a89efddcbb9fafc259246d0ebe386cc7e2
This commit is contained in:
Automerger Merge Worker
2020-02-26 20:20:19 +00:00
4 changed files with 20 additions and 2 deletions

View File

@@ -29794,7 +29794,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
// accessibility // accessibility
CharSequence contentDescription = getContentDescription(); CharSequence contentDescription = getContentDescription();
stream.addProperty("accessibility:contentDescription", stream.addUserProperty("accessibility:contentDescription",
contentDescription == null ? "" : contentDescription.toString()); contentDescription == null ? "" : contentDescription.toString());
stream.addProperty("accessibility:labelFor", getLabelFor()); stream.addProperty("accessibility:labelFor", getLabelFor());
stream.addProperty("accessibility:importantForAccessibility", getImportantForAccessibility()); stream.addProperty("accessibility:importantForAccessibility", getImportantForAccessibility());

View File

@@ -1209,6 +1209,7 @@ public class ViewDebug {
ByteArrayOutputStream baOut = new ByteArrayOutputStream(); ByteArrayOutputStream baOut = new ByteArrayOutputStream();
final ViewHierarchyEncoder encoder = new ViewHierarchyEncoder(baOut); final ViewHierarchyEncoder encoder = new ViewHierarchyEncoder(baOut);
encoder.setUserPropertiesEnabled(false);
encoder.addProperty("window:left", view.mAttachInfo.mWindowLeft); encoder.addProperty("window:left", view.mAttachInfo.mWindowLeft);
encoder.addProperty("window:top", view.mAttachInfo.mWindowTop); encoder.addProperty("window:top", view.mAttachInfo.mWindowTop);
view.encode(encoder); view.encode(encoder);

View File

@@ -66,10 +66,16 @@ public class ViewHierarchyEncoder {
private short mPropertyId = 1; private short mPropertyId = 1;
private Charset mCharset = Charset.forName("utf-8"); private Charset mCharset = Charset.forName("utf-8");
private boolean mUserPropertiesEnabled = true;
public ViewHierarchyEncoder(@NonNull ByteArrayOutputStream stream) { public ViewHierarchyEncoder(@NonNull ByteArrayOutputStream stream) {
mStream = new DataOutputStream(stream); mStream = new DataOutputStream(stream);
} }
public void setUserPropertiesEnabled(boolean enabled) {
mUserPropertiesEnabled = enabled;
}
public void beginObject(@NonNull Object o) { public void beginObject(@NonNull Object o) {
startPropertyMap(); startPropertyMap();
addProperty("meta:__name__", o.getClass().getName()); addProperty("meta:__name__", o.getClass().getName());
@@ -120,6 +126,17 @@ public class ViewHierarchyEncoder {
writeString(s); writeString(s);
} }
/**
* Encodes a user defined property if they are allowed to be encoded
*
* @see #setUserPropertiesEnabled(boolean)
*/
public void addUserProperty(@NonNull String name, @Nullable String s) {
if (mUserPropertiesEnabled) {
addProperty(name, s);
}
}
/** /**
* Writes the given name as the property name, and leaves it to the callee * Writes the given name as the property name, and leaves it to the callee
* to fill in value for this property. * to fill in value for this property.

View File

@@ -13174,7 +13174,7 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
stream.addProperty("text:selectionStart", getSelectionStart()); stream.addProperty("text:selectionStart", getSelectionStart());
stream.addProperty("text:selectionEnd", getSelectionEnd()); stream.addProperty("text:selectionEnd", getSelectionEnd());
stream.addProperty("text:curTextColor", mCurTextColor); stream.addProperty("text:curTextColor", mCurTextColor);
stream.addProperty("text:text", mText == null ? null : mText.toString()); stream.addUserProperty("text:text", mText == null ? null : mText.toString());
stream.addProperty("text:gravity", mGravity); stream.addProperty("text:gravity", mGravity);
} }