kunfei 4 tahun lalu
induk
melakukan
6a334c19f0

+ 10 - 8
app/src/main/java/io/legado/app/ui/book/cache/CacheViewModel.kt

@@ -58,17 +58,19 @@ class CacheViewModel(application: Application) : BaseViewModel(application) {
         loadChapterCoroutine?.cancel()
         loadChapterCoroutine?.cancel()
         loadChapterCoroutine = execute {
         loadChapterCoroutine = execute {
             books.forEach { book ->
             books.forEach { book ->
-                val chapterCaches = hashSetOf<String>()
-                val cacheNames = BookHelp.getChapterFiles(book)
-                if (cacheNames.isNotEmpty()) {
-                    appDb.bookChapterDao.getChapterList(book.bookUrl).forEach { chapter ->
-                        if (cacheNames.contains(chapter.getFileName())) {
-                            chapterCaches.add(chapter.url)
+                if (!cacheChapters.contains(book.bookUrl)) {
+                    val chapterCaches = hashSetOf<String>()
+                    val cacheNames = BookHelp.getChapterFiles(book)
+                    if (cacheNames.isNotEmpty()) {
+                        appDb.bookChapterDao.getChapterList(book.bookUrl).forEach { chapter ->
+                            if (cacheNames.contains(chapter.getFileName())) {
+                                chapterCaches.add(chapter.url)
+                            }
                         }
                         }
                     }
                     }
+                    cacheChapters[book.bookUrl] = chapterCaches
+                    upAdapterLiveData.postValue(book.bookUrl)
                 }
                 }
-                cacheChapters[book.bookUrl] = chapterCaches
-                upAdapterLiveData.postValue(book.bookUrl)
                 ensureActive()
                 ensureActive()
             }
             }
         }
         }