Commit graph

110 commits

Author SHA1 Message Date
OxygenCobalt
d4513293a7
all: cleanup
General app cleanup.
2022-02-18 19:03:25 -07:00
OxygenCobalt
d7f34e6b94
all: migrate to api 32
Actually migrate to API 32 [Android 12L], co-inciding with the upgrade
of my studio install and the android gradle plugin. Alongside this, add
a bunch of fixes for lints that the new studio picked up.
2022-01-25 18:59:16 -07:00
OxygenCobalt
47fca7819f
ui: disable queue adding if no playback
If theres no playback going on, disable the play next/add to queue
options, as they will have no effect. This mostly for QoL purposes.
2022-01-19 06:52:05 -07:00
OxygenCobalt
e5901fa9e2
playback: use gesture insets in playback layout
When using gesture navigation, swipe up events might conflict with the
slide up behavior of the playback layout. To fix this, inset the
playback bar based on the gesture insets instead of the system bar
insets.
2022-01-18 19:51:06 -07:00
OxygenCobalt
95e8b06f19
style: extend edge-to-edge on all versions
Extend edge-to-edge to versions below Android Oreo. This is done
through tinting the navigation bar colors on those versions,
circumventing the coloring issue.
2022-01-15 20:12:23 -07:00
OxygenCobalt
2d3fc47d7c
main: band-aid split screen mode layouts
Split screen layouts in android are completely borked. You can
resize Auxio down to the point where the UI is completely
unusable, and there is NO WAY TO SET A MINIMUM HEIGHT. This is
also not to mention that smallestScreenWidthDp is completely
busted too and still uses the size of the whole screen! Just
band-aid the first issue so that when the layout becomes so
small as to result in a messed up UI, just show a splash that
says that the app can't work at the specific window size.
2021-12-17 17:00:19 -07:00
OxygenCobalt
8e1da1bfc7
home: make tabs adaptive
Make tabs on the home page adapt to screen configuration changes, using
only icons when the width is small and icons + text when the width
is large.
2021-12-17 14:32:14 -07:00
OxygenCobalt
6b355d6416
theme: re-add black theme on android 12
Re-add the black theme on Android 12. It still has use, unlike the
other theme options made obsolete by dynamic colors.
2021-12-06 06:22:13 -07:00
OxygenCobalt
8c7f0867f9
style: migrate to Material3
Mostly migrate to Material 3/Material You.

- Auxio should now follow dynamic colors on Android 12
- Accents have been regenerated to align with the new color roles
- Some colors have been tweaked here and there to line up with the
new design system
- Dialogs were not fully migrated, but that's because Material3 dialogs
look god-awful.
- Accent class was reworked to take up less memory

Now that this is out of the way, I can focus on other UI things before
the release of 2.0.0.
2021-10-10 16:44:17 -06:00
OxygenCobalt
0e0be19e1d
detail: refactor module
Completely refactor the detail module. This is for a few reasons:

- Prevent data regeneration every time a fragment re-creates.
- Make DetailModel follow the customs of other ViewModels.
- Simplify layouts into a single detail item to reduce code
complexity.

Currently sorting doesn't work, but that is still being worked out
as the legacy SortMode continues to be phased out of Auxio.
2021-09-11 17:40:19 -06:00
OxygenCobalt
acabe9217b
ui: use colorOnSurface
Use colorOnSurface for the first time ever. I decided to pick a color
that was as non-intrusive as possible that was still differentiateable,
and I think it looks like a net improvement. It will probably be
tweaked a bit in the future as I expand it to other elevated views.
2021-08-30 20:19:52 -06:00
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
047b885dca
ui: fix landscape problems
Once again fix annoying issues that arise from the quirks of phone
landscape mode. A lot of these fixes can be re-rolled back into the
edge-to-edge code eventually, but it requires fitsSystemWindows to
be phased out entirely.
2021-08-29 21:00:17 -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
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
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
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
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
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
ffebbc2839
playback: fix notification launch issue
Fix an accidental regression where PendingIntent.getBroadcast was
called for activities, causing the notification launch intent not
to work.
2021-08-01 19:24:08 -06:00
OxygenCobalt
66be3da7e3
widgets: add minimal widget [#8]
Add the first widget implementation, the minimal widget. This took a
good 2 days of hacking and frustration to get the first prototype
working. And even then, its currently scoped to android 12 until I'm
able to port them. The implementation is still quite rough, but should
become manageable over time. More widgets will come.
2021-08-01 17:32:38 -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
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
1b91930621
Update key/action constant formatting
Use a more consistent APP_ID + .action/.key + NAME structure for key and action constants.
2021-05-10 16:46:17 -06:00
OxygenCobalt
ba79ac0001
Cleanup code
Do some code cleanup.
2021-03-21 09:56:20 -06:00
OxygenCobalt
a750100aff
Fix queue edge-to-edge issue
Fix a problem where the last queue item would display behind the navigation bar when edge to edge is on.
2021-03-07 08:26:15 -07:00
OxygenCobalt
391ca70822
Update playback system
Tweak some things in PlaybackService and PlaybackStateManager to make them more elegant.
2021-03-05 14:58:30 -07:00
OxygenCobalt
af9fac7de2
Fix play/pause bug
Possibly fix a bug where the play/pause button would get stuck in the play position when playing from a file intent.
2021-02-25 17:55:20 -07:00
OxygenCobalt
e9abee9f64
Update documentation
Completely update the documentation throughout the app.
2021-02-25 11:36:47 -07:00
OxygenCobalt
b9720286c3
Move play/pause animation code
Move the code responsible for the play/pause animation to the onCreateView function instead of onResume.
2021-02-23 15:16:15 -07:00
OxygenCobalt
7f0042fd2f
Refactor file intent system
Finally find a way to handle file intents without having to coordinate it across three different fragments in onResume.
2021-02-23 14:04:45 -07:00
OxygenCobalt
8c107d66a0
Stop RecyclerView momentum on fast scroll
Prevent any unnessecary scrolling when using the fast scroll bar in SongsFragment.
2021-02-21 15:14:55 -07:00
OxygenCobalt
299c47e9c3
Scroll QueueFragment on shuffle toggle
Scroll QueueFragment to the top when shuffle is toggled so that it does not flip out as much as it would otherwise.
2021-02-21 15:03:17 -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
cca80c65eb
Improve music loading system
Heavily improve the music loading system, hopefully fixing some edge-cases that people have been reporting.
2021-02-20 11:56:31 -07:00
OxygenCobalt
00e7af8f3d
Fix another file intent bug
Fix another bug where PlaybackService wouldn't show its notification/go into foreground if a song was played by a file intent.
2021-02-20 10:05:20 -07:00
OxygenCobalt
cc14648099
Fix file intent issue
Fix a problem where the file intent wouldnt work on any fragment that wasnt MainFragment.
2021-02-20 09:46:29 -07:00
OxygenCobalt
7524589969
Unify notification
Unify the notification extensions into a single PlaybackNotification object that does not rely on PlaybackStateManager and SettingsManager.
2021-02-19 15:54:58 -07:00
OxygenCobalt
2dfd916736
Add file intent
Add the ability to view a music file in auxio when selecting the file from another app. The ability to play it will be added later.
2021-02-19 14:22:58 -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
c4bc86cb05
Completely refactor accents
Completely refactor the accent system to be much more understandable.
2021-01-18 09:28:31 -07:00
OxygenCobalt
1e102e9d5d
Fix theme bug
Fix an issue where setting the theme from AuxioApp will make the theme default to Theme.Base for...some reason...
2021-01-17 07:49:08 -07:00
OxygenCobalt
9ab8b4e018
Added elevation to detail covers
Added some elevation to the images on the detail fragments.
2021-01-14 19:26:19 -07:00
OxygenCobalt
1ae4d21b18
Create dedicated app object
Create a dedicated app object to fix issues with settings initialization & image loading.
2021-01-14 07:42:56 -07:00
OxygenCobalt
fafaa0bf1f
Improve navigation
Finally make parent navigation possible from artist albums and the like, along with heavily streamlining the main navigation code.
2021-01-12 17:50:06 -07:00
OxygenCobalt
7b0a69f8c0
Dont clear ImageLoader on recreation
Make it so that the ImageLoader is only refreshed when the configuration needs to be changed, instead of on every recreation.
2021-01-01 10:37:36 -07:00
OxygenCobalt
14fc47913e
Disable disk caching when using MediaStore
Since the MediaStore covers are already cached by the android system, disable the auto-caching that Coil uses to save space.
2020-12-31 19:29:38 -07:00
OxygenCobalt
953e1291b6
Document code
Heavily document code that wasnt documented before.
2020-12-19 11:22:15 -07:00