ko2ic / image_downloader

Flutter plugin that downloads images and movies on the Internet and saves to Photo Library on iOS or specified directory on Android.
https://pub.dartlang.org/packages/image_downloader#-readme-tab-
MIT License
92 stars 116 forks source link

Check if file does not exists on complete, sometimes it does not #35

Closed js2702 closed 5 years ago

js2702 commented 5 years ago

Sometimes there are logs in Android Play Store showing that the file does not exist on complete.

java.lang.RuntimeException: 
  at android.app.LoadedApk$ReceiverDispatcher$Args.lambda$getRunnable$0 (LoadedApk.java:1410)
  at android.app.-$$Lambda$LoadedApk$ReceiverDispatcher$Args$_BumDX2UKsnxLVrE6UJsJZkotuA.run (Unknown Source:2)
  at android.os.Handler.handleCallback (Handler.java:873)
  at android.os.Handler.dispatchMessage (Handler.java:99)
  at android.os.Looper.loop (Looper.java:193)
  at android.app.ActivityThread.main (ActivityThread.java:6923)
  at java.lang.reflect.Method.invoke (Native Method)
  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:493)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:870)
Caused by: java.io.FileNotFoundException: 
  at java.io.FileInputStream.open0 (Native Method)
  at java.io.FileInputStream.open (FileInputStream.java:231)
  at java.io.FileInputStream.<init> (FileInputStream.java:165)
  at com.ko2ic.imagedownloader.ImageDownloaderPlugin$CallbackImpl$granted$3.invoke (ImageDownloaderPlugin.kt:261)
  at com.ko2ic.imagedownloader.ImageDownloaderPlugin$CallbackImpl$granted$3.invoke (ImageDownloaderPlugin.kt:196)
  at com.ko2ic.imagedownloader.Downloader.resolveDownloadStatus (Downloader.kt:171)
  at com.ko2ic.imagedownloader.Downloader.access$resolveDownloadStatus (Downloader.kt:14)
  at com.ko2ic.imagedownloader.Downloader$execute$1.onReceive (Downloader.kt:33)
  at android.app.LoadedApk$ReceiverDispatcher$Args.lambda$getRunnable$0 (LoadedApk.java:1400)
ko2ic commented 5 years ago

@js2702 Thank you for your PR.

This PR merges but changes the error code. Change to save_error same as iOS.