Actually bother to add license boilerplate. Even though I've written
the entirety of Auxio, the boilerplate will be under "Auxio Project"
instead, as I don't want to share my real name.
Fix a problem where given two albums with the same year, like this:
Album 1 [2018]
- Song 1
- Song 2
Album 2 [2018]
- Song 3
- Song 4
getSortedArtistSongs would incorrectly drop songs that came from
any albums that came after Album 1, resulting in this:
Song 1 [Album 1]
Song 2 [Album 1]
This was caused by a quirk in toSortedMap that would drop any
map entries that corresponded to a previous sorted entry. We now
get and sort the entries directly instead, which fixes the issue.
Make fast-scroller truncation more aggressive, mostly because on my new
ROM it seems like display calculations become a little wonky and cause
slight indicator cutoff. May as well add padding then so that
indicators [and the thumb by extension] actually fit and won't get
clipped.
Update the README to update the current state of Auxio, uodate the
ADDITIONS document to reflect which features have been rejected,
and remove the black mode question from the FAQ.
Remove the default [a.k.a SortMode.NONE] option from the library view.
It was effectively useless in every single library mode and was
functionally equivelent to SortMode.ALPHA_DOWN. Other SortModes might
come to take it's place, but likely only for albums.
Use the native MediaStore sort of using the characters after an article
[if present] everywhere when sorting is done. Yes, this is still dumb
and non-local, but if I want to add fast-scrolling to the library view
I will have to keep consistency across each sort.
Create a seperate ActionHeader object for headers with actions attached alongside a new viewholder to accompany it.
This allows action headers to be created easier without creating your own viewholder.
Do some post-setting refactor cleanup:
- Make some extension functions for SettingsManager for convienence
- Remove dead code from before the int migration
- Update semantics here and there
Update the structure of the settings system to do several things:
- Finally use int preferences everywhere instead of the mix of strings & ints from before
- Create a new preference named `IntListPreference` that enables the use of integers in list preferences
- Actually centralize array values and default values into a single integers xml
- Isolate all the new migration code into a single file
- Refreshed the int tables used by data objects [DB version has been updated, will not update when other changes]
The only preference not migrated is doAtEnd since that is being planned to be retired in a future LoopMode update.
Instead of converting int-genres to normal genres during the music loader process, instead do it in the Genre object as a lazy initializer, so that the names remain [Probably] unique.
Make it so that PlaybackStateDatabase stores the item data for PlaybackState/QueueItems as strings instead of ids, as ids are too volitaile if the music library changes.