Fix album cover jank (#1658)

* fix album cover jank

* reduce album resolution
This commit is contained in:
leekleak
2025-11-11 20:15:41 +02:00
committed by GitHub
parent d8c2803562
commit 9d638d5984
4 changed files with 9 additions and 17 deletions

View File

@@ -229,21 +229,7 @@ fun MusicWidget(widget: MusicWidget) {
}
}
}
AnimatedContent(
albumArt,
transitionSpec = {
if (targetState != null && initialState == null) {
fadeIn() togetherWith fadeOut()
} else {
(fadeIn(animationSpec = tween(220, delayMillis = 90)) +
scaleIn(
initialScale = 0.92f,
animationSpec = tween(220, delayMillis = 90)
))
.togetherWith(fadeOut(animationSpec = tween(90)))
}
}
) { art ->
AnimatedContent(albumArt) { art ->
Box(
modifier = Modifier
.padding(top = 16.dp, end = 16.dp)

View File

@@ -14,6 +14,7 @@ import de.mm20.launcher2.music.SupportedActions
import de.mm20.launcher2.permissions.PermissionGroup
import de.mm20.launcher2.permissions.PermissionsManager
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.debounce
import org.koin.core.component.KoinComponent
import org.koin.core.component.inject
@@ -23,7 +24,7 @@ class MusicWidgetVM: ViewModel(), KoinComponent {
val title: Flow<String?> = musicService.title
val artist: Flow<String?> = musicService.artist
val albumArt: Flow<Bitmap?> = musicService.albumArt
val albumArt: Flow<Bitmap?> = musicService.albumArt.debounce { if (it == null) 500 else 0L }
val playbackState: Flow<PlaybackState> = musicService.playbackState
val duration: Flow<Long?> = musicService.duration
val position: Flow<Long?> = musicService.position