diff options
Diffstat (limited to 'core/java/android/view/ViewHierarchyEncoder.java')
| -rw-r--r-- | core/java/android/view/ViewHierarchyEncoder.java | 17 |
1 files changed, 17 insertions, 0 deletions
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()); @@ -121,6 +127,17 @@ public class ViewHierarchyEncoder { } /** + * 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. */ |
