From 4d6214a4a06711c053647f781bb52fe466fc8522 Mon Sep 17 00:00:00 2001 From: kunfei Date: Sun, 2 Jul 2023 08:51:06 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/io/legado/app/data/entities/BookChapter.kt | 4 ++++ app/src/main/java/io/legado/app/model/CacheBook.kt | 9 +++++---- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/io/legado/app/data/entities/BookChapter.kt b/app/src/main/java/io/legado/app/data/entities/BookChapter.kt index 6e6962cf5..ae48ee612 100644 --- a/app/src/main/java/io/legado/app/data/entities/BookChapter.kt +++ b/app/src/main/java/io/legado/app/data/entities/BookChapter.kt @@ -89,6 +89,10 @@ data class BookChapter( return false } + fun primaryStr(): String { + return bookUrl + url + } + fun getDisplayTitle( replaceRules: List? = null, useReplace: Boolean = true, diff --git a/app/src/main/java/io/legado/app/model/CacheBook.kt b/app/src/main/java/io/legado/app/model/CacheBook.kt index 9f45d09e2..2869bed86 100644 --- a/app/src/main/java/io/legado/app/model/CacheBook.kt +++ b/app/src/main/java/io/legado/app/model/CacheBook.kt @@ -161,15 +161,16 @@ object CacheBook { @Synchronized private fun onSuccess(chapter: BookChapter) { onDownloadSet.remove(chapter.index) - successDownloadSet.add(chapter.url) - errorDownloadMap.remove(chapter.url) + successDownloadSet.add(chapter.primaryStr()) + errorDownloadMap.remove(chapter.primaryStr()) } @Synchronized private fun onPreError(chapter: BookChapter, error: Throwable) { waitingRetry = true if (error !is ConcurrentException) { - errorDownloadMap[chapter.url] = (errorDownloadMap[chapter.url] ?: 0) + 1 + errorDownloadMap[chapter.primaryStr()] = + (errorDownloadMap[chapter.primaryStr()] ?: 0) + 1 } onDownloadSet.remove(chapter.index) } @@ -177,7 +178,7 @@ object CacheBook { @Synchronized private fun onPostError(chapter: BookChapter, error: Throwable) { //重试3次 - if ((errorDownloadMap[chapter.url] ?: 0) < 3 && !isStopped) { + if ((errorDownloadMap[chapter.primaryStr()] ?: 0) < 3 && !isStopped) { waitDownloadSet.add(chapter.index) } else { AppLog.put(