@ -16,8 +16,8 @@ android {
applicationId 'org.koitharu.kotatsu'
minSdk = 21
targetSdk = 35
versionCode = 661
versionName = '7.5-a1'
versionCode = 662
versionName = '7.5-a2'
generatedDensities = []
testInstrumentationRunner 'org.koitharu.kotatsu.HiltTestRunner'
ksp {
@ -19,6 +19,10 @@ class PagerLifecycleDispatcher(
setResumedPage(pager.currentItem)
}
fun postInvalidate() = pager.post {
invalidate()
private fun setResumedPage(position: Int) {
pendingUpdate?.cancel()
pendingUpdate = null
@ -47,11 +47,12 @@ class ReaderManager(
fun setDoubleReaderMode(isEnabled: Boolean) {
val prevMode = currentMode
val mode = currentMode
val prevReader = currentReader?.javaClass
invalidateTypesMap(isEnabled && isLandscape())
val newMode = currentMode ?: return
if (newMode != prevMode) {
replace(newMode)
val newReader = modeMap[mode]
if (mode != null && newReader != prevReader) {
replace(mode)
@ -120,7 +120,7 @@ abstract class BasePagerReaderFragment : BaseReaderFragment<FragmentReaderPagerB
val items = launch {
requireAdapter().setItems(pages)
yield()
pagerLifecycleDispatcher?.invalidate()
pagerLifecycleDispatcher?.postInvalidate()
if (pendingState != null) {
val position = pages.indexOfFirst {