From 3da8103679b62d1f4c073fcd75d4ce21090b1ef9 Mon Sep 17 00:00:00 2001 From: David Vacca Date: Fri, 1 May 2020 17:17:06 -0700 Subject: [PATCH] Inject Fresco.ImagePipeline into ImageLoaderModule Summary: This diff injects Fresco.ImagePipeline into ImageLoaderModule in order to ensure prefetching uses the same ImagePipeline than ReactImageView changelog: [internal][Android] Reviewed By: fkgozali Differential Revision: D21362267 fbshipit-source-id: d6f55cffb6be6a012c2afb4ad5db2072bc7100ec --- .../react/modules/image/ImageLoaderModule.java | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/ReactAndroid/src/main/java/com/facebook/react/modules/image/ImageLoaderModule.java b/ReactAndroid/src/main/java/com/facebook/react/modules/image/ImageLoaderModule.java index aec08eea1f7..e3aa67d8070 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/modules/image/ImageLoaderModule.java +++ b/ReactAndroid/src/main/java/com/facebook/react/modules/image/ImageLoaderModule.java @@ -44,18 +44,25 @@ public class ImageLoaderModule extends NativeImageLoaderAndroidSpec private static final String ERROR_GET_SIZE_FAILURE = "E_GET_SIZE_FAILURE"; public static final String NAME = "ImageLoader"; - private final Object mCallerContext; + private @Nullable final Object mCallerContext; private final Object mEnqueuedRequestMonitor = new Object(); private final SparseArray> mEnqueuedRequests = new SparseArray<>(); + private ImagePipeline mImagePipeline; public ImageLoaderModule(ReactApplicationContext reactContext) { + this(reactContext, null); + } + + public ImageLoaderModule(ReactApplicationContext reactContext, ImagePipeline imagePipeline) { super(reactContext); - mCallerContext = this; + mCallerContext = Fresco.getImagePipeline(); + mImagePipeline = imagePipeline; } public ImageLoaderModule(ReactApplicationContext reactContext, Object callerContext) { super(reactContext); mCallerContext = callerContext; + mImagePipeline = Fresco.getImagePipeline(); } @Override