Commit graph

789 commits

Author SHA1 Message Date
OxygenCobalt
6fc034e376 Minor playback improvements
Improve the code design and fix some bugs with PlaybackService and friends.
2020-10-30 11:39:55 -06:00
OxygenCobalt
2ded706445 Add external media controls
Add the ability to listen to external media controls, such as through a bluetooth headset.
2020-10-26 20:08:22 -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
ac5e6ba140 Fix issues with PlaybackFragment seekbar
Fix bugs where PlaybackFragment's seekbar would update the player on the fly/flip out if PlaybackService updated the position while it was seeking.
2020-10-26 12:06:17 -06:00
OxygenCobalt
1afaae7b0a Add playback updates to PlaybackService
Add the ability for PlaybackService to move to the next song when the current one ends, update the duration, and also be played/paused.
2020-10-26 11:04:22 -06:00
OxygenCobalt
42325c456e Refactor playback management
Move playback management from PlaybackViewModel to a dedicated class, update naming of playback functions heavily.
2020-10-26 09:39:45 -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
3337747cb7 Fix empty genre bug
Bandaid MusicSorter to remove any genres that dont have anything in them, because that happens now. Also prevent a crash just in case an empty music model does get played.
2020-10-18 15:38:59 -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
9f05ce6e52 Add seperate queue types
Add seperate queue types for different contexts, such as playing a song from an album.
2020-10-14 08:09:45 -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
a72ab10007 Improve Progress Bars on Playback Fragments
Change the Progress Bars on PlaybackFragment/CompactFragment to reflect the total seconds in a song, instead of the percentage of completion.
2020-10-12 19:36:32 -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
7abb888108 Make shared ViewHolders used defined types
Make the shared ViewHolders use their respective types instead of BaseModel.
2020-10-03 19:44:35 -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
3a44ce7e43 Make ClickListener single-use
Change the RecyclerView click listener to only be able to be called once in order to eliminate the ViewModel isAlreadyNavigating variables.
2020-10-02 12:30:23 -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