Minor settings search code cleanup
(cherry picked from commit 3bce07e873)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferencesHelper.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsMainController.kt
This commit is contained in:
@@ -259,9 +259,7 @@ class PreferencesHelper(val context: Context) {
|
||||
|
||||
fun enableDoh() = prefs.getBoolean(Keys.enableDoh, false)
|
||||
|
||||
fun lastSearchQuerySearchSettings() = prefs.getString("last_search_query", "")
|
||||
|
||||
fun lastSearchQuerySearchSettings(query: String) = prefs.edit { putString("last_search_query", query) }
|
||||
fun lastSearchQuerySearchSettings() = flowPrefs.getString("last_search_query", "")
|
||||
|
||||
fun filterChapterByRead() = prefs.getInt(Keys.defaultChapterFilterByRead, Manga.SHOW_ALL)
|
||||
|
||||
|
||||
@@ -122,7 +122,7 @@ class SettingsMainController : SettingsController() {
|
||||
searchItem.setOnActionExpandListener(
|
||||
object : MenuItem.OnActionExpandListener {
|
||||
override fun onMenuItemActionExpand(item: MenuItem?): Boolean {
|
||||
preferences.lastSearchQuerySearchSettings("") // reset saved search query
|
||||
preferences.lastSearchQuerySearchSettings().set("") // reset saved search query
|
||||
router.pushController(SettingsSearchController().withFadeTransaction())
|
||||
return true
|
||||
}
|
||||
|
||||
+5
-1
@@ -22,7 +22,11 @@ class SettingsSearchAdapter(val controller: SettingsSearchController) :
|
||||
*/
|
||||
private var bundle = Bundle()
|
||||
|
||||
override fun onBindViewHolder(holder: RecyclerView.ViewHolder, position: Int, payloads: List<Any?>) {
|
||||
override fun onBindViewHolder(
|
||||
holder: RecyclerView.ViewHolder,
|
||||
position: Int,
|
||||
payloads: List<Any?>
|
||||
) {
|
||||
super.onBindViewHolder(holder, position, payloads)
|
||||
restoreHolderState(holder)
|
||||
}
|
||||
|
||||
+3
-3
@@ -27,7 +27,7 @@ class SettingsSearchController :
|
||||
* Adapter containing search results grouped by lang.
|
||||
*/
|
||||
protected var adapter: SettingsSearchAdapter? = null
|
||||
lateinit var searchView: SearchView
|
||||
private lateinit var searchView: SearchView
|
||||
|
||||
init {
|
||||
setHasOptionsMenu(true)
|
||||
@@ -106,7 +106,7 @@ class SettingsSearchController :
|
||||
}
|
||||
)
|
||||
|
||||
searchView.setQuery(presenter.preferences.lastSearchQuerySearchSettings(), true)
|
||||
searchView.setQuery(presenter.preferences.lastSearchQuerySearchSettings().get(), true)
|
||||
}
|
||||
|
||||
override fun onViewCreated(view: View) {
|
||||
@@ -164,7 +164,7 @@ class SettingsSearchController :
|
||||
*/
|
||||
override fun onTitleClick(ctrl: SettingsController) {
|
||||
searchView.query.let {
|
||||
presenter.preferences.lastSearchQuerySearchSettings(it.toString())
|
||||
presenter.preferences.lastSearchQuerySearchSettings().set(it.toString())
|
||||
}
|
||||
|
||||
router.pushController(ctrl.withFadeTransaction())
|
||||
|
||||
+6
-3
@@ -24,8 +24,7 @@ import kotlin.reflect.KClass
|
||||
import kotlin.reflect.full.createInstance
|
||||
|
||||
object SettingsSearchHelper {
|
||||
var prefSearchResultList: MutableList<SettingsSearchResult> = mutableListOf()
|
||||
private set
|
||||
private var prefSearchResultList: MutableList<SettingsSearchResult> = mutableListOf()
|
||||
|
||||
/**
|
||||
* All subclasses of `SettingsController` should be listed here, in order to have their preferences searchable.
|
||||
@@ -79,7 +78,11 @@ object SettingsSearchHelper {
|
||||
* Extracts the data needed from a `Preference` to create a `SettingsSearchResult`, and then adds it to `prefSearchResultList`
|
||||
* Future enhancement: make bold the text matched by the search query.
|
||||
*/
|
||||
private fun getSettingSearchResult(ctrl: SettingsController, pref: Preference, breadcrumbs: String = "") {
|
||||
private fun getSettingSearchResult(
|
||||
ctrl: SettingsController,
|
||||
pref: Preference,
|
||||
breadcrumbs: String = ""
|
||||
) {
|
||||
when (pref) {
|
||||
is PreferenceGroup -> {
|
||||
val breadcrumbsStr = addLocalizedBreadcrumb(breadcrumbs, "${pref.title}")
|
||||
|
||||
+8
-2
@@ -13,7 +13,10 @@ import eu.kanade.tachiyomi.R
|
||||
* @param pref the source for the search results.
|
||||
* @param results the search results.
|
||||
*/
|
||||
class SettingsSearchItem(val settingsSearchResult: SettingsSearchHelper.SettingsSearchResult, val results: List<SettingsSearchItem>?) :
|
||||
class SettingsSearchItem(
|
||||
val settingsSearchResult: SettingsSearchHelper.SettingsSearchResult,
|
||||
val results: List<SettingsSearchItem>?
|
||||
) :
|
||||
AbstractFlexibleItem<SettingsSearchHolder>() {
|
||||
|
||||
override fun getLayoutRes(): Int {
|
||||
@@ -25,7 +28,10 @@ class SettingsSearchItem(val settingsSearchResult: SettingsSearchHelper.Settings
|
||||
*
|
||||
* @return holder of view.
|
||||
*/
|
||||
override fun createViewHolder(view: View, adapter: FlexibleAdapter<IFlexible<RecyclerView.ViewHolder>>): SettingsSearchHolder {
|
||||
override fun createViewHolder(
|
||||
view: View,
|
||||
adapter: FlexibleAdapter<IFlexible<RecyclerView.ViewHolder>>
|
||||
): SettingsSearchHolder {
|
||||
return SettingsSearchHolder(view, adapter as SettingsSearchAdapter)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user