Commit graph

628 commits

Author SHA1 Message Date
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
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
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
93cdae2295
playback: fix bad compact view spacing
Fix an issue where the constraints in the playback view were not
actually anchored to the playback bar, resulting in bad spacing.
2021-11-02 06:59:38 -06:00
OxygenCobalt
b50a23a47f
ui: fix misc issues
Fix miscellanious code style/compat/ui issues.
2021-10-31 16:06:00 -06:00
OxygenCobalt
7c1382db49
playback: add pre-R inset modification
Add the ability for PlaybackBarLayout to modify window insets on
android versions before R.
2021-10-31 14:05:16 -06:00
OxygenCobalt
c1e1329c21
playback: make compact playback ui a view
Change CompactPlaybackFragment into a View. This completely fixes the
issue I tried to band-aid in ae39054. The code is a bit uglier, but
that's tolerable.
2021-10-31 11:14:04 -06:00
OxygenCobalt
ae39054b63
playback: band-aid scroll position confusion
Band-aid an issue where the scroll position of any RecyclerView in a
PlaybackBarLayout would get consfused because while the main view was
present, the fragment was not inflated yet so that it would not show.
This is [kindof] fixed by moving the fragment instantiation to the
view initialization. However, sometimes the fragment might still not
be inflated. The fragment will likely be replaced with a view
eventually.
2021-10-31 10:03:52 -06:00
OxygenCobalt
e779698746
home: remove appbar collapse behavior
Remove the appbar collapse behavior. It's just causing too much bugs
and phones are so big now that the lost space really doesn't matter.
2021-10-30 18:31:57 -06:00
OxygenCobalt
68782fadac
ui: create dedicated playback bar layout
Create a dedicated playback bar layout. This replaces the old janky
observer system with something that handles state better and is just
more elegant.
2021-10-30 18:21:30 -06:00
OxygenCobalt
4f4f6654c0
widgets: re-add 2x2 widgets
Re-add 2x2 widgets. They were originally removed due to strange layouts
in landscape mode, but that has now been fixed with a new "tiny" layout
meant for that specific edge case. Also rename the widget forms to more
sensible names and make the small (previously minimal) widget be
text-only again.
2021-10-28 19:46:00 -06:00
OxygenCobalt
df49e2765f
music: refactor model usage
Refactor the way music models are constructed to achieve the following:
- Add a unified interface for resolving display names of artists
- Disambiguate the role of Header in the music objects
- Eliminate the need to load strings in with a context when creating
Header instances
2021-10-28 19:09:54 -06:00
OxygenCobalt
255154c411
home: remove fab scrolling behavior
Remove the ability for the FAB to disappear on scroll, mostly because
the state would not be consistent and it was generally bad UX when
combined with the fast scroller.
2021-10-25 16:38:37 -06:00
OxygenCobalt
fe0c2761c7
music: make musicloader async
Make MusicLoader instantiation fully asynchronous. This implementation
changes a lot about Auxio. For one, the loading screen is now gone.
However, many parts of the app now run under the fact that MusicStore
might not be available. However, I don't think there will be too much bugs
from it. Some more changes will be made to improve this implementation.
2021-10-24 20:01:15 -06:00
OxygenCobalt
926fef4218
widgets: increase minheight
Prevent issues with malformed widget forms on certain devices by
increasing the minimum widget height to 152dp, which is the height
that the minimal widget should take up.
2021-10-24 11:30:10 -06:00
OxygenCobalt
3107464dd2
home: make fab hide when fast scrolling
Hide the FAB when fast scrolling. This is just a UX enhancement.
2021-10-24 11:03:24 -06:00
OxygenCobalt
71480d0299
home: move shuffle control to fab
Instead of having a play/pause header at the top of the song list, use
a FAB instead. This allows people to shuffle all of their songs even if
the songs tab isn't enabled, and it can be tranformed into a create FAB
when playlists are added.
2021-10-24 10:17:55 -06:00
OxygenCobalt
97808ce1c3
home: merge fast scroller
Merge the fast scroller back into Auxio once again, albeit this time
it's AFS instead of IndicatorFastScroll. This not only slims down the
implementation but also allows me to stop the scroller from appearing
every time the home view is recreated. All modifications were noted
and attribution is included to abide by the Apache 2.0 license.
2021-10-23 18:22:50 -06:00
OxygenCobalt
36228d0536
widgets: improve widgets
Enhance widgets in a couple of ways:
1. Make the cover art expand to fit it's aspect ratio with padding
instead of the entire widget. This does the cover art justice and
is more visually appealing in general.
2. Add two new widget forms: Terminal, which applies to only the
smallest widgets, and Minimal, which applies to short and wide
widgets
2021-10-21 19:17:55 -06:00
OxygenCobalt
9030de7774
ui: add edge-to-edge on bar-dependent fragments
Add edge-to-edge on the Home, Detail, and Search fragments. This
solution is not ideal at all, relying on viewModel state to make
sure that the padding is only applied when the playback bar is not
present. However, it works. I'll likely replace it with a better
layout once I can figure out how similar layouts like Material
Files' PersistentBarLyout work.
2021-10-20 20:11:07 -06:00
OxygenCobalt
e01816a1dc
settings: make tab dialog use checkboxes
Make the tab selection dialog use checkboxes instead of icons to make
it more user-friendly.
2021-10-20 19:37:20 -06:00
OxygenCobalt
23d1be8ebc
home: add tab customization
Finally add tab customization. This implementation is a
bit ugly, but I had to futureproof it for playlists and I'm
planning to clean up a lot of the duplicate code across the app.

This addition notably allows a default tab to be set, which is
something that was widely requested in #12. This UI rework finally
allows it to be added.
2021-10-17 20:27:16 -06:00
OxygenCobalt
7ef10fa4f8
search: collapse uis into single bar
Merge the search view and the redundant appbar into a single view. Also
fix another Material3 regression that stemmed from a bad text highlight
color.
2021-10-12 18:29:54 -06:00
OxygenCobalt
2d5c438c58
playback: improve queue ui
Improve the queue UI some more:
- Fixed an issue where clearing the user queue by clearing all items would
result in it bugging out
- Queue items now show a Material-y background when they are swiped
away. This was way harder than you might think it was.
2021-10-11 20:32:23 -06:00
OxygenCobalt
e123999e4d
drawable: update icon
Update the app icon to reflect the new accents. Also move around some
things to make it easier to add dynamic colors later on. Don't make it
follow dynamic colors right now however, as I want to make sure it
lines up with the dynamic pixel icons before I make that change.
2021-10-11 18:54:26 -06: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
5ebe17d0ad
playback: make dedicated seekbar view
Make a dedicated seekbar view so that does the layout magic necessary
to have an adequate touch target while not taking up too much space.
Isolating this makes handling the playback layout's view much easier.
2021-10-05 19:32:35 -06:00
OxygenCobalt
d0835c3a0c
detail: fix genre sort issue
Fix a problem where GenreDetailFragment would apply ASCENDING when
ARTIST was selected in the sort menu. Turns out it was a bad constant
match.
2021-10-03 18:39:49 -06:00
OxygenCobalt
7e32763662
ui: misc ui updates
Do a couple of UI changes I thought of over this week:
- Make the detail header text neutral, mostly so I can make it so that
the accent only corresponds to active thingsd
- Remove the vanity elevation from the cover images. This is mostly to
abide by Material Design.
- Move the about screen to it's own menu slot on the main fragment.
2021-10-01 20:17:48 -06:00
OxygenCobalt
5c3db12f10
all: minor tweaks
Make some minor changes to recently added parts of the app.
2021-09-27 07:01:56 -06:00
OxygenCobalt
b3156941d4
home: add play/shuffle to song list
Re-add the play/shuffle options to the song list, now as a header. This
seems to be the best option UX-wise, but the implementation is really
I think the best option regarding that is to extend this idiom to all
lists or split these fragments up. Both are reasonable.
2021-09-26 19:48:44 -06:00
OxygenCobalt
a820724ff2
ui: increase seekbar height
Make the seekbar more touchable by increasing it's height. This should
have no measurable impact since I did some layout black magic and made
the rest of the layout slightly inset into the SeekBar's bounds. This
is not a nice solution. Hopefully I'll be able to make a dedicated view
with a Seeker with the same insetting things later on.
2021-09-24 20:39:10 -06:00
OxygenCobalt
68b8ff0798
ui: become more material
Give up and add more material elements such as neutral toolbar colors
and rounded corners. This is largely for stylistic cohesion. I will
keep rounded corners to a minimum though, rounding album covers is a
crime against humanitity.
2021-09-24 19:46:42 -06:00
OxygenCobalt
b2ebd92d2a
ui: fix ellipsizing of certain textviews
Fix a problem where ellipsizing wouldn't work on the new TextView
styles.
2021-09-21 06:41:35 -06:00
OxygenCobalt
443c26fe98
styles: refactor style methodology
Refactor the styling again to make all styles start with the Auxio
prefix. Also try to phase out the usage of layout_width and
layout_height in most places, since those can cause a lot of
frustration if they aren't used in the layout they are expected in.
2021-09-14 20:16:55 -06:00
OxygenCobalt
744e4172f3
ui: improve misc ui elements
Make some minor UI tweaks across the app.
2021-09-11 20:54:36 -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
00b7e0cac3
ui: further apply elevation overlays
Apply elevation overlays to CompactPlaybackFragment and dragged queue
items. This makes elevation more noticable on dark mode.
2021-09-05 20:22:40 -06:00
OxygenCobalt
dae334b1d6
home: re-add sorting
Re-add sorting to HomeFragment, except heavily improved. The major
improvement here is the addition of song sorting, which was a heavily
requested feature judging by #16. The setting does not save yet and
is not present in the detail fragments, but it is still a major
milestone for the new home ui.
2021-09-05 16:11:37 -06:00
OxygenCobalt
0fc8f1cd02
ui: clean up colors
Further clean up coloring, adding new selectors to cut down on resource
duplication and to simplify logic in general.
2021-09-04 22:46:11 -06:00
OxygenCobalt
34367b3bae
ui: fix material issues
Migrate dividers over to material theming alongside making detail items
use a colorStateList instead of manually indexing for text colors.
2021-09-04 19:31:28 -06:00
OxygenCobalt
23e3c0241d
ui: completely migrate to material
Drop the Bridge theme and completely migrate to material. This is for
two reasons:

- To make Material You less painful
- Improve coloring [Dark mode, other colors, etc].

Most of the previous UI elements were kept [no rounded corners], but
did come at the cost of removing the hint tagline from the search bar
since there was simply no good way to integrate it. There are also
some other miscellanious issues [Weird selection menus, dividers are
not migrated still], but those will be fixed in future commits.
2021-09-03 20:37:32 -06:00
OxygenCobalt
74d55ba59e
home: make appbar liftOnScroll
Make HomeFragment's AppBarLayout lift when the data scrolls. This
was something I wanted to do initially, but kept running into issues
with. Turns out the addition of my custom AppBarLayout made this pretty
trivial all things considered. The entire app now follows this idiom.
2021-09-03 18:02:57 -06:00
OxygenCobalt
624eb57e7a
ui: fix divider color
Divider colors were accidentally messed up when the dark theme was
revamped, fix that.
2021-09-02 06:49:20 -06:00
OxygenCobalt
2a695a4977
ui: brighten dark theme
Brighten the dark theme somewhat. This is for two reasons:
- To make colorOnSurface stick out less like a sore thumb
- To be more in line with other material apps
- To make the dark theme differ from the black theme more

Black theme remains unchanged, so if one wants a much darker theme,
then they can use that.
2021-09-01 18:48:02 -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
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
OxygenCobalt
3ab5671319
Add de [German] translations
Add some [Likely broken] german translations using a mix of other sources, my own knowledge, and a english-deutsch dictionary. Ill try to improve these as I go along as theyre the only ones that I'm really able to translate.
2021-01-24 19:13:27 -07:00
OxygenCobalt
0bbcff35eb
Fix compact playback visibility issues
For some reason the new system I implemented for compact playback visibility suddenly stopped working! Revert to the old system.
2021-01-19 14:39:09 -07:00
OxygenCobalt
627553344c
Update shuffling system
Finally collapse all usage of shuffle into setShuffling, instead of the mix of checks that used to be throughout PlaybackStateManager.
2021-01-18 16:53:10 -07:00
OxygenCobalt
44fa178c34
Clean up dimens
Move some stray dimens into their proper locations.
2021-01-18 14:35:00 -07:00
OxygenCobalt
554a0f28b2
Fix more playback display issues
Fix some other problems with the way playback is displayed.
2021-01-18 14:03:32 -07:00
OxygenCobalt
6687dbc2f6
Improve playback fragment styling
Fix some issues with the styling/icon usage on PlaybackFragment.
2021-01-18 11:13:22 -07:00
OxygenCobalt
7de02af86f
Clean code
Make some minor changes to the codebase.
2021-01-16 09:17:10 -07:00
OxygenCobalt
d86e5f1414
Revert to old playback shuffling system
The new shuffling system wasnt working out the best, so just revert to the previous and fix the issues with it.
2021-01-15 15:01:26 -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
60af5f8656
Heavily refactor navigation
Make how navigation to the detail fragments much simpler/easier to maintain compared to previously.
2021-01-13 16:11:59 -07:00
OxygenCobalt
2cfe0211a5
Fix EditText memory leak
Fix a leak that occurs from having a focused edit text even after a fragment is destroyed.
2021-01-12 15:09:53 -07:00
OxygenCobalt
8f5e6621ad
Create dedicated search tab
Move all searching to a tab of its own.
2021-01-11 20:17:22 -07:00
OxygenCobalt
6ecfd0daa0
Minor changes
Update some things here and there.
2021-01-10 17:29:02 -07:00
OxygenCobalt
22ab5ad255
Move song search to SongsFragment
Move the ability to search for songs to SongsFragment for better consistency. May switch to a dedicated search tab in the future but I generally like how this looks.
2021-01-06 15:54:33 -07:00
OxygenCobalt
332d1d0170
Update shuffling system
Optimize the shuffling system in PlaybackStateManager.
2021-01-05 09:42:36 -07:00
OxygenCobalt
35db7792bb
Update album artist navigation
Make it so that when an album is navigated to from an artist, navigation to the parent artist is disabled.
2021-01-05 08:29:29 -07:00
OxygenCobalt
fcc6a7e8d7
Update sorting
Make some changes to the sorting system.
2021-01-04 15:38:10 -07:00
OxygenCobalt
4c1f009d93
Redesign toolbar
Remove the "Library" name from the toolbar and make it more of a bar for certain actions.
2021-01-03 19:01:06 -07:00
OxygenCobalt
260e7f71cf
Move play & shuffle to dedicated buttons
Move the play and shuffle actions to dedicated buttons on the DetailFragments. Actually looks r e a l l y nice.
2021-01-03 10:16:23 -07:00
OxygenCobalt
33abb1419a
Refactor playing indicator holder usage
Collapse the two lastHolder values into one value inside the detail adapters in order to cut down on needless redundancy.
2020-12-31 08:05:34 -07:00
OxygenCobalt
95c601bf02
Add playing indicators to SongsFragment
Add an indicator for the currently playing song to SongsFragment, as long as the current playback mode is ALL_SONGS.
2020-12-30 10:48:35 -07:00
OxygenCobalt
8fe0734ca1
Refactor menus
Heavily refactor how certain menus are used when it comes to songs.
2020-12-29 14:45:55 -07:00
OxygenCobalt
46fa300252
Refactor album detail layout
Change the album detail layout to rely on a RecyclerView entirely instead of a NestedScrollView, at the cost of some functionality I'll need to re-add.
2020-12-29 09:03:14 -07:00
OxygenCobalt
7ef4eb5fde
Update artist detail layout
Update the artist detail layout so that it also relies on a recyclerview entirely instead of a nestedscrollview.
2020-12-28 13:55:20 -07:00
OxygenCobalt
804db8b0d3
Update genre detail layout
Make GenreDetailFragment a full RecyclerView in order to fix issues with how NestedScrollView has to generate all ViewHolders in order on creation.
2020-12-28 10:48:50 -07:00
OxygenCobalt
c1ae32325f
Refactor song viewholders
Make it so that the primary song viewholder is the one without a duration, making the one with the duration the viewholder for genre songs.
2020-12-27 19:25:29 -07:00
OxygenCobalt
600aa2d6f1
Move genre name code to genre objects
Instead of converting int-genres to normal genres during the music loader process, instead do it in the Genre object as a lazy initializer, so that the names remain [Probably] unique.
2020-12-25 21:19:35 -07:00
OxygenCobalt
51a5e9fd63
Refactor genre UI
Fully refactor the genre UI so that it makes more sense.
2020-12-21 20:10:38 -07:00
OxygenCobalt
6e5bff3bd3
Heavily refactor music loading
Heavily change how music loading works so that artists arent redundantly loaded, genres are primarily song-based instead of genre based, and songs are now bound to their correct genres.
2020-12-20 15:30:50 -07:00
OxygenCobalt
4413cb1499
Refactor edge-to-edge
Change edge-to-edge to auto-enable on 27+, along with relying on styles to make the systemui changes instead of code directly.
2020-12-18 10:45:42 -07:00
OxygenCobalt
0d32ab0f7e
Add about dialog
Add an about dialog with information about this app.
2020-12-18 10:05:31 -07:00
OxygenCobalt
71cd15bbf7
Fix bugs
Fix bugs with playback & edge-to-edge.
2020-12-16 16:57:54 -07:00
OxygenCobalt
fcebfda406 Fix edge-to-edge bug in landscape
Fix a bug where the drag handles in QueueFragment would be covered up by the navigation bar in edge-to-edge + landscape mode.
2020-12-14 19:38:46 -07:00
OxygenCobalt
28b6edb5d6 Add landscape support to detail fragments
Add a landscape layout for AlbumDetailFragment, ArtistDetailFragment, and GenreDetailFragment.
2020-12-14 15:55:12 -07:00
OxygenCobalt
8085c25103 Minor fixes
Do some more landscape layout fixes and remove some redundant database code.
2020-12-14 14:48:43 -07:00
OxygenCobalt
07e7e1ae5b Add landscape support to list fragments
Add a landscape mode for LibraryFragment & SongsFragment.
2020-12-14 12:01:24 -07:00
OxygenCobalt
fca42f2cb0 Add landscape support to PlaybackFragment
Add a landscape layout to PlaybackFragment.

Signed-off-by: OxygenCobalt <alexyx@tutanota.com>
2020-12-13 17:29:17 -07:00
OxygenCobalt
9b22fcb8e6 Fix landscape issues with MainFragment
Make MainFragment & CompactPlaybackFragment look better in landscape mode.
2020-12-13 17:07:29 -07:00
OxygenCobalt
dbd2c022a0 Improve accents
Add a new "Neutral" accent and improve the yellow accent so that its more visible.
2020-12-05 10:42:22 -07:00
OxygenCobalt
b8b6e8421b Refactor settings management
Heavily refactor the structure of settings to fix some bugs.
2020-12-03 18:35:47 -07:00
OxygenCobalt
21dbad7091 Fix bugs
Fix a ton of misc bugs that I stumbled upon.
2020-12-02 20:04:08 -07:00
OxygenCobalt
51b2749c06 Refactor styles heavily
Move a bunch of UI elements into reusable styles, along with removing literal dimen resources.
2020-12-02 19:03:17 -07:00
OxygenCobalt
0079f41776 Improve edge-to-edge
Do some weird android styling wizardry to get edge-to-edge working better.
2020-12-01 20:06:51 -07:00
OxygenCobalt
91b8d226c8 Fix general issues
Fix issues where colorPrimary was the main ripple color [ew], and some QueueAdapter errors stemming from a useless function.
2020-11-30 19:45:20 -07:00
OxygenCobalt
12c14eeda6 Add edge-to-edge
Add [somewhat basic] edge-to-edge functionality for android O and up, along with the ability to enable/disable it.
2020-11-29 19:30:09 -07:00
OxygenCobalt
59036a2747 Change setting ripple color
Change the ripple on the settings to a generally neutral color instead of the gaudy colorPrimary.
2020-11-29 14:43:37 -07:00
OxygenCobalt
a5f59858bd Add accent customization
Add the ability to customize the accent.
2020-11-28 20:25:41 -07:00
OxygenCobalt
2dc7ba3420 Implement theme customization
Implement the ability to change the theme to auto/light/dark.
2020-11-28 16:17:54 -07:00
OxygenCobalt
6a5084beb1 Improve fast-scroll
Fix bugs and improve the UI of the fast-scroller on SongsFragment.
2020-11-27 15:23:19 -07:00
OxygenCobalt
7e0ee3d04f Add parent restoration
Add a failsafe to the persistence system that allows the parent of a playback state to be restored from the queue.
2020-11-26 08:52:21 -07:00
OxygenCobalt
3fca28dd20 Add fast scrolling to SongsFragment
Add a fast-scroll bar to the list of songs in SongsFragment.
2020-11-25 16:27:25 -07:00
OxygenCobalt
6ac269b1df Minor playback nav improvements
Change the playing nav system to rely off a single value, instead of multiple booleans.
2020-11-25 10:04:14 -07:00
OxygenCobalt
206d8d1c1f Add playing song nav to PlaybackFragment
Add the ability to nav to the playing song/playing artist/playing album from PlaybackFragment.
2020-11-25 09:37:06 -07:00
OxygenCobalt
6ce8c854a9 Minor changes
Change some minor things across the app.
2020-11-24 15:39:40 -07:00
OxygenCobalt
0627677569 Remove dividers
Remove the recyclerview dividers, they made the app too cluttered, so now theyre gone.
2020-11-23 16:21:46 -07:00
OxygenCobalt
844870f4d4 Move user queue clear action into header
Move the button for clearing the user queue into the header for the user queue, so that its more consistent.
2020-11-23 10:57:23 -07:00
OxygenCobalt
1d50d24c4f Add ability to clear user queue
Add an option to clear the user queue in QueueFragment.
2020-11-22 15:46:21 -07:00
OxygenCobalt
49897c53b4 Rewrite Database to stop using room
Refactor/Rewrite the database system to be based on SQLiteOpenHelper instead of Room, as Room will keep empty columns around even after trying to explicitly delete them.
2020-11-22 14:30:45 -07:00
OxygenCobalt
d8a40fe219 Cleanup code
Cleanup a bunch of redundant, unused, and bad code.
2020-11-21 16:50:16 -07:00
OxygenCobalt
13b80585d2 Extend Popup actions
Extend the action menus to every music model.
2020-11-21 16:10:16 -07:00
OxygenCobalt
c19680c1f7 Temporarily remove playback nav
Remove the ability to navigate to the parent album from CompactPlaybackFragment for now, as it was causing issues.
2020-11-16 21:37:45 -07:00
OxygenCobalt
c3a61e6071 Switch from ViewPager to BottomNavigationView
Use BottomNavigationView as the main navigator of Auxio instead of a ViewPager + BottomNavigationView, primarily to fix some memory leaks and give Auxio a better UI design overall.
2020-11-16 21:09:55 -07:00
OxygenCobalt
ee95bc1a9e Fix more queue bugs
Fix bugs with QueueAdapter where removing the last item from the user queue or the next queue would cause weird behavior or a crash.
2020-11-13 20:49:53 -07:00
OxygenCobalt
2ebee41ed0 Make QueueAdapter Adapter instead of ListAdapter
Fix a stupid amount of bugs by changing QueueAdapter to a normal adapter with a differ and addition/movement functions instead of a ListAdapter.
2020-11-13 14:56:06 -07:00
OxygenCobalt
2aa630948b Prevent the addition of duplicate queue items
Band-aid over a bug with DiffCallback that causes weird behavior with duplicate queue items by disallowing the addition of queue items if theyre already allowed.
2020-11-12 19:25:43 -07:00
OxygenCobalt
2c783beaba Redesign headers/menus
Redesign the header items so they look nicer, update the PopupMenus with some new things as well.
2020-11-10 20:00:38 -07:00
OxygenCobalt
67d10009d4 Unify Queue
Make QueueFragment contain both the user queue and the next queue, instead of having viewpager between the two.
2020-11-09 15:39:13 -07:00
OxygenCobalt
a192fb52c3 Make queue a fragment instead of a dialog
Make QueueFragment an actual fragment instead of a BottomSheetDialogFragment. Really dont want to deal with the garbage BottomSheetDialogFragment does.
2020-11-08 14:37:13 -07:00
OxygenCobalt
2be7d34601 Add user queue
Add a user-generated queue, currently it isnt played from.
2020-11-07 16:06:47 -07:00
OxygenCobalt
bc7950e7af Make Queue nav destination
Fix a heisenleak by making QueueFragment a navigation destination instead of being directly instantiated.
2020-11-07 09:38:09 -07:00
OxygenCobalt
344e566aa3 Update resources
Improve resource structure/naming.
2020-11-01 15:56:53 -07:00
OxygenCobalt
08bd0ece3a Add media controls to notification
Add media controls to the Playback Notification [Loop, Last, Play/Pause, Next, Shuffle]
2020-11-01 11:06:26 -07:00
OxygenCobalt
535fc95f71 Add looping
Add the ability to loop songs either once or infinitely.
2020-10-30 14:51:49 -06:00
OxygenCobalt
25142bba48 Add basic playback functionaliity
Implement ExoPlayer in a basic form so that songs can be actually played.
2020-10-25 18:18:59 -06:00
OxygenCobalt
55ed55c5dc Improve queue editing
Fix issue where moving queue items would swap them, not move them, also prevent QueueAdapter from scrolling uncontrollably if the first item is moved.
2020-10-23 19:15:10 -06:00
OxygenCobalt
912d296e92 Add ability to edit queue
Add the [somewhat rough] ability to move/remove items from the queue.
2020-10-21 20:16:11 -06:00
OxygenCobalt
219d1c2c24 Add queue display
Add a fragment for displaying the current queue.
2020-10-20 15:16:28 -06:00
OxygenCobalt
c4c115274b Move detail controls to Toolbar
Move the play/shuffle buttons from the header of the DetailFragments to their Toolbar, it makes far more sense for them to be there honestly.
2020-10-18 15:13:03 -06:00
OxygenCobalt
d01aa3ea4a Prevent animated icons from animation on startup
Make ImageButtons that use animated icons not animate when the fragment is initially created.
2020-10-18 13:45:13 -06:00
OxygenCobalt
2811c83543 Improve semantics
Remove some useless TODOs, update naming in places.
2020-10-18 09:06:16 -06:00
OxygenCobalt
00667151dc Add shuffle buttons to Detail Fragments
Add shuffle buttons to AlbumDetailFragment & ArtistDetailFragment.
2020-10-15 15:31:06 -06:00
OxygenCobalt
c422071e93 Add shuffling
Add basic shuffling to PlaybackFragment.
2020-10-15 11:32:01 -06:00
OxygenCobalt
339100e436 Improve genre loading
Temporarily remove the ability to play from a genre, update MusicLoader to not load genres/artists simultaniously so that Artist ID's arent completely garbled. Improve PlaybackFragment slightly.
2020-10-15 08:49:32 -06:00
OxygenCobalt
c17666752b Add play buttons to other Detail Fragments
Add play buttons to the ArtistDetailFragment & GenreDetailFragment.
2020-10-14 15:49:49 -06:00
OxygenCobalt
a64627c7cf Add play button to AlbumDetailFragment
Add a play button to AlbumDetailFragment that shows the option to play the album, or pause/resume the playback if the album is already playing.
2020-10-14 10:10:57 -06:00
OxygenCobalt
96c30b3f93 Change music storage to shared object
Change MusicViewModel from a ViewModel to a shared object, so that it can be used everywhere in the app instead of just in fragments.
2020-10-13 16:44:14 -06:00
OxygenCobalt
3376b57f8e Add skipping
Add the ability to skip fowards/backwards.
2020-10-13 12:40:16 -06:00
OxygenCobalt
d8f40bfd27 Replace ClickListener with lambdas
Replace ClickListener with direct lambdas, so that adapters with multiple datatypes dont have to duplicate ClickListener for each type.
2020-10-13 11:09:48 -06:00
OxygenCobalt
3bafc17d0c Add durations to PlaybackFragment
Add the song duration & the current duration to PlaybackFragment, update the SeekBar in PlaybackFragment to reflect those durations.
2020-10-12 16:13:15 -06:00
OxygenCobalt
09d4e107e0 Refactor dimens
Refactor the dimen naming/use across the app.
2020-10-12 11:57:24 -06:00
OxygenCobalt
4ad86593a6 Make PlaybackFragment full-screen
Change PlaybackFragment to a full-screen layout w/a slide animation.
2020-10-11 19:01:06 -06:00
OxygenCobalt
d8042ef159 Fix theming issues w/PlaybackFragment
Fix some theme issues with PlaybackFragment
2020-10-11 16:46:53 -06:00
OxygenCobalt
f884adc39d Use animated icons for play/pause
Use animated play/pause icons from Noice [https://github.com/ashutoshgngwr/noice] on the playback fragments.
2020-10-11 11:24:36 -06:00
OxygenCobalt
eb6839b10c Add play/pause controls
Add play/pause controls to the playback fragments.
2020-10-11 11:03:06 -06:00
OxygenCobalt
0c069dfbac Add specific playback fragment
Add a Playback Fragment that shows more information about what is currently playing.
2020-10-09 18:57:28 -06:00
OxygenCobalt
59c087d653 Update semantics slightly
Change some naming/structure somewhat, and move all TODOs from AuxioTODO to the project itself.
2020-10-09 13:57:36 -06:00
OxygenCobalt
a72cb48c71 Add playback fragment
Add a fragment to show songs that are currently being played.
2020-10-05 15:54:53 -06:00
OxygenCobalt
2126b4f78f Update ViewHolder structure
Move all shared viewholders to /recycler/, and change structure of shared viewholders to prohibit direct instantiation.
2020-10-03 19:29:03 -06:00
OxygenCobalt
45f411fdd7 Change search to show all music items
Change the library search to show artists, albums, and songs.
2020-10-03 18:20:37 -06:00
OxygenCobalt
b814ac613d Fix more navigation bugs
Remove the clicklistener system I added before, as it turns out fragments arent immediately recreated if you navigate back. Fun.
2020-10-03 10:08:04 -06:00
OxygenCobalt
69c508caec Add search to LibraryFragment
Add searching to LibraryFragment.
2020-10-03 09:14:49 -06:00
OxygenCobalt
8b0c2a7d2e Add sorted genres/albums to LibraryFragment
Re-add the ability to show [sortable] Genres/Albums in LibraryFragment. Again.
2020-09-28 19:42:31 -06:00
OxygenCobalt
08f8e50bbf Highlight sort menu item when selected
Highlight the menu item for the currently shown order when its selected.
2020-09-28 18:11:56 -06:00
OxygenCobalt
37c52d9e5c Add sorting to LibraryFragment
Add basic sorting to LibraryFragment.
2020-09-28 15:37:41 -06:00
OxygenCobalt
aad42b5201 Fix album bugs
Fix bugs with the album items & detail fragments.
2020-09-27 17:03:35 -06:00
OxygenCobalt
af4c32eb5b Update stored DetailViewModel items
Change the stored items in DetailViewModel to LiveData. Remove the need to reset the stored items when a fragment is destroyed.
2020-09-27 16:16:32 -06:00
OxygenCobalt
d9cf3772e6 Update naming
Update naming on layout files & other code.
2020-09-27 15:26:15 -06:00
OxygenCobalt
d99347722e Make music models inherit base class
Make the music models inherit a base data class that contains the ID & name to reduce redundant code.
2020-09-27 10:26:14 -06:00
OxygenCobalt
9ffc194c4d Add DetailFragment for genres
Add a DetailFragment for genres.
2020-09-27 09:47:53 -06:00
OxygenCobalt
21626d8d74 Add genres to LibraryFragment
Add a genre mode to LibraryFragment.
2020-09-27 08:24:11 -06:00
OxygenCobalt
5191220bc0 Update album items/details
Update the ArtistDetailFragment album item to show the year instead of song count. Update AlbumDetailFragment to show year, song count, and total duration.
2020-09-26 13:57:15 -06:00
OxygenCobalt
fddf5e4472 Remove excess zeroes from durations
Remove excess zeroes from the formatted durations.
2020-09-26 10:58:30 -06:00
OxygenCobalt
531825465f Add back navigation to detail fragments
Add backwards navigation to the DetailFragment toolbars.
2020-09-26 09:59:18 -06:00
OxygenCobalt
35814c5b40 Add sorting to AlbumDetailFragment
Add sorting to AlbumDetailFragment. Ignore the other commit.
2020-09-24 16:31:07 -06:00
OxygenCobalt
35e186d8a9 Remove sorting modes
Remove the sorting modes from the detail fragments. They are somewhat useless there and would be better suited for LibraryFragment.
2020-09-24 16:00:47 -06:00
OxygenCobalt
ac3b3e7903 Fix sorting modes
Change the NUMERIC_DOWN sorting mode to actually sort by decending order, not ascending order.
2020-09-24 07:00:46 -06:00
OxygenCobalt
414e85153f Add sorting
Add Alphabetical/Numeric sorting to ArtistDetailFragment.
2020-09-23 20:32:42 -06:00
OxygenCobalt
b80a3596b8 Store references to items in DetailViewModel
Store references to the artist & album inside DetailViewModel to prevent an artist/album search on every re-creation.
2020-09-23 15:42:06 -06:00
OxygenCobalt
6b56ce4ae8 Change parent artist navigation
Change the parent artist navigation so that its only enabled when an album is selected from LibraryFragment, otherwise dont enable it, as the user can just navigate up to see the parent artist.
2020-09-20 10:31:42 -06:00
OxygenCobalt
19a9ab4098 Add backwards navigation from album to artist
Add a way for AlbumDetailFragment to return to ArtistDetailFragment.
2020-09-20 09:51:12 -06:00
OxygenCobalt
309ed2dcff Update track number sizing
Use AppCompatTextView on the track number so that track numbers over 100 are not cut off. Sort of, track numbers over 100000 will be cut off, but I bet that will be rare in normal use.
2020-09-19 16:44:00 -06:00
OxygenCobalt
4d47dcd464 Update Accessibility
Update the content descriptions on the ImageViews.
2020-09-18 16:30:04 -06:00
OxygenCobalt
602cc2153f Fix bugs w/music loading
Fix bugs with how genres/album names are displayed.
2020-09-17 19:55:55 -06:00
OxygenCobalt
ec45a020a5 Add song list to AlbumDetailFragment
Add a list of the albums songs to AlbumDetailFragment.
2020-09-17 15:20:41 -06:00
OxygenCobalt
20047313fc Add album detail fragment
Add a fragment for album details.
2020-09-17 14:52:40 -06:00
OxygenCobalt
ebc5aac011 Update resources
Update layouts to not assign a primary color through the tools namespace anymore, also bring back the light theme, which apparently disappeared at some point.
2020-09-16 07:00:55 -06:00
OxygenCobalt
f3e47414b0 Add header to artist albums
Add a header to the album RecyclerView in ArtistDetailFragment.
2020-09-14 18:13:33 -06:00
OxygenCobalt
47aec7f18a Add album list to ArtistDetailFragment
Add a list of the artists albums to ArtistDetailFragment.
2020-09-14 16:22:24 -06:00
OxygenCobalt
0e6750b19c Add more details to ArtistDetailFragment
Add the Artist Name/Genre/Counts to ArtistDetailFragment.
2020-09-14 15:06:10 -06:00
OxygenCobalt
26b53bd502 Add artist image to DetailFragment
Add the artist image to the DetailFragment. Still considering what I want to do design-wise with this.
2020-09-13 19:32:33 -06:00
OxygenCobalt
860033ac14 Remove generic recycler module
Remove the generic RecyclerView module and put its contents into other classes.
2020-09-11 10:44:41 -06:00
OxygenCobalt
02e803746b Revert to normal navigation structure
Revert to a saner navigation structure for the time being. Nested nav is interesting but I dont want to deal with the bugs at this moment.
2020-09-11 10:23:32 -06:00
OxygenCobalt
5814907798 Change LibraryFragment to Nav Fragment
Change LibraryFragment to extend NavHostFragment, so that the child fragments arent as extensively nested as they were before.
2020-09-10 15:53:03 -06:00
OxygenCobalt
f7e25d3fa8 Add navigation to LibraryFragment
Add navigiation to LibraryFragment. This navigation is nested so that one can still move through the ViewPager, which will certainly have no problems later on. /s
2020-09-09 19:01:28 -06:00
OxygenCobalt
49248f98d9 Fix LoadingFragment bug
Fix a bug where LoadingFragment would be minified out of existence.
2020-09-09 18:54:26 -06:00
OxygenCobalt
4e57a94d3e Fix bugs/code style
Fix a recreation bug where MainActivity wont hide LoadingFragment, Fix a bug where artist click listeners wouldnt work, slightly tweak code here and there.
2020-09-08 19:38:44 -06:00
OxygenCobalt
4b50b80af4 Minor fragment/coil fixes
Update LoadingFragment path to prevent a crash on startup. Also switch how CoilUtils handles ArtistImageFetcher so that it doesnt cause a memory leak.
2020-09-07 16:58:29 -06:00
OxygenCobalt
031815d746 Heavily refactor Library Management
Remove MusicRepository/All Library models and replace it with a single shared ViewModel, Move MainFragment into MainActivity, and remove the LoadingFragment -> MainFragment navigation path.
2020-09-07 16:16:08 -06:00
OxygenCobalt
e9ee9d1ef1 Standardize coil usage
Completely switch over to use ImageRequest.Builder instead of the load extension function, spin off the Artist Image fetcher & Image BindingAdapters to a seperate module.
2020-09-07 10:52:07 -06:00
OxygenCobalt
a93c0f4af3 Add artist images
Add artist images back, now with proper mosaics.
2020-09-07 09:34:19 -06:00
OxygenCobalt
016d664e51 Update Music Loading
Slightly tweak the music models, use plural strings when formatting args, and properly sort the music items after everything else is sorted.
2020-09-06 18:52:20 -06:00
OxygenCobalt
565d1efa96 Minor music model changes
Move the size recalculations/child item sorting to a method called finalize() in artists, albums, and genres. Also remove the artist images for now, Ill figure out a good way to bring them back.
2020-09-04 18:28:11 -06:00
OxygenCobalt
7a2c779fe2 Add Artist item
Add the Artist item and switch LibraryFragment over to it.
2020-09-04 17:13:02 -06:00
OxygenCobalt
139cf3c089 Add basic transitions/animations
Add animations to all LoadingFragment & a transition from LoadingFragment to MainFragment.
2020-09-04 14:39:51 -06:00
OxygenCobalt
d017774cef Fix bug with permission checking
Fix a bug with the permission checking where the MusicRepository would return NO_PERMS to the LoadingFragment faster than the creation of the view, causing the error message to never display. Permission checks are now handled by LoadingFragment instead.
2020-09-03 18:15:44 -06:00
OxygenCobalt
ce687cd515 Change selection ripple to accent color
Change the selection ripple so that it matches the chosen accent color.
2020-09-03 07:50:17 -06:00
OxygenCobalt
5827ca492c Add click listeners to Song/Album items
Add the ripple selection effect & the click listener to the song and album items.
2020-09-02 19:50:47 -06:00
OxygenCobalt
af26aed735 Add permission dialog for file reading
Add a permission dialog for the apps READ_EXTERNAL_STORAGE permission.
2020-09-02 18:00:52 -06:00
OxygenCobalt
5e6917f11c Update LoadingFragment layout
Update the layout of LoadingFragment with a new error icon/text style.
2020-09-02 16:50:33 -06:00
OxygenCobalt
8f850f2288 Add theming system
Standardize theming across the app into ThemeUtils.
2020-09-01 07:37:49 -06:00
OxygenCobalt
d5e6b813a9 Add bottom menu
Add a tab menu on the bottom of the screen that can switch between all fragments on the ViewPager.
2020-08-31 18:55:25 -06:00
OxygenCobalt
736e335ccf Add Genre sorting & better placeholders
* Add Genre sorting to MusicSorter.

* Revamp placeholders so that theyre assigned when loading instead of using a BindingAdapter.
2020-08-31 16:13:30 -06:00
OxygenCobalt
d158fc5786 Add proper placeholders
Add placeholders for album art, artist name, and album name if there arent any from the file itself.
2020-08-31 14:47:06 -06:00
OxygenCobalt
16038567dd Add song durations
Add song durations to the SongItem layout
2020-08-31 13:59:18 -06:00
OxygenCobalt
dc45e2973a Add ellipsizing to song/album items
Add ellipsizing to the song and album items, also modify their inflation so that the items take up the entire screen width.
2020-08-31 07:53:41 -06:00
OxygenCobalt
c8f7419833 Update RecyclerView item layouts
Update the song/album items to have the cover art be loaded by a BindingAdapter, and remove unnecessary chains.
2020-08-29 09:05:00 -06:00
OxygenCobalt
53710ca3f0 Remove useless ListAdapters
Remove unnecessary ListAdapter implementation from AlbumDataAdapter/SongDataAdapter and replace it with a normal adapter.
2020-08-27 17:27:58 -06:00
OxygenCobalt
eafc89a294 Fix RTL constraints for Album/Song items
Fix incorrect constraints when viewing an album or song item in Right-To-Left mode.
2020-08-27 07:49:32 -06:00
OxygenCobalt
c9875a03a9 Add All Songs fragment
Add an All Songs fragment, also modify the ViewPager structure.
2020-08-26 17:55:26 -06:00
OxygenCobalt
c109c3f359 Add ViewPager
Add a ViewPager, currently it has no purpose but it will eventually.
2020-08-26 16:17:04 -06:00
OxygenCobalt
89398d9f4e Add RecyclerView dividers
Add divider decorations to the RecyclerView
2020-08-25 18:03:58 -06:00
OxygenCobalt
a6e8007972 Update styling/colors
Update the styling and add some colors that will be used as the base theme set in the future.
2020-08-25 17:56:19 -06:00
OxygenCobalt
f511cfd161 Add song count/Styling changes
Add a song count to the album item, along with updating the font once again to differentiate myself from Music Player GO.
2020-08-24 19:01:28 -06:00
OxygenCobalt
1e4f80b779 Change app style
Update the app style by modifying some colors & using Source Code Pro. Yes, this looks like Music Player GO but Ill probably make some more changes in the future.
2020-08-24 17:33:02 -06:00
OxygenCobalt
5662725c72 Add cover art to album list item
Add cover art to the album list item.
2020-08-24 16:46:40 -06:00
OxygenCobalt
acef9550fa Move LiveData away from MusicRepository
Change the LiveData in MusicRepository to just be a plain list, as MusicRepository isnt Lifecycle-Aware.
2020-08-24 15:07:19 -06:00
OxygenCobalt
c04a90c3fa Add RecyclerView to LibraryFragment
Add a basic RecyclerView to LibraryFragment that shows every album.
2020-08-24 14:53:13 -06:00
OxygenCobalt
37b071de0d Add album art loading
Add album art loading by decoding the album art URI into bitmaps for each album. I may use glide in the future if just using a bitmap isnt enough, but currently this works.
2020-08-21 17:47:56 -06:00
OxygenCobalt
f8ae5d57a5 Remove cover/genre loading
Remove the cover loading [For now] and permanently remove the genre loading, as both take too long to do in the loading screen. Will re-add album loading once more UI is added.
2020-08-19 16:38:43 -06:00
OxygenCobalt
24452e8fa4 Add Loading fallback states
Add fallback states for when there is no music & if the load fails, along with a retry button if that happens.
2020-08-19 10:10:36 -06:00
OxygenCobalt
1b21552576 Add Loading Screen
Add a basic loading screen that loads the music in the background before starting the app.
2020-08-19 09:28:15 -06:00
OxygenCobalt
a8b368b577 Add music sorting
Change MusicRepository so that all music is sorted into Artist/Album/Song lists.
2020-08-18 10:37:02 -06:00
OxygenCobalt
22e8049d6b Add Music Loading
Add a Music Repository/Loader, along with a boilerplate ViewModel for LibraryFragment.
2020-08-17 15:21:14 -06:00
OxygenCobalt
9961b87f47 Refactor Now Playing into Library
Turns out a dedicated Now Playing screen wont look that good, so refactor that into the Library screen. Also replace the ActionBar with a Toolbar and update the theming a bit.
2020-08-17 11:28:23 -06:00
OxygenCobalt
7c447e0296 Add basic fragment structure
Add the boilerplate fragment code.
2020-08-17 10:32:28 -06:00
OxygenCobalt
675f4af41b Add android boilerplate code
Add the Gradle/Android project structure and the boilerplate code.
2020-08-17 09:52:52 -06:00