Revert "Reuse the root download location UniFile object"
Reason for revert: Caused OOM.
This commit is contained in:
1 parent
699a1ab801
commit
c805ca8aff
2 files changed
+11
-18
No files matched your search
@@ -809,16 +809,17 @@ object DownloadManager : OnSpiderListener, CoroutineScope {
|
||||
private fun comparator() = SortMode.from(Settings.downloadSortMode.value).comparator()
|
||||
}
|
||||
|
||||
var downloadLocation = with(Settings) {
|
||||
val uri = Uri.Builder().apply {
|
||||
scheme(downloadScheme)
|
||||
encodedAuthority(downloadAuthority)
|
||||
encodedPath(downloadPath)
|
||||
encodedQuery(downloadQuery)
|
||||
encodedFragment(downloadFragment)
|
||||
}.build()
|
||||
uri.asUniFileOrNull() ?: AppConfig.defaultDownloadDir?.asUniFile() ?: UniFile.Stub
|
||||
}
|
||||
var downloadLocation: UniFile
|
||||
get() = with(Settings) {
|
||||
val uri = Uri.Builder().apply {
|
||||
scheme(downloadScheme)
|
||||
encodedAuthority(downloadAuthority)
|
||||
encodedPath(downloadPath)
|
||||
encodedQuery(downloadQuery)
|
||||
encodedFragment(downloadFragment)
|
||||
}.build()
|
||||
uri.asUniFileOrNull() ?: AppConfig.defaultDownloadDir?.asUniFile() ?: UniFile.Stub
|
||||
}
|
||||
set(value) = with(value.uri) {
|
||||
Settings.edit {
|
||||
downloadScheme = scheme
|
||||
@@ -827,13 +828,8 @@ var downloadLocation = with(Settings) {
|
||||
downloadQuery = encodedQuery
|
||||
downloadFragment = encodedFragment
|
||||
}
|
||||
field = value
|
||||
}
|
||||
|
||||
fun invalidateDownloadDirCache() {
|
||||
downloadLocation = downloadLocation.uri.asUniFile()
|
||||
}
|
||||
|
||||
val DownloadInfo.downloadDir get() = dirname?.let { downloadLocation.findFile(it) }
|
||||
val DownloadInfo.archiveFile get() = downloadDir?.run { findFile("$gid.cbz") ?: findFile("$gid.zip") }
|
||||
val GalleryInfo.tempDownloadDir get() = AppConfig.getTempDir("$gid")?.asUniFile()
|
||||
@@ -37,7 +37,6 @@ import com.hippo.ehviewer.dao.DownloadInfo
|
||||
import com.hippo.ehviewer.download.DownloadManager
|
||||
import com.hippo.ehviewer.download.downloadDir
|
||||
import com.hippo.ehviewer.download.downloadLocation
|
||||
import com.hippo.ehviewer.download.invalidateDownloadDirCache
|
||||
import com.hippo.ehviewer.spider.COMIC_INFO_FILE
|
||||
import com.hippo.ehviewer.spider.SpiderDen
|
||||
import com.hippo.ehviewer.spider.SpiderQueen.Companion.SPIDER_INFO_FILENAME
|
||||
@@ -216,8 +215,6 @@ fun DownloadScreen(navigator: DestinationsNavigator) = composing(navigator) {
|
||||
}.getOrNull()
|
||||
}
|
||||
runSuspendCatching {
|
||||
// Rescan download directory for new files added by the user
|
||||
invalidateDownloadDirCache()
|
||||
val result = downloadLocation.listFiles().parMapNotNull { getRestoreItem(it) }.also {
|
||||
fillGalleryListByApi(it, EhUrl.referer)
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user