Load chapters in the dialog instantly

This commit is contained in:
Jobobby04 2021-06-02 21:21:38 -04:00
parent 78d2881b4b
commit 57ca396b46
2 changed files with 25 additions and 33 deletions

View File

@ -35,7 +35,6 @@ import eu.kanade.tachiyomi.util.isLocal
import eu.kanade.tachiyomi.util.lang.byteSize import eu.kanade.tachiyomi.util.lang.byteSize
import eu.kanade.tachiyomi.util.lang.launchIO import eu.kanade.tachiyomi.util.lang.launchIO
import eu.kanade.tachiyomi.util.lang.takeBytes import eu.kanade.tachiyomi.util.lang.takeBytes
import eu.kanade.tachiyomi.util.lang.withIOContext
import eu.kanade.tachiyomi.util.storage.DiskUtil import eu.kanade.tachiyomi.util.storage.DiskUtil
import eu.kanade.tachiyomi.util.system.ImageUtil import eu.kanade.tachiyomi.util.system.ImageUtil
import eu.kanade.tachiyomi.util.updateCoverLastModified import eu.kanade.tachiyomi.util.updateCoverLastModified
@ -307,8 +306,7 @@ class ReaderPresenter(
} }
// SY --> // SY -->
suspend fun getChapters(context: Context): List<ReaderChapterItem> { fun getChapters(context: Context): List<ReaderChapterItem> {
return withIOContext {
val currentChapter = getCurrentChapter() val currentChapter = getCurrentChapter()
val decimalFormat = DecimalFormat( val decimalFormat = DecimalFormat(
"#.###", "#.###",
@ -316,7 +314,7 @@ class ReaderPresenter(
.apply { decimalSeparator = '.' } .apply { decimalSeparator = '.' }
) )
chapterList.map { return chapterList.map {
ReaderChapterItem( ReaderChapterItem(
it.chapter, it.chapter,
manga!!, manga!!,
@ -327,7 +325,6 @@ class ReaderPresenter(
) )
} }
} }
}
// SY <-- // SY <--
/** /**

View File

@ -11,7 +11,6 @@ import eu.kanade.tachiyomi.databinding.ReaderChaptersDialogBinding
import eu.kanade.tachiyomi.ui.reader.ReaderActivity import eu.kanade.tachiyomi.ui.reader.ReaderActivity
import eu.kanade.tachiyomi.ui.reader.ReaderPresenter import eu.kanade.tachiyomi.ui.reader.ReaderPresenter
import eu.kanade.tachiyomi.util.chapter.getChapterSort import eu.kanade.tachiyomi.util.chapter.getChapterSort
import eu.kanade.tachiyomi.util.lang.launchUI
import eu.kanade.tachiyomi.util.system.dpToPx import eu.kanade.tachiyomi.util.system.dpToPx
class ReaderChapterDialog(private val activity: ReaderActivity) : ReaderChapterAdapter.OnBookmarkClickListener { class ReaderChapterDialog(private val activity: ReaderActivity) : ReaderChapterAdapter.OnBookmarkClickListener {
@ -26,6 +25,7 @@ class ReaderChapterDialog(private val activity: ReaderActivity) : ReaderChapterA
.title(R.string.chapters) .title(R.string.chapters)
.customView(view = binding.root) .customView(view = binding.root)
.negativeButton(android.R.string.cancel) .negativeButton(android.R.string.cancel)
.onDismiss { destroy() }
.show { .show {
adapter = ReaderChapterAdapter(this@ReaderChapterDialog) adapter = ReaderChapterAdapter(this@ReaderChapterDialog)
binding.chapterRecycler.adapter = adapter binding.chapterRecycler.adapter = adapter
@ -40,15 +40,11 @@ class ReaderChapterDialog(private val activity: ReaderActivity) : ReaderChapterA
} }
binding.chapterRecycler.layoutManager = LinearLayoutManager(context) binding.chapterRecycler.layoutManager = LinearLayoutManager(context)
onDismiss {
destroy()
}
refreshList() refreshList()
} }
} }
private fun refreshList() { private fun refreshList() {
launchUI {
val chapters = presenter.getChapters(activity) val chapters = presenter.getChapters(activity)
.sortedWith(getChapterSort(presenter.manga!!)) .sortedWith(getChapterSort(presenter.manga!!))
@ -60,7 +56,6 @@ class ReaderChapterDialog(private val activity: ReaderActivity) : ReaderChapterA
(binding.chapterRecycler.height / 2).dpToPx (binding.chapterRecycler.height / 2).dpToPx
) )
} }
}
fun destroy() { fun destroy() {
adapter = null adapter = null