diff --git a/app/src/main/java/org/oxycblt/auxio/library/LibraryFragment.kt b/app/src/main/java/org/oxycblt/auxio/library/LibraryFragment.kt index 19bdff413..5a00a6232 100644 --- a/app/src/main/java/org/oxycblt/auxio/library/LibraryFragment.kt +++ b/app/src/main/java/org/oxycblt/auxio/library/LibraryFragment.kt @@ -17,6 +17,7 @@ import org.oxycblt.auxio.music.Artist import org.oxycblt.auxio.music.Genre import org.oxycblt.auxio.music.Parent import org.oxycblt.auxio.music.Song +import org.oxycblt.auxio.recycler.sliceArticle import org.oxycblt.auxio.ui.getSpans import org.oxycblt.auxio.ui.newMenu @@ -67,6 +68,13 @@ class LibraryFragment : Fragment() { } } + binding.libraryFastScroll.setup(binding.libraryRecycler) { pos -> + val item = libraryModel.libraryData.value!![pos] + val char = item.displayName.sliceArticle().first().uppercaseChar() + + if (char.isDigit()) '#' else char + } + // --- VIEWMODEL SETUP --- libraryModel.libraryData.observe(viewLifecycleOwner) { data -> diff --git a/app/src/main/java/org/oxycblt/auxio/music/MusicLoader.kt b/app/src/main/java/org/oxycblt/auxio/music/MusicLoader.kt index 1ded515e1..7467db8e4 100644 --- a/app/src/main/java/org/oxycblt/auxio/music/MusicLoader.kt +++ b/app/src/main/java/org/oxycblt/auxio/music/MusicLoader.kt @@ -11,6 +11,7 @@ import androidx.core.database.getStringOrNull import org.oxycblt.auxio.R import org.oxycblt.auxio.database.BlacklistDatabase import org.oxycblt.auxio.logD +import org.oxycblt.auxio.recycler.SortMode /** * Class that loads/constructs [Genre]s, [Artist]s, [Album]s, and [Song] objects from the filesystem @@ -227,6 +228,9 @@ class MusicLoader(private val context: Context) { ) } + // Make the artist view line up with the rest of the lists by sorting it. + artists = SortMode.ALPHA_DOWN.getSortedArtistList(artists).toMutableList() + logD("Albums successfully linked into ${artists.size} artists") } diff --git a/app/src/main/java/org/oxycblt/auxio/songs/FastScrollView.kt b/app/src/main/java/org/oxycblt/auxio/songs/FastScrollView.kt index 9ba37054f..3891d9f44 100644 --- a/app/src/main/java/org/oxycblt/auxio/songs/FastScrollView.kt +++ b/app/src/main/java/org/oxycblt/auxio/songs/FastScrollView.kt @@ -31,7 +31,6 @@ import kotlin.math.roundToInt * fast-scrollers, this one displays indicators and a thumb instead of simply a scroll bar. * This code is fundamentally an adaptation of Reddit's IndicatorFastScroll, albeit specialized * towards Auxio. The original library is here: https://github.com/reddit/IndicatorFastScroll/ - * TODO: Make this update with data. * @author OxygenCobalt */ class FastScrollView @JvmOverloads constructor( diff --git a/app/src/main/res/layout/fragment_library.xml b/app/src/main/res/layout/fragment_library.xml index 0815df1c9..3b8bafd5f 100644 --- a/app/src/main/res/layout/fragment_library.xml +++ b/app/src/main/res/layout/fragment_library.xml @@ -4,7 +4,7 @@ xmlns:tools="http://schemas.android.com/tools" tools:context=".library.LibraryFragment"> - @@ -22,7 +25,17 @@ android:layout_height="0dp" android:layout_weight="1" app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintTop_toBottomOf="@+id/library_toolbar" tools:listitem="@layout/item_artist" /> - + + + \ No newline at end of file