How can I debounce a setOnClickListener for 1 second using Kotlin Coroutines?

Couroutines are overkill for something as trivial as debounce: class DebounceOnClickListener( private val interval: Long, private val listenerBlock: (View) -> Unit ): View.OnClickListener { private var lastClickTime = 0L override fun onClick(v: View) { val time = System.currentTimeMillis() if (time – lastClickTime >= interval) { lastClickTime = time listenerBlock(v) } } } fun View.setOnClickListener(debounceInterval: Long, … Read more