diff --git a/app/src/main/java/net/vonforst/evmap/adapter/DataBindingAdapters.kt b/app/src/main/java/net/vonforst/evmap/adapter/DataBindingAdapters.kt index 407cd4e6..6a0b334f 100644 --- a/app/src/main/java/net/vonforst/evmap/adapter/DataBindingAdapters.kt +++ b/app/src/main/java/net/vonforst/evmap/adapter/DataBindingAdapters.kt @@ -184,6 +184,7 @@ class FiltersAdapter : DataBindingAdapter>() { if (it !in filter.choices.keys) value.values.remove(it) } + val chips = mutableMapOf() binding.chipGroup.removeAllViews() filter.choices.entries.sortedByDescending { it.key in value.values @@ -208,8 +209,19 @@ class FiltersAdapter : DataBindingAdapter>() { } binding.chipGroup.addView(chip) + chips.put(choice.key, chip) } + binding.btnAll.setOnClickListener { + value.all = true + value.values.addAll(filter.choices.keys) + chips.values.forEach { it.isChecked = true } + } + binding.btnNone.setOnClickListener { + value.all = true + value.values.addAll(filter.choices.keys) + chips.values.forEach { it.isChecked = false } + } } private fun setupSlider( diff --git a/app/src/main/res/layout/item_filter_multiple_choice.xml b/app/src/main/res/layout/item_filter_multiple_choice.xml index acec11d1..967eb054 100644 --- a/app/src/main/res/layout/item_filter_multiple_choice.xml +++ b/app/src/main/res/layout/item_filter_multiple_choice.xml @@ -45,7 +45,26 @@ app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.0" app:layout_constraintStart_toStartOf="parent" - app:layout_constraintTop_toBottomOf="@+id/textView17" /> + app:layout_constraintTop_toBottomOf="@+id/btnAll" /> + +