优化
This commit is contained in:
@@ -255,6 +255,11 @@ object ReadManga : CoroutineScope by MainScope() {
|
|||||||
nextFinish = true
|
nextFinish = true
|
||||||
list.addAll(it.contents)
|
list.addAll(it.contents)
|
||||||
}
|
}
|
||||||
|
pos = if (list.isNotEmpty()) {
|
||||||
|
pos.coerceIn(0, list.lastIndex)
|
||||||
|
} else {
|
||||||
|
-1
|
||||||
|
}
|
||||||
return MangaContent(pos, list, curFinish, nextFinish)
|
return MangaContent(pos, list, curFinish, nextFinish)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,6 @@ import android.annotation.SuppressLint
|
|||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import android.os.Build
|
import android.os.Build
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.os.Handler
|
|
||||||
import android.os.Looper
|
import android.os.Looper
|
||||||
import android.view.KeyEvent
|
import android.view.KeyEvent
|
||||||
import android.view.Menu
|
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.GSON
|
||||||
import io.legado.app.utils.NetworkUtils
|
import io.legado.app.utils.NetworkUtils
|
||||||
import io.legado.app.utils.StartActivityContract
|
import io.legado.app.utils.StartActivityContract
|
||||||
|
import io.legado.app.utils.buildMainHandler
|
||||||
import io.legado.app.utils.fastBinarySearch
|
import io.legado.app.utils.fastBinarySearch
|
||||||
import io.legado.app.utils.findCenterViewPosition
|
import io.legado.app.utils.findCenterViewPosition
|
||||||
import io.legado.app.utils.fromJsonObject
|
import io.legado.app.utils.fromJsonObject
|
||||||
@@ -98,21 +98,18 @@ class ReadMangaActivity : VMBaseActivity<ActivityMangaBinding, ReadMangaViewMode
|
|||||||
PagerSnapHelper()
|
PagerSnapHelper()
|
||||||
}
|
}
|
||||||
|
|
||||||
private var mDisableAutoScrollPage = false
|
private var isAutoScrollPage = false
|
||||||
private val mInitMangaAutoPageSpeed by lazy {
|
|
||||||
AppConfig.mangaAutoPageSpeed
|
|
||||||
}
|
|
||||||
|
|
||||||
private val mMangaColorFilter: MangaColorFilterConfig by lazy {
|
private val mMangaColorFilter: MangaColorFilterConfig by lazy {
|
||||||
GSON.fromJsonObject<MangaColorFilterConfig>(AppConfig.mangaColorFilter).getOrNull()
|
GSON.fromJsonObject<MangaColorFilterConfig>(AppConfig.mangaColorFilter).getOrNull()
|
||||||
?: MangaColorFilterConfig()
|
?: MangaColorFilterConfig()
|
||||||
}
|
}
|
||||||
|
|
||||||
private var mMangaAutoPageSpeed = mInitMangaAutoPageSpeed
|
private var mMangaAutoPageSpeed = AppConfig.mangaAutoPageSpeed
|
||||||
private lateinit var mMangaFooterConfig: MangaFooterConfig
|
private lateinit var mMangaFooterConfig: MangaFooterConfig
|
||||||
private val mLabelBuilder by lazy { StringBuilder() }
|
private val mLabelBuilder by lazy { StringBuilder() }
|
||||||
|
|
||||||
private val autoScrollHandler = Handler(Looper.getMainLooper())
|
private val autoScrollHandler = buildMainHandler()
|
||||||
private val autoScrollRunnable = object : Runnable {
|
private val autoScrollRunnable = object : Runnable {
|
||||||
override fun run() {
|
override fun run() {
|
||||||
scrollToNext()
|
scrollToNext()
|
||||||
@@ -270,8 +267,10 @@ class ReadMangaActivity : VMBaseActivity<ActivityMangaBinding, ReadMangaViewMode
|
|||||||
mAdapter.submitList(list) {
|
mAdapter.submitList(list) {
|
||||||
if (loadingViewVisible && curFinish) {
|
if (loadingViewVisible && curFinish) {
|
||||||
binding.infobar.isVisible = true
|
binding.infobar.isVisible = true
|
||||||
upInfoBar(list[pos])
|
if (pos > -1) {
|
||||||
mLayoutManager.scrollToPositionWithOffset(pos, 0)
|
upInfoBar(list[pos])
|
||||||
|
mLayoutManager.scrollToPositionWithOffset(pos, 0)
|
||||||
|
}
|
||||||
binding.flLoading.isGone = true
|
binding.flLoading.isGone = true
|
||||||
loadMoreView.visible()
|
loadMoreView.visible()
|
||||||
binding.mangaMenu.upSeekBar(
|
binding.mangaMenu.upSeekBar(
|
||||||
@@ -502,7 +501,7 @@ class ReadMangaActivity : VMBaseActivity<ActivityMangaBinding, ReadMangaViewMode
|
|||||||
R.id.menu_enable_auto_page -> {
|
R.id.menu_enable_auto_page -> {
|
||||||
item.isChecked = !item.isChecked
|
item.isChecked = !item.isChecked
|
||||||
val menuMangaAutoPageSpeed = mMenu?.findItem(R.id.menu_manga_auto_page_speed)
|
val menuMangaAutoPageSpeed = mMenu?.findItem(R.id.menu_manga_auto_page_speed)
|
||||||
mDisableAutoScrollPage = item.isChecked
|
isAutoScrollPage = item.isChecked
|
||||||
if (item.isChecked) {
|
if (item.isChecked) {
|
||||||
startAutoPage()
|
startAutoPage()
|
||||||
menuMangaAutoPageSpeed?.isVisible = true
|
menuMangaAutoPageSpeed?.isVisible = true
|
||||||
@@ -672,7 +671,7 @@ class ReadMangaActivity : VMBaseActivity<ActivityMangaBinding, ReadMangaViewMode
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun startAutoPage() {
|
private fun startAutoPage() {
|
||||||
if (mDisableAutoScrollPage) {
|
if (isAutoScrollPage) {
|
||||||
autoScrollHandler.postDelayed(autoScrollRunnable, mMangaAutoPageSpeed.times(1000L))
|
autoScrollHandler.postDelayed(autoScrollRunnable, mMangaAutoPageSpeed.times(1000L))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user