Make artist IDs unique

Fix an issue where the artist IDs would not be unique in the context of the other items.
This commit is contained in:
OxygenCobalt 2021-01-19 14:54:12 -07:00
parent 0bbcff35eb
commit ab2da7a5a4
No known key found for this signature in database
GPG key ID: 37DBE3621FE9AD47
4 changed files with 12 additions and 6 deletions

View file

@ -2,6 +2,7 @@ package org.oxycblt.auxio.music.processing
import org.oxycblt.auxio.music.Album
import org.oxycblt.auxio.music.Artist
import org.oxycblt.auxio.music.Genre
import org.oxycblt.auxio.music.Song
/**
@ -9,7 +10,7 @@ import org.oxycblt.auxio.music.Song
*/
class MusicSorter(
val songs: MutableList<Song>,
val albums: MutableList<Album>
val albums: MutableList<Album>,
) {
val artists = mutableListOf<Artist>()
@ -30,7 +31,14 @@ class MusicSorter(
groupedAlbums.forEach {
artists.add(
Artist(id = artists.size.toLong(), name = it.key, albums = it.value)
// Min value is deliberately used to prevent conflicts with the MediaStore
// album & artist IDs. Shouldnt conflict with other negative IDs unless there
// are ~2.147 billion artists.
Artist(
id = (artists.size + Int.MIN_VALUE).toLong(),
name = it.key,
albums = it.value
)
)
}
}

View file

@ -232,9 +232,6 @@ class PlaybackStateManager private constructor() {
resetLoopMode()
setShuffling(shuffled, keepSong = false)
logD(mQueue[0].name)
updatePlayback(mQueue[0])
}

View file

@ -125,6 +125,8 @@ class SearchFragment : Fragment() {
}
}
logD("Fragment created.")
return binding.root
}

View file

@ -8,7 +8,6 @@ import androidx.appcompat.widget.PopupMenu
import androidx.lifecycle.ViewModelProvider
import org.oxycblt.auxio.R
import org.oxycblt.auxio.detail.DetailViewModel
import org.oxycblt.auxio.logD
import org.oxycblt.auxio.music.Album
import org.oxycblt.auxio.music.Artist
import org.oxycblt.auxio.music.BaseModel