mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
Integrate ReactContextContainerFactory as part of ReactImageViewManager
Summary: This diff exposes the ReactContextContainerFactory class on ReactImageViewManager and it customize ChainContext to improve Fresco logging Changelog: Expose new ReactContextContainerFactory class as part of ReactImageViewManager Reviewed By: JoshuaGross Differential Revision: D18474013 fbshipit-source-id: 143461da22966694e5b1e2c3b5b39e3d6be91fd6
This commit is contained in:
committed by
Facebook Github Bot
parent
f0b6f8441b
commit
882e4a3f17
@@ -39,25 +39,45 @@ public class ReactImageManager extends SimpleViewManager<ReactImageView> {
|
||||
private @Nullable AbstractDraweeControllerBuilder mDraweeControllerBuilder;
|
||||
private @Nullable GlobalImageLoadListener mGlobalImageLoadListener;
|
||||
private final @Nullable Object mCallerContext;
|
||||
private final @Nullable ReactCallerContextFactory mCallerContextFactory;
|
||||
|
||||
public ReactImageManager(
|
||||
AbstractDraweeControllerBuilder draweeControllerBuilder, Object callerContext) {
|
||||
@Nullable AbstractDraweeControllerBuilder draweeControllerBuilder,
|
||||
@Nullable Object callerContext) {
|
||||
this(draweeControllerBuilder, null, callerContext);
|
||||
}
|
||||
|
||||
public ReactImageManager(
|
||||
AbstractDraweeControllerBuilder draweeControllerBuilder,
|
||||
@Nullable AbstractDraweeControllerBuilder draweeControllerBuilder,
|
||||
@Nullable GlobalImageLoadListener globalImageLoadListener,
|
||||
Object callerContext) {
|
||||
@Nullable Object callerContext) {
|
||||
mDraweeControllerBuilder = draweeControllerBuilder;
|
||||
mGlobalImageLoadListener = globalImageLoadListener;
|
||||
mCallerContext = callerContext;
|
||||
mCallerContextFactory = null;
|
||||
}
|
||||
|
||||
public ReactImageManager(
|
||||
@Nullable AbstractDraweeControllerBuilder draweeControllerBuilder,
|
||||
@Nullable ReactCallerContextFactory callerContextFactory) {
|
||||
this(draweeControllerBuilder, null, callerContextFactory);
|
||||
}
|
||||
|
||||
public ReactImageManager(
|
||||
@Nullable AbstractDraweeControllerBuilder draweeControllerBuilder,
|
||||
@Nullable GlobalImageLoadListener globalImageLoadListener,
|
||||
@Nullable ReactCallerContextFactory callerContextFactory) {
|
||||
mDraweeControllerBuilder = draweeControllerBuilder;
|
||||
mGlobalImageLoadListener = globalImageLoadListener;
|
||||
mCallerContextFactory = callerContextFactory;
|
||||
mCallerContext = null;
|
||||
}
|
||||
|
||||
public ReactImageManager() {
|
||||
// Lazily initialize as FrescoModule have not been initialized yet
|
||||
mDraweeControllerBuilder = null;
|
||||
mCallerContext = null;
|
||||
mCallerContextFactory = null;
|
||||
}
|
||||
|
||||
public AbstractDraweeControllerBuilder getDraweeControllerBuilder() {
|
||||
@@ -73,8 +93,12 @@ public class ReactImageManager extends SimpleViewManager<ReactImageView> {
|
||||
|
||||
@Override
|
||||
public ReactImageView createViewInstance(ThemedReactContext context) {
|
||||
Object callerContext =
|
||||
mCallerContextFactory != null
|
||||
? mCallerContextFactory.getOrCreateCallerContext(context)
|
||||
: getCallerContext();
|
||||
return new ReactImageView(
|
||||
context, getDraweeControllerBuilder(), mGlobalImageLoadListener, getCallerContext());
|
||||
context, getDraweeControllerBuilder(), mGlobalImageLoadListener, callerContext);
|
||||
}
|
||||
|
||||
// In JS this is Image.props.source
|
||||
|
||||
Reference in New Issue
Block a user