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
7458588913
Move playback save button to SettingsListFragment
...
Move the ability to save the current playback state into a dedicated preference in SettingsListFragment.
2020-12-13 16:01:40 -07:00
OxygenCobalt
384d0f1a27
Use custom logging wrapper
...
Create a custom logging wrapper so that debug messages dont show up in release builds, fix bugs with anonymous objects and to just remove the boilerplate for normal log functions.
2020-12-13 13:30:48 -07:00
OxygenCobalt
c7549d6bfa
Add queue behavior options
...
Add options for whether to remember the shuffle toggle & what to do when a playlist ends.
2020-12-13 12:18:43 -07:00
OxygenCobalt
6882722201
Add option to rewind before skipping back
...
Add an option to rewind before skipping to prevous song, depending on the user-defined threshhold.
2020-12-12 15:45:51 -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
859391e69b
Refactor library structure
...
Refactor LibraryFragment & LibraryViewModel so that LibraryViewModel only holds the data and LibraryFragment displays it.
2020-12-12 12:22:06 -07:00
OxygenCobalt
60750d976b
Minor Fixes
...
Fix some issues with playback, album detail, and other things in the app
2020-12-12 11:30:50 -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
c44003907a
Add audio settings
...
Add some settings to control how audio is being played.
2020-12-05 09:42:09 -07:00
OxygenCobalt
276c099f84
Make accent summary use string resources
...
Make accent summaries use string resources instead of the names of the colors in resources themselves, in order to make the names translatable.
2020-12-04 20:17:28 -07:00
OxygenCobalt
a49ad5ddad
Add library item customization
...
Add the ability to customize library items.
2020-12-04 19:48:01 -07:00
OxygenCobalt
df637a27aa
Prevent fast scroller from being truncated
...
Prevent the fast scroll from being truncated if there isnt enough screenspace to contain all the entries, such as in a phone's landscape mode.
2020-12-04 16:28:42 -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
76c1fe1d75
Add library sort mode preference
...
Save the library sort mode to a SharedPreferences object, soon to be extended with other prefs.
2020-11-27 20:11:24 -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
e7e683c3a9
Add playing indicator to album songs
...
Add an indicator to album songs that shows if theyre being currently played or not.
2020-11-26 09:53:12 -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
38afa8f4d2
Improve documentation slightly
...
Add some more documentation to the code.
2020-11-25 11:18:36 -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
034f073bac
Fix bugs with play-pause animation
...
Fix some bugs that will cause the animation on the play/pause button not to show.
2020-11-24 10:14:22 -07:00
OxygenCobalt
cc9a952b9a
Re-add BottomNavigationView animation
...
Readd the navigation animation that occurs when an item is selected by the BottomNavigationView.
2020-11-24 09:33:45 -07:00
OxygenCobalt
d46b99400f
Re-add playback nav
...
Re-add the ability to navigate back to the currently playing song. Now with a scroll!
2020-11-23 18:34:54 -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
c11882bc7b
Fix notification bug
...
Fix a bug where an incomplete notification will show if one changes the loop mode in PlaybackFragment.
2020-11-23 11:53:21 -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
d2350de12a
Optimize queue restore slightly
...
Reduce the amount of iterations the restoration process has to go through when restoring the queue by making it traverse albums and then album songs.
2020-11-21 11:13:40 -07:00
OxygenCobalt
d09ce20e02
Persist Queue
...
Implement some very unoptimized queue persistence, Ill have to make it better in the future but for now it works.
2020-11-20 20:59:39 -07:00
OxygenCobalt
da224ffda0
Fix persistence bugs with notification
...
Fix issues where the notification for Auxio will show up incomplete during the restore process.
2020-11-17 11:23:14 -07:00
OxygenCobalt
27777bf352
Add animation to BottomNavigationView nav
...
Add an animation to the navigation that occurs when an item from BottomNavigationView is selected.
2020-11-17 08:47:45 -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
212ffbf2c7
Fix persistence bugs
...
Fix some edge cases with the persistent PlaybackState restoration.
2020-11-15 20:07:40 -07:00
OxygenCobalt
6d809f4303
Implement persistence
...
Implement the ability for [most of] the playback state to persist even after the app's process has been killed.
2020-11-14 16:53:35 -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
604145fb69
Improve code slightly
...
Add some documentation and remove useless code/bugs.
2020-11-11 19:27:38 -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
b5552411b6
Add nav to playing song's album
...
Add the ability to navigate from CompactPlaybackFragment to the album where the current song is.
2020-11-08 15:39:18 -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
1cab11ba9c
Fix compatibility
...
Do some minor compatibility fixes for older versions of android.
2020-11-02 19:58:11 -07:00
OxygenCobalt
188d7e047f
Make Notification show currently played model
...
Make the playback notification show the currently played music model [e.g the genre/artist/album thats being played].
2020-11-01 19:58:20 -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
5da3fa866b
Refactor notification management
...
Remove PlaybackNotificationHolder and replace it with a util file that is easier to work with.
2020-11-01 13:58:47 -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
909cea01fa
Make PlaybackStateManager use millis
...
Make PlaybackStateManager use millis for the current position instead of seconds, in order to be more in line with the rest of the code.
2020-10-31 14:32:44 -06:00
OxygenCobalt
e00930cc5f
Add Playback Notification
...
Add a MediaStyle Notification for music playback.
2020-10-31 11:50:42 -06:00
OxygenCobalt
a4f55873ec
Add Audio Focus
...
Use the built-in ExoPlayer AudioFocus functionality to implement Audio Focus [hopefully].
2020-10-30 16:07:41 -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
ce96dd6e94
Extend Headset Functionality
...
Add callbacks for when rewind/close buttons are pressed on a headset, and when headsets are connected/disconnected.
2020-10-30 12:24:27 -06:00
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
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
f866e77ee4
Add parent ViewHolder
...
Add an base ViewHolder class so that there isnt as much repeated code.
2020-09-27 11:13:24 -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
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
f5d007267d
Remove sub-item sorting
...
Remove the sorting of the music models child items, its mostly redundant for now.
2020-09-22 20:18:18 -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
a81860bed2
Fix bug w/Artist Images
...
Fix a bug where the app will crash if it attempts to load the artist image for an artist that has no albums.
2020-09-19 18:02:11 -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
d7b9ec4281
Fix navigation bug
...
Fix a bug where pressing on multiple library items at once would cause a crash.
2020-09-09 19:15:39 -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
fe7557addb
Refactor RecyclerView files
...
Move Fragment-Specific adapters to their own files, keep the viewholders in the generic recycler package.
2020-09-09 16:58:53 -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
e59009a0fa
Update gradle build settings
...
Update build settings to remove useless libraries [AppCompat], add useful libraries [LeakCanary], and also enable minifying on the release build [Which hadnt been enabled before somehow].
2020-09-04 12:19:36 -06:00
OxygenCobalt
4b3285cef0
Change RecyclerView divider color
...
Change the RecyclerView divider color to not require any transparency changes through ThemeUtils.
2020-09-03 19:25:11 -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
d9dda08731
Move album art loading to Coil
...
Move the album art loading to Coil to decrease initial loading times.
2020-08-25 18:37:00 -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
f07542fd3a
Minor Logging/Structure changes
...
Switch logging to templates instead of concat, move MusicLoader/MusicSorter to their own package, rename GenreCompat to MusicUtils
2020-08-21 14:53:00 -06:00
OxygenCobalt
ef9d097dc3
Minor nullability/Logging changes
...
Remove nullables from all the music models, just so that theyre easier to work with, also update Logging at places.
2020-08-21 12:17:15 -06:00
OxygenCobalt
b1be2802cf
Rewrite Music Loading a g a i n
...
Rewrite the music loading for [hopefully] the final time, now with Artists/Albums/Media instead of just AudioColumns, improved genre loading, and easier to implement album-art. Hopefully this system will stick.
2020-08-21 11:51:07 -06:00
OxygenCobalt
160013bbe9
Add [Very hacky] genre support
...
Add a way to load genres! Except it creates duplicates. And requires creating like 20 music cursors. At least it works?
2020-08-21 09:43:22 -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
6508280900
Break up MusicRepository into seperate files
...
Remove the loading/sorting functions from MusicRepository and place them into their own files.
2020-08-19 11:14:20 -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
3134e313a3
Move MusicRepository initialization to coroutine
...
Move the init call to MusicRepostiory to a coroutine so that it doesnt stop the UI thread.
2020-08-18 15:33:59 -06:00
OxygenCobalt
21a110edb0
Heavily rewrite/refactor MusicRepository
...
Rewrite MusicRepository to perform all metadata calculations by themselves, also adding support for Genre loading & Album Art.
2020-08-18 15:22:12 -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