From d5729006e4da3a6641950bfe4150321eff18f5dd Mon Sep 17 00:00:00 2001 From: MM20 <15646950+MM2-0@users.noreply.github.com> Date: Tue, 14 Feb 2023 16:59:32 +0100 Subject: [PATCH] Hide unsupported skip actions in clock widget music part --- .../widgets/clock/parts/MusicPartProvider.kt | 38 +++++++++++-------- 1 file changed, 23 insertions(+), 15 deletions(-) diff --git a/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/widgets/clock/parts/MusicPartProvider.kt b/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/widgets/clock/parts/MusicPartProvider.kt index 0477b850..35c444f8 100644 --- a/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/widgets/clock/parts/MusicPartProvider.kt +++ b/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/widgets/clock/parts/MusicPartProvider.kt @@ -27,6 +27,7 @@ import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp import de.mm20.launcher2.music.MusicService import de.mm20.launcher2.music.PlaybackState +import de.mm20.launcher2.music.SupportedActions import de.mm20.launcher2.preferences.Settings.ClockWidgetSettings.ClockWidgetLayout import de.mm20.launcher2.ui.R import kotlinx.coroutines.flow.Flow @@ -53,6 +54,7 @@ class MusicPartProvider : PartProvider, KoinComponent { val title by musicService.title.collectAsState(null) val artist by musicService.artist.collectAsState(null) val state by musicService.playbackState.collectAsState(PlaybackState.Stopped) + val supportedActions by musicService.supportedActions.collectAsState(SupportedActions()) val playIcon = AnimatedImageVector.animatedVectorResource(R.drawable.anim_ic_play_pause) @@ -101,11 +103,13 @@ class MusicPartProvider : PartProvider, KoinComponent { ), contentDescription = null ) } - IconButton(onClick = { musicService.next() }) { - Icon( - imageVector = Icons.Rounded.SkipNext, - contentDescription = null - ) + if (supportedActions.skipToNext) { + IconButton(onClick = { musicService.next() }) { + Icon( + imageVector = Icons.Rounded.SkipNext, + contentDescription = null + ) + } } } } @@ -149,11 +153,13 @@ class MusicPartProvider : PartProvider, KoinComponent { } } Row { - IconButton(onClick = { musicService.previous() }) { - Icon( - imageVector = Icons.Rounded.SkipPrevious, - contentDescription = null - ) + if (supportedActions.skipToPrevious) { + IconButton(onClick = { musicService.previous() }) { + Icon( + imageVector = Icons.Rounded.SkipPrevious, + contentDescription = null + ) + } } IconButton(onClick = { musicService.togglePause() }) { Icon( @@ -163,11 +169,13 @@ class MusicPartProvider : PartProvider, KoinComponent { ), contentDescription = null ) } - IconButton(onClick = { musicService.next() }) { - Icon( - imageVector = Icons.Rounded.SkipNext, - contentDescription = null - ) + if (supportedActions.skipToPrevious) { + IconButton(onClick = { musicService.next() }) { + Icon( + imageVector = Icons.Rounded.SkipNext, + contentDescription = null + ) + } } } }