Last active
October 10, 2025 22:56
-
-
Save maxpowa/0b37709c54130909f8d32b39542494c8 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| diff --git a/node_modules/react-native-document-picker/android/src/main/java/com/reactnativedocumentpicker/RNDocumentPickerModule.java b/node_modules/react-native-document-picker/android/src/main/java/com/reactnativedocumentpicker/RNDocumentPickerModule.java | |
| index 5001525..706b08e 100644 | |
| --- a/node_modules/react-native-document-picker/android/src/main/java/com/reactnativedocumentpicker/RNDocumentPickerModule.java | |
| +++ b/node_modules/react-native-document-picker/android/src/main/java/com/reactnativedocumentpicker/RNDocumentPickerModule.java | |
| @@ -8,6 +8,7 @@ import android.content.Context; | |
| import android.content.Intent; | |
| import android.database.Cursor; | |
| import android.net.Uri; | |
| +import android.os.AsyncTask; | |
| import android.os.Bundle; | |
| import android.provider.DocumentsContract; | |
| import android.provider.OpenableColumns; | |
| @@ -18,7 +19,7 @@ import androidx.annotation.NonNull; | |
| import com.facebook.react.bridge.ActivityEventListener; | |
| import com.facebook.react.bridge.Arguments; | |
| import com.facebook.react.bridge.BaseActivityEventListener; | |
| -import com.facebook.react.bridge.GuardedResultAsyncTask; | |
| +import com.facebook.react.bridge.JSExceptionHandler; | |
| import com.facebook.react.bridge.Promise; | |
| import com.facebook.react.bridge.ReactApplicationContext; | |
| import com.facebook.react.bridge.ReactContext; | |
| @@ -229,14 +230,15 @@ public class RNDocumentPickerModule extends NativeDocumentPickerSpec { | |
| } | |
| } | |
| - private static class ProcessDataTask extends GuardedResultAsyncTask<ReadableArray> { | |
| + private static class ProcessDataTask extends AsyncTask<ReadableArray, Void, WritableArray> { | |
| + private final JSExceptionHandler mExceptionHandler; | |
| private final WeakReference<Context> weakContext; | |
| private final List<Uri> uris; | |
| private final String copyTo; | |
| private final Promise promise; | |
| protected ProcessDataTask(ReactContext reactContext, List<Uri> uris, String copyTo, Promise promise) { | |
| - super(reactContext.getExceptionHandler()); | |
| + this.mExceptionHandler = reactContext.getExceptionHandler(); | |
| this.weakContext = new WeakReference<>(reactContext.getApplicationContext()); | |
| this.uris = uris; | |
| this.copyTo = copyTo; | |
| @@ -244,17 +246,27 @@ public class RNDocumentPickerModule extends NativeDocumentPickerSpec { | |
| } | |
| @Override | |
| - protected ReadableArray doInBackgroundGuarded() { | |
| - WritableArray results = Arguments.createArray(); | |
| - for (Uri uri : uris) { | |
| - results.pushMap(getMetadata(uri)); | |
| + protected WritableArray doInBackground(ReadableArray... params) { | |
| + try { | |
| + WritableArray results = Arguments.createArray(); | |
| + for (Uri uri : uris) { | |
| + results.pushMap(getMetadata(uri)); | |
| + } | |
| + return results; | |
| + } catch (RuntimeException e) { | |
| + mExceptionHandler.handleException(e); | |
| + throw e; | |
| } | |
| - return results; | |
| } | |
| @Override | |
| - protected void onPostExecuteGuarded(ReadableArray readableArray) { | |
| - promise.resolve(readableArray); | |
| + protected final void onPostExecute(WritableArray result) { | |
| + try { | |
| + promise.resolve(result); | |
| + } catch (RuntimeException e) { | |
| + mExceptionHandler.handleException(e); | |
| + throw e; | |
| + } | |
| } | |
| private WritableMap getMetadata(Uri uri) { |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment