diff --git a/app/src/main/kotlin/org/koitharu/kotatsu/reader/ui/pager/BaseReaderAdapter.kt b/app/src/main/kotlin/org/koitharu/kotatsu/reader/ui/pager/BaseReaderAdapter.kt index 7a289cbdf..fd50902ea 100644 --- a/app/src/main/kotlin/org/koitharu/kotatsu/reader/ui/pager/BaseReaderAdapter.kt +++ b/app/src/main/kotlin/org/koitharu/kotatsu/reader/ui/pager/BaseReaderAdapter.kt @@ -22,6 +22,9 @@ abstract class BaseReaderAdapter>( private val differ = AsyncListDiffer(this, DiffCallback()) + val hasItems: Boolean + get() = itemCount != 0 + init { stateRestorationPolicy = StateRestorationPolicy.PREVENT } diff --git a/app/src/main/kotlin/org/koitharu/kotatsu/reader/ui/pager/BaseReaderFragment.kt b/app/src/main/kotlin/org/koitharu/kotatsu/reader/ui/pager/BaseReaderFragment.kt index 3d6ea7fdc..0501b8b70 100644 --- a/app/src/main/kotlin/org/koitharu/kotatsu/reader/ui/pager/BaseReaderFragment.kt +++ b/app/src/main/kotlin/org/koitharu/kotatsu/reader/ui/pager/BaseReaderFragment.kt @@ -29,7 +29,11 @@ abstract class BaseReaderFragment : BaseFragment(), ZoomCont readerAdapter = onCreateAdapter() viewModel.content.observe(viewLifecycleOwner) { - onPagesChanged(it.pages, restoredState ?: it.state) + var pendingState = restoredState ?: it.state + if (pendingState == null && readerAdapter?.hasItems != true) { + pendingState = viewModel.getCurrentState() + } + onPagesChanged(it.pages, pendingState) restoredState = null } }