From 4436128d075ee05521c4dd43956522437b8b2dfa Mon Sep 17 00:00:00 2001 From: Luke De Feo Date: Mon, 12 Sep 2022 03:48:43 -0700 Subject: [PATCH] Descriptor clean up Summary: Now that we have the tree observer we can make descriptors completely about describing an object. To that end we have removed init method and made them all object to indicate to future readers their singleton nature. onGetActive child was made open instead of abstract to avoid needed to override in all subclasses Reviewed By: lblasa Differential Revision: D39387935 fbshipit-source-id: 802b8afdd9aa639daecf10d774ca5b960ee48003 --- .../descriptors/AbstractChainedDescriptor.kt | 10 +----- .../descriptors/ActivityDescriptor.kt | 6 +--- .../descriptors/ApplicationRefDescriptor.kt | 9 +---- .../descriptors/ButtonDescriptor.kt | 7 +--- .../descriptors/DescriptorRegister.kt | 18 +++++----- .../uidebugger/descriptors/NodeDescriptor.kt | 10 ++++-- .../descriptors/ObjectDescriptor.kt | 8 ++--- .../descriptors/TextViewDescriptor.kt | 8 +---- .../uidebugger/descriptors/ViewDescriptor.kt | 36 ++++++++----------- .../descriptors/ViewGroupDescriptor.kt | 30 +++++++--------- .../descriptors/ViewPagerDescriptor.kt | 2 +- .../descriptors/WindowDescriptor.kt | 12 +------ 12 files changed, 52 insertions(+), 104 deletions(-) diff --git a/android/src/main/java/com/facebook/flipper/plugins/uidebugger/descriptors/AbstractChainedDescriptor.kt b/android/src/main/java/com/facebook/flipper/plugins/uidebugger/descriptors/AbstractChainedDescriptor.kt index 51896a363..cd3eccf8c 100644 --- a/android/src/main/java/com/facebook/flipper/plugins/uidebugger/descriptors/AbstractChainedDescriptor.kt +++ b/android/src/main/java/com/facebook/flipper/plugins/uidebugger/descriptors/AbstractChainedDescriptor.kt @@ -26,14 +26,6 @@ abstract class AbstractChainedDescriptor : Descriptor(), ChainedDescriptor return mSuper } - /** Initialize a descriptor. */ - final override fun init() { - mSuper?.init() - onInit() - } - - open fun onInit() {} - final override fun getActiveChild(node: T): Any? { // ask each descriptor in the chain for an active child, if none available look up the chain // until no more super descriptors @@ -58,7 +50,7 @@ abstract class AbstractChainedDescriptor : Descriptor(), ChainedDescriptor return onGetName(node) } - abstract fun onGetActiveChild(node: T): Any? + open fun onGetActiveChild(node: T): Any? = null abstract fun onGetName(node: T): String 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 69d958979..e18dc9fca 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 @@ -11,11 +11,7 @@ import android.app.Activity import com.facebook.flipper.plugins.uidebugger.common.InspectableObject import com.facebook.flipper.plugins.uidebugger.stetho.FragmentCompat -class ActivityDescriptor : AbstractChainedDescriptor() { - override fun onInit() {} - override fun onGetActiveChild(node: Activity): Any? { - return null - } +object ActivityDescriptor : AbstractChainedDescriptor() { override fun onGetId(activity: Activity): String { return Integer.toString(System.identityHashCode(activity)) 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 d76b8fbf7..534038b48 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 @@ -8,12 +8,10 @@ package com.facebook.flipper.plugins.uidebugger.descriptors import android.app.Activity -import com.facebook.flipper.plugins.uidebugger.common.InspectableObject import com.facebook.flipper.plugins.uidebugger.core.ApplicationRef -class ApplicationRefDescriptor : AbstractChainedDescriptor() { +object ApplicationRefDescriptor : AbstractChainedDescriptor() { - override fun onInit() {} override fun onGetActiveChild(node: ApplicationRef): Any? { return if (node.activitiesStack.size > 0) node.activitiesStack.last() else null } @@ -34,9 +32,4 @@ class ApplicationRefDescriptor : AbstractChainedDescriptor() { children.add(activity) } } - - override fun onGetData( - applicationRef: ApplicationRef, - attributeSections: MutableMap - ) {} } 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 740e4a548..ff040474e 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 @@ -10,7 +10,7 @@ package com.facebook.flipper.plugins.uidebugger.descriptors import android.widget.Button import com.facebook.flipper.plugins.uidebugger.common.InspectableObject -class ButtonDescriptor : AbstractChainedDescriptor