Migrate Flipper samples to use Fresco Vito (#4861)
Summary: Pull Request resolved: https://github.com/facebook/flipper/pull/4861 Reviewed By: steelrooter Differential Revision: D46149846 fbshipit-source-id: 3b2a89da2a4e5ea2ee325e035e793ee18c5ce86d
This commit is contained in:
committed by
Facebook GitHub Bot
parent
44925c687e
commit
79e3abf6eb
@@ -87,6 +87,9 @@ dependencies {
|
|||||||
implementation deps.soloader
|
implementation deps.soloader
|
||||||
implementation deps.okhttp3
|
implementation deps.okhttp3
|
||||||
implementation deps.fresco
|
implementation deps.fresco
|
||||||
|
implementation deps.frescoUiCommon
|
||||||
|
implementation deps.frescoVito
|
||||||
|
implementation deps.frescoVitoLitho
|
||||||
debugImplementation deps.flipperFrescoPlugin
|
debugImplementation deps.flipperFrescoPlugin
|
||||||
|
|
||||||
// Integration test
|
// Integration test
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ import com.facebook.drawee.backends.pipeline.Fresco;
|
|||||||
import com.facebook.flipper.android.AndroidFlipperClient;
|
import com.facebook.flipper.android.AndroidFlipperClient;
|
||||||
import com.facebook.flipper.core.FlipperClient;
|
import com.facebook.flipper.core.FlipperClient;
|
||||||
import com.facebook.flipper.sample.network.NetworkClient;
|
import com.facebook.flipper.sample.network.NetworkClient;
|
||||||
|
import com.facebook.fresco.vito.init.FrescoVito;
|
||||||
import com.facebook.soloader.SoLoader;
|
import com.facebook.soloader.SoLoader;
|
||||||
|
|
||||||
public class FlipperSampleApplication extends Application {
|
public class FlipperSampleApplication extends Application {
|
||||||
@@ -22,6 +23,7 @@ public class FlipperSampleApplication extends Application {
|
|||||||
super.onCreate();
|
super.onCreate();
|
||||||
SoLoader.init(this, false);
|
SoLoader.init(this, false);
|
||||||
Fresco.initialize(this);
|
Fresco.initialize(this);
|
||||||
|
FrescoVito.initialize();
|
||||||
|
|
||||||
final FlipperClient client = AndroidFlipperClient.getInstance(this);
|
final FlipperClient client = AndroidFlipperClient.getInstance(this);
|
||||||
assert client != null;
|
assert client != null;
|
||||||
|
|||||||
@@ -8,10 +8,10 @@
|
|||||||
package com.facebook.flipper.sample;
|
package com.facebook.flipper.sample;
|
||||||
|
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import com.facebook.drawee.backends.pipeline.Fresco;
|
import android.net.Uri;
|
||||||
import com.facebook.drawee.interfaces.DraweeController;
|
|
||||||
import com.facebook.flipper.android.diagnostics.FlipperDiagnosticActivity;
|
import com.facebook.flipper.android.diagnostics.FlipperDiagnosticActivity;
|
||||||
import com.facebook.flipper.sample.network.NetworkClient;
|
import com.facebook.flipper.sample.network.NetworkClient;
|
||||||
|
import com.facebook.fresco.vito.litho.FrescoVitoImage2;
|
||||||
import com.facebook.litho.ClickEvent;
|
import com.facebook.litho.ClickEvent;
|
||||||
import com.facebook.litho.Column;
|
import com.facebook.litho.Column;
|
||||||
import com.facebook.litho.Component;
|
import com.facebook.litho.Component;
|
||||||
@@ -22,7 +22,6 @@ import com.facebook.litho.annotations.OnCreateLayout;
|
|||||||
import com.facebook.litho.annotations.OnEvent;
|
import com.facebook.litho.annotations.OnEvent;
|
||||||
import com.facebook.litho.annotations.OnUpdateState;
|
import com.facebook.litho.annotations.OnUpdateState;
|
||||||
import com.facebook.litho.annotations.State;
|
import com.facebook.litho.annotations.State;
|
||||||
import com.facebook.litho.fresco.FrescoImage;
|
|
||||||
import com.facebook.litho.widget.Text;
|
import com.facebook.litho.widget.Text;
|
||||||
import com.facebook.litho.widget.VerticalScroll;
|
import com.facebook.litho.widget.VerticalScroll;
|
||||||
import com.facebook.yoga.YogaEdge;
|
import com.facebook.yoga.YogaEdge;
|
||||||
@@ -32,9 +31,6 @@ public class RootComponentSpec {
|
|||||||
|
|
||||||
@OnCreateLayout
|
@OnCreateLayout
|
||||||
static Component onCreateLayout(final ComponentContext c, @State boolean displayImage) {
|
static Component onCreateLayout(final ComponentContext c, @State boolean displayImage) {
|
||||||
final DraweeController controller =
|
|
||||||
Fresco.newDraweeControllerBuilder().setUri("https://fbflipper.com/img/icon.png").build();
|
|
||||||
|
|
||||||
Column col =
|
Column col =
|
||||||
Column.create(c)
|
Column.create(c)
|
||||||
.child(
|
.child(
|
||||||
@@ -129,8 +125,8 @@ public class RootComponentSpec {
|
|||||||
.textSizeSp(20)
|
.textSizeSp(20)
|
||||||
.clickHandler(RootComponent.triggerCrash(c)))
|
.clickHandler(RootComponent.triggerCrash(c)))
|
||||||
.child(
|
.child(
|
||||||
FrescoImage.create(c)
|
FrescoVitoImage2.create(c)
|
||||||
.controller(controller)
|
.uri(Uri.parse("https://fbflipper.com/img/icon.png"))
|
||||||
.marginDip(YogaEdge.ALL, 10)
|
.marginDip(YogaEdge.ALL, 10)
|
||||||
.widthDip(150)
|
.widthDip(150)
|
||||||
.heightDip(150))
|
.heightDip(150))
|
||||||
|
|||||||
@@ -67,6 +67,10 @@ dependencies {
|
|||||||
implementation deps.lithoSectionsDebug
|
implementation deps.lithoSectionsDebug
|
||||||
implementation deps.lithoSectionsWidget
|
implementation deps.lithoSectionsWidget
|
||||||
implementation deps.fresco
|
implementation deps.fresco
|
||||||
|
implementation deps.frescoUiCommon
|
||||||
|
implementation deps.frescoVito
|
||||||
|
implementation deps.frescoVitoCore
|
||||||
|
implementation deps.frescoVitoLitho
|
||||||
kapt deps.lithoProcessor
|
kapt deps.lithoProcessor
|
||||||
kapt deps.lithoSectionsProcessor
|
kapt deps.lithoSectionsProcessor
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ import com.facebook.flipper.plugins.fresco.FrescoFlipperPlugin
|
|||||||
import com.facebook.flipper.plugins.inspector.DescriptorMapping
|
import com.facebook.flipper.plugins.inspector.DescriptorMapping
|
||||||
import com.facebook.flipper.plugins.inspector.InspectorFlipperPlugin
|
import com.facebook.flipper.plugins.inspector.InspectorFlipperPlugin
|
||||||
import com.facebook.flipper.sample.tutorial.plugin.SeaMammalFlipperPlugin
|
import com.facebook.flipper.sample.tutorial.plugin.SeaMammalFlipperPlugin
|
||||||
|
import com.facebook.fresco.vito.init.FrescoVito
|
||||||
import com.facebook.litho.config.ComponentsConfiguration
|
import com.facebook.litho.config.ComponentsConfiguration
|
||||||
import com.facebook.litho.editor.flipper.LithoFlipperDescriptors
|
import com.facebook.litho.editor.flipper.LithoFlipperDescriptors
|
||||||
import com.facebook.soloader.SoLoader
|
import com.facebook.soloader.SoLoader
|
||||||
@@ -24,6 +25,7 @@ class TutorialApplication : Application() {
|
|||||||
|
|
||||||
SoLoader.init(this, false)
|
SoLoader.init(this, false)
|
||||||
Fresco.initialize(this)
|
Fresco.initialize(this)
|
||||||
|
FrescoVito.initialize()
|
||||||
|
|
||||||
// Normally, you would want to make these dependent on BuildConfig.DEBUG.
|
// Normally, you would want to make these dependent on BuildConfig.DEBUG.
|
||||||
ComponentsConfiguration.isDebugModeEnabled = true
|
ComponentsConfiguration.isDebugModeEnabled = true
|
||||||
|
|||||||
@@ -8,14 +8,13 @@
|
|||||||
package com.facebook.flipper.sample.tutorial.ui
|
package com.facebook.flipper.sample.tutorial.ui
|
||||||
|
|
||||||
import android.net.Uri
|
import android.net.Uri
|
||||||
import com.facebook.drawee.backends.pipeline.Fresco
|
import com.facebook.fresco.vito.litho.FrescoVitoImage2
|
||||||
import com.facebook.litho.Component
|
import com.facebook.litho.Component
|
||||||
import com.facebook.litho.ComponentContext
|
import com.facebook.litho.ComponentContext
|
||||||
import com.facebook.litho.annotations.LayoutSpec
|
import com.facebook.litho.annotations.LayoutSpec
|
||||||
import com.facebook.litho.annotations.OnCreateLayout
|
import com.facebook.litho.annotations.OnCreateLayout
|
||||||
import com.facebook.litho.annotations.Prop
|
import com.facebook.litho.annotations.Prop
|
||||||
import com.facebook.litho.annotations.PropDefault
|
import com.facebook.litho.annotations.PropDefault
|
||||||
import com.facebook.litho.fresco.FrescoImage
|
|
||||||
|
|
||||||
@LayoutSpec
|
@LayoutSpec
|
||||||
object SingleImageComponentSpec {
|
object SingleImageComponentSpec {
|
||||||
@@ -27,8 +26,5 @@ object SingleImageComponentSpec {
|
|||||||
c: ComponentContext,
|
c: ComponentContext,
|
||||||
@Prop image: Uri,
|
@Prop image: Uri,
|
||||||
@Prop(optional = true) imageAspectRatio: Float
|
@Prop(optional = true) imageAspectRatio: Float
|
||||||
): Component =
|
): Component = FrescoVitoImage2.create(c).uri(image).imageAspectRatio(imageAspectRatio).build()
|
||||||
Fresco.newDraweeControllerBuilder().setUri(image).build().let {
|
|
||||||
FrescoImage.create(c).controller(it).imageAspectRatio(imageAspectRatio).build()
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
10
build.gradle
10
build.gradle
@@ -110,8 +110,12 @@ ext.deps = [
|
|||||||
testCore : 'androidx.test:core:1.4.0',
|
testCore : 'androidx.test:core:1.4.0',
|
||||||
testRules : 'androidx.test:rules:1.5.0',
|
testRules : 'androidx.test:rules:1.5.0',
|
||||||
// Plugin dependencies
|
// Plugin dependencies
|
||||||
flipperFrescoPlugin: 'com.facebook.flipper:flipper-fresco-plugin:0.182.0',
|
flipperFrescoPlugin: 'com.facebook.fresco:flipper-fresco-plugin:3.0.0',
|
||||||
frescoFlipper : 'com.facebook.fresco:flipper:3.0.0',
|
frescoFlipper : 'com.facebook.fresco:flipper:3.0.0',
|
||||||
frescoStetho : 'com.facebook.fresco:stetho:2.6.0',
|
frescoStetho : 'com.facebook.fresco:stetho:3.0.0',
|
||||||
fresco : 'com.facebook.fresco:fresco:2.6.0',
|
fresco : 'com.facebook.fresco:fresco:3.0.0',
|
||||||
|
frescoUiCommon : 'com.facebook.fresco:ui-common:3.0.0',
|
||||||
|
frescoVito : 'com.facebook.fresco:vito:3.0.0',
|
||||||
|
frescoVitoCore : 'com.facebook.fresco:vito-core:3.0.0',
|
||||||
|
frescoVitoLitho : 'com.facebook.fresco:vito-litho:3.0.0',
|
||||||
]
|
]
|
||||||
|
|||||||
Reference in New Issue
Block a user