aboutsummaryrefslogtreecommitdiff
path: root/core/src/main/kotlin/ca
diff options
context:
space:
mode:
Diffstat (limited to 'core/src/main/kotlin/ca')
-rw-r--r--core/src/main/kotlin/ca/allanwang/kau/kotlin/Debouncer.kt6
-rw-r--r--core/src/main/kotlin/ca/allanwang/kau/kotlin/LazyContext.kt1
-rw-r--r--core/src/main/kotlin/ca/allanwang/kau/ui/ProgressAnimator.kt4
3 files changed, 9 insertions, 2 deletions
diff --git a/core/src/main/kotlin/ca/allanwang/kau/kotlin/Debouncer.kt b/core/src/main/kotlin/ca/allanwang/kau/kotlin/Debouncer.kt
index 4c27e19..de5d148 100644
--- a/core/src/main/kotlin/ca/allanwang/kau/kotlin/Debouncer.kt
+++ b/core/src/main/kotlin/ca/allanwang/kau/kotlin/Debouncer.kt
@@ -40,7 +40,11 @@ open class Debouncer(var interval: Long) {
* Call to cancel all pending requests and shutdown the thread pool
* The debouncer cannot be used after this
*/
- fun terminate() = sched.shutdownNow()
+ fun terminate() {
+ task?.invalidate()
+ task = null
+ sched.shutdownNow()
+ }
/**
* Invalidate any pending tasks
diff --git a/core/src/main/kotlin/ca/allanwang/kau/kotlin/LazyContext.kt b/core/src/main/kotlin/ca/allanwang/kau/kotlin/LazyContext.kt
index 7e0fe70..ab531bd 100644
--- a/core/src/main/kotlin/ca/allanwang/kau/kotlin/LazyContext.kt
+++ b/core/src/main/kotlin/ca/allanwang/kau/kotlin/LazyContext.kt
@@ -14,7 +14,6 @@ import android.view.animation.Interpolator
* Items are retrieved using delegateName(context)
*
*/
-
fun lazyInterpolator(@InterpolatorRes id: Int) = lazyContext<Interpolator> { AnimationUtils.loadInterpolator(it, id) }
fun lazyAnimation(@AnimRes id: Int) = lazyContext<Animation> { AnimationUtils.loadAnimation(it, id) }
diff --git a/core/src/main/kotlin/ca/allanwang/kau/ui/ProgressAnimator.kt b/core/src/main/kotlin/ca/allanwang/kau/ui/ProgressAnimator.kt
index dc10e71..e37e59f 100644
--- a/core/src/main/kotlin/ca/allanwang/kau/ui/ProgressAnimator.kt
+++ b/core/src/main/kotlin/ca/allanwang/kau/ui/ProgressAnimator.kt
@@ -77,6 +77,10 @@ class ProgressAnimator private constructor(private vararg val values: Float) {
override fun onAnimationEnd(animation: Animator?) {
endActions.forEach { it() }
}
+
+ override fun onAnimationCancel(animation: Animator?) {
+ endActions.forEach { it() }
+ }
})
extraConfigs()
start()