From ae3d4f700843ae4cbb6927ee620095136d1abc3f Mon Sep 17 00:00:00 2001 From: skychx Date: Mon, 7 Mar 2022 11:01:25 -0800 Subject: [PATCH] Android: Fix crash caused by Image.queryCache parsing null (#32101) Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/32101 Reviewed By: cortinico Differential Revision: D34687038 Pulled By: ShikaSD fbshipit-source-id: 1b39a34a689a043425891416ff141ef622eacd24 --- .../react/modules/image/ImageLoaderModule.java | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 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 c2fb799d34e785..ae97d9ffd88f62 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 @@ -8,6 +8,7 @@ package com.facebook.react.modules.image; import android.net.Uri; +import android.text.TextUtils; import android.util.SparseArray; import androidx.annotation.NonNull; import androidx.annotation.Nullable; @@ -276,11 +277,13 @@ protected void doInBackgroundGuarded(Void... params) { ImagePipeline imagePipeline = getImagePipeline(); for (int i = 0; i < uris.size(); i++) { String uriString = uris.getString(i); - final Uri uri = Uri.parse(uriString); - if (imagePipeline.isInBitmapMemoryCache(uri)) { - result.putString(uriString, "memory"); - } else if (imagePipeline.isInDiskCacheSync(uri)) { - result.putString(uriString, "disk"); + if (!TextUtils.isEmpty(uriString)) { + final Uri uri = Uri.parse(uriString); + if (imagePipeline.isInBitmapMemoryCache(uri)) { + result.putString(uriString, "memory"); + } else if (imagePipeline.isInDiskCacheSync(uri)) { + result.putString(uriString, "disk"); + } } } promise.resolve(result);