From c444b514bf50c2b53f97f3ccaa4b538238a0bcc9 Mon Sep 17 00:00:00 2001 From: Sunny Goyal Date: Tue, 25 Feb 2020 09:57:50 -0800 Subject: Removing possible user defined strings from bugreport view-dump Bug: 64101886 Test: Verified build Change-Id: Ifad98a268fc17a2e1572ca3e0962a89447083294 --- core/java/android/view/ViewHierarchyEncoder.java | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'core/java/android/view/ViewHierarchyEncoder.java') diff --git a/core/java/android/view/ViewHierarchyEncoder.java b/core/java/android/view/ViewHierarchyEncoder.java index b0e0524a0d85..ace05a6b6bf9 100644 --- a/core/java/android/view/ViewHierarchyEncoder.java +++ b/core/java/android/view/ViewHierarchyEncoder.java @@ -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. -- cgit v1.2.3