Move traversal outside of observers package

Summary: Move partial traversal to the traversal package

Reviewed By: LukeDefeo

Differential Revision: D39812542

fbshipit-source-id: 1efa6f83ce53c49f3d06574cf52b8d065cb0fe22
This commit is contained in:
Lorenzo Blasa
2022-09-27 13:00:04 -07:00
committed by Facebook GitHub Bot
parent cd7cc37fd3
commit e7742169f5
3 changed files with 6 additions and 6 deletions

View File

@@ -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,

View File

@@ -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(

View File

@@ -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<Any> = this as NodeDescriptor<Any>
fun traverse(root: Any): Pair<MutableList<Node>, List<Any>> {
fun traverse(root: Any): Pair<List<Node>, List<Any>> {
val visited = mutableListOf<Node>()
val observableRoots = mutableListOf<Any>()
@@ -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(),