diff --git a/app/src/main/java/org/oxycblt/auxio/playback/PlaybackViewModel.kt b/app/src/main/java/org/oxycblt/auxio/playback/PlaybackViewModel.kt index 4326e993a..3cccaa0f4 100644 --- a/app/src/main/java/org/oxycblt/auxio/playback/PlaybackViewModel.kt +++ b/app/src/main/java/org/oxycblt/auxio/playback/PlaybackViewModel.kt @@ -267,6 +267,7 @@ constructor( val params = commandFactory.songFromArtist(song, artist, shuffle) if (params != null) { playbackManager.play(params) + return } logD( "Cannot use given artist parameter for $song [$artist from ${song.artists}], showing choice dialog") @@ -277,6 +278,7 @@ constructor( val params = commandFactory.songFromGenre(song, genre, shuffle) if (params != null) { playbackManager.play(params) + return } logD( "Cannot use given genre parameter for $song [$genre from ${song.genres}], showing choice dialog") diff --git a/app/src/main/java/org/oxycblt/auxio/playback/state/PlaybackCommand.kt b/app/src/main/java/org/oxycblt/auxio/playback/state/PlaybackCommand.kt index 90e435a26..82685f051 100644 --- a/app/src/main/java/org/oxycblt/auxio/playback/state/PlaybackCommand.kt +++ b/app/src/main/java/org/oxycblt/auxio/playback/state/PlaybackCommand.kt @@ -162,7 +162,7 @@ constructor( sort: Sort, shuffle: ShuffleMode ): PlaybackCommand? { - if (queue.isEmpty() || song !in queue) { + if (queue.isEmpty() || (song != null && song !in queue)) { return null } return newCommand(song, parent, sort.songs(queue), shuffle)