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.launchIO
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.system.ImageUtil
import eu.kanade.tachiyomi.util.updateCoverLastModified
@ -307,8 +306,7 @@ class ReaderPresenter(
}
// SY -->
suspend fun getChapters(context: Context): List<ReaderChapterItem> {
return withIOContext {
fun getChapters(context: Context): List<ReaderChapterItem> {
val currentChapter = getCurrentChapter()
val decimalFormat = DecimalFormat(
"#.###",
@ -316,7 +314,7 @@ class ReaderPresenter(
.apply { decimalSeparator = '.' }
)
chapterList.map {
return chapterList.map {
ReaderChapterItem(
it.chapter,
manga!!,
@ -327,7 +325,6 @@ class ReaderPresenter(
)
}
}
}
// 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.ReaderPresenter
import eu.kanade.tachiyomi.util.chapter.getChapterSort
import eu.kanade.tachiyomi.util.lang.launchUI
import eu.kanade.tachiyomi.util.system.dpToPx
class ReaderChapterDialog(private val activity: ReaderActivity) : ReaderChapterAdapter.OnBookmarkClickListener {
@ -26,6 +25,7 @@ class ReaderChapterDialog(private val activity: ReaderActivity) : ReaderChapterA
.title(R.string.chapters)
.customView(view = binding.root)
.negativeButton(android.R.string.cancel)
.onDismiss { destroy() }
.show {
adapter = ReaderChapterAdapter(this@ReaderChapterDialog)
binding.chapterRecycler.adapter = adapter
@ -40,15 +40,11 @@ class ReaderChapterDialog(private val activity: ReaderActivity) : ReaderChapterA
}
binding.chapterRecycler.layoutManager = LinearLayoutManager(context)
onDismiss {
destroy()
}
refreshList()
}
}
private fun refreshList() {
launchUI {
val chapters = presenter.getChapters(activity)
.sortedWith(getChapterSort(presenter.manga!!))
@ -60,7 +56,6 @@ class ReaderChapterDialog(private val activity: ReaderActivity) : ReaderChapterA
(binding.chapterRecycler.height / 2).dpToPx
)
}
}
fun destroy() {
adapter = null