diff --git a/app/src/main/java/org/oxycblt/auxio/detail/ReadOnlyTextInput.kt b/app/src/main/java/org/oxycblt/auxio/detail/ReadOnlyTextInput.kt
index 327038255..f0e0924e0 100644
--- a/app/src/main/java/org/oxycblt/auxio/detail/ReadOnlyTextInput.kt
+++ b/app/src/main/java/org/oxycblt/auxio/detail/ReadOnlyTextInput.kt
@@ -30,7 +30,7 @@ import org.oxycblt.auxio.R
*
* Adapted from Material Files: https://github.com/zhanghai/MaterialFiles
*
- * @author Alexander Capehart (OxygenCobalt)
+ * @author Hai Zhang, Alexander Capehart (OxygenCobalt)
*/
class ReadOnlyTextInput
@JvmOverloads
diff --git a/app/src/main/java/org/oxycblt/auxio/music/extractor/MetadataExtractor.kt b/app/src/main/java/org/oxycblt/auxio/music/extractor/MetadataExtractor.kt
index 1d823faa3..2ac6e26c3 100644
--- a/app/src/main/java/org/oxycblt/auxio/music/extractor/MetadataExtractor.kt
+++ b/app/src/main/java/org/oxycblt/auxio/music/extractor/MetadataExtractor.kt
@@ -213,12 +213,12 @@ class Task(context: Context, private val raw: Song.Raw) {
// Artist
textFrames["TXXX:musicbrainz artist id"]?.let { raw.artistMusicBrainzIds = it }
(textFrames["TXXX:artists"] ?: textFrames["TPE1"])?.let { raw.artistNames = it }
- textFrames["TSOP"]?.let { raw.artistSortNames = it }
+ (textFrames["TXXX:artists_sort"] ?: textFrames["TSOP"])?.let { raw.artistSortNames = it }
// Album artist
textFrames["TXXX:musicbrainz album artist id"]?.let { raw.albumArtistMusicBrainzIds = it }
- textFrames["TPE2"]?.let { raw.albumArtistNames = it }
- textFrames["TSO2"]?.let { raw.albumArtistSortNames = it }
+ (textFrames["TXXX:albumartists"] ?: textFrames["TPE2"])?.let { raw.albumArtistNames = it }
+ (textFrames["TXXX:albumartists_sort"] ?: textFrames["TSO2"])?.let { raw.albumArtistSortNames = it }
// Genre
textFrames["TCON"]?.let { raw.genreNames = it }
diff --git a/app/src/main/java/org/oxycblt/auxio/playback/queue/QueueAdapter.kt b/app/src/main/java/org/oxycblt/auxio/playback/queue/QueueAdapter.kt
index 4922d6d35..1cec07ed3 100644
--- a/app/src/main/java/org/oxycblt/auxio/playback/queue/QueueAdapter.kt
+++ b/app/src/main/java/org/oxycblt/auxio/playback/queue/QueueAdapter.kt
@@ -167,6 +167,7 @@ class QueueSongViewHolder private constructor(private val binding: ItemQueueSong
fun from(parent: View) =
QueueSongViewHolder(ItemQueueSongBinding.inflate(parent.context.inflater))
+ // TODO: This is not good enough, I need to compare item indices as well.
/** A comparator that can be used with DiffUtil. */
val DIFF_CALLBACK = SongViewHolder.DIFF_CALLBACK
}
diff --git a/app/src/main/res/layout/dialog_music_dirs.xml b/app/src/main/res/layout/dialog_music_dirs.xml
index a8eb3e006..2bad59793 100644
--- a/app/src/main/res/layout/dialog_music_dirs.xml
+++ b/app/src/main/res/layout/dialog_music_dirs.xml
@@ -12,6 +12,18 @@
android:layout_height="match_parent"
android:orientation="vertical">
+
+
+
+
Reload the music library whenever it changes (requires persistent notification)
Music folders
Manage where music should be loaded from
+ Folders
Mode