From 22e7bab879744041f755ae98c9898a8998775348 Mon Sep 17 00:00:00 2001 From: Koitharu Date: Thu, 7 Jan 2021 13:18:57 +0200 Subject: [PATCH] Fix chapters preloading --- .../java/org/koitharu/kotatsu/details/ui/DetailsActivity.kt | 2 +- .../java/org/koitharu/kotatsu/reader/ui/ReaderViewModel.kt | 3 ++- .../reader/ui/pager/reversed/ReversedReaderFragment.kt | 4 +--- .../kotatsu/reader/ui/pager/standard/PagerReaderFragment.kt | 4 +--- .../kotatsu/reader/ui/pager/wetoon/WebtoonReaderFragment.kt | 4 +--- app/src/main/java/org/koitharu/kotatsu/utils/ext/ViewExt.kt | 2 ++ 6 files changed, 8 insertions(+), 11 deletions(-) diff --git a/app/src/main/java/org/koitharu/kotatsu/details/ui/DetailsActivity.kt b/app/src/main/java/org/koitharu/kotatsu/details/ui/DetailsActivity.kt index 7a49906d7..1a8247046 100644 --- a/app/src/main/java/org/koitharu/kotatsu/details/ui/DetailsActivity.kt +++ b/app/src/main/java/org/koitharu/kotatsu/details/ui/DetailsActivity.kt @@ -229,7 +229,7 @@ class DetailsActivity : BaseActivity(), override fun onSupportActionModeFinished(mode: ActionMode) { super.onSupportActionModeFinished(mode) binding.pager.isUserInputEnabled = true - window?.statusBarColor = getThemeColor(androidx.appcompat.R.attr.colorPrimaryDark) + window?.statusBarColor = getThemeColor(android.R.attr.statusBarColor) } companion object { diff --git a/app/src/main/java/org/koitharu/kotatsu/reader/ui/ReaderViewModel.kt b/app/src/main/java/org/koitharu/kotatsu/reader/ui/ReaderViewModel.kt index e0a3d236c..f062ebffa 100644 --- a/app/src/main/java/org/koitharu/kotatsu/reader/ui/ReaderViewModel.kt +++ b/app/src/main/java/org/koitharu/kotatsu/reader/ui/ReaderViewModel.kt @@ -100,12 +100,13 @@ class ReaderViewModel( readerMode.postValue(mode) val pages = loadChapter(requireNotNull(currentState.value).chapterId) - content.postValue(ReaderContent(pages, currentState.value)) // save state currentState.value?.let { historyRepository.addOrUpdate(manga, it.chapterId, it.page, it.scroll) shortcutsRepository.updateShortcuts() } + + content.postValue(ReaderContent(pages, currentState.value)) } subscribeToSettings() diff --git a/app/src/main/java/org/koitharu/kotatsu/reader/ui/pager/reversed/ReversedReaderFragment.kt b/app/src/main/java/org/koitharu/kotatsu/reader/ui/pager/reversed/ReversedReaderFragment.kt index 2757d4ade..a0ffe4678 100644 --- a/app/src/main/java/org/koitharu/kotatsu/reader/ui/pager/reversed/ReversedReaderFragment.kt +++ b/app/src/main/java/org/koitharu/kotatsu/reader/ui/pager/reversed/ReversedReaderFragment.kt @@ -74,13 +74,11 @@ class ReversedReaderFragment : BaseReader() { items.await() ?: return@launchWhenCreated if (position != -1) { binding.pager.setCurrentItem(position, false) + notifyPageChanged(position) } } else { items.await() } - binding.pager.post { - bindingOrNull()?.pager?.callOnPageChaneListeners() - } } } diff --git a/app/src/main/java/org/koitharu/kotatsu/reader/ui/pager/standard/PagerReaderFragment.kt b/app/src/main/java/org/koitharu/kotatsu/reader/ui/pager/standard/PagerReaderFragment.kt index d14620dce..42758bdf3 100644 --- a/app/src/main/java/org/koitharu/kotatsu/reader/ui/pager/standard/PagerReaderFragment.kt +++ b/app/src/main/java/org/koitharu/kotatsu/reader/ui/pager/standard/PagerReaderFragment.kt @@ -63,13 +63,11 @@ class PagerReaderFragment : BaseReader() { items.await() ?: return@launchWhenCreated if (position != -1) { binding.pager.setCurrentItem(position, false) + notifyPageChanged(position) } } else { items.await() } - binding.pager.post { - bindingOrNull()?.pager?.callOnPageChaneListeners() - } } } diff --git a/app/src/main/java/org/koitharu/kotatsu/reader/ui/pager/wetoon/WebtoonReaderFragment.kt b/app/src/main/java/org/koitharu/kotatsu/reader/ui/pager/wetoon/WebtoonReaderFragment.kt index 76831d41d..d55aee42d 100644 --- a/app/src/main/java/org/koitharu/kotatsu/reader/ui/pager/wetoon/WebtoonReaderFragment.kt +++ b/app/src/main/java/org/koitharu/kotatsu/reader/ui/pager/wetoon/WebtoonReaderFragment.kt @@ -55,13 +55,11 @@ class WebtoonReaderFragment : BaseReader() { ?.restoreScroll(pendingState.scroll) } } + notifyPageChanged(position) } } else { setItems.await() } - binding.recyclerView.post { - binding.recyclerView.callOnScrollListeners() - } } } diff --git a/app/src/main/java/org/koitharu/kotatsu/utils/ext/ViewExt.kt b/app/src/main/java/org/koitharu/kotatsu/utils/ext/ViewExt.kt index a5eae2020..66228edbd 100644 --- a/app/src/main/java/org/koitharu/kotatsu/utils/ext/ViewExt.kt +++ b/app/src/main/java/org/koitharu/kotatsu/utils/ext/ViewExt.kt @@ -177,6 +177,7 @@ inline fun RecyclerView.doOnCurrentItemChanged(crossinline callback: (Int) -> Un }) } +@Deprecated("Reflection") fun RecyclerView.callOnScrollListeners() { try { val field = RecyclerView::class.java.getDeclaredField("mScrollListeners") @@ -190,6 +191,7 @@ fun RecyclerView.callOnScrollListeners() { } } +@Deprecated("Reflection") fun ViewPager2.callOnPageChaneListeners() { try { val field = ViewPager2::class.java.getDeclaredField("mExternalPageChangeCallbacks")