diff --git a/android/src/main/java/com/facebook/flipper/plugins/uidebugger/descriptors/NodeDescriptor.kt b/android/src/main/java/com/facebook/flipper/plugins/uidebugger/descriptors/NodeDescriptor.kt index 1f1f5dd43..413e4086c 100644 --- a/android/src/main/java/com/facebook/flipper/plugins/uidebugger/descriptors/NodeDescriptor.kt +++ b/android/src/main/java/com/facebook/flipper/plugins/uidebugger/descriptors/NodeDescriptor.kt @@ -12,6 +12,7 @@ import com.facebook.flipper.plugins.uidebugger.model.Bounds import com.facebook.flipper.plugins.uidebugger.model.InspectableObject import com.facebook.flipper.plugins.uidebugger.model.MetadataId import com.facebook.flipper.plugins.uidebugger.util.MaybeDeferred +import kotlinx.serialization.json.JsonObject /* Descriptors are an extension point used during traversal to extract data out of arbitrary @@ -62,7 +63,7 @@ interface NodeDescriptor { * parameter. If a bitmap is provided, it will be used by the canvas to draw on it. Otherwise, a * bitmap will be created. */ - fun getSnapshot(node: T, bitmap: Bitmap?): Bitmap? + fun getSnapshot(node: T, bitmap: Bitmap?): Bitmap? = null /** * If you have overlapping children this indicates which child is active / on top, we will only @@ -86,5 +87,7 @@ interface NodeDescriptor { /** * These are shown inline in the tree view on the desktop, will likely be removed in the future */ - fun getInlineAttributes(node: T): Map = mutableMapOf() + fun getInlineAttributes(node: T): Map = mapOf() + + fun getHiddenAttributes(node: T): JsonObject? = null } diff --git a/android/src/main/java/com/facebook/flipper/plugins/uidebugger/model/Node.kt b/android/src/main/java/com/facebook/flipper/plugins/uidebugger/model/Node.kt index 05995895a..415f3c03a 100644 --- a/android/src/main/java/com/facebook/flipper/plugins/uidebugger/model/Node.kt +++ b/android/src/main/java/com/facebook/flipper/plugins/uidebugger/model/Node.kt @@ -8,6 +8,7 @@ package com.facebook.flipper.plugins.uidebugger.model import com.facebook.flipper.plugins.uidebugger.descriptors.Id +import kotlinx.serialization.json.JsonObject @kotlinx.serialization.Serializable data class Node( @@ -17,6 +18,7 @@ data class Node( val name: String, val attributes: Map, val inlineAttributes: Map, + val hiddenAttributes: JsonObject?, val bounds: Bounds, val tags: Set, val children: List, diff --git a/android/src/main/java/com/facebook/flipper/plugins/uidebugger/traversal/PartialLayoutTraversal.kt b/android/src/main/java/com/facebook/flipper/plugins/uidebugger/traversal/PartialLayoutTraversal.kt index bd9a81b80..60b2b207c 100644 --- a/android/src/main/java/com/facebook/flipper/plugins/uidebugger/traversal/PartialLayoutTraversal.kt +++ b/android/src/main/java/com/facebook/flipper/plugins/uidebugger/traversal/PartialLayoutTraversal.kt @@ -65,6 +65,7 @@ class PartialLayoutTraversal( descriptor.getName(node), emptyMap(), emptyMap(), + null, descriptor.getBounds(node), emptySet(), emptyList(), @@ -108,6 +109,7 @@ class PartialLayoutTraversal( descriptor.getName(node), attrs, descriptor.getInlineAttributes(node), + descriptor.getHiddenAttributes(node), bounds, tags, childrenIds,