From 3d68d7c8181f568d8ae41e11932055138ab76ef8 Mon Sep 17 00:00:00 2001 From: Koitharu Date: Fri, 29 Apr 2022 12:45:28 +0300 Subject: [PATCH] Reuse PageLoader in PagesThumbnailsSheet --- .../org/koitharu/kotatsu/reader/ui/ReaderViewModel.kt | 2 +- .../reader/ui/thumbnails/PagesThumbnailsSheet.kt | 10 +++++++++- 2 files changed, 10 insertions(+), 2 deletions(-) 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 5a746c1a3..bfe5ac663 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 @@ -55,7 +55,7 @@ class ReaderViewModel( val onPageSaved = SingleLiveEvent() val uiState = combine( mangaData, - currentState + currentState, ) { manga, state -> val chapter = state?.chapterId?.let(chapters::get) ReaderUiState( diff --git a/app/src/main/java/org/koitharu/kotatsu/reader/ui/thumbnails/PagesThumbnailsSheet.kt b/app/src/main/java/org/koitharu/kotatsu/reader/ui/thumbnails/PagesThumbnailsSheet.kt index f9c6ea3d6..55d59adea 100644 --- a/app/src/main/java/org/koitharu/kotatsu/reader/ui/thumbnails/PagesThumbnailsSheet.kt +++ b/app/src/main/java/org/koitharu/kotatsu/reader/ui/thumbnails/PagesThumbnailsSheet.kt @@ -9,6 +9,7 @@ import androidx.fragment.app.FragmentManager import androidx.recyclerview.widget.GridLayoutManager import com.google.android.material.bottomsheet.BottomSheetBehavior import org.koin.android.ext.android.get +import org.koin.androidx.viewmodel.ext.android.getViewModel import org.koitharu.kotatsu.R import org.koitharu.kotatsu.base.ui.BaseBottomSheet import org.koitharu.kotatsu.base.ui.list.OnListItemClickListener @@ -20,6 +21,8 @@ import org.koitharu.kotatsu.databinding.SheetPagesBinding import org.koitharu.kotatsu.list.ui.MangaListSpanResolver import org.koitharu.kotatsu.parsers.model.MangaPage import org.koitharu.kotatsu.reader.domain.PageLoader +import org.koitharu.kotatsu.reader.ui.ReaderActivity +import org.koitharu.kotatsu.reader.ui.ReaderViewModel import org.koitharu.kotatsu.reader.ui.thumbnails.adapter.PageThumbnailAdapter import org.koitharu.kotatsu.utils.BottomSheetToolbarController import org.koitharu.kotatsu.utils.ext.viewLifecycleScope @@ -81,7 +84,7 @@ class PagesThumbnailsSheet : dataSet = thumbnails, coil = get(), scope = viewLifecycleScope, - loader = PageLoader().also { pageLoader = it }, + loader = getPageLoader(), clickListener = this@PagesThumbnailsSheet ) addOnLayoutChangeListener(spanResolver) @@ -109,6 +112,11 @@ class PagesThumbnailsSheet : } } + private fun getPageLoader(): PageLoader { + val viewModel = (activity as? ReaderActivity)?.getViewModel() + return viewModel?.pageLoader ?: PageLoader().also { pageLoader = it } + } + private inner class ToolbarController(toolbar: Toolbar) : BottomSheetToolbarController(toolbar) { override fun onStateChanged(bottomSheet: View, newState: Int) { super.onStateChanged(bottomSheet, newState)