Simplification ripple click listener

This commit is contained in:
Denis Karmyshakov 2018-10-20 13:54:39 +03:00
parent 4b07e91af1
commit d1d35ceaa1
1 changed files with 2 additions and 3 deletions

View File

@ -8,12 +8,11 @@ private const val RIPPLE_EFFECT_DELAY = 150L
/**
* Sets click listener to view. On click it will call something after delay.
*
* @param delay Delay after which click listener will be called;
* @param listener Click listener.
*/
fun View.setOnRippleClickListener(delay: Long = RIPPLE_EFFECT_DELAY, listener: () -> Unit) {
fun View.setOnRippleClickListener(listener: () -> Unit) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
setOnClickListener { postDelayed({ if (hasWindowFocus()) listener() }, delay) }
setOnClickListener { postDelayed({ if (hasWindowFocus()) listener() }, RIPPLE_EFFECT_DELAY) }
} else {
setOnClickListener { listener() }
}