diff --git a/android/src/main/java/com/facebook/flipper/plugins/uidebugger/UIDebuggerFlipperPlugin.kt b/android/src/main/java/com/facebook/flipper/plugins/uidebugger/UIDebuggerFlipperPlugin.kt index b5a5a1d66..d5a4c3909 100644 --- a/android/src/main/java/com/facebook/flipper/plugins/uidebugger/UIDebuggerFlipperPlugin.kt +++ b/android/src/main/java/com/facebook/flipper/plugins/uidebugger/UIDebuggerFlipperPlugin.kt @@ -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.MetadataUpdateEvent 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 const val LogTag = "ui-debugger" @@ -28,6 +31,7 @@ class UIDebuggerFlipperPlugin( observerFactory: TreeObserverFactory? ) : FlipperPlugin { + val mainScope = CoroutineScope(Dispatchers.Main) private val context: Context = Context( ApplicationRef(application), @@ -61,7 +65,7 @@ class UIDebuggerFlipperPlugin( MetadataUpdateEvent.serializer(), MetadataUpdateEvent(MetadataRegister.extractPendingMetadata()))) - context.treeObserverManager.start() + mainScope.launch { context.treeObserverManager.start() } } @Throws(Exception::class) @@ -71,8 +75,10 @@ class UIDebuggerFlipperPlugin( MetadataRegister.reset() - context.treeObserverManager.stop() - context.bitmapPool.recycleAll() + mainScope.launch { + context.treeObserverManager.stop() + context.bitmapPool.recycleAll() + } } override fun runInBackground(): Boolean {