Refactor SearchMenuProvider

This commit is contained in:
Koitharu
2025-11-03 20:23:43 +02:00
parent 119b7c2ac7
commit 0e98dd8695
2 changed files with 5 additions and 7 deletions

View File

@@ -94,7 +94,7 @@ class SearchActivity :
setDisplayHomeAsUp(isEnabled = true, showUpAsClose = false)
supportActionBar?.setSubtitle(R.string.search_results)
addMenuProvider(SearchKindMenuProvider(this, viewModel, viewModel.query, viewModel.kind))
addMenuProvider(SearchMenuProvider(this, viewModel))
viewModel.list.observe(this, adapter)
viewModel.onError.observeEvent(this, SnackbarErrorObserver(viewBinding.recyclerView, null))

View File

@@ -9,11 +9,9 @@ import org.koitharu.kotatsu.R
import org.koitharu.kotatsu.core.nav.router
import org.koitharu.kotatsu.search.domain.SearchKind
class SearchKindMenuProvider(
class SearchMenuProvider(
private val activity: SearchActivity,
private val viewModel: SearchViewModel,
private val query: String,
private val kind: SearchKind,
) : MenuProvider {
override fun onCreateMenu(menu: Menu, menuInflater: MenuInflater) {
@@ -23,7 +21,7 @@ class SearchKindMenuProvider(
override fun onPrepareMenu(menu: Menu) {
super.onPrepareMenu(menu)
menu.findItem(
when (kind) {
when (viewModel.kind) {
SearchKind.SIMPLE -> R.id.action_kind_simple
SearchKind.TITLE -> R.id.action_kind_title
SearchKind.AUTHOR -> R.id.action_kind_author
@@ -54,9 +52,9 @@ class SearchKindMenuProvider(
R.id.action_kind_tag -> SearchKind.TAG
else -> return false
}
if (newKind != kind) {
if (newKind != viewModel.kind) {
activity.router.openSearch(
query = query,
query = viewModel.query,
kind = newKind,
)
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {