kunfei 3 лет назад
Родитель
Сommit
7af4cf6ee4

+ 4 - 0
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<ReplaceRule>? = null,
         useReplace: Boolean = true,

+ 5 - 4
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(