Commit graph

212 commits

Author SHA1 Message Date
OxygenCobalt
a49ad5ddad Add library item customization
Add the ability to customize library items.
2020-12-04 19:48:01 -07:00
OxygenCobalt
0a0828684c Add notification settings
Add some notification settings to change the action & the colorization.
2020-12-03 20:22:15 -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
63630aa42e Improve edge-to-edge even more
Eliminate a stupid third-party library and fix an elevation issue with QueueFragment as well.
2020-12-02 15:26:48 -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
e15df4ce73 Improve settings
Improve how the current settings look/function, and also how settings work in the background.
2020-11-29 10:52:28 -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
1980dafcff Minor fixes
Fix some bugs/problems here and there.
2020-11-26 14:31:13 -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
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
fd4b7b247f Use animator where possible
Use animator nav animations instead of anim nav animations to possibly prevent some leaks involving "mKeyedTags" or whatever.
2020-11-25 10:29:47 -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
2cd45f8350 Stop play/pause button from animating on creation
Re-add the fix that makes the play/pause button not animate when created initially.
2020-11-23 15:16: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
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
4fb4120342 Add ability to play from user queue
Add the ability to play from the user queue, also append some extra song actions.
2020-11-08 10:11:27 -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
c664d22a43 Fix bugs with Queue
- Fix a bug where the queue would scroll up when the player moved to another song.
- Fix bug where queue would show even with no songs.
- Fix a crash from removing the last song of a queue.
2020-11-06 20:06:23 -07:00
OxygenCobalt
344e566aa3 Update resources
Improve resource structure/naming.
2020-11-01 15:56:53 -07:00
OxygenCobalt
660f4c0eb7 Add ability to exit notification
Add an exit button to the notification so that one can exit it.
2020-11-01 15:37:01 -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
09971afb42 Make PlaybackService perpetually foreground
Make PlaybackService never leave the foreground unless forced to, will add an option to close the service later.
2020-10-31 20:03:42 -06:00
OxygenCobalt
afa50ad531 Update icon
Make the Auxio icon look nicer.
2020-10-31 17:47:36 -06:00
OxygenCobalt
e00930cc5f Add Playback Notification
Add a MediaStyle Notification for music playback.
2020-10-31 11:50:42 -06:00
OxygenCobalt
535fc95f71 Add looping
Add the ability to loop songs either once or infinitely.
2020-10-30 14:51:49 -06:00
OxygenCobalt
3251b84e23 Fix memory leak with PlaybackViewModel
Fix a memory leak involving a stray context that PlaybackViewModel would store.
2020-10-26 18:39:39 -06:00
OxygenCobalt
85475b5c61 Make PlaybackService persistent
Make PlaybackService solely rely on PlaybackStateManager, allowing the service to run beyond the main Auxio activity.
2020-10-26 16:13:20 -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
32fe24e001 Update ViewHolder structure
Make some minor improvements to the ViewHolder structure.
2020-10-24 12:32:05 -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
a2409a5718 Improve PlaybackFragment nav animation
Change PlaybackFragment's open/closing animation to slide over a stationary MainFragment, instead of MainFragment also sliding.
2020-10-12 07:57:14 -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
21ff93d5f0 Fix bug with app restart
Fix bug where the app would be unaware if MusicViewModel was cleared due to it being suspended in the background.
2020-10-05 09:26:22 -06:00
OxygenCobalt
7928347f9b Standardize fragment creation
Standardize the code layout for fragment creation.
2020-10-04 10:58:05 -06:00
OxygenCobalt
711d9a0b00 Add genre support to search
Add the ability for genres to show up in search, as long as the library is currently displaying them.
2020-10-04 10:22:52 -06:00
OxygenCobalt
127f700700 Change show constants to dedicated enum
Move the ShowMode constants to a dedicated ShowMode enum in /recycler/.
2020-10-04 08:36:21 -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
f754a82ba7 Enable albums on LibraryFragment
Readd album support to LibraryFragment.
2020-09-26 11:34:39 -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
2a6fd45b8b Disable SortButton when theres one item
Disable the SortButton when theres only one item in the RecyclerView.
2020-09-24 17:08:41 -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