From 97d56424273fe8abeb377634f17acd33bedaecc7 Mon Sep 17 00:00:00 2001 From: FooIbar <118464521+FooIbar@users.noreply.github.com> Date: Sat, 4 May 2024 18:04:14 +0800 Subject: [PATCH] Run download item restoration in parallel --- .../kotlin/com/hippo/ehviewer/ui/settings/DownloadScreen.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/main/kotlin/com/hippo/ehviewer/ui/settings/DownloadScreen.kt b/app/src/main/kotlin/com/hippo/ehviewer/ui/settings/DownloadScreen.kt index ff39bdc72..9ae6368c9 100644 --- a/app/src/main/kotlin/com/hippo/ehviewer/ui/settings/DownloadScreen.kt +++ b/app/src/main/kotlin/com/hippo/ehviewer/ui/settings/DownloadScreen.kt @@ -197,7 +197,7 @@ fun DownloadScreen(navigator: DestinationsNavigator) { var restoreDirCount = 0 suspend fun getRestoreItem(file: UniFile): RestoreItem? { if (!file.isDirectory) return null - return runCatching { + return runSuspendCatching { val (gid, token) = file.findFile(SPIDER_INFO_FILENAME)?.let { readCompatFromUniFile(it)?.run { GalleryDetailUrlParser.Result(gid, token) @@ -223,7 +223,7 @@ fun DownloadScreen(navigator: DestinationsNavigator) { }.getOrNull() } runCatching { - val result = downloadLocation.listFiles().mapNotNull { getRestoreItem(it) }.also { + val result = downloadLocation.listFiles().parMapNotNull { getRestoreItem(it) }.also { fillGalleryListByApi(it, EhUrl.referer) } if (result.isEmpty()) {