优化
This commit is contained in:
@@ -300,10 +300,13 @@ object CacheBook {
|
||||
WebBook.getContent(scope, bookSource, book, chapter, executeContext = IO)
|
||||
.onSuccess { content ->
|
||||
onSuccess(chapter)
|
||||
ReadBook.downloadedChapters.add(chapter.index)
|
||||
ReadBook.downloadFailChapters.remove(chapter.index)
|
||||
downloadFinish(chapter, content, resetPageOffset)
|
||||
}.onError {
|
||||
onError(chapter, it)
|
||||
ReadBook.downloadFailChapters.add(chapter.index)
|
||||
ReadBook.downloadFailChapters[chapter.index] =
|
||||
(ReadBook.downloadFailChapters[chapter.index] ?: 0) + 1
|
||||
downloadFinish(chapter, "获取正文失败\n${it.localizedMessage}", resetPageOffset)
|
||||
}.onCancel {
|
||||
onCancel(chapter.index)
|
||||
|
||||
@@ -55,7 +55,7 @@ object ReadBook : CoroutineScope by MainScope() {
|
||||
|
||||
var preDownloadTask: Coroutine<*>? = null
|
||||
val downloadedChapters = hashSetOf<Int>()
|
||||
val downloadFailChapters = hashSetOf<Int>()
|
||||
val downloadFailChapters = hashMapOf<Int, Int>()
|
||||
var contentProcessor: ContentProcessor? = null
|
||||
val downloadScope = CoroutineScope(SupervisorJob() + IO)
|
||||
|
||||
@@ -545,7 +545,7 @@ object ReadBook : CoroutineScope by MainScope() {
|
||||
val maxChapterIndex = min(durChapterIndex + AppConfig.preDownloadNum, chapterSize)
|
||||
for (i in durChapterIndex.plus(2)..maxChapterIndex) {
|
||||
if (downloadedChapters.contains(i)) continue
|
||||
if (downloadFailChapters.contains(i)) continue
|
||||
if ((downloadFailChapters[i] ?: 0) >= 3) continue
|
||||
downloadIndex(i)
|
||||
}
|
||||
}
|
||||
@@ -553,7 +553,7 @@ object ReadBook : CoroutineScope by MainScope() {
|
||||
val minChapterIndex = durChapterIndex - min(5, AppConfig.preDownloadNum)
|
||||
for (i in durChapterIndex.minus(2) downTo minChapterIndex) {
|
||||
if (downloadedChapters.contains(i)) continue
|
||||
if (downloadFailChapters.contains(i)) continue
|
||||
if ((downloadFailChapters[i] ?: 0) >= 3) continue
|
||||
downloadIndex(i)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -95,6 +95,13 @@ class ChangeBookSourceDialog() : BaseDialogFragment(R.layout.dialog_book_change_
|
||||
}
|
||||
|
||||
override fun onFragmentCreated(view: View, savedInstanceState: Bundle?) {
|
||||
context?.obtainStyledAttributes(intArrayOf(android.R.attr.homeAsUpIndicator))?.use {
|
||||
binding.toolBar.navigationIcon = it.getDrawable(0)
|
||||
binding.toolBar.setNavigationContentDescription(androidx.appcompat.R.string.abc_action_bar_up_description)
|
||||
binding.toolBar.setNavigationOnClickListener {
|
||||
dismissAllowingStateLoss()
|
||||
}
|
||||
}
|
||||
binding.toolBar.setBackgroundColor(primaryColor)
|
||||
viewModel.initData(arguments, callBack?.oldBook, activity is ReadBookActivity)
|
||||
showTitle()
|
||||
@@ -109,6 +116,9 @@ class ChangeBookSourceDialog() : BaseDialogFragment(R.layout.dialog_book_change_
|
||||
private fun showTitle() {
|
||||
binding.toolBar.title = viewModel.name
|
||||
binding.toolBar.subtitle = viewModel.author
|
||||
context?.obtainStyledAttributes(intArrayOf(android.R.attr.homeAsUpIndicator))?.use {
|
||||
binding.toolBar.navigationIcon = it.getDrawable(0)
|
||||
}
|
||||
}
|
||||
|
||||
private fun initMenu() {
|
||||
@@ -152,6 +162,7 @@ class ChangeBookSourceDialog() : BaseDialogFragment(R.layout.dialog_book_change_
|
||||
searchView.setOnSearchClickListener {
|
||||
binding.toolBar.title = ""
|
||||
binding.toolBar.subtitle = ""
|
||||
binding.toolBar.navigationIcon = null
|
||||
}
|
||||
searchView.setOnQueryTextListener(object : SearchView.OnQueryTextListener {
|
||||
override fun onQueryTextSubmit(query: String?): Boolean {
|
||||
|
||||
Reference in New Issue
Block a user