Commit graph

1114 commits

Author SHA1 Message Date
Vladimir Kosolapov
7b10bf3a34
Updated localization file for Russian language 2021-12-14 22:00:39 +03: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
4b7fa7415c
coil: change album cover rounding method
Forgot that coil's RoundedCornerTransformation is dependent on the
resolution of the image, resulting in inconsistent rounded corners.
Fix this by just doing the plain clipToOutline to round album covers.
2021-12-05 20:30:35 -07:00
OxygenCobalt
637bcccd51
music: clean up loader implementation
Clean up the music loader implementation, removing pre-sorting to make
it a bit more efficent. Instead, sorting is done on indiviual
components.
2021-12-05 17:56:21 -07:00
OxygenCobalt
cde3a99f4d
playback: fade out content as view slides
Re-add the ability for content to fade out as the playback or queue
view slides up. This also migrates the queue slide animation to also
fade out content, which allows for the stylistic cohesion I desire.
2021-11-27 11:49:06 -07:00
OxygenCobalt
e397cf1540
coil: add option to round album covers
Add an option to round album covers for people who might want more
visual cohesion with apps that have completely drunken the "Round
Everything!" kool-aid. Covers will still be hard-edged by default.
2021-11-26 14:15:26 -07:00
OxygenCobalt
14c9b81532
coil: fix mosaics on odd image sizes
Round the image sizes we use for our mosaics so that they are even.
Previously we didn't, and that resulted in bad mosaics being created.
2021-11-26 11:41:01 -07:00
OxygenCobalt
c0b2dee3ff
coil: use image size when creating mosaics
Use the image size provided by coil when creating our mosaics. This
allows both better transformations and better-quality mosaics in the
detail view itself.
2021-11-26 11:12:01 -07:00
OxygenCobalt
22c54993ed
docs: update full_description
Update full_description to match the README. This won't roll out until
the next release though.
2021-11-26 10:33:37 -07:00
OxygenCobalt
2ff2cd8cf4
Version 2.0.1
Ready for version 2.0.1 of Auxio.
2021-11-26 10:27:38 -07:00
OxygenCobalt
c12b10a1ed
docs: add changelog for hotfix
Add a changelog for this hotfix release.
2021-11-26 10:24:10 -07:00
OxygenCobalt
949d71dbd1
playback: actually fix controls not working
Turns out playback controls wouldn't actually work because the view
would detach but not the actual fragment, resulting in onCreateView
never being called and the entire system falling apart. This fixes
it by just giving PlaybackLayout the viewmodel instance it needs.
I'll need to release a hotfix for this issue since this is really
easy the trigger and really hard to fix unless you know why it
occurs. Android lifecycles suck so much.
2021-11-26 10:17:46 -07:00
OxygenCobalt
35eb07410d
playback: gracefully handle multi-window mode
Add a new layout that handles the edge-case where splitscreen is used
on a sufficently small device. Previously it would result in a squashed
landscape layout, but now it will show a layout that should fit fine in
most situations.
2021-11-26 09:54:59 -07:00
OxygenCobalt
eaac1ad1a8
playback: be safer with callbacks
Add an executePendingBindings call to PlaybackBarView's databinding.
Just in case.
2021-11-26 09:27:10 -07:00
OxygenCobalt
84f0a23080
Version 2.0.0
Ready for version 2.0.0.
2021-11-26 09:03:58 -07:00
OxygenCobalt
ec8f538cf0
docs: update metadata
Update metadata in preperation for 2.0.0.
2021-11-26 08:56:09 -07:00
OxygenCobalt
0fe73b5b18
docs: re-write architecture
Create a new ARCHITECTURE document that is up to date with Auxio 2.0.0.
2021-11-25 19:41:28 -07:00
OxygenCobalt
2be49b0042
playback: remove playback subtitle
Remove the playback subtitle for now. I'm considering re-adding it
eventually, but I want to make it so that the UI is less cluttered.
2021-11-25 14:22:47 -07:00
OxygenCobalt
c296321885
home: remove title gradient
Remove the title gradient. It did not work out that well actually.
2021-11-25 12:27:46 -07:00
OxygenCobalt
61624352e4
all: apply finishing touches
Apply the finishing touches for 2.0.0, mostly documentation but also
some odds and ends.
2021-11-25 12:02:10 -07:00
OxygenCobalt
56ded96b10
playback: use layer background in playback panel
Use a layered background in the playback panel, with a colorSurface layer
behind the elevated MaterialShapeDrawable. This is for safety, as there
might be cases where a fully transparent MaterialShapeDrawable results in
unexpected behavior.
2021-11-25 10:10:07 -07:00
OxygenCobalt
2ae22500d3
main: add proper backwards navigation
Move the backwards navigation hook from DetailFragment to MainFragment
and modify it so that it collapses the playback panel when one navs
back.
2021-11-25 09:48:06 -07:00
OxygenCobalt
805035f0d8
playback: improve compact -> full transition
Improve the way the compact playback view transforms into the full
playback view by splitting their view animations in two. This makes
the transition more akin to the Android 12 notification menu, which
due to the nature of how I'm fading views really does make it more
user friendly. Also re-add the "Now Playing" title and a new subtitle
displaying the currently playing artist.
2021-11-25 09:04:22 -07:00
OxygenCobalt
4ccaa7c4bb
all: cleanup code
Clean up code and fits a bunch of miscellaneous issues.
2021-11-24 20:22:30 -07:00
OxygenCobalt
6b54d4b783
playback: fix disabling on playback layout
Fix my haphazard disabling implementation that I copied from umano
without realizing that it would actually break everything.
2021-11-24 15:49:58 -07:00
OxygenCobalt
cfc7352571
playback: add slide up behavior
Completely refactor PlaybackBarLayout into PlaybackLayout, which now
not only handles the bar behavior but also allows for one to slide
up the bar layout into the full playback layout. This was largely
adapted from umano's AndroidSlidingUpPanel, albeit heavily minified
and mixed with the previous window inset tricks of the previous layout.
There are still some tweaks to be made, but this implementation seems
to be really good.
2021-11-24 15:13:34 -07:00
OxygenCobalt
06a7d8258b
sort: refactor sorting
Refactor sorting again to support free-floating ascending/descending
values on every single sort mode. This enables greater freedom in how
users can sort their music and allows me to finally get rid of the
old legacy sematic sorting modes that chose their ascending/decending
order depending on how they wanted it.
2021-11-21 15:45:20 -07:00
OxygenCobalt
e697908a2f
detail: update layouts
Update the detail layouts to work better on tablets and be more
consistent overall.
2021-11-20 17:03:21 -07:00
OxygenCobalt
c350576f21
ui: make list spans use exact sizing
Make list spans use exact sizing.
2021-11-20 10:54:24 -07:00
OxygenCobalt
4475d4a5cc
playback: update tablet layouts
Use proper exact-size layouts for the tablet views. This also adds a
new compact view that shows more controls for landscape/tablet layouts.
2021-11-20 10:44:40 -07:00
OxygenCobalt
58c2681f72
widget: change default size
Make the default widget size 3x2 again. This is because the UX is
generally nicer if the smaller widget is used as the default and
because the small widget is now no longer text-only and ugly.
2021-11-20 09:53:10 -07:00
OxygenCobalt
0e3ffb973b
coil: completely refactor image loading
Upgrade to coil 2.0.0 and completely refactor the usage of coil to work
with the new library structure. This also fixes the issue where error
icons will just re-appear due to blocking calls. I had to add a fix on
my end and also use the new caching system in coil 2.0.0.
2021-11-20 09:00:23 -07:00
OxygenCobalt
e3f4a6fefa
widgets: fix minor issues
Fix problems with weird margins in the small/wide widgets and change
the initial layout from widget_medium to widget_default.

The latter is nice, as it allows for more cohesion between the default
state and the "unhooked" state that's shown when the phone boots.
2021-11-16 16:48:40 -07:00
OxygenCobalt
71b15a3a6a
coil: disable exoplayer loading
Disable exoplayer loading since apparently the way I use a blocking
call in the coil coroutine causes it to be uncancellable. This ends
up resulting in errors continuing to apply themselves to whatever
view they were requested from, even if it was an error. Because you
know. Android.
2021-11-16 06:35:05 -07:00
OxygenCobalt
1ea3ddb2e0
coil: update image behavior
Update the image behavior for the following:
1. Use ic_album as the default image for songs and albums this just
looks beter in general.
2. Use a special default drawable for the widget so that it doesn't
look as strange.
3. Generally update the loading process throughout the app
2021-11-14 16:23:25 -07:00
OxygenCobalt
d4fa52ee13
widget: make small/wide widgets stylistic
Update the small/wide widgets to show just the cover art and controls.
This is for two reasons:
1. The old layouts wasted space, which didn't make them look very good
2. I want to add a more Material3-eque "Stylistic" widget option for
the people who want them. Doing this allows me to pack that option into
the widget without having to add a new option.
2021-11-14 09:00:54 -07:00
OxygenCobalt
f66dea9469
accent: rename all light accents to deep accents
The way Material3 uses an initial light accent seeds is...odd. It more
closely resembles deep purple [darker on light mode, lighter on dark
mode] in behavior. Therefore we simply rename the light accents to
this. This does mess up translations a lot, but I'll fix it when I
update the rest of the translations.
2021-11-13 19:16:42 -07:00
OxygenCobalt
c30c0d7fb3
accent: simplify accents
Simplify the accent scheme:
- Light Blue was re-generated to be a weird darker-on-light-mode
lighter-on-dark-mode blue that looked really similar to how blue-grey
turned out. These have been merged into a new color scheme called
deep blue.
- Deep Orange and Red were too similar after being re-generated, so
they have been merged to become a simple red accent.
2021-11-13 16:00:41 -07:00
OxygenCobalt
43b12598fb
styles: redo accents
Recreate all accents AGAIN. This time it's to properly generate secondary
and tertiary colors for these. The results of them vary [some might be
removed since they're too similar to other accents now], but most are
fine and they allow me to properly use these components without inane
bugs.
2021-11-13 11:51:36 -07:00
OxygenCobalt
d732aea1d3
style: improve typography
Improve typography (again) by isolating my weird non-standard text
styles and moving all font usage to the text styles, which allows
me to eliminate a lot of excessive font usages.
2021-11-11 18:53:34 -07:00
OxygenCobalt
032fd2bd40
style: use material in playback view
Use Slider and FloatingActionbutton in the playback view. This is not
because I wanted to, but because there were insane bugs on Lollipop
devices that stemmed from them being unable to load complex selector
resources.
2021-11-11 16:25:56 -07:00
OxygenCobalt
67797d957e
all: cleanup code
Upgrade dependencies, fix deprecation issues, and just clean up code
in general.
2021-11-11 12:19:07 -07:00
OxygenCobalt
8f61d8479a
style: migrate to Material3 text styling
Migrate to 100% Material3 text styling. I had to basically ignore the
intended styling here just to get a sensible design here, which is
"bad" but I do what I want. The only usage of MaterialComponents left
in the project now is the dialog since the new dialog style the worst
thing ever.
2021-11-11 11:48:22 -07:00
OxygenCobalt
63198f8677
style: unify typography
Use Material typography everywhere instead of using a mix of AppCompat
and Material styles. This is still based around MaterialComponents
though, as I'm not fully sure how to wield the new Material3 text
styles yet. This also completely phases out inter bold.
2021-11-09 06:52:02 -07:00
OxygenCobalt
c5fcc45ee9
detail: show name when scrolling
Show the name of the currently shown detail item when scrolling. This
is just UI candy that I've always wanted to add but couldn't due to
CollapsingToolbarLayout being a mess. This addition circumvents that
by simply doing some reflection magic and hooking the alpha of the
toolbar title to the current scroll state, solving the issue.
2021-11-08 19:54:38 -07:00
OxygenCobalt
1b79eb11e0
all: document custom stuff
Document and clean up PlaybackBarLayout and the fast scroll views to an
extent.
2021-11-07 19:02:50 -07:00
OxygenCobalt
8b8d36cf22
playback: improve persistence
Improve playback persistence in the following ways:
1. Shift the boundary of PlaybackStateManager and PlaybackStateDatabase
so that the reading and searching phases both occur at the same time,
which is more efficient.
2. Improve music hashing so that conflicts are minimized [this also
helps the future playlists addition]
3. Generally improve code style
2021-11-04 06:58:43 -06:00
OxygenCobalt
10c45f1492
home: prevent scrollbar from showing on measure
Prevent FastScrollRecyclerView from showing the scrollbar whenever it
would measure itself, which again results in a scroll event for some
reason.
2021-11-03 06:28:00 -06:00
OxygenCobalt
bb5d163f49
home: make fab size fixed
Make the shuffle FAB in the home UI a fixed size so that I don't have
to update padding based off of the screen config.
2021-11-02 19:39:40 -06:00
OxygenCobalt
2700a1d446
coil: ensure front cover correctness
When parsing quality covers using ExoPlayer, ensure that we have a
front cover image instead of some other type of image. This is slower,
but this setting is already slow, so why not just prioritize
correctness.
2021-11-02 07:12:22 -06:00