Hide unsupported skip actions in clock widget music part

This commit is contained in:
MM20 2023-02-14 16:59:32 +01:00
parent e4a599f234
commit d5729006e4
No known key found for this signature in database
GPG Key ID: 0B61A8F2DEAFA389

View File

@ -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
)
}
}
}
}