From ece127e9829e13856ae008b958b8312e4171fb6a Mon Sep 17 00:00:00 2001 From: tom5079 Date: Fri, 28 Aug 2020 21:51:44 +0900 Subject: [PATCH] Fixed downloader not fully cancelled after DownloadWorker.cancel() is called --- .../xyz/quaver/pupil/util/download/DownloadWorker.kt | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/app/src/main/java/xyz/quaver/pupil/util/download/DownloadWorker.kt b/app/src/main/java/xyz/quaver/pupil/util/download/DownloadWorker.kt index dead377a..264bdf3a 100644 --- a/app/src/main/java/xyz/quaver/pupil/util/download/DownloadWorker.kt +++ b/app/src/main/java/xyz/quaver/pupil/util/download/DownloadWorker.kt @@ -179,6 +179,11 @@ class DownloadWorker private constructor(context: Context) : ContextWrapper(cont }.forEach { it.cancel() } + client.dispatcher().runningCalls().filter { + it.request().tag() is Pair<*, *> + }.forEach { + it.cancel() + } progress.clear() notification.clear() @@ -194,6 +199,11 @@ class DownloadWorker private constructor(context: Context) : ContextWrapper(cont }.forEach { it.cancel() } + client.dispatcher().runningCalls().filter { + ((it.request().tag() as Pair<*, *>).first as Int) == galleryID + }.forEach { + it.cancel() + } progress.remove(galleryID) notification.remove(galleryID)