Commit graph

326 commits

Author SHA1 Message Date
OxygenCobalt
765f92ca98
ui: improve playback/about UIs
Make playback/about UIs follow the new liftOnScroll and edge-to-edge
idioms. This finally allows me to collapse a lot of duplicate code
into MainActivity and in general reduce code mess.
2021-08-30 19:53:19 -06:00
OxygenCobalt
1251af660a
ui: fix liftOnScroll issues entirely
Make a hack layout that fixes the problem of the lift state not
actually following the RecyclerView state. This should remove the
need for all the fragile fixes for this UI idiom.
2021-08-30 06:43:18 -06:00
OxygenCobalt
a4d2a8d48c
search: improve ui
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.
2021-08-29 20:20:25 -06:00
OxygenCobalt
e142c17fca
home: make edge-to-edge
Make the home fragment span from edge-to-edge. This also adds a nice
effect for the toolbar to fade out when it collapses.
2021-08-29 18:29:58 -06:00
OxygenCobalt
c5b1d7d735
ui: refactor edge-to-edge
Merge all edge-to-edge functions into two methods for applying insets.
This generally simplifies code.
2021-08-29 16:20:45 -06:00
OxygenCobalt
1b67f6f846
settings: improve UI
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.
2021-08-28 18:12:14 -06:00
OxygenCobalt
34ac629659
strings: use bullets instead of slashes
Use bullets instead of slashes when seperating names. This is mostly
for accessibility, as screen readers will handle bullets better than
slashes.
2021-08-28 17:24:06 -06:00
OxygenCobalt
37a8cdccb6
playback: fix more queue issues
Fix more issues with the queue, such as landscape edge-to-edge not
working correctly and drag scroll events not resulting in the appbar
lifting.
2021-08-25 18:15:09 -06:00
OxygenCobalt
9ce7dc598d
playback: improve queue ui
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.
2021-08-24 20:04:32 -06:00
OxygenCobalt
9162246b8b
home: fix appbar issues
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 [???]
2021-08-23 19:40:21 -06:00
OxygenCobalt
5fe01777d0
all: refactor utils
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.
2021-08-23 17:05:42 -06:00
OxygenCobalt
19e2fcbb90
search: improve keyboard management
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.
2021-08-22 17:59:07 -06:00
OxygenCobalt
27764046f7
home: make elevation static
Turns out getting liftOnScroll to play along with a ViewPager is
pretty much impossible. For the sake of my sanity, make the
elevation static.
2021-08-22 13:19:45 -06:00
OxygenCobalt
b5c5fabad0
home: re-add grid spans
Re-add grid spans to HomeFragment when on landscape mode.
2021-08-22 09:01:30 -06:00
OxygenCobalt
a3e7cb93aa
home: merge all library views into home
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.
2021-08-21 19:49:25 -06:00
OxygenCobalt
c9e84d0d39
playback: unify compact views
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.
2021-08-21 13:27:39 -06:00
OxygenCobalt
f06ca142f6
style: fix accessibility issues
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.
2021-08-21 12:09:17 -06:00
OxygenCobalt
4c59c37111
style: use material play/pause icons
The old play/pause icons that I used to use were really bad and didn't
work right on many display densities. Give up and just use the material
ones.
2021-08-21 09:52:39 -06:00
OxygenCobalt
0c54fa05b9
accent: fix crash when opening dialog
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.
2021-08-21 08:43:22 -06:00
OxygenCobalt
21a24f2496
style: improve layout heirarchy
Further improve the layout heirarchy, shrinking some items so that
the layout is more compact and scrollable.
2021-08-19 17:40:16 -06:00
OxygenCobalt
1f9d23863f
widgets: remove compact/mini widgets
Remove the compact and mini widgets, as there seems to be no real way
for both controls and metadata to be packed into them.
2021-08-17 19:48:00 -06:00
OxygenCobalt
73ec99a214
ui: refactor utilities
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.
2021-08-16 20:25:20 -06:00
OxygenCobalt
5788fb8732
style: tweak dimens
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.
2021-08-16 19:31:00 -06:00
OxygenCobalt
c5b1293a90
widgets: add compact/mini forms
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.
2021-08-15 11:43:22 -06:00
OxygenCobalt
fed6902c21
all: minor improvements
Add some minor UI tweaks that accumulated over this week.
2021-08-14 16:31:18 -06:00
OxygenCobalt
a5f65d39a5
loading: improve new ui
Improve the loading UI somewhat, reverting the progress bar and
applying some padding to the icon so that it looks a bit better
on Android 12.
2021-08-09 19:42:46 -06:00
OxygenCobalt
fe29e01311
loading: redesign ui
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.
2021-08-08 18:16:09 -06:00
OxygenCobalt
4cc433f7ef
style: fix style issues
Fix some style issues that came from the colorAccent reworks.
2021-08-08 14:05:44 -06:00
OxygenCobalt
64c9a4a4a7
all: add license boilerplate
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.
2021-08-07 17:00:28 -06:00
OxygenCobalt
a566a30c15
style: use colorAccent
Use colorAccent instead of colorPrimary and colorSecondary.
2021-08-06 17:47:11 -06:00
OxygenCobalt
e81d4b6d17
widgets: fix responsiveness issues
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.
2021-08-06 11:45:13 -06:00
OxygenCobalt
1b5822eae0
chore: upgrade deps
Update dependencies again:

activity -> 1.3.1
constraintlayout -> 2.1.0
media -> 1.4.1
2021-08-06 09:41:31 -06:00
OxygenCobalt
828ab3ccee
styles: refactor styles
Refactor styles again, this time trying to seperate the more
layout-specific attributes so that layouts become more re-usable.
This also updates the naming conventions of styles.
2021-08-06 09:36:56 -06:00
OxygenCobalt
b51ec756de
widgets: simplify layouts
Simplify the layouts used by widgets, moving the more version-specific
attributes into settings.
2021-08-05 17:00:59 -06:00
OxygenCobalt
8c07f8cd8c
widgets: add preview for <31
Add an image widget preview for android versions below 12.
2021-08-05 16:09:27 -06:00
OxygenCobalt
b4d9a197af
widgets: port responsiveness back to <31
Post widget responsive behavior back to Android 11 and below. This is
not the nicest solution [mostly since the UI flickers when resizing],
but it seems to work well enough.
2021-08-05 15:22:22 -06:00
OxygenCobalt
6f8f333b72
widgets: make widget responsive
The plans for widgets have changed somewhat. Instead of 4 or so
variants, there will instead be one unified widget that chooses
different layouts depending on its size. The first one added is the
full widget, which shows more controls as long as theres enough
space.
2021-08-05 10:22:41 -06:00
OxygenCobalt
49db7e0741
widgets: add widget layout preview
Add a layout preview to the Android 12 widget metadata. I'm holding off
on implementing a drawable until the widgets are completely finalized.
2021-08-03 10:33:07 -06:00
OxygenCobalt
8551e90884
all: cleanup code
Cleanup unused resources and fix some code issues here and there.
2021-08-03 09:39:14 -06:00
OxygenCobalt
d3e738b973
widgets: add controls to minimal widget
Backtrack and add controls to the minimal widget, mostly for usability.
2021-08-03 09:05:20 -06:00
OxygenCobalt
8673995630
widgets: backport to <v31
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.
2021-08-02 08:57:35 -06:00
OxygenCobalt
1a0ff53d67
about: prevent ui from being clipped in landscape
Fix an accidental regression in the about UI that caused it to be cut
off it landscape. It will now scroll.
2021-07-29 17:06:30 -06:00
OxygenCobalt
7b5e817d3b
all: cleanup code
Cleanup the codebase in general:
- Remove useless resources
- Upgrade kotlin to 1.5.2
- Upgrade coil to 1.2.2
2021-06-26 19:53:57 -06:00
OxygenCobalt
d82952d88d
md: update project information
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.
2021-06-23 09:37:33 -06:00
OxygenCobalt
5131db5383
library: add fast-scroller
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.
2021-06-19 10:03:35 -06:00
OxygenCobalt
aebe279e95
about: re-add tagline to the about screen
Re-add the app tagline to the about screen. At some point during the
redesign it was lost.
2021-06-18 15:09:47 -06:00
OxygenCobalt
5dc7b52fc3
style: add dialog black theme support
Make dialogs properly follow the black theme. This should complete the
black theme addition as now all parts of Auxio follow the new theme.
2021-06-11 13:54:54 -06:00
OxygenCobalt
68bdd0d929
style: add basic black theme
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.
2021-06-11 09:13:20 -06:00
OxygenCobalt
dc2157904a
styles: refactor styles
Completely refactor styles once again to improve resource sharing and
styling maintainability.
2021-06-11 08:13:52 -06:00
OxygenCobalt
c54790e24c
about: redesign ui
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.
2021-06-05 14:40:50 -06:00
OxygenCobalt
804c38d7ce
style: Use colorSurface everywhere
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.
2021-05-24 19:33:54 -06:00
OxygenCobalt
9974bd32eb
style: Use colorControlHighlight everywhere
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.
2021-05-24 18:07:02 -06:00
OxygenCobalt
373c54e28c
Add elevation to play/pause button
Add some elevation to the play/pause button for visual flair.
2021-05-17 18:34:29 -06:00
OxygenCobalt
ec3e388071
Version 1.4.0
Ready for version 1.4.0 of Auxio.
2021-05-09 14:41:42 -06:00
OxygenCobalt
a849d00248
Cleanup code
Clean up the formatting/structure of the codebase.
2021-05-02 18:49:16 -06:00
OxygenCobalt
c5c16dfdce
Add duration to artist songs
Add a duration TextView to the artist song item.
2021-04-27 06:13:14 -06:00
OxygenCobalt
e63122ce3e
Cleanup artist songs implementation
Clean up the artist song code to not rely so heavily on a hacky ActionHeader implementation and instead just use it's own viewholder.
2021-04-26 17:22:01 -06:00
OxygenCobalt
b9506bcbc3
Add artist songs list
Add a list of artist songs to ArtistDetailFragment. This moves the artist sort functionality to the song list instead of the album list.
2021-04-26 16:54:49 -06:00
OxygenCobalt
cc72ebc251
Update action header structure
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.
2021-04-25 17:15:20 -06:00
OxygenCobalt
029a4b1ff6
Refactor margin/padding
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
2021-04-25 14:59:21 -06:00
OxygenCobalt
39f26b4feb
Update dark mode grey accent
Update the grey accent on dark mode to improve visibility.
2021-04-25 14:28:28 -06:00
OxygenCobalt
887868ff9c
Remove custom title UIs from dialogs
Replace the custom title TextViews in AccentDialog/BlacklistDialog with the built-in title text.
2021-04-04 09:46:58 -06:00
OxygenCobalt
03aa2d4579
Migrate to material theming
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.
2021-04-04 09:20:56 -06:00
OxygenCobalt
4d92df7896
Heavily improve dialogs
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
2021-03-28 18:47:53 -06:00
OxygenCobalt
53ec1aa8a5
Improve dialog layouts
Improve the dialog layouts so that only the recyclerview scrolls when it cannot fit instead of the entire layout being forced to scroll.
2021-03-26 15:24:04 -06:00
OxygenCobalt
b65814fdbd
Redo blacklist dialog
Completely refactor the blacklist dialog to not only use the Storage Access Framework, but also to completely eliminate the material dialogs dependency.
2021-03-26 09:54:48 -06:00
OxygenCobalt
ac1e686704
Update accent dialog
Completely redo the accent dialog to remove its dependence on MaterialDialogs and also to make it more ergonomic.
2021-03-25 19:21:05 -06:00
OxygenCobalt
194bcfcd05
Fix more fast-scroll issues
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.
2021-03-25 09:24:40 -06:00
OxygenCobalt
6d5ed6dd7b
Update fast scroll behavior
Update the behavior of the fast scroller so that the scroll only begins when the pointer is in the indicator box itself, instead of the general view.
2021-03-24 08:47:14 -06:00
OxygenCobalt
688f9d3a52
Fix fast-scroll bugs
Fix some behavior issues with the new fast scroll view.
2021-03-23 17:06:06 -06:00
OxygenCobalt
0a18108419
Unify fast-scroller
Completely unify the fast scroll indicators and the fast scroll thumb into a single view.
2021-03-23 14:35:32 -06:00
OxygenCobalt
cc3d4fb9c6
Explitly declare dependencies
Explicitly declare some dependencies that were originally implicit, resolving some future build issues.
2021-03-23 10:12:24 -06:00
OxygenCobalt
ffd3275ca5
Resolve fast-scroll resource issues
Accidentally forgot to move the resources from the fast scroll library, so here it is.
2021-03-22 16:17:16 -06:00
OxygenCobalt
02fed16c31
Roll custom fast scroller
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)
2021-03-22 16:00:12 -06:00
OxygenCobalt
66685350cb
Update blacklist strings
Update the strings related to the blacklist functionality, also adding german translations.
2021-03-20 17:22:36 -06:00
OxygenCobalt
68887ffb64
Add blacklist restart functionality
When the user selects the "Save" button in the blacklist dialog, the app will now restart to reload the music library with the new directories.
2021-03-15 15:55:52 -06:00
OxygenCobalt
787212ee59
Minor improvements
Fix some more blacklist UI issues alongside some problems with formatting/audio focus.
2021-03-14 09:33:15 -06:00
OxygenCobalt
632e39f2e2
Update blacklist UI
Update new functionality/streamline the blacklist UI.
2021-03-13 19:47:36 -07:00
OxygenCobalt
aa0c978a65
Add blacklist UI
Add a UI for the blacklist functionality.
2021-03-13 17:07:42 -07:00
OxygenCobalt
5d72bfa09b
Move accent dialog to object
Move the dialog created in showAccentDialog to a dedicated object.
2021-03-09 08:01:49 -07:00
OxygenCobalt
466629e43d
Update music loading init process
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.
2021-03-05 13:45:43 -07:00
OxygenCobalt
3f0331f1c9
Redo accents
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.
2021-02-28 16:07:46 -07:00
OxygenCobalt
917540e626
Refactor fast scroll
Completely write my own fast scroller thumb and also redo how the fast scroller is configured in SongsFragment.
2021-02-27 13:00:46 -07:00
OxygenCobalt
f04ffdb59b
Update codebase
Do a variety of small things across the codebase.
2021-02-23 13:22:09 -07:00
OxygenCobalt
5de45eea0e
Version 1.3.1
Ready for version 1.3.1 of Auxio.
2021-02-21 08:19:05 -07:00
OxygenCobalt
89174b8011
Clean code
Do some codebase cleaning.
2021-02-20 16:35:36 -07:00
OxygenCobalt
e3e0015237
Rewrite loading UI
Completely rewrite the loading UI to be far more understandable.
2021-02-19 09:33:49 -07:00
OxygenCobalt
2f8916117e
Update compact controls animation
Make the slide animation on the compact controls look better.
2021-02-18 19:08:49 -07:00
OxygenCobalt
2203018947
Fix issue where seams should show up on play icon
Fix a bug where a seam would display on the play icon on certain displays.
2021-02-16 20:31:37 -07:00
OxygenCobalt
b6ac897314
Add ko [Korean] translations
Add partial translations for korean.
2021-02-14 10:35:22 -07:00
OxygenCobalt
a4801bdf2f
Redo controls view
Redo the controls view to support a slide enter/exit animation, along with fixes to elevation problems on certain devices.
2021-02-13 14:49:57 -07:00
OxygenCobalt
e0485ebad9
Refactor coil
Completely refactor coil and how its used so that it centers around data objects instead of a hodgepodge of URIs and Song data.
2021-02-12 22:28:41 -07:00
OxygenCobalt
26dd1036ec
Add actionmenu extension function
Simplify menu creation by using a Fragment extension to create a new ActionMenu.
2021-02-07 18:54:04 -07:00
OxygenCobalt
23ddfd4d99
Fix issues with playback layouts on small screens
Fix problems with the playback layouts when the screen size is lower than 390dp.
2021-02-04 17:42:44 -07:00
OxygenCobalt
a34850b9cb
Update codebase
Do a bunch of minor codebase changes that have accumulated.
2021-02-04 16:10:12 -07:00
OxygenCobalt
7fc0bcc56d
Update tablet detail layouts
Update the tablet detail layouts to look better.
2021-01-30 13:26:49 -07:00
OxygenCobalt
55af5790b8
Reformat code/markdown
Make some changes to the code formatting & the markdown documents
2021-01-30 10:25:51 -07:00
OxygenCobalt
15dbe59db5
Minor fixes
Fix some ordering & display issues. Also slightly increased the play/pause icons size on PlaybackFragment.
2021-01-29 21:21:57 -07:00
OxygenCobalt
c9d7193bd7
Use integer format strings
Use %d in certain format strings instead of %s
2021-01-25 19:11:04 -07:00
OxygenCobalt
e24aa4319c
Fix RTL layouts
Fix problems with the RTL layouts
2021-01-25 18:01:25 -07:00