Improve the search UI by making it edge-to-edge and adding the
liftOnScroll idiom. It does come with the caveat of walking on
eggshells to get the liftOnScroll code working, but its okay. It
may be improved in the future.
Make settings follow both edge-to-edge and the liftOnScroll idioms.
This has some minor issues with state, but these should be fixed when
I'm able to make a smooth transition for theme changes.
Auxio would usually open links by trying to walk through the app
chooser/default app situation themselves, mostly for compat purposes.
This method was not only broken in Android 11 with the addition of
the QUERY_ALL_PACKAGES permission, but it also seems to be made
obsolete since the android system seems to handle the app choser
pretty well in 11+. As a result, we replace the link opening code on
that version with a plain startActivity call and keep the old compat
code for older versions.
Resolves#47.
Make the queue UI follow the liftOnScroll idiom that is already used
in the detail views. This also tweaks the edge-to-edge behavior so
that this view properly works.
Fix two annoying appbar issues:
- Appbar will collapse if the navigation sequence is too fast
- Tab ripple would paint over the indicator unless the ripple was unbounded [???]
Do the final utility refactor, placing custom views into a .ui
submodule and the general utils into a new .util module. This
system seems to stick well.
Add a nice elevation effect to queue dragging operations. This has no
purpose outside of looking nicer. Luckily it doesn't effect queue
behavior at all.
Remove the janky requestFocus/clearFocus called on SearchFragment
and replace them with InputMethodManager calls. This is generally
more user friendly, especially when returning to search from
navigation.
Remove the SHOW_ALL variant from DisplayMode, replacing it with null
in SearchFragment where it was initially used. This allows all the
home pager fragments to be combined into a single HomeListFragment
that simply chooses a DisplayMode.
By default, ViewPager2's sensitivity can result in vertical scroll
actions being registered as horizontal scroll actions, which is bad
for UX. Fix that by reflecting into the internal RecyclerView and
changing the touch slope value.
Merge LibraryFragment, SongsFragment, and others into a new fragment
called HomeFragment. This is the beginning of the Auxio UI overhaul.
This has caused some regressions here and there, but these will be
rectified over time.
Fix a problem where the colorize notification option would never have
any effect on Android 11 since the system would default to the media
session if there was no icon.
Move the progress bar to the bottom of CompactPlaybackFragment in both
orientations. Doesn't look the nicest right now, but will be when the
new home fragment is created.
Fix a plethora of style issues that lead to a worse touch experience.
I tried to optimize these solutions so that they didn't reduce the layout
density too much. More updates may have to be made in the future.
The pre-Android 12 padding option was removed previously, but I've
decided to re-add it for stylistic cohesion with the material design
of those versions.
Fix a crash in the accent dialog that would occur because Android
Couldn't decipher the module path to the layout manager. Even though
this worked perfectly fine before moving the module. Why.
Move the AndroidUtils file into the root Auxio directory, renaming it
to AuxioUtils as well. This also changes some methods to be extension
methods instead of argument functions.
Tweak some dimens so that they line up with the 8dp grid. This doesn't
apply to all of them since some of them are fined-tuned [such as the
fast-scroller]. The latter would likely be migrated in the later UI
overhaul.
Add two new widget forms. The compact widget form shows the cover art
[this time with a proper aspect ratio] but no controls. The mini form
only shows the metadata. This seems to work well enough and provides
more choices with how one wants to decorate their homescreen with
Auxio's widgets.
Redesign the loading UI to be in line with the rest of Auxio and the
upcoming Android 12 splash screen [sort of]. This also updates the
header and button designs so that the layout heirarchy is better/more
information dense.
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 an issue in the responsive layout backport where padding was not
factored into the calculations. This was the original issue that I
thought I fixed in e81d4b6d, but this fix seems to work alot better
from the launchers I tested [Trebuchet/Launcher3, Lawnchair].
Fix some problems with the Pre-12 widget responsiveness backport, most
notably the wrong layout being chosen on more dense launcher grids.
Also change the default widget size from 2x2 to 3x2 so that it's more
readable.