diff --git a/app/src/main/java/org/oxycblt/auxio/music/MusicUtils.kt b/app/src/main/java/org/oxycblt/auxio/music/MusicUtils.kt
index 9629e68d2..8f02e6116 100644
--- a/app/src/main/java/org/oxycblt/auxio/music/MusicUtils.kt
+++ b/app/src/main/java/org/oxycblt/auxio/music/MusicUtils.kt
@@ -1,6 +1,7 @@
package org.oxycblt.auxio.music
import android.content.ContentUris
+import android.content.Context
import android.net.Uri
import android.provider.MediaStore
import android.widget.TextView
@@ -69,8 +70,7 @@ fun TextView.getAlbumSongs(album: Album) {
}
@BindingAdapter("artistCounts")
-fun TextView.getArtistCounts(artist: Artist) {
- // Get the quantity string for both albums & artists, and then stitch them together.
+fun TextView.bindArtistCounts(artist: Artist) {
val albums = context.resources.getQuantityString(
R.plurals.format_albums, artist.numAlbums, artist.numAlbums
)
@@ -80,3 +80,18 @@ fun TextView.getArtistCounts(artist: Artist) {
text = context.getString(R.string.format_double_counts, albums, songs)
}
+
+@BindingAdapter("artistGenre")
+fun TextView.getArtistGenre(artist: Artist) {
+ // If the artist has more than one genre, pick the most used one.
+ // TODO: Add an option to display all genres.
+ val genre: String = if (artist.genres.size > 1) {
+ val genres = artist.genres.groupBy { it.name }
+
+ genres.keys.sortedByDescending { genres[it]?.size }[0]
+ } else {
+ artist.genres[0].name
+ }
+
+ text = genre
+}
diff --git a/app/src/main/java/org/oxycblt/auxio/music/processing/MusicLoader.kt b/app/src/main/java/org/oxycblt/auxio/music/processing/MusicLoader.kt
index 36cd0dfa2..a001332d8 100644
--- a/app/src/main/java/org/oxycblt/auxio/music/processing/MusicLoader.kt
+++ b/app/src/main/java/org/oxycblt/auxio/music/processing/MusicLoader.kt
@@ -81,8 +81,7 @@ class MusicLoader(private val resolver: ContentResolver) {
var name = cursor.getString(nameIndex) ?: ""
// If a genre is still in an old int-based format [Android formats it as "(INT)"],
- // convert that to the corresponding ID3 genre. Really hope anyone doesn't have
- // a genre that contains parentheses.
+ // convert that to the corresponding ID3 genre.
if (name.contains(Regex("[0123456789)]"))) {
name = name.toNamedGenre()
}
diff --git a/app/src/main/res/layout/fragment_artist_detail.xml b/app/src/main/res/layout/fragment_artist_detail.xml
index 593ba2a9d..8d4ca8ae8 100644
--- a/app/src/main/res/layout/fragment_artist_detail.xml
+++ b/app/src/main/res/layout/fragment_artist_detail.xml
@@ -13,8 +13,8 @@
+ android:animateLayoutChanges="true"
+ android:orientation="vertical">
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_song.xml b/app/src/main/res/layout/item_song.xml
index 0783afcb8..2b1fa0af7 100644
--- a/app/src/main/res/layout/item_song.xml
+++ b/app/src/main/res/layout/item_song.xml
@@ -58,7 +58,7 @@
android:maxLines="1"
android:textAppearance="?android:attr/textAppearanceListItemSecondary"
android:textColor="?android:attr/textColorSecondary"
- android:text="@{@string/format_song_info(song.album.artist.name, song.album.name)}"
+ android:text="@{@string/format_info(song.album.artist.name, song.album.name)}"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/duration"
app:layout_constraintStart_toEndOf="@+id/cover"
diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml
index 19aa3c947..8fbf3deb6 100644
--- a/app/src/main/res/values/dimens.xml
+++ b/app/src/main/res/values/dimens.xml
@@ -13,7 +13,11 @@
44dp
56dp
- 168dp
+ 230dp
+
+ 26sp
+ 10sp'
+ 2sp
4dp
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index c863d435d..9d27a952f 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -16,7 +16,7 @@
Unknown Artist
Unknown Album
- %1$s / %2$s
+ %1$s / %2$s
%1$s, %2$s
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
index 37696048a..e43d5d0c8 100644
--- a/app/src/main/res/values/styles.xml
+++ b/app/src/main/res/values/styles.xml
@@ -11,4 +11,10 @@
- @font/inter_black
- ?android:attr/colorPrimary
+
+
\ No newline at end of file