lets block too fast quick event type filter toggling

This commit is contained in:
tibbi 2021-07-27 19:43:03 +02:00
parent 662b0fa982
commit a8ae8bfea4

View File

@ -15,8 +15,8 @@ import java.util.*
class QuickFilterEventTypeAdapter(
val activity: SimpleActivity,
val allEventTypes: List<EventType>,
private val quickFilterEventTypeIds: Set<String>,
val filterChanged: () -> Unit
val quickFilterEventTypeIds: Set<String>,
val callback: () -> Unit
) :
RecyclerView.Adapter<QuickFilterEventTypeAdapter.ViewHolder>() {
private val activeKeys = HashSet<Long>()
@ -27,6 +27,7 @@ class QuickFilterEventTypeAdapter(
private val textColorInactive = textColorActive.adjustAlpha(MEDIUM_ALPHA)
private val minItemWidth = activity.resources.getDimensionPixelSize(R.dimen.quick_filter_min_width)
private var lastClickTS = 0L
init {
quickFilterEventTypeIds.forEach { quickFilterEventType ->
@ -78,9 +79,14 @@ class QuickFilterEventTypeAdapter(
val indicatorHeightRes = if (isSelected) R.dimen.quick_filter_active_line_size else R.dimen.quick_filter_inactive_line_size
quick_filter_event_type_color.layoutParams.height = resources.getDimensionPixelSize(indicatorHeightRes)
quick_filter_event_type_color.setBackgroundColor(eventType.color)
// avoid too quick clicks, could cause glitches
quick_filter_event_type.setOnClickListener {
viewClicked(!isSelected, eventType)
filterChanged()
if (System.currentTimeMillis() - lastClickTS > 200) {
lastClickTS = System.currentTimeMillis()
viewClicked(!isSelected, eventType)
callback()
}
}
}