From c1da73b1fe2fcd5de931c612d84388e4e9fee951 Mon Sep 17 00:00:00 2001 From: Horis <8674809+821938089@users.noreply.github.com> Date: Sun, 16 Mar 2025 12:38:57 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/io/legado/app/model/ReadManga.kt | 5 +++++ .../app/ui/book/manga/ReadMangaActivity.kt | 21 +++++++++---------- 2 files changed, 15 insertions(+), 11 deletions(-) diff --git a/app/src/main/java/io/legado/app/model/ReadManga.kt b/app/src/main/java/io/legado/app/model/ReadManga.kt index 7289a43e7..e9c00ddcc 100644 --- a/app/src/main/java/io/legado/app/model/ReadManga.kt +++ b/app/src/main/java/io/legado/app/model/ReadManga.kt @@ -255,6 +255,11 @@ object ReadManga : CoroutineScope by MainScope() { nextFinish = true list.addAll(it.contents) } + pos = if (list.isNotEmpty()) { + pos.coerceIn(0, list.lastIndex) + } else { + -1 + } return MangaContent(pos, list, curFinish, nextFinish) } diff --git a/app/src/main/java/io/legado/app/ui/book/manga/ReadMangaActivity.kt b/app/src/main/java/io/legado/app/ui/book/manga/ReadMangaActivity.kt index 51560598b..a880232ff 100644 --- a/app/src/main/java/io/legado/app/ui/book/manga/ReadMangaActivity.kt +++ b/app/src/main/java/io/legado/app/ui/book/manga/ReadMangaActivity.kt @@ -4,7 +4,6 @@ import android.annotation.SuppressLint import android.content.Intent import android.os.Build import android.os.Bundle -import android.os.Handler import android.os.Looper import android.view.KeyEvent import android.view.Menu @@ -57,6 +56,7 @@ import io.legado.app.ui.widget.recycler.LoadMoreView import io.legado.app.utils.GSON import io.legado.app.utils.NetworkUtils import io.legado.app.utils.StartActivityContract +import io.legado.app.utils.buildMainHandler import io.legado.app.utils.fastBinarySearch import io.legado.app.utils.findCenterViewPosition import io.legado.app.utils.fromJsonObject @@ -98,21 +98,18 @@ class ReadMangaActivity : VMBaseActivity(AppConfig.mangaColorFilter).getOrNull() ?: MangaColorFilterConfig() } - private var mMangaAutoPageSpeed = mInitMangaAutoPageSpeed + private var mMangaAutoPageSpeed = AppConfig.mangaAutoPageSpeed private lateinit var mMangaFooterConfig: MangaFooterConfig private val mLabelBuilder by lazy { StringBuilder() } - private val autoScrollHandler = Handler(Looper.getMainLooper()) + private val autoScrollHandler = buildMainHandler() private val autoScrollRunnable = object : Runnable { override fun run() { scrollToNext() @@ -270,8 +267,10 @@ class ReadMangaActivity : VMBaseActivity -1) { + upInfoBar(list[pos]) + mLayoutManager.scrollToPositionWithOffset(pos, 0) + } binding.flLoading.isGone = true loadMoreView.visible() binding.mangaMenu.upSeekBar( @@ -502,7 +501,7 @@ class ReadMangaActivity : VMBaseActivity { item.isChecked = !item.isChecked val menuMangaAutoPageSpeed = mMenu?.findItem(R.id.menu_manga_auto_page_speed) - mDisableAutoScrollPage = item.isChecked + isAutoScrollPage = item.isChecked if (item.isChecked) { startAutoPage() menuMangaAutoPageSpeed?.isVisible = true @@ -672,7 +671,7 @@ class ReadMangaActivity : VMBaseActivity