From 15121d28f6509e78eb0668920d96b9eb392a62c5 Mon Sep 17 00:00:00 2001 From: Alexander Capehart Date: Fri, 18 Oct 2024 16:19:22 -0600 Subject: [PATCH] ui: fix broken toolbar anims --- .../org/oxycblt/auxio/playback/ui/AnimatedMaterialButton.kt | 2 +- app/src/main/java/org/oxycblt/auxio/ui/Animations.kt | 6 ++++-- app/src/main/java/org/oxycblt/auxio/ui/MultiToolbar.kt | 2 +- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/org/oxycblt/auxio/playback/ui/AnimatedMaterialButton.kt b/app/src/main/java/org/oxycblt/auxio/playback/ui/AnimatedMaterialButton.kt index 042fcede9..b20d6c47b 100644 --- a/app/src/main/java/org/oxycblt/auxio/playback/ui/AnimatedMaterialButton.kt +++ b/app/src/main/java/org/oxycblt/auxio/playback/ui/AnimatedMaterialButton.kt @@ -63,7 +63,7 @@ class AnimatedMaterialButton : RippleFixMaterialButton { animator?.cancel() animator = anim - .genericFloat(currentCornerRadiusRatio, targetRadius, ::updateCornerRadiusRatio) + .genericFloat(currentCornerRadiusRatio, targetRadius, 0, ::updateCornerRadiusRatio) .also { it.start() } } diff --git a/app/src/main/java/org/oxycblt/auxio/ui/Animations.kt b/app/src/main/java/org/oxycblt/auxio/ui/Animations.kt index 9a5b1a898..20f6befe5 100644 --- a/app/src/main/java/org/oxycblt/auxio/ui/Animations.kt +++ b/app/src/main/java/org/oxycblt/auxio/ui/Animations.kt @@ -29,11 +29,13 @@ data class Anim(val interpolator: TimeInterpolator, val duration: Long) { inline fun genericFloat( from: Float, to: Float, + delayMs: Long = 0, crossinline update: (Float) -> Unit ): ValueAnimator = ValueAnimator.ofFloat(from, to).apply { - duration = duration - interpolator = interpolator + startDelay = delayMs + duration = this@Anim.duration + interpolator = this@Anim.interpolator addUpdateListener { update(animatedValue as Float) } } } diff --git a/app/src/main/java/org/oxycblt/auxio/ui/MultiToolbar.kt b/app/src/main/java/org/oxycblt/auxio/ui/MultiToolbar.kt index 931bf358d..ee0609bf1 100644 --- a/app/src/main/java/org/oxycblt/auxio/ui/MultiToolbar.kt +++ b/app/src/main/java/org/oxycblt/auxio/ui/MultiToolbar.kt @@ -96,7 +96,7 @@ constructor(context: Context, attrs: AttributeSet? = null, @AttrRes defStyleAttr } } val inAnimator = - inAnim.genericFloat(toView.alpha, 1f) { + inAnim.genericFloat(toView.alpha, 1f, outAnim.duration) { toView.apply { scaleX = 1 - 0.05f * (1 - it) scaleY = 1 - 0.05f * (1 - it)