From 9bc2f6fec505d945c94731c1000eac92a4cda8bd Mon Sep 17 00:00:00 2001 From: Luke De Feo Date: Thu, 22 Sep 2022 04:26:18 -0700 Subject: [PATCH] Remove node Id from descriptor Summary: It was always the system hash code and in many places it was inconvient to get the descriptor to just end up calling the same function Reviewed By: lblasa Differential Revision: D39700215 fbshipit-source-id: b1439d56cd8f39ba8735f933662ad79b87ffbdbe --- .../plugins/uidebugger/litho/LithoDescriptors.kt | 3 --- .../plugins/uidebugger/litho/LithoObserver.kt | 3 +++ .../plugins/uidebugger/UIDebuggerFlipperPlugin.kt | 4 ++-- .../uidebugger/descriptors/ActivityDescriptor.kt | 4 ---- .../descriptors/ApplicationRefDescriptor.kt | 4 ---- .../uidebugger/descriptors/ButtonDescriptor.kt | 4 ---- .../uidebugger/descriptors/ChainedDescriptor.kt | 10 ---------- .../descriptors/FragmentFrameworkDescriptor.kt | 4 ---- .../descriptors/FragmentSupportDescriptor.kt | 4 ---- .../uidebugger/descriptors/NodeDescriptor.kt | 11 ++++++----- .../uidebugger/descriptors/ObjectDescriptor.kt | 4 ---- .../uidebugger/descriptors/TextViewDescriptor.kt | 4 ---- .../uidebugger/descriptors/ViewDescriptor.kt | 4 ---- .../uidebugger/descriptors/ViewGroupDescriptor.kt | 4 ---- .../uidebugger/descriptors/ViewPagerDescriptor.kt | 2 -- .../uidebugger/descriptors/WindowDescriptor.kt | 4 ---- .../flipper/plugins/uidebugger/model/Events.kt | 4 +++- .../flipper/plugins/uidebugger/model/Node.kt | 7 ++++--- .../observers/PartialLayoutTraversal.kt | 13 +++++++------ .../plugins/uidebugger/observers/TreeObserver.kt | 15 +++++---------- 20 files changed, 30 insertions(+), 82 deletions(-) diff --git a/android/plugins/litho/src/main/java/com/facebook/flipper/plugins/uidebugger/litho/LithoDescriptors.kt b/android/plugins/litho/src/main/java/com/facebook/flipper/plugins/uidebugger/litho/LithoDescriptors.kt index 685ab171d..5bff01a95 100644 --- a/android/plugins/litho/src/main/java/com/facebook/flipper/plugins/uidebugger/litho/LithoDescriptors.kt +++ b/android/plugins/litho/src/main/java/com/facebook/flipper/plugins/uidebugger/litho/LithoDescriptors.kt @@ -17,7 +17,6 @@ import com.facebook.litho.DebugComponent import com.facebook.litho.LithoView object LithoViewDescriptor : NodeDescriptor { - override fun getId(node: LithoView): String = System.identityHashCode(node).toString() override fun getName(node: LithoView): String = "LithoView" @@ -45,7 +44,6 @@ const val LithoTag = "Litho" class MountedObject(val obj: Any, val descriptor: NodeDescriptor) object MountedObjectDescriptor : NodeDescriptor { - override fun getId(node: MountedObject): String = node.descriptor.getId(node.obj) override fun getBounds(node: MountedObject): Bounds? { val bounds = node.descriptor.getBounds(node.obj) @@ -72,7 +70,6 @@ object MountedObjectDescriptor : NodeDescriptor { } class DebugComponentDescriptor(val register: DescriptorRegister) : NodeDescriptor { - override fun getId(node: DebugComponent): String = System.identityHashCode(node).toString() override fun getName(node: DebugComponent): String { return node.component.simpleName diff --git a/android/plugins/litho/src/main/java/com/facebook/flipper/plugins/uidebugger/litho/LithoObserver.kt b/android/plugins/litho/src/main/java/com/facebook/flipper/plugins/uidebugger/litho/LithoObserver.kt index 0bf43ae6f..26515e017 100644 --- a/android/plugins/litho/src/main/java/com/facebook/flipper/plugins/uidebugger/litho/LithoObserver.kt +++ b/android/plugins/litho/src/main/java/com/facebook/flipper/plugins/uidebugger/litho/LithoObserver.kt @@ -10,6 +10,7 @@ package com.facebook.flipper.plugins.uidebugger.litho import android.util.Log import com.facebook.flipper.plugins.uidebugger.LogTag import com.facebook.flipper.plugins.uidebugger.core.Context +import com.facebook.flipper.plugins.uidebugger.descriptors.nodeId import com.facebook.flipper.plugins.uidebugger.observers.TreeObserver import com.facebook.flipper.plugins.uidebugger.observers.TreeObserverBuilder import com.facebook.litho.LithoView @@ -22,6 +23,8 @@ class LithoViewTreeObserver(val context: Context) : TreeObserver() { override fun subscribe(node: Any) { + Log.i(LogTag, "Subscribing to litho view ${node.nodeId()}") + nodeRef = node as LithoView val listener: (view: LithoView) -> Unit = { traverseAndSend(context, node) } diff --git a/android/src/main/java/com/facebook/flipper/plugins/uidebugger/UIDebuggerFlipperPlugin.kt b/android/src/main/java/com/facebook/flipper/plugins/uidebugger/UIDebuggerFlipperPlugin.kt index bffee456a..2929a36dc 100644 --- a/android/src/main/java/com/facebook/flipper/plugins/uidebugger/UIDebuggerFlipperPlugin.kt +++ b/android/src/main/java/com/facebook/flipper/plugins/uidebugger/UIDebuggerFlipperPlugin.kt @@ -13,6 +13,7 @@ import com.facebook.flipper.core.FlipperConnection import com.facebook.flipper.core.FlipperPlugin import com.facebook.flipper.plugins.uidebugger.core.* import com.facebook.flipper.plugins.uidebugger.descriptors.DescriptorRegister +import com.facebook.flipper.plugins.uidebugger.descriptors.nodeId import com.facebook.flipper.plugins.uidebugger.model.InitEvent import com.facebook.flipper.plugins.uidebugger.observers.TreeObserverFactory import com.facebook.flipper.plugins.uidebugger.scheduler.Scheduler @@ -54,8 +55,7 @@ class UIDebuggerFlipperPlugin( connection.send( InitEvent.name, - Json.encodeToString( - InitEvent.serializer(), InitEvent(rootDescriptor.getId(context.applicationRef)))) + Json.encodeToString(InitEvent.serializer(), InitEvent(context.applicationRef.nodeId()))) context.treeObserverManager.start() } diff --git a/android/src/main/java/com/facebook/flipper/plugins/uidebugger/descriptors/ActivityDescriptor.kt b/android/src/main/java/com/facebook/flipper/plugins/uidebugger/descriptors/ActivityDescriptor.kt index 96478659a..7fd837e42 100644 --- a/android/src/main/java/com/facebook/flipper/plugins/uidebugger/descriptors/ActivityDescriptor.kt +++ b/android/src/main/java/com/facebook/flipper/plugins/uidebugger/descriptors/ActivityDescriptor.kt @@ -13,10 +13,6 @@ import com.facebook.flipper.plugins.uidebugger.core.FragmentTracker object ActivityDescriptor : ChainedDescriptor() { - override fun onGetId(node: Activity): String { - return System.identityHashCode(node).toString() - } - override fun onGetName(node: Activity): String { return node.javaClass.simpleName } diff --git a/android/src/main/java/com/facebook/flipper/plugins/uidebugger/descriptors/ApplicationRefDescriptor.kt b/android/src/main/java/com/facebook/flipper/plugins/uidebugger/descriptors/ApplicationRefDescriptor.kt index 079a3453b..644ffda5d 100644 --- a/android/src/main/java/com/facebook/flipper/plugins/uidebugger/descriptors/ApplicationRefDescriptor.kt +++ b/android/src/main/java/com/facebook/flipper/plugins/uidebugger/descriptors/ApplicationRefDescriptor.kt @@ -19,10 +19,6 @@ object ApplicationRefDescriptor : ChainedDescriptor() { return if (node.activitiesStack.isNotEmpty()) node.activitiesStack.last() else null } - override fun onGetId(node: ApplicationRef): String { - return node.application.packageName - } - override fun onGetBounds(node: ApplicationRef): Bounds { val displayMetrics = Resources.getSystem().getDisplayMetrics() return Bounds(0, 0, displayMetrics.widthPixels, displayMetrics.heightPixels) diff --git a/android/src/main/java/com/facebook/flipper/plugins/uidebugger/descriptors/ButtonDescriptor.kt b/android/src/main/java/com/facebook/flipper/plugins/uidebugger/descriptors/ButtonDescriptor.kt index 995bcd0e2..4e51be3d0 100644 --- a/android/src/main/java/com/facebook/flipper/plugins/uidebugger/descriptors/ButtonDescriptor.kt +++ b/android/src/main/java/com/facebook/flipper/plugins/uidebugger/descriptors/ButtonDescriptor.kt @@ -12,10 +12,6 @@ import com.facebook.flipper.plugins.uidebugger.common.InspectableObject object ButtonDescriptor : ChainedDescriptor