diff --git a/app/src/main/java/org/oxycblt/auxio/music/coil/CoilUtils.kt b/app/src/main/java/org/oxycblt/auxio/music/coil/CoilUtils.kt index 964753f26..b1359f75e 100644 --- a/app/src/main/java/org/oxycblt/auxio/music/coil/CoilUtils.kt +++ b/app/src/main/java/org/oxycblt/auxio/music/coil/CoilUtils.kt @@ -35,9 +35,9 @@ fun ImageView.getCoverArt(album: Album) { // Get the artist image @BindingAdapter("artistImage") fun ImageView.getArtistImage(artist: Artist) { - // If there are more than one albums, then create a mosaic of them. val request: ImageRequest + // If there are more than one albums, then create a mosaic of them. if (artist.numAlbums >= 4) { val uris = mutableListOf() diff --git a/app/src/main/java/org/oxycblt/auxio/music/models/Album.kt b/app/src/main/java/org/oxycblt/auxio/music/models/Album.kt index 254593620..cf28f001c 100644 --- a/app/src/main/java/org/oxycblt/auxio/music/models/Album.kt +++ b/app/src/main/java/org/oxycblt/auxio/music/models/Album.kt @@ -14,8 +14,4 @@ data class Album( val songs = mutableListOf() val numSongs: Int get() = songs.size - - fun finalize() { - songs.sortBy { it.track } - } } diff --git a/app/src/main/java/org/oxycblt/auxio/music/models/Artist.kt b/app/src/main/java/org/oxycblt/auxio/music/models/Artist.kt index 28c3af925..46068b0ca 100644 --- a/app/src/main/java/org/oxycblt/auxio/music/models/Artist.kt +++ b/app/src/main/java/org/oxycblt/auxio/music/models/Artist.kt @@ -10,16 +10,17 @@ data class Artist( var genre = "" val numAlbums: Int get() = albums.size - var numSongs = 0 - - fun finalize() { - albums.sortByDescending { it.year } - - albums.forEach { album -> - numSongs += album.numSongs + val numSongs: Int get() { + var num = 0 + albums.forEach { + num += it.numSongs } + return num + } - // If the artist has more than one genre, pick the most used one. + fun finalizeGenre() { + // If the artist has more than one genre, pick the most "prominent" one. + // [Really just eliminate duplicates created from my hacky way of getting genres loaded but shhhh] genre = if (genres.size > 1) { val groupGenres = genres.groupBy { it.name } diff --git a/app/src/main/java/org/oxycblt/auxio/music/models/Genre.kt b/app/src/main/java/org/oxycblt/auxio/music/models/Genre.kt index ee06b7929..8dcc9c917 100644 --- a/app/src/main/java/org/oxycblt/auxio/music/models/Genre.kt +++ b/app/src/main/java/org/oxycblt/auxio/music/models/Genre.kt @@ -5,8 +5,4 @@ data class Genre( var name: String, ) { val artists = mutableListOf() - - fun finalize() { - artists.sortByDescending { it.name } - } } 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 e135d2d90..a87f1c7b8 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 @@ -146,12 +146,8 @@ class MusicSorter( // Finalize music private fun finalizeMusic() { - // Correct any empty names [""] with the proper placeholders [Unknown Album] - genres.forEach { it.finalize() } - - artists.forEach { it.finalize() } - - albums.forEach { it.finalize() } + // Finalize the genre for each artist + artists.forEach { it.finalizeGenre() } // Then finally sort the music genres.sortWith(