diff --git a/app/src/main/java/org/koitharu/kotatsu/reader/domain/PageLoader.kt b/app/src/main/java/org/koitharu/kotatsu/reader/domain/PageLoader.kt index d32bc4fc4..da3ad43ee 100644 --- a/app/src/main/java/org/koitharu/kotatsu/reader/domain/PageLoader.kt +++ b/app/src/main/java/org/koitharu/kotatsu/reader/domain/PageLoader.kt @@ -66,7 +66,9 @@ class PageLoader @Inject constructor( override fun close() { loaderScope.cancel() - tasks.clear() + synchronized(tasks) { + tasks.clear() + } } fun isPrefetchApplicable(): Boolean { @@ -103,7 +105,9 @@ class PageLoader @Inject constructor( return task } task = loadPageAsyncImpl(page) - tasks[page.id] = task + synchronized(tasks) { + tasks[page.id] = task + } return task } @@ -135,7 +139,9 @@ class PageLoader @Inject constructor( while (prefetchQueue.isNotEmpty()) { val page = prefetchQueue.pollFirst() ?: return if (cache[page.url] == null) { - tasks[page.id] = loadPageAsyncImpl(page) + synchronized(tasks) { + tasks[page.id] = loadPageAsyncImpl(page) + } return } }