From eec2495a962e07e66bbaaf15f0e8a26f0e8e76ac Mon Sep 17 00:00:00 2001 From: Ryan Elliott Date: Mon, 18 Mar 2019 10:54:05 -0700 Subject: [PATCH] Resolve issue #23816, updated with recent merges (#23961) Summary: This fixes #23816, which states that `getSize()` does not function correctly on Android. The original PR for this is now outdated as there have been merges into master that would create merge conflicts. [Android] [Fixed] - Added correct handling for `getSize()` to avoid warnings being thrown.import Pull Request resolved: https://github.com/facebook/react-native/pull/23961 Differential Revision: D14505183 Pulled By: cpojer fbshipit-source-id: 3d8976fd518de0903d7736a8cbd8371987eb1b2d --- .../src/main/java/com/facebook/react/modules/image/BUCK | 1 + .../facebook/react/modules/image/ImageLoaderModule.java | 9 +++++---- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/ReactAndroid/src/main/java/com/facebook/react/modules/image/BUCK b/ReactAndroid/src/main/java/com/facebook/react/modules/image/BUCK index 7f98a94b57beb0..e7bda3dfae8a96 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/modules/image/BUCK +++ b/ReactAndroid/src/main/java/com/facebook/react/modules/image/BUCK @@ -17,5 +17,6 @@ rn_android_library( react_native_target("java/com/facebook/react/common:common"), react_native_target("java/com/facebook/react/modules/fresco:fresco"), react_native_target("java/com/facebook/react/module/annotations:annotations"), + react_native_target("java/com/facebook/react/views/imagehelper:imagehelper"), ], ) 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 6a4c9c7cee6ed0..4f0f136da80d04 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 @@ -34,6 +34,7 @@ import com.facebook.react.bridge.ReadableMap; import com.facebook.react.bridge.WritableMap; import com.facebook.react.module.annotations.ReactModule; +import com.facebook.react.views.imagehelper.ImageSource; @ReactModule(name = ImageLoaderModule.NAME) public class ImageLoaderModule extends ReactContextBaseJavaModule implements @@ -79,8 +80,8 @@ public void getSize( return; } - Uri uri = Uri.parse(uriString); - ImageRequest request = ImageRequestBuilder.newBuilderWithSource(uri).build(); + ImageSource source = new ImageSource(getReactApplicationContext(), uriString); + ImageRequest request = ImageRequestBuilder.newBuilderWithSource(source.getUri()).build(); DataSource> dataSource = Fresco.getImagePipeline().fetchDecodedImage(request, mCallerContext); @@ -139,8 +140,8 @@ public void getSizeWithHeaders( return; } - Uri uri = Uri.parse(uriString); - ImageRequestBuilder imageRequestBuilder = ImageRequestBuilder.newBuilderWithSource(uri); + ImageSource source = new ImageSource(getReactApplicationContext(), uriString); + ImageRequestBuilder imageRequestBuilder = ImageRequestBuilder.newBuilderWithSource(source.getUri()); ImageRequest request = ReactNetworkImageRequest.fromBuilderWithHeaders(imageRequestBuilder, headers); DataSource> dataSource =