Commit graph

60 commits

Author SHA1 Message Date
OxygenCobalt
25dd276bd8
playback: use single-queue system
Switch auxio to a single-queue system. "Play next" adds songs to the top
of the queue, similar to before, and then "Add to queue" adds songs to
the bottom of the queue. This enables many more enhancements to be made
to the playback experience, at the cost of a feature I preferred.

Resolves #44.
2021-12-22 16:37:07 -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
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
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
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
7a17282c30
detail: re-add sorting
Re-add sorting to the detail fragments, now with the new system.
2021-09-25 18:12:42 -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
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
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
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
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
e25c91b49c
library: remove default sort option
Remove the default [a.k.a SortMode.NONE] option from the library view.
It was effectively useless in every single library mode and was
functionally equivelent to SortMode.ALPHA_DOWN. Other SortModes might
come to take it's place, but likely only for albums.
2021-06-19 10:10:28 -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
f2445e56f2
Update loop behavior [Resolves #13]
Change the loop behavior to something that is actually sensible,
with [ ] looping the whole playlist and [ 1 ] looping the song.

This also removes the "Do on end" setting. A new stop option may
be reintroduced, however.

This resolves issue #13.
2021-04-03 14:56:50 -06:00
OxygenCobalt
f04ffdb59b
Update codebase
Do a variety of small things across the codebase.
2021-02-23 13:22:09 -07:00
OxygenCobalt
1d1da1fac2
Update exoplayer
Bump exoplayer to 2.12.3
2021-02-17 10:39:15 -07:00
OxygenCobalt
6a273ab34d
add hu [Hungarian] translations
Add partial translations for Hungarian.
2021-02-14 17:07:37 -07:00
OxygenCobalt
0d396aaa6b
Change sorting names
Change the names of the sorting modes to "Ascending" and "Descending" to make them more translation-friendly.
2021-02-14 11:41:59 -07:00
OxygenCobalt
b6ac897314
Add ko [Korean] translations
Add partial translations for korean.
2021-02-14 10:35:22 -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
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
e236eff997
Change library sort menu to checkable behavior
Switch to a checkable behavior for the library sorting menu instead of manually highlighting the menu items
2021-01-12 16:26:37 -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
6627de4b62
Add filtering to library search
Add filtering to the library search bar.
2021-01-07 10:40:10 -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
f109130fb8
Update menus
Implement a "Go to artist" option in library albums, along with removing unneeded icons to reduce the space taken up by them.
2021-01-04 10:28:13 -07:00
OxygenCobalt
ee1d05d347
Change sorting menu to dedicated action
Make the sorting menu on LibraryFragment an action instead of just some things in the overflow menu to improve consistency and accesibility.
2021-01-03 12:03:35 -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
fef8d4146e
Add option to play song from genre
Add the option to play a song from a genre.
2020-12-30 12:30:43 -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
51a5e9fd63
Refactor genre UI
Fully refactor the genre UI so that it makes more sense.
2020-12-21 20:10:38 -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
9b22fcb8e6 Fix landscape issues with MainFragment
Make MainFragment & CompactPlaybackFragment look better in landscape mode.
2020-12-13 17:07:29 -07:00
OxygenCobalt
aaa1ad1a3d Add song playback mode option
Add an option to customize whether a song should play from its artist, its album, or all songs when selected.
2020-12-12 13:50:46 -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
2dc7ba3420 Implement theme customization
Implement the ability to change the theme to auto/light/dark.
2020-11-28 16:17:54 -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
1af17a6df1 Remove usages of animator to fix nav bugs
Remove usages of animator as apparently sometimes that actually causes bugs. Why do I do this to myself.
2020-11-25 21:13:23 -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
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
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
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