Refactor SearchMenuProvider
This commit is contained in:
@@ -94,7 +94,7 @@ class SearchActivity :
|
|||||||
setDisplayHomeAsUp(isEnabled = true, showUpAsClose = false)
|
setDisplayHomeAsUp(isEnabled = true, showUpAsClose = false)
|
||||||
supportActionBar?.setSubtitle(R.string.search_results)
|
supportActionBar?.setSubtitle(R.string.search_results)
|
||||||
|
|
||||||
addMenuProvider(SearchKindMenuProvider(this, viewModel, viewModel.query, viewModel.kind))
|
addMenuProvider(SearchMenuProvider(this, viewModel))
|
||||||
|
|
||||||
viewModel.list.observe(this, adapter)
|
viewModel.list.observe(this, adapter)
|
||||||
viewModel.onError.observeEvent(this, SnackbarErrorObserver(viewBinding.recyclerView, null))
|
viewModel.onError.observeEvent(this, SnackbarErrorObserver(viewBinding.recyclerView, null))
|
||||||
|
|||||||
@@ -9,11 +9,9 @@ import org.koitharu.kotatsu.R
|
|||||||
import org.koitharu.kotatsu.core.nav.router
|
import org.koitharu.kotatsu.core.nav.router
|
||||||
import org.koitharu.kotatsu.search.domain.SearchKind
|
import org.koitharu.kotatsu.search.domain.SearchKind
|
||||||
|
|
||||||
class SearchKindMenuProvider(
|
class SearchMenuProvider(
|
||||||
private val activity: SearchActivity,
|
private val activity: SearchActivity,
|
||||||
private val viewModel: SearchViewModel,
|
private val viewModel: SearchViewModel,
|
||||||
private val query: String,
|
|
||||||
private val kind: SearchKind,
|
|
||||||
) : MenuProvider {
|
) : MenuProvider {
|
||||||
|
|
||||||
override fun onCreateMenu(menu: Menu, menuInflater: MenuInflater) {
|
override fun onCreateMenu(menu: Menu, menuInflater: MenuInflater) {
|
||||||
@@ -23,7 +21,7 @@ class SearchKindMenuProvider(
|
|||||||
override fun onPrepareMenu(menu: Menu) {
|
override fun onPrepareMenu(menu: Menu) {
|
||||||
super.onPrepareMenu(menu)
|
super.onPrepareMenu(menu)
|
||||||
menu.findItem(
|
menu.findItem(
|
||||||
when (kind) {
|
when (viewModel.kind) {
|
||||||
SearchKind.SIMPLE -> R.id.action_kind_simple
|
SearchKind.SIMPLE -> R.id.action_kind_simple
|
||||||
SearchKind.TITLE -> R.id.action_kind_title
|
SearchKind.TITLE -> R.id.action_kind_title
|
||||||
SearchKind.AUTHOR -> R.id.action_kind_author
|
SearchKind.AUTHOR -> R.id.action_kind_author
|
||||||
@@ -54,9 +52,9 @@ class SearchKindMenuProvider(
|
|||||||
R.id.action_kind_tag -> SearchKind.TAG
|
R.id.action_kind_tag -> SearchKind.TAG
|
||||||
else -> return false
|
else -> return false
|
||||||
}
|
}
|
||||||
if (newKind != kind) {
|
if (newKind != viewModel.kind) {
|
||||||
activity.router.openSearch(
|
activity.router.openSearch(
|
||||||
query = query,
|
query = viewModel.query,
|
||||||
kind = newKind,
|
kind = newKind,
|
||||||
)
|
)
|
||||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
|
||||||
Reference in New Issue
Block a user