Reset filter menu action
This commit is contained in:
@@ -11,6 +11,8 @@ import androidx.core.view.MenuProvider
|
||||
import androidx.core.view.inputmethod.EditorInfoCompat
|
||||
import androidx.fragment.app.viewModels
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
import kotlinx.coroutines.flow.distinctUntilChangedBy
|
||||
import kotlinx.coroutines.flow.drop
|
||||
import org.koitharu.kotatsu.R
|
||||
import org.koitharu.kotatsu.core.ui.list.ListSelectionController
|
||||
import org.koitharu.kotatsu.core.ui.util.MenuInvalidator
|
||||
@@ -44,6 +46,11 @@ class RemoteListFragment : MangaListFragment(), FilterOwner {
|
||||
viewModel.onOpenManga.observeEvent(viewLifecycleOwner) {
|
||||
startActivity(DetailsActivity.newIntent(binding.root.context, it))
|
||||
}
|
||||
viewModel.header.distinctUntilChangedBy { it.isFilterApplied }
|
||||
.drop(1)
|
||||
.observe(viewLifecycleOwner) {
|
||||
activity?.invalidateMenu()
|
||||
}
|
||||
}
|
||||
|
||||
override fun onScrolledToEnd() {
|
||||
@@ -94,12 +101,18 @@ class RemoteListFragment : MangaListFragment(), FilterOwner {
|
||||
true
|
||||
}
|
||||
|
||||
R.id.action_filter_reset -> {
|
||||
viewModel.resetFilter()
|
||||
true
|
||||
}
|
||||
|
||||
else -> false
|
||||
}
|
||||
|
||||
override fun onPrepareMenu(menu: Menu) {
|
||||
super.onPrepareMenu(menu)
|
||||
menu.findItem(R.id.action_random)?.isEnabled = !viewModel.isRandomLoading.value
|
||||
menu.findItem(R.id.action_filter_reset)?.isVisible = viewModel.header.value.isFilterApplied
|
||||
}
|
||||
|
||||
override fun onQueryTextSubmit(query: String?): Boolean {
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<menu
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools">
|
||||
|
||||
<item
|
||||
android:id="@+id/action_search"
|
||||
@@ -22,6 +23,14 @@
|
||||
android:title="@string/filter"
|
||||
app:showAsAction="never" />
|
||||
|
||||
<item
|
||||
android:id="@+id/action_filter_reset"
|
||||
android:orderInCategory="30"
|
||||
android:title="@string/reset_filter"
|
||||
android:visible="false"
|
||||
app:showAsAction="never"
|
||||
tools:visible="true" />
|
||||
|
||||
<item
|
||||
android:id="@+id/action_source_settings"
|
||||
android:orderInCategory="50"
|
||||
|
||||
Reference in New Issue
Block a user