Modify the minimal wdiget so that it can work on Android 11 and below.
Was not actually that hard, mostly changing layouts around all things
considered. This also splits up the default view and the main widget
views, which makes managing UI state much easier.
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.
Add a fast-scroller to the library view. This makes long lists of
items such as albums easier to scroll through, but also requires
pre-sorting of artists to make sure that unintended behavior does
not occur. A future commit may improve the sort options here so that
this does not need to occur.
Finally add black theme support to Auxio. This is abit of a janky
implementation since I had to add an extra set of accents, but it
shouldn't be as big of a problem after the styles refactoring.
Support for black android components is not implemented yet, but
will be eventually.
Completely redesign the about UI to remove its dependency on
bottomsheetdialogfragment. That object is such a hassle to deal with an
is the epitome of everything wrong with this horrible platform. This
design will enable further about extensions in the future.
Instead of using @color/background directly, use ?attr/colorSurface
so that changes can be made to the theming easier. This also
resolves some more minor issues regarding certain widget's
backgrounds.
Change most of the external layout/drawable code to use
colorControlHighlight instead of selection_color so that control
over which kind of selection color is used is more fine-grained.
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 two things to the margin and padding system:
- Remove the redundant padding/margin dimens and replace it with a unified "spacing" dimen namespace
- Make most margin and padding dimens follow the divisible-by-8 rule in material design
Finally move the app from AppCompat the Material Bridge theme. This does a couple things:
- Removes need for runtime styling of material widgets used before
- Allows for a better dialog style [But only after a ton of tinkering and weird hacks]
- Makes theming slightly easier [After all the dumb migration bugs and technicalities are fixed]
I never want to do something like this again. UI styling on android is a nightmare.
Both improve and use dialogs
- The AlertDialog style now properly colors dialogs with the primary coler
- The accent & blacklist dialogs are now based on AlertDialog for their buttons, reducing layout complexity
Completely refactor the blacklist dialog to not only use the Storage Access Framework, but also to completely eliminate the material dialogs dependency.
Fix two more fast scrolling issues:
- Fixed size of the view would cut off larger fonts
- Thumb would briefly show when the view would initially start
This custom view was a mistake, but anything for less kbs.
Drop the old IndicatorFastScroll library from Auxio and replace it with a hyper-specialized variant designed specifically for Auxio.
This not only eliminates a source of hacks/problems/bloat, it also removes a dependency on jcenter (Which is shutting down soon)
Change the loading process so that LoadingViewModel no longer requires an application instance to start. Also move the main music loading code to an internal function.
Collapse amber and yellow into a single accent [Yellow], remove the neutral accent due to UI isuses, and darken light-mode accents across the board to be more visible.