Reuse PageLoader in PagesThumbnailsSheet
This commit is contained in:
@@ -55,7 +55,7 @@ class ReaderViewModel(
|
||||
val onPageSaved = SingleLiveEvent<Uri?>()
|
||||
val uiState = combine(
|
||||
mangaData,
|
||||
currentState
|
||||
currentState,
|
||||
) { manga, state ->
|
||||
val chapter = state?.chapterId?.let(chapters::get)
|
||||
ReaderUiState(
|
||||
|
||||
@@ -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<ReaderViewModel>()
|
||||
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)
|
||||
|
||||
Reference in New Issue
Block a user