|
@@ -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
|