From ab2da7a5a43f977a2d3517530231405fe105bdf6 Mon Sep 17 00:00:00 2001 From: OxygenCobalt Date: Tue, 19 Jan 2021 14:54:12 -0700 Subject: [PATCH] Make artist IDs unique Fix an issue where the artist IDs would not be unique in the context of the other items. --- .../oxycblt/auxio/music/processing/MusicSorter.kt | 12 ++++++++++-- .../auxio/playback/state/PlaybackStateManager.kt | 3 --- .../java/org/oxycblt/auxio/search/SearchFragment.kt | 2 ++ app/src/main/java/org/oxycblt/auxio/ui/ActionMenu.kt | 1 - 4 files changed, 12 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/org/oxycblt/auxio/music/processing/MusicSorter.kt b/app/src/main/java/org/oxycblt/auxio/music/processing/MusicSorter.kt index b7e3cacff..5c791a97e 100644 --- a/app/src/main/java/org/oxycblt/auxio/music/processing/MusicSorter.kt +++ b/app/src/main/java/org/oxycblt/auxio/music/processing/MusicSorter.kt @@ -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, - val albums: MutableList + val albums: MutableList, ) { val artists = mutableListOf() @@ -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 + ) ) } } diff --git a/app/src/main/java/org/oxycblt/auxio/playback/state/PlaybackStateManager.kt b/app/src/main/java/org/oxycblt/auxio/playback/state/PlaybackStateManager.kt index 7e2329d86..a03722d05 100644 --- a/app/src/main/java/org/oxycblt/auxio/playback/state/PlaybackStateManager.kt +++ b/app/src/main/java/org/oxycblt/auxio/playback/state/PlaybackStateManager.kt @@ -232,9 +232,6 @@ class PlaybackStateManager private constructor() { resetLoopMode() setShuffling(shuffled, keepSong = false) - - logD(mQueue[0].name) - updatePlayback(mQueue[0]) } diff --git a/app/src/main/java/org/oxycblt/auxio/search/SearchFragment.kt b/app/src/main/java/org/oxycblt/auxio/search/SearchFragment.kt index 5c090dda5..2e59b26e4 100644 --- a/app/src/main/java/org/oxycblt/auxio/search/SearchFragment.kt +++ b/app/src/main/java/org/oxycblt/auxio/search/SearchFragment.kt @@ -125,6 +125,8 @@ class SearchFragment : Fragment() { } } + logD("Fragment created.") + return binding.root } diff --git a/app/src/main/java/org/oxycblt/auxio/ui/ActionMenu.kt b/app/src/main/java/org/oxycblt/auxio/ui/ActionMenu.kt index 538b28ba3..35aa17139 100644 --- a/app/src/main/java/org/oxycblt/auxio/ui/ActionMenu.kt +++ b/app/src/main/java/org/oxycblt/auxio/ui/ActionMenu.kt @@ -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