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

Change-Id: I71534bda168ca4d7b4b44892f8b4ea4e60fcdf8d
This commit is contained in:
Automerger Merge Worker
2020-02-26 20:20:08 +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
CharSequence contentDescription = getContentDescription();
stream.addProperty("accessibility:contentDescription",
stream.addUserProperty("accessibility:contentDescription",
contentDescription == null ? "" : contentDescription.toString());
stream.addProperty("accessibility:labelFor", getLabelFor());
stream.addProperty("accessibility:importantForAccessibility", getImportantForAccessibility());

View File

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

View File

@@ -66,10 +66,16 @@ public class ViewHierarchyEncoder {
private short mPropertyId = 1;
private Charset mCharset = Charset.forName("utf-8");
private boolean mUserPropertiesEnabled = true;
public ViewHierarchyEncoder(@NonNull ByteArrayOutputStream stream) {
mStream = new DataOutputStream(stream);
}
public void setUserPropertiesEnabled(boolean enabled) {
mUserPropertiesEnabled = enabled;
}
public void beginObject(@NonNull Object o) {
startPropertyMap();
addProperty("meta:__name__", o.getClass().getName());
@@ -120,6 +126,17 @@ public class ViewHierarchyEncoder {
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
* 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:selectionEnd", getSelectionEnd());
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);
}