Fix download cache not updating on location change
Cette révision appartient à :
Parent
8d97b980e3
révision
6756bfab75
1 fichiers modifiés avec 8 ajouts et 1 suppressions
|
@ -7,6 +7,8 @@ import eu.kanade.domain.download.service.DownloadPreferences
|
|||
import eu.kanade.domain.manga.model.Manga
|
||||
import eu.kanade.tachiyomi.data.database.models.Chapter
|
||||
import eu.kanade.tachiyomi.source.SourceManager
|
||||
import kotlinx.coroutines.MainScope
|
||||
import kotlinx.coroutines.flow.launchIn
|
||||
import kotlinx.coroutines.flow.onEach
|
||||
import uy.kohesive.injekt.Injekt
|
||||
import uy.kohesive.injekt.api.get
|
||||
|
@ -30,6 +32,8 @@ class DownloadCache(
|
|||
private val downloadPreferences: DownloadPreferences = Injekt.get(),
|
||||
) {
|
||||
|
||||
private val scope = MainScope()
|
||||
|
||||
/**
|
||||
* The interval after which this cache should be invalidated. 1 hour shouldn't cause major
|
||||
* issues, as the cache is only used for UI feedback.
|
||||
|
@ -49,6 +53,7 @@ class DownloadCache(
|
|||
lastRenew = 0L // invalidate cache
|
||||
rootDownloadsDir = RootDirectory(getDirectoryFromPreference())
|
||||
}
|
||||
.launchIn(scope)
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -210,7 +215,9 @@ class DownloadCache(
|
|||
.orEmpty()
|
||||
.associate { it.name to SourceDirectory(it) }
|
||||
.mapNotNullKeys { entry ->
|
||||
sources.find { provider.getSourceDirName(it).equals(entry.key, ignoreCase = true) }?.id
|
||||
sources.find {
|
||||
provider.getSourceDirName(it).equals(entry.key, ignoreCase = true)
|
||||
}?.id
|
||||
}
|
||||
|
||||
rootDownloadsDir.files = sourceDirs
|
||||
|
|
Référencer dans un nouveau ticket