Fix issue where tree observer always subscribing

Summary: This was causing all observers to continuously traverse all children since most observers traverse on subscribe

Reviewed By: lblasa

Differential Revision: D40021835

fbshipit-source-id: 6a6fba02523848be37f5e939c7a240ff2958daca
This commit is contained in:
Luke De Feo
2022-10-10 04:13:06 -07:00
committed by Facebook GitHub Bot
parent b911c49667
commit 9f6ba6cf8c
2 changed files with 1 additions and 5 deletions

View File

@@ -57,8 +57,6 @@ abstract class TreeObserver<T> {
observer.subscribe(observable) observer.subscribe(observable)
children[observable.nodeId()] = observer children[observable.nodeId()] = observer
} }
} else {
children[observable.nodeId()]?.subscribe(observable)
} }
} }
@@ -79,8 +77,6 @@ abstract class TreeObserver<T> {
} }
removables.forEach { key -> children.remove(key) } removables.forEach { key -> children.remove(key) }
Log.d(LogTag, "For Observer ${this.type} Sending ${visitedNodes.size}")
val traversalCompleteTime = System.currentTimeMillis() val traversalCompleteTime = System.currentTimeMillis()
if (snapshotBitmap != null) { if (snapshotBitmap != null) {

View File

@@ -97,7 +97,7 @@ class TreeObserverManager(val context: Context) {
val socketEnd = System.currentTimeMillis() val socketEnd = System.currentTimeMillis()
Log.i( Log.i(
LogTag, LogTag,
"Sent event for ${treeUpdate.observerType} nodes ${treeUpdate.nodes.size}") "Sent event for ${treeUpdate.observerType} root ID ${treeUpdate.rootId} nodes ${treeUpdate.nodes.size}")
val perfStats = val perfStats =
PerfStatsEvent( PerfStatsEvent(