diff --git a/sample/build.gradle b/sample/build.gradle index a3dda933842..fa2fe3a3834 100644 --- a/sample/build.gradle +++ b/sample/build.gradle @@ -46,6 +46,9 @@ dependencies { implementation project(':litho-core') implementation project(':litho-coroutines-kotlin') implementation project(':litho-editor-core') + implementation(project(':litho-editor-flipper')) { + exclude group:'com.facebook.flipper' + } implementation project(':litho-fresco') implementation project(':litho-fresco-kotlin') implementation project(':litho-live-data') @@ -59,6 +62,10 @@ dependencies { // First-party implementation deps.soloader + implementation deps.flipper + implementation(deps.flipperLithoPlugin) { + exclude group:'com.facebook.litho' + } implementation deps.fresco implementation deps.frescoVito implementation deps.frescoVitoLitho diff --git a/sample/src/main/java/com/facebook/samples/litho/LithoSampleApplication.java b/sample/src/main/java/com/facebook/samples/litho/LithoSampleApplication.java index 4e6fc8daea8..9312cc05606 100644 --- a/sample/src/main/java/com/facebook/samples/litho/LithoSampleApplication.java +++ b/sample/src/main/java/com/facebook/samples/litho/LithoSampleApplication.java @@ -18,7 +18,17 @@ import android.app.Application; import com.facebook.drawee.backends.pipeline.Fresco; +import com.facebook.flipper.android.AndroidFlipperClient; +import com.facebook.flipper.android.utils.FlipperUtils; +import com.facebook.flipper.core.FlipperClient; +import com.facebook.flipper.plugins.inspector.DescriptorMapping; +import com.facebook.flipper.plugins.inspector.InspectorFlipperPlugin; +import com.facebook.flipper.plugins.sections.SectionsFlipperPlugin; +import com.facebook.flipper.plugins.uidebugger.UIDebuggerFlipperPlugin; +import com.facebook.flipper.plugins.uidebugger.core.UIDContext; +import com.facebook.flipper.plugins.uidebugger.litho.UIDebuggerLithoSupport; import com.facebook.fresco.vito.init.FrescoVito; +import com.facebook.litho.editor.flipper.LithoFlipperDescriptors; import com.facebook.rendercore.debug.DebugEventBus; import com.facebook.rendercore.debug.DebugEventLogger; import com.facebook.soloader.SoLoader; @@ -34,5 +44,19 @@ public void onCreate() { Fresco.initialize(this); FrescoVito.initialize(); SoLoader.init(this, false); + + if (FlipperUtils.shouldEnableFlipper(this)) { + final FlipperClient client = AndroidFlipperClient.getInstance(this); + + UIDContext uiDebuggerContext = UIDContext.Companion.create(this); + UIDebuggerLithoSupport.INSTANCE.enable(uiDebuggerContext); + client.addPlugin(new UIDebuggerFlipperPlugin(uiDebuggerContext)); + + final DescriptorMapping descriptorMapping = DescriptorMapping.withDefaults(); + LithoFlipperDescriptors.add(descriptorMapping); + client.addPlugin(new InspectorFlipperPlugin(this, descriptorMapping)); + client.addPlugin(new SectionsFlipperPlugin(true)); + client.start(); + } } }