Fully expand source filter sheet on show (closes #4455)

This commit is contained in:
arkon
2021-04-12 17:28:14 -04:00
parent 12e90ae35e
commit 99b46096a4
3 changed files with 19 additions and 28 deletions

View File

@ -5,6 +5,7 @@ import android.content.Context
import android.util.AttributeSet
import android.view.LayoutInflater
import android.view.ViewGroup
import com.google.android.material.bottomsheet.BottomSheetBehavior
import eu.davidea.flexibleadapter.FlexibleAdapter
import eu.davidea.flexibleadapter.items.IFlexible
import eu.kanade.tachiyomi.databinding.SourceFilterSheetBinding
@ -17,10 +18,10 @@ class SourceFilterSheet(
onResetClicked: () -> Unit
) : BaseBottomSheetDialog(activity) {
private var filterNavView: FilterNavigationView
private var filterNavView: FilterNavigationView = FilterNavigationView(activity)
private val sheetBehavior: BottomSheetBehavior<*>
init {
filterNavView = FilterNavigationView(activity)
filterNavView.onFilterClicked = {
onFilterClicked()
this.dismiss()
@ -28,13 +29,23 @@ class SourceFilterSheet(
filterNavView.onResetClicked = onResetClicked
setContentView(filterNavView)
sheetBehavior = BottomSheetBehavior.from(filterNavView.parent as ViewGroup)
}
override fun show() {
super.show()
sheetBehavior.state = BottomSheetBehavior.STATE_EXPANDED
}
fun setFilters(items: List<IFlexible<*>>) {
filterNavView.adapter.updateDataSet(items)
}
class FilterNavigationView @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null) :
class FilterNavigationView @JvmOverloads constructor(
context: Context,
attrs: AttributeSet? = null
) :
SimpleNavigationView(context, attrs) {
var onFilterClicked = {}
@ -42,9 +53,12 @@ class SourceFilterSheet(
val adapter: FlexibleAdapter<IFlexible<*>> = FlexibleAdapter<IFlexible<*>>(null)
.setDisplayHeadersAtStartUp(true)
.setStickyHeaders(true)
private val binding = SourceFilterSheetBinding.inflate(LayoutInflater.from(context), null, false)
private val binding = SourceFilterSheetBinding.inflate(
LayoutInflater.from(context),
null,
false
)
init {
recycler.adapter = adapter