Fix saved searches for android 6(and possibly others)
This commit is contained in:
parent
777ce57a5a
commit
ecda463183
@ -195,6 +195,9 @@ open class BrowseSourceController(bundle: Bundle) :
|
|||||||
|
|
||||||
filterSheet = SourceFilterSheet(
|
filterSheet = SourceFilterSheet(
|
||||||
activity!!,
|
activity!!,
|
||||||
|
// SY -->
|
||||||
|
presenter.loadSearches(),
|
||||||
|
// SY <--
|
||||||
onFilterClicked = {
|
onFilterClicked = {
|
||||||
val allDefault = presenter.sourceFilters == presenter.source.getFilterList()
|
val allDefault = presenter.sourceFilters == presenter.source.getFilterList()
|
||||||
showProgressBar()
|
showProgressBar()
|
||||||
@ -296,9 +299,6 @@ open class BrowseSourceController(bundle: Bundle) :
|
|||||||
}
|
}
|
||||||
// EXH <--
|
// EXH <--
|
||||||
)
|
)
|
||||||
// EXH -->
|
|
||||||
filterSheet?.setSavedSearches(presenter.loadSearches())
|
|
||||||
// EXH <--
|
|
||||||
|
|
||||||
filterSheet?.setFilters(presenter.filterItems)
|
filterSheet?.setFilters(presenter.filterItems)
|
||||||
|
|
||||||
|
@ -2,12 +2,13 @@ package eu.kanade.tachiyomi.ui.browse.source.browse
|
|||||||
|
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import androidx.recyclerview.widget.RecyclerView
|
import androidx.recyclerview.widget.RecyclerView
|
||||||
|
import com.google.android.material.chip.Chip
|
||||||
import eu.davidea.flexibleadapter.FlexibleAdapter
|
import eu.davidea.flexibleadapter.FlexibleAdapter
|
||||||
import eu.davidea.flexibleadapter.items.AbstractFlexibleItem
|
import eu.davidea.flexibleadapter.items.AbstractFlexibleItem
|
||||||
import eu.davidea.flexibleadapter.items.IFlexible
|
import eu.davidea.flexibleadapter.items.IFlexible
|
||||||
import eu.kanade.tachiyomi.R
|
import eu.kanade.tachiyomi.R
|
||||||
|
|
||||||
class SavedSearchesItem :
|
class SavedSearchesItem(val chips: List<Chip>) :
|
||||||
AbstractFlexibleItem<SavedSearchesHolder>() {
|
AbstractFlexibleItem<SavedSearchesHolder>() {
|
||||||
|
|
||||||
override fun getLayoutRes(): Int {
|
override fun getLayoutRes(): Int {
|
||||||
@ -31,7 +32,9 @@ class SavedSearchesItem :
|
|||||||
holder: SavedSearchesHolder,
|
holder: SavedSearchesHolder,
|
||||||
position: Int,
|
position: Int,
|
||||||
payloads: MutableList<Any?>?
|
payloads: MutableList<Any?>?
|
||||||
) {}
|
) {
|
||||||
|
holder.setChips(chips)
|
||||||
|
}
|
||||||
|
|
||||||
override fun equals(other: Any?): Boolean {
|
override fun equals(other: Any?): Boolean {
|
||||||
return (this === other)
|
return (this === other)
|
||||||
|
@ -21,6 +21,9 @@ import kotlinx.android.synthetic.main.source_filter_sheet.view.save_search_btn
|
|||||||
|
|
||||||
class SourceFilterSheet(
|
class SourceFilterSheet(
|
||||||
activity: Activity,
|
activity: Activity,
|
||||||
|
// SY -->
|
||||||
|
searches: List<EXHSavedSearch> = emptyList(),
|
||||||
|
// SY <--
|
||||||
onFilterClicked: () -> Unit,
|
onFilterClicked: () -> Unit,
|
||||||
onResetClicked: () -> Unit,
|
onResetClicked: () -> Unit,
|
||||||
// EXH -->
|
// EXH -->
|
||||||
@ -33,7 +36,7 @@ class SourceFilterSheet(
|
|||||||
private var filterNavView: FilterNavigationView
|
private var filterNavView: FilterNavigationView
|
||||||
|
|
||||||
init {
|
init {
|
||||||
filterNavView = FilterNavigationView(activity)
|
filterNavView = FilterNavigationView(activity /* SY --> */, searches = searches/* SY <-- */)
|
||||||
filterNavView.onFilterClicked = {
|
filterNavView.onFilterClicked = {
|
||||||
onFilterClicked()
|
onFilterClicked()
|
||||||
this.dismiss()
|
this.dismiss()
|
||||||
@ -65,7 +68,7 @@ class SourceFilterSheet(
|
|||||||
}
|
}
|
||||||
// SY <--
|
// SY <--
|
||||||
|
|
||||||
class FilterNavigationView @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null) :
|
class FilterNavigationView @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null /* SY --> */, searches: List<EXHSavedSearch> = emptyList()/* SY <-- */) :
|
||||||
SimpleNavigationView(context, attrs) {
|
SimpleNavigationView(context, attrs) {
|
||||||
|
|
||||||
var onFilterClicked = {}
|
var onFilterClicked = {}
|
||||||
@ -78,8 +81,7 @@ class SourceFilterSheet(
|
|||||||
|
|
||||||
var onSavedSearchDeleteClicked: (Int, String) -> Unit = { _, _ -> }
|
var onSavedSearchDeleteClicked: (Int, String) -> Unit = { _, _ -> }
|
||||||
|
|
||||||
var savedSearchesItem = SavedSearchesItem()
|
var savedSearchesAdapter: FlexibleAdapter<SavedSearchesItem> = FlexibleAdapter<SavedSearchesItem>(listOf(SavedSearchesItem(getChips(searches))))
|
||||||
var savedSearchesAdapter: FlexibleAdapter<SavedSearchesItem> = FlexibleAdapter<SavedSearchesItem>(listOf(savedSearchesItem))
|
|
||||||
// SY <--
|
// SY <--
|
||||||
|
|
||||||
val adapter: FlexibleAdapter<IFlexible<*>> = FlexibleAdapter<IFlexible<*>>(null)
|
val adapter: FlexibleAdapter<IFlexible<*>> = FlexibleAdapter<IFlexible<*>>(null)
|
||||||
@ -103,6 +105,13 @@ class SourceFilterSheet(
|
|||||||
|
|
||||||
// EXH -->
|
// EXH -->
|
||||||
fun setSavedSearches(searches: List<EXHSavedSearch>) {
|
fun setSavedSearches(searches: List<EXHSavedSearch>) {
|
||||||
|
recycler.post {
|
||||||
|
(recycler.findViewHolderForAdapterPosition(0) as? SavedSearchesHolder)?.setChips(getChips(searches))
|
||||||
|
savedSearchesAdapter.expand(0)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun getChips(searches: List<EXHSavedSearch>): List<Chip> {
|
||||||
save_search_btn.visibility = if (searches.size < MAX_SAVED_SEARCHES) View.VISIBLE else View.GONE
|
save_search_btn.visibility = if (searches.size < MAX_SAVED_SEARCHES) View.VISIBLE else View.GONE
|
||||||
val chips: MutableList<Chip> = mutableListOf()
|
val chips: MutableList<Chip> = mutableListOf()
|
||||||
|
|
||||||
@ -117,10 +126,7 @@ class SourceFilterSheet(
|
|||||||
|
|
||||||
chips += chip
|
chips += chip
|
||||||
}
|
}
|
||||||
savedSearchesAdapter.recyclerView.post {
|
return chips
|
||||||
(recycler.findViewHolderForAdapterPosition(0) as? SavedSearchesHolder)?.setChips(chips)
|
|
||||||
savedSearchesAdapter.expand(0)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fun hideFilterButton() {
|
fun hideFilterButton() {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user