diff --git a/android/src/main/java/vn/hunghd/flutterdownloader/DownloadWorker.java b/android/src/main/java/vn/hunghd/flutterdownloader/DownloadWorker.java index 97753ced..1a550bd9 100644 --- a/android/src/main/java/vn/hunghd/flutterdownloader/DownloadWorker.java +++ b/android/src/main/java/vn/hunghd/flutterdownloader/DownloadWorker.java @@ -189,6 +189,14 @@ public Result doWork() { updateNotification(context, filename == null ? url : filename, DownloadStatus.RUNNING, task.progress, null, false); taskDao.updateTask(getId().toString(), DownloadStatus.RUNNING, task.progress); + //automatic resume for partial files. (if the workmanager unexpectedly quited in background) + String saveFilePath = savedDir + File.separator + filename; + File partialFile = new File(saveFilePath); + if (partialFile.exists()) { + isResume = true; + log("exists file for "+ filename + "automatic resuming..."); + } + try { downloadFile(context, url, savedDir, filename, headers, isResume); cleanUp();