This commit is contained in:
kunfei 2023-07-02 08:51:06 +08:00
parent f84a75bab8
commit 4d6214a4a0
2 changed files with 9 additions and 4 deletions

View File

@ -89,6 +89,10 @@ data class BookChapter(
return false return false
} }
fun primaryStr(): String {
return bookUrl + url
}
fun getDisplayTitle( fun getDisplayTitle(
replaceRules: List<ReplaceRule>? = null, replaceRules: List<ReplaceRule>? = null,
useReplace: Boolean = true, useReplace: Boolean = true,

View File

@ -161,15 +161,16 @@ object CacheBook {
@Synchronized @Synchronized
private fun onSuccess(chapter: BookChapter) { private fun onSuccess(chapter: BookChapter) {
onDownloadSet.remove(chapter.index) onDownloadSet.remove(chapter.index)
successDownloadSet.add(chapter.url) successDownloadSet.add(chapter.primaryStr())
errorDownloadMap.remove(chapter.url) errorDownloadMap.remove(chapter.primaryStr())
} }
@Synchronized @Synchronized
private fun onPreError(chapter: BookChapter, error: Throwable) { private fun onPreError(chapter: BookChapter, error: Throwable) {
waitingRetry = true waitingRetry = true
if (error !is ConcurrentException) { if (error !is ConcurrentException) {
errorDownloadMap[chapter.url] = (errorDownloadMap[chapter.url] ?: 0) + 1 errorDownloadMap[chapter.primaryStr()] =
(errorDownloadMap[chapter.primaryStr()] ?: 0) + 1
} }
onDownloadSet.remove(chapter.index) onDownloadSet.remove(chapter.index)
} }
@ -177,7 +178,7 @@ object CacheBook {
@Synchronized @Synchronized
private fun onPostError(chapter: BookChapter, error: Throwable) { private fun onPostError(chapter: BookChapter, error: Throwable) {
//重试3次 //重试3次
if ((errorDownloadMap[chapter.url] ?: 0) < 3 && !isStopped) { if ((errorDownloadMap[chapter.primaryStr()] ?: 0) < 3 && !isStopped) {
waitDownloadSet.add(chapter.index) waitDownloadSet.add(chapter.index)
} else { } else {
AppLog.put( AppLog.put(