Fix #282, bug fixes
This commit is contained in:
@ -0,0 +1,31 @@
|
||||
package com.tommasoberlose.anotherwidget.components
|
||||
|
||||
import android.view.View
|
||||
|
||||
class OnSingleClickListener : View.OnClickListener {
|
||||
|
||||
private val onClickListener: View.OnClickListener
|
||||
|
||||
constructor(listener: View.OnClickListener) {
|
||||
onClickListener = listener
|
||||
}
|
||||
|
||||
constructor(listener: (View) -> Unit) {
|
||||
onClickListener = View.OnClickListener { listener.invoke(it) }
|
||||
}
|
||||
|
||||
override fun onClick(v: View) {
|
||||
val currentTimeMillis = System.currentTimeMillis()
|
||||
|
||||
if (currentTimeMillis >= previousClickTimeMillis + DELAY_MILLIS) {
|
||||
previousClickTimeMillis = currentTimeMillis
|
||||
onClickListener.onClick(v)
|
||||
}
|
||||
}
|
||||
|
||||
companion object {
|
||||
private const val DELAY_MILLIS = 200L
|
||||
private var previousClickTimeMillis = 0L
|
||||
}
|
||||
|
||||
}
|
Reference in New Issue
Block a user