diff --git a/android/sample/src/debug/java/com/facebook/flipper/sample/FlipperInitializer.java b/android/sample/src/debug/java/com/facebook/flipper/sample/FlipperInitializer.java index d971d9f3e..b45cbce57 100644 --- a/android/sample/src/debug/java/com/facebook/flipper/sample/FlipperInitializer.java +++ b/android/sample/src/debug/java/com/facebook/flipper/sample/FlipperInitializer.java @@ -7,6 +7,7 @@ package com.facebook.flipper.sample; +import android.app.Application; import android.content.Context; import com.facebook.flipper.core.FlipperClient; import com.facebook.flipper.plugins.crashreporter.CrashReporterPlugin; @@ -20,6 +21,7 @@ import com.facebook.flipper.plugins.network.FlipperOkhttpInterceptor; import com.facebook.flipper.plugins.network.NetworkFlipperPlugin; import com.facebook.flipper.plugins.sharedpreferences.SharedPreferencesFlipperPlugin; import com.facebook.flipper.plugins.sharedpreferences.SharedPreferencesFlipperPlugin.SharedPreferencesDescriptor; +import com.facebook.flipper.plugins.uidebugger.UIDebuggerFlipperPlugin; import com.facebook.litho.config.ComponentsConfiguration; import com.facebook.litho.editor.flipper.LithoFlipperDescriptors; import java.util.Arrays; @@ -54,6 +56,7 @@ public final class FlipperInitializer { client.addPlugin(CrashReporterPlugin.getInstance()); client.addPlugin(new DatabasesFlipperPlugin(context)); client.addPlugin(NavigationFlipperPlugin.getInstance()); + client.addPlugin(new UIDebuggerFlipperPlugin((Application) context)); client.start(); final OkHttpClient okHttpClient = 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 d7c45bc68..9eb084b47 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 @@ -9,24 +9,29 @@ package com.facebook.flipper.plugins.uidebugger import android.app.Application import com.facebook.flipper.core.FlipperConnection +import com.facebook.flipper.core.FlipperObject import com.facebook.flipper.core.FlipperPlugin -import com.facebook.flipper.plugins.uidebugger.commands.CommandRegister -import com.facebook.flipper.plugins.uidebugger.commands.GetRoot import com.facebook.flipper.plugins.uidebugger.core.ApplicationRef import com.facebook.flipper.plugins.uidebugger.core.Context -class UIDebuggerFlipperPlugin(application: Application) : FlipperPlugin { +class UIDebuggerFlipperPlugin(val application: Application) : FlipperPlugin { + private val context: Context = Context(ApplicationRef(application)) private var connection: FlipperConnection? = null override fun getId(): String { - return "UIDebugger" + return "ui-debugger" } @Throws(Exception::class) override fun onConnect(connection: FlipperConnection) { this.connection = connection - registerCommands(connection) + // temp solution, get from descriptor + connection.send( + "init", + FlipperObject.Builder() + .put("rootId", System.identityHashCode(application).toString()) + .build()) } @Throws(Exception::class) @@ -37,8 +42,4 @@ class UIDebuggerFlipperPlugin(application: Application) : FlipperPlugin { override fun runInBackground(): Boolean { return true } - - fun registerCommands(connection: FlipperConnection) { - CommandRegister.register(connection, GetRoot(context)) - } } diff --git a/android/src/main/java/com/facebook/flipper/plugins/uidebugger/commands/GetRoot.kt b/android/src/main/java/com/facebook/flipper/plugins/uidebugger/commands/GetRoot.kt deleted file mode 100644 index 753a132fa..000000000 --- a/android/src/main/java/com/facebook/flipper/plugins/uidebugger/commands/GetRoot.kt +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - -package com.facebook.flipper.plugins.uidebugger.commands - -import com.facebook.flipper.core.FlipperObject -import com.facebook.flipper.core.FlipperResponder -import com.facebook.flipper.plugins.uidebugger.core.Context - -class GetRoot(context: Context) : Command(context) { - override fun identifier(): String { - return "getRoot" - } - - override fun execute(params: FlipperObject, response: FlipperResponder) {} -} diff --git a/desktop/plugins/public/ui-debugger/components/main.tsx b/desktop/plugins/public/ui-debugger/components/main.tsx new file mode 100644 index 000000000..754d69149 --- /dev/null +++ b/desktop/plugins/public/ui-debugger/components/main.tsx @@ -0,0 +1,19 @@ +/** + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + * @format + */ + +import React from 'react'; +import {plugin} from '../index'; +import {usePlugin, useValue} from 'flipper-plugin'; + +export function Component() { + const instance = usePlugin(plugin); + const rootId = useValue(instance.rootId); + + return