diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/views/player/Controls.kt b/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/views/player/Controls.kt index 104e9a3..90ff7ed 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/views/player/Controls.kt +++ b/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/views/player/Controls.kt @@ -1,8 +1,11 @@ package it.vfsfitvnm.vimusic.ui.views.player import android.text.format.DateUtils +import androidx.compose.animation.core.LinearEasing +import androidx.compose.animation.core.animateDp import androidx.compose.animation.core.animateDpAsState import androidx.compose.animation.core.tween +import androidx.compose.animation.core.updateTransition import androidx.compose.foundation.Image import androidx.compose.foundation.background import androidx.compose.foundation.clickable @@ -72,7 +75,13 @@ fun Controls( Database.likedAt(mediaItem.mediaId).distinctUntilChanged() }.collectAsState(initial = null, context = Dispatchers.IO) - val playPauseRoundness by animateDpAsState(if (shouldBePlaying) 32.dp else 16.dp, tween()) + val shouldBePlayingTransition = updateTransition(shouldBePlaying, label = "shouldBePlaying") + + val playPauseRoundness by shouldBePlayingTransition.animateDp( + transitionSpec = { tween(durationMillis = 100, easing = LinearEasing) }, + label = "playPauseRoundness", + targetValueByState = { if (it) 32.dp else 16.dp } + ) Column( horizontalAlignment = Alignment.CenterHorizontally,