Interactions with TreeObserverManager moved to main thread

Summary: Needed for next diff

Reviewed By: lblasa

Differential Revision: D42453228

fbshipit-source-id: 29e2655bf08376cd12a98ab61fe95b804b0c7ba1
This commit is contained in:
Luke De Feo
2023-01-25 04:47:11 -08:00
committed by Facebook GitHub Bot
parent a6ab3f5649
commit 3b65994ca6

View File

@@ -18,6 +18,9 @@ import com.facebook.flipper.plugins.uidebugger.descriptors.MetadataRegister
import com.facebook.flipper.plugins.uidebugger.model.InitEvent import com.facebook.flipper.plugins.uidebugger.model.InitEvent
import com.facebook.flipper.plugins.uidebugger.model.MetadataUpdateEvent import com.facebook.flipper.plugins.uidebugger.model.MetadataUpdateEvent
import com.facebook.flipper.plugins.uidebugger.observers.TreeObserverFactory import com.facebook.flipper.plugins.uidebugger.observers.TreeObserverFactory
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
import kotlinx.serialization.json.Json import kotlinx.serialization.json.Json
const val LogTag = "ui-debugger" const val LogTag = "ui-debugger"
@@ -28,6 +31,7 @@ class UIDebuggerFlipperPlugin(
observerFactory: TreeObserverFactory? observerFactory: TreeObserverFactory?
) : FlipperPlugin { ) : FlipperPlugin {
val mainScope = CoroutineScope(Dispatchers.Main)
private val context: Context = private val context: Context =
Context( Context(
ApplicationRef(application), ApplicationRef(application),
@@ -61,7 +65,7 @@ class UIDebuggerFlipperPlugin(
MetadataUpdateEvent.serializer(), MetadataUpdateEvent.serializer(),
MetadataUpdateEvent(MetadataRegister.extractPendingMetadata()))) MetadataUpdateEvent(MetadataRegister.extractPendingMetadata())))
context.treeObserverManager.start() mainScope.launch { context.treeObserverManager.start() }
} }
@Throws(Exception::class) @Throws(Exception::class)
@@ -71,9 +75,11 @@ class UIDebuggerFlipperPlugin(
MetadataRegister.reset() MetadataRegister.reset()
mainScope.launch {
context.treeObserverManager.stop() context.treeObserverManager.stop()
context.bitmapPool.recycleAll() context.bitmapPool.recycleAll()
} }
}
override fun runInBackground(): Boolean { override fun runInBackground(): Boolean {
return false return false