playback: make queue reflect sort mode

Re-add the feature where the queue will reflect the current sort mode
now that all sorting is persistent.
This commit is contained in:
OxygenCobalt 2021-10-03 19:02:27 -06:00
parent f1db0a0162
commit 4b6610d236
No known key found for this signature in database
GPG key ID: 37DBE3621FE9AD47

View file

@ -28,7 +28,6 @@ import org.oxycblt.auxio.music.MusicStore
import org.oxycblt.auxio.music.Parent
import org.oxycblt.auxio.music.Song
import org.oxycblt.auxio.settings.SettingsManager
import org.oxycblt.auxio.ui.SortMode
import org.oxycblt.auxio.util.logD
import org.oxycblt.auxio.util.logE
@ -483,7 +482,7 @@ class PlaybackStateManager private constructor() {
PlaybackMode.IN_ARTIST -> orderSongsInArtist(mParent as Artist)
PlaybackMode.IN_ALBUM -> orderSongsInAlbum(mParent as Album)
PlaybackMode.IN_GENRE -> orderSongsInGenre(mParent as Genre)
PlaybackMode.ALL_SONGS -> musicStore.songs.toMutableList()
PlaybackMode.ALL_SONGS -> orderSongs()
}
if (keepSong) {
@ -740,25 +739,32 @@ class PlaybackStateManager private constructor() {
// --- ORDERING FUNCTIONS ---
/**
* Create an ordered queue based on the main list of songs
*/
private fun orderSongs(): MutableList<Song> {
return settingsManager.libSongSort.sortSongs(musicStore.songs).toMutableList()
}
/**
* Create an ordered queue based on an [Album].
*/
private fun orderSongsInAlbum(album: Album): MutableList<Song> {
return SortMode.ASCENDING.sortAlbum(album).toMutableList()
return settingsManager.detailAlbumSort.sortAlbum(album).toMutableList()
}
/**
* Create an ordered queue based on an [Artist].
*/
private fun orderSongsInArtist(artist: Artist): MutableList<Song> {
return SortMode.YEAR.sortArtist(artist).toMutableList()
return settingsManager.detailArtistSort.sortArtist(artist).toMutableList()
}
/**
* Create an ordered queue based on a [Genre].
*/
private fun orderSongsInGenre(genre: Genre): MutableList<Song> {
return SortMode.ASCENDING.sortGenre(genre).toMutableList()
return settingsManager.detailGenreSort.sortGenre(genre).toMutableList()
}
/**