diff --git a/app/src/main/kotlin/com/subtracks/ui/playback/NowPlayingScreen.kt b/app/src/main/kotlin/com/subtracks/ui/playback/NowPlayingScreen.kt index c32effe0..981538e3 100644 --- a/app/src/main/kotlin/com/subtracks/ui/playback/NowPlayingScreen.kt +++ b/app/src/main/kotlin/com/subtracks/ui/playback/NowPlayingScreen.kt @@ -22,8 +22,10 @@ import androidx.compose.material.icons.rounded.MoreHoriz import androidx.compose.material.icons.rounded.PauseCircle import androidx.compose.material.icons.rounded.PlayCircle import androidx.compose.material.icons.rounded.Repeat -import androidx.compose.material.icons.rounded.RepeatOne +import androidx.compose.material.icons.rounded.RepeatOn +import androidx.compose.material.icons.rounded.RepeatOneOn import androidx.compose.material.icons.rounded.Shuffle +import androidx.compose.material.icons.rounded.ShuffleOn import androidx.compose.material.icons.rounded.SkipNext import androidx.compose.material.icons.rounded.SkipPrevious import androidx.compose.material3.CircularProgressIndicator @@ -286,7 +288,12 @@ fun NowPlayingScreen( ) { IconButton(onClick = onRepeat, modifier = Modifier.size(48.dp)) { Icon( - imageVector = if (state.repeat == RepeatMode.One) Icons.Rounded.RepeatOne else Icons.Rounded.Repeat, + imageVector = + when (state.repeat) { + RepeatMode.Off -> Icons.Rounded.Repeat + RepeatMode.All -> Icons.Rounded.RepeatOn + RepeatMode.One -> Icons.Rounded.RepeatOneOn + }, contentDescription = when (state.repeat) { RepeatMode.Off -> "Repeat off" @@ -341,7 +348,7 @@ fun NowPlayingScreen( } IconButton(onClick = onShuffle, modifier = Modifier.size(48.dp)) { Icon( - imageVector = Icons.Rounded.Shuffle, + imageVector = if (state.shuffle) Icons.Rounded.ShuffleOn else Icons.Rounded.Shuffle, contentDescription = "Shuffle", tint = if (state.shuffle) { diff --git a/app/src/test/kotlin/com/subtracks/ui/AppScreenshotTest.kt b/app/src/test/kotlin/com/subtracks/ui/AppScreenshotTest.kt index 93e49977..2fda3ef5 100644 --- a/app/src/test/kotlin/com/subtracks/ui/AppScreenshotTest.kt +++ b/app/src/test/kotlin/com/subtracks/ui/AppScreenshotTest.kt @@ -36,6 +36,7 @@ import com.subtracks.data.model.SongListItem import com.subtracks.data.model.Source import com.subtracks.playback.PlaybackState import com.subtracks.playback.QueueItem +import com.subtracks.playback.RepeatMode import com.subtracks.ui.library.ALBUM_COVER_TAG import com.subtracks.ui.library.AlbumDetailScreen import com.subtracks.ui.library.ArtistDetailScreen @@ -277,6 +278,28 @@ class AppScreenshotTest { composeRule.onRoot().captureRoboImage("src/test/screenshots/now_playing.png") } + @Test + fun nowPlayingModes() { + composeRule.setContent { + SubtracksTheme { + NowPlayingScreen( + state = Fixtures.playbackState().copy(shuffle = true, repeat = RepeatMode.One), + coverArt = CoverArtRef("art-al-kid-a", "test:art-al-kid-a"), + artwork = artworkColorsFromSeed(Color.rgb(120, 80, 200)), + onBack = {}, + onQueue = {}, + onPlayPause = {}, + onNext = {}, + onPrevious = {}, + onSeek = {}, + modifier = Modifier.fillMaxSize(), + ) + } + } + awaitText("Everything In Its Right Place") + composeRule.onRoot().captureRoboImage("src/test/screenshots/now_playing_modes.png") + } + @Test fun queue() { composeRule.setContent {