joltup / rn-fetch-blob

A project committed to making file access and data transfer easier, efficient for React Native developers.
MIT License
2.81k stars 773 forks source link

Check if addAndroidDownloads map has the notification key before consuming #504

Closed Bhavik-P closed 4 years ago

Bhavik-P commented 4 years ago

Attempting to read the notification key without making sure it's within the addAndroidDownloads map causes a fatal crash. This code will ensure we safely check that the ReadableMap contains the key prior to consuming it.

com.facebook.react.bridge.NoSuchKeyException notification 
    ReadableNativeMap.java:3 com.facebook.react.bridge.ReadableNativeMap.getValue
    ReadableNativeMap.java:4 com.facebook.react.bridge.ReadableNativeMap.getValue
    ReadableNativeMap.java:1 com.facebook.react.bridge.ReadableNativeMap.getBoolean
    RNFetchBlobReq.java:5 com.RNFetchBlob.RNFetchBlobReq.run
    RNFetchBlob.java:1 com.RNFetchBlob.RNFetchBlob.fetchBlob
    Method.java:-2 java.lang.reflect.Method.invoke
    JavaMethodWrapper.java:18 com.facebook.react.bridge.JavaMethodWrapper.invoke
    JavaModuleWrapper.java:2 com.facebook.react.bridge.JavaModuleWrapper.invoke
    NativeRunnable.java:-2 com.facebook.react.bridge.queue.NativeRunnable.run
    Handler.java:873 android.os.Handler.handleCallback
    Handler.java:99 android.os.Handler.dispatchMessage
    MessageQueueThreadHandler.java:1 com.facebook.react.bridge.queue.MessageQueueThreadHandler.dispatchMessage
    Looper.java:214 android.os.Looper.loop
    MessageQueueThreadImpl.java:8 com.facebook.react.bridge.queue.MessageQueueThreadImpl$4.run
    Thread.java:764 java.lang.Thread.run