From e7742169f5b5211dcb3b9e6bb8061fd60937fba2 Mon Sep 17 00:00:00 2001 From: Lorenzo Blasa Date: Tue, 27 Sep 2022 13:00:04 -0700 Subject: [PATCH] Move traversal outside of observers package Summary: Move partial traversal to the traversal package Reviewed By: LukeDefeo Differential Revision: D39812542 fbshipit-source-id: 1efa6f83ce53c49f3d06574cf52b8d065cb0fe22 --- .../facebook/flipper/plugins/uidebugger/core/Context.kt | 2 +- .../plugins/uidebugger/core/NativeScanScheduler.kt | 2 +- .../{observers => traversal}/PartialLayoutTraversal.kt | 8 ++++---- 3 files changed, 6 insertions(+), 6 deletions(-) rename android/src/main/java/com/facebook/flipper/plugins/uidebugger/{observers => traversal}/PartialLayoutTraversal.kt (94%) diff --git a/android/src/main/java/com/facebook/flipper/plugins/uidebugger/core/Context.kt b/android/src/main/java/com/facebook/flipper/plugins/uidebugger/core/Context.kt index 724b3711c..b00375499 100644 --- a/android/src/main/java/com/facebook/flipper/plugins/uidebugger/core/Context.kt +++ b/android/src/main/java/com/facebook/flipper/plugins/uidebugger/core/Context.kt @@ -9,9 +9,9 @@ package com.facebook.flipper.plugins.uidebugger.core import com.facebook.flipper.core.FlipperConnection import com.facebook.flipper.plugins.uidebugger.descriptors.DescriptorRegister -import com.facebook.flipper.plugins.uidebugger.observers.PartialLayoutTraversal import com.facebook.flipper.plugins.uidebugger.observers.TreeObserverFactory import com.facebook.flipper.plugins.uidebugger.observers.TreeObserverManager +import com.facebook.flipper.plugins.uidebugger.traversal.PartialLayoutTraversal data class Context( val applicationRef: ApplicationRef, diff --git a/android/src/main/java/com/facebook/flipper/plugins/uidebugger/core/NativeScanScheduler.kt b/android/src/main/java/com/facebook/flipper/plugins/uidebugger/core/NativeScanScheduler.kt index a903f698d..9fa5a10ee 100644 --- a/android/src/main/java/com/facebook/flipper/plugins/uidebugger/core/NativeScanScheduler.kt +++ b/android/src/main/java/com/facebook/flipper/plugins/uidebugger/core/NativeScanScheduler.kt @@ -13,9 +13,9 @@ import com.facebook.flipper.plugins.uidebugger.LogTag import com.facebook.flipper.plugins.uidebugger.model.NativeScanEvent import com.facebook.flipper.plugins.uidebugger.model.Node import com.facebook.flipper.plugins.uidebugger.model.PerfStatsEvent -import com.facebook.flipper.plugins.uidebugger.observers.PartialLayoutTraversal import com.facebook.flipper.plugins.uidebugger.observers.TreeObserverFactory import com.facebook.flipper.plugins.uidebugger.scheduler.Scheduler +import com.facebook.flipper.plugins.uidebugger.traversal.PartialLayoutTraversal import kotlinx.serialization.json.Json data class ScanResult( diff --git a/android/src/main/java/com/facebook/flipper/plugins/uidebugger/observers/PartialLayoutTraversal.kt b/android/src/main/java/com/facebook/flipper/plugins/uidebugger/traversal/PartialLayoutTraversal.kt similarity index 94% rename from android/src/main/java/com/facebook/flipper/plugins/uidebugger/observers/PartialLayoutTraversal.kt rename to android/src/main/java/com/facebook/flipper/plugins/uidebugger/traversal/PartialLayoutTraversal.kt index 1ca961f94..480ff996b 100644 --- a/android/src/main/java/com/facebook/flipper/plugins/uidebugger/observers/PartialLayoutTraversal.kt +++ b/android/src/main/java/com/facebook/flipper/plugins/uidebugger/traversal/PartialLayoutTraversal.kt @@ -5,7 +5,7 @@ * LICENSE file in the root directory of this source tree. */ -package com.facebook.flipper.plugins.uidebugger.observers +package com.facebook.flipper.plugins.uidebugger.traversal import android.util.Log import com.facebook.flipper.plugins.uidebugger.LogTag @@ -14,6 +14,7 @@ import com.facebook.flipper.plugins.uidebugger.descriptors.Id import com.facebook.flipper.plugins.uidebugger.descriptors.NodeDescriptor import com.facebook.flipper.plugins.uidebugger.descriptors.nodeId import com.facebook.flipper.plugins.uidebugger.model.Node +import com.facebook.flipper.plugins.uidebugger.observers.TreeObserverFactory /** * This will traverse the layout hierarchy until it sees a node that has an observer registered for @@ -29,7 +30,7 @@ class PartialLayoutTraversal( @Suppress("unchecked_cast") internal fun NodeDescriptor<*>.asAny(): NodeDescriptor = this as NodeDescriptor - fun traverse(root: Any): Pair, List> { + fun traverse(root: Any): Pair, List> { val visited = mutableListOf() val observableRoots = mutableListOf() @@ -48,7 +49,6 @@ class PartialLayoutTraversal( } val descriptor = descriptorRegister.descriptorForClassUnsafe(node::class.java).asAny() - val children = descriptor.getChildren(node) val activeChild = descriptor.getActiveChild(node) @@ -64,6 +64,7 @@ class PartialLayoutTraversal( stack.add(child) } } + var activeChildId: Id? = null if (activeChild != null) { stack.add(activeChild) @@ -73,7 +74,6 @@ class PartialLayoutTraversal( val attributes = descriptor.getData(node) val bounds = descriptor.getBounds(node) val tags = descriptor.getTags(node) - visited.add( Node( node.nodeId(),