From 2c452d236ceffadc641e2b54ccf25213b67c0942 Mon Sep 17 00:00:00 2001 From: tarsin Date: Mon, 3 Jul 2023 17:37:58 +0800 Subject: [PATCH] Cleanup mAllInfoMap init code --- .../ehviewer/download/DownloadManager.kt | 19 +++---------------- 1 file changed, 3 insertions(+), 16 deletions(-) diff --git a/app/src/main/java/com/hippo/ehviewer/download/DownloadManager.kt b/app/src/main/java/com/hippo/ehviewer/download/DownloadManager.kt index f1869f8f4..67f6c2a5b 100644 --- a/app/src/main/java/com/hippo/ehviewer/download/DownloadManager.kt +++ b/app/src/main/java/com/hippo/ehviewer/download/DownloadManager.kt @@ -88,25 +88,11 @@ object DownloadManager : OnSpiderListener { val allInfoList = EhDB.allDownloadInfo mAllInfoList = LinkedList(allInfoList) - // Create all info map - val allInfoMap = HashMap(allInfoList.size + 10) - mAllInfoMap = allInfoMap - for (info in allInfoList) { - - // Add to all info map - allInfoMap.put(info.gid, info) - + mAllInfoMap = allInfoList.associateBy { info -> // Add to each label list val label = info.label val list = getInfoListForLabel(label) ?: LinkedList().also { - /* Contracts says if [getInfoListForLabel] return null, the param [label] is not null - * [label] is local immutable - * Why [label] is not smart casted to [String!] here ??? - * - * TODO: Report it to kotlin compiler team - * https://youtrack.jetbrains.com/issue/KT-56869 - */ label!! map[info.label] = it if (!containLabel(label)) { @@ -115,7 +101,8 @@ object DownloadManager : OnSpiderListener { } } list.add(info) - } + info.gid + }.toMutableMap() mWaitList = LinkedList() mSpeedReminder = SpeedReminder() mDownloadInfoListeners = ArrayList()