Skip to content

Commit 72ee4be

Browse files
authored
Merge pull request #6152 from Isira-Seneviratne/Use_Animator_addListener
Use Animator.addListener() extension.
2 parents c85b97a + 3fe80ec commit 72ee4be

2 files changed

Lines changed: 12 additions & 26 deletions

File tree

app/src/main/java/org/schabi/newpipe/ktx/TextView.kt

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,12 @@
22

33
package org.schabi.newpipe.ktx
44

5-
import android.animation.Animator
6-
import android.animation.AnimatorListenerAdapter
75
import android.animation.ArgbEvaluator
86
import android.animation.ValueAnimator
97
import android.util.Log
108
import android.widget.TextView
119
import androidx.annotation.ColorInt
10+
import androidx.core.animation.addListener
1211
import androidx.interpolator.view.animation.FastOutSlowInInterpolator
1312
import org.schabi.newpipe.MainActivity
1413

@@ -34,14 +33,6 @@ fun TextView.animateTextColor(duration: Long, @ColorInt colorStart: Int, @ColorI
3433
viewPropertyAnimator.interpolator = FastOutSlowInInterpolator()
3534
viewPropertyAnimator.duration = duration
3635
viewPropertyAnimator.addUpdateListener { setTextColor(it.animatedValue as Int) }
37-
viewPropertyAnimator.addListener(object : AnimatorListenerAdapter() {
38-
override fun onAnimationEnd(animation: Animator) {
39-
setTextColor(colorEnd)
40-
}
41-
42-
override fun onAnimationCancel(animation: Animator) {
43-
setTextColor(colorEnd)
44-
}
45-
})
36+
viewPropertyAnimator.addListener(onCancel = { setTextColor(colorEnd) }, onEnd = { setTextColor(colorEnd) })
4637
viewPropertyAnimator.start()
4738
}

app/src/main/java/org/schabi/newpipe/ktx/View.kt

Lines changed: 10 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import android.util.Log
1111
import android.view.View
1212
import androidx.annotation.ColorInt
1313
import androidx.annotation.FloatRange
14+
import androidx.core.animation.addListener
1415
import androidx.core.view.ViewCompat
1516
import androidx.core.view.isGone
1617
import androidx.core.view.isInvisible
@@ -106,15 +107,10 @@ fun View.animateBackgroundColor(duration: Long, @ColorInt colorStart: Int, @Colo
106107
viewPropertyAnimator.addUpdateListener { animation: ValueAnimator ->
107108
backgroundTintListCompat = ColorStateList(empty, intArrayOf(animation.animatedValue as Int))
108109
}
109-
viewPropertyAnimator.addListener(object : AnimatorListenerAdapter() {
110-
override fun onAnimationEnd(animation: Animator) {
111-
backgroundTintListCompat = ColorStateList(empty, intArrayOf(colorEnd))
112-
}
113-
114-
override fun onAnimationCancel(animation: Animator) {
115-
onAnimationEnd(animation)
116-
}
117-
})
110+
viewPropertyAnimator.addListener(
111+
onCancel = { backgroundTintListCompat = ColorStateList(empty, intArrayOf(colorEnd)) },
112+
onEnd = { backgroundTintListCompat = ColorStateList(empty, intArrayOf(colorEnd)) }
113+
)
118114
viewPropertyAnimator.start()
119115
}
120116

@@ -134,17 +130,16 @@ fun View.animateHeight(duration: Long, targetHeight: Int): ValueAnimator {
134130
layoutParams.height = value.toInt()
135131
requestLayout()
136132
}
137-
animator.addListener(object : AnimatorListenerAdapter() {
138-
override fun onAnimationEnd(animation: Animator) {
133+
animator.addListener(
134+
onCancel = {
139135
layoutParams.height = targetHeight
140136
requestLayout()
141-
}
142-
143-
override fun onAnimationCancel(animation: Animator) {
137+
},
138+
onEnd = {
144139
layoutParams.height = targetHeight
145140
requestLayout()
146141
}
147-
})
142+
)
148143
animator.start()
149144
return animator
150145
}

0 commit comments

Comments
 (0)