Add preliminary compat for android 12 [API 31]. More changes may be
needed as time goes on, but its close enough to platform stability
to the point where its needed.
Add a new option to pause playback whenever a song loops [e.g while in
LoopMode.TRACK]. This does mean that we can no longer use exoplayer's
native looping system, but it doesn't seem to be that much of an issue.
Resolves#29.
Yet another dependency upgrade churn:
Android Plugin -> 4.2.2
Material -> 1.4.0
Androidx Core -> 1.6.0
Apparently material deprecated a bunch of BottomNavigationView's stuff
for no good reason. Okay.
Improve the black theme selection color by merging it with the dark
theme selection coler. This makes the selection color both more
noticable and reduces the style complexity that came from having to
manage two different selection colors.
ExoPlayer's online functionality will cause the library to request the
ACCESS_NETWORK_STATE permission. We don't need this since we use
ExoPlayer for local playback only. For simplicity [and to remove a
weird suspicious permission, we just disable it]
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.
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.
Make the fast scroller respond to changes in the RecyclerView data.
This again prepares it for use in the library with it's sorting and
item configuration.
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.
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.
Make PlaybackSessionConnector also take events from ExoPlayer as it
used to with MediaSessionConnector. This improves reliability
somewhat at the cost of making the code even more hideous.
Fix some issues with PlaybackSessionConnector that resulted in the
position being stuck when a new song was played, alongside simplifying
the connector code to an extent.
Create a custom session connector that connects between
PlaybackStateManager and MediaSession. The previous session connector
that was part of the exoplayer library turned out to cause bugs that
could cause the covert art not to show on the lock screen and to not
be recognized as proper player controls. This new connector
[once complete] should fix these issues.
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.
Remove the fixAnimInfoLeak hack since it seems that issue was fixed in the new android plugin, and once again modify with the styles to get the dialogs to use the correct style again.
Another day another magic flag I need to fiddle with to get this busted android app working. This platform sucks so much.