Commit graph

318 commits

Author SHA1 Message Date
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
0bcf228496
Version 1.1.0
Ready for Version 1.1.0 of Auxio.
2021-01-02 14:42:00 -07:00
OxygenCobalt
7fbf4d7fef
Refresh READMEs
Refresh all markdown/asset documents in preperation for 1.1.0
2021-01-02 14:29:36 -07:00
OxygenCobalt
7b0a69f8c0
Dont clear ImageLoader on recreation
Make it so that the ImageLoader is only refreshed when the configuration needs to be changed, instead of on every recreation.
2021-01-01 10:37:36 -07:00
OxygenCobalt
6c37ba7d3e
Optimize quality cover loading
Make the loading process for higher-quality covers far more efficent and elegant compared to the previous method.
2021-01-01 09:41:56 -07:00
OxygenCobalt
bc1992de4e
Remove rewind threshold setting
Remove the ability to customize the rewind threshhold, as I dont think its that useful in the long-term
2020-12-31 20:22:33 -07:00
OxygenCobalt
14fc47913e
Disable disk caching when using MediaStore
Since the MediaStore covers are already cached by the android system, disable the auto-caching that Coil uses to save space.
2020-12-31 19:29:38 -07:00
OxygenCobalt
39ba1c38ec
Add option to not load cover art
Add an option to not load cover art whatsoever.
2020-12-31 19:07:16 -07:00
OxygenCobalt
d7087fe0b1
Add option to ignore MediaStore covers
Add an option to ignore MediaStore covers and to get higher quality covers, at the cost of slower loading times.
2020-12-31 12:17:50 -07:00
OxygenCobalt
5b2e0dc0f4
Rewrite Audio Focus
Switch from the built-in exoplayer AudioFocus to a custom AudioFocus setup that supports ducking and auto-resumes after a short interuption.
2020-12-31 11:30:32 -07:00
OxygenCobalt
dfaffecbd3
Add playing indicators to GenreDetailFragment
Add an indicator that a song is playing from a specific genre in GenreDetailFragment.
2020-12-31 09:37:37 -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
38197344f6
Add playing indicator to ArtistDetailFragment
Add an indicator that an album is playing in ArtistDetailFragment.
2020-12-30 16:05:40 -07:00
OxygenCobalt
85a8241976
Re-add playing indicator to AlbumDetailFragment
Re-add the playing indicators to AlbumDetailFragment, while removing them from SongsFragment as I personally dont think they work there.
2020-12-30 13:43:52 -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
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
8a92108a4a
Update landscape functionality
Make some changes that differentiate how Auxio is displayed on phone vs. landscape devices.
2020-12-29 15:18:11 -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
98320fcd8d
Update scrolling
Remove the viscous interpolator and replace it with a variant of the default smooth scroller, dont like it as much but its less buggy.
2020-12-29 10:59:01 -07:00
OxygenCobalt
966adf7704
Refreash viewholder item codes
Fix the viewholder item codes so they actually make sense.
2020-12-29 09:27:45 -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
7a54b0a79f
Update markdown
Change some things in the ADDITIONS & README documents.
2020-12-27 15:59:14 -07:00
OxygenCobalt
501e40b2bf
Use dedicated audio renderer
Use a dedicated audio renderer to shrink APK size, and possible reduce battery/cache usage.
2020-12-25 21:39:49 -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
940746f248
Make state restore use names instead of ids
Make it so that PlaybackStateDatabase stores the item data for PlaybackState/QueueItems as strings instead of ids, as ids are too volitaile if the music library changes.
2020-12-24 11:30:23 -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
dc26d70088
Make broadcasts unique
Prevent broadcasts from Auxio builds being registered by other, different Auxio instances.
2020-12-20 12:59:29 -07:00
OxygenCobalt
e85bdd0643
Stop play/pause animation on PlaybackFragment
Prevent the play/pause button on PlaybackFragment from prematurely animating on creation, like CompactPlaybackFragment.
2020-12-20 10:04:29 -07:00
OxygenCobalt
79756f36c7
Version 1.0.0
The initial release of Auxio, a sensible and customizable music player for android.
2020-12-20 08:52:51 -07:00
OxygenCobalt
5deea0c11e
Finishing Touches
Do some final touch-ups with my README and ADDITIONS documents.
2020-12-20 07:56:15 -07:00
OxygenCobalt
d4d40c97ad
Fix compat issues
Fix some issues on older versions.
2020-12-19 15:43:07 -07:00
OxygenCobalt
f85bd85c92
Add contribution templates
Add contribution templates for this project.
2020-12-19 12:23:10 -07:00
OxygenCobalt
953e1291b6
Document code
Heavily document code that wasnt documented before.
2020-12-19 11:22:15 -07:00
OxygenCobalt
5d35dc8aa2
Fix info links
Fix links from AboutDialog to actually link to their intended locations.
2020-12-18 20:14:53 -07:00
OxygenCobalt
28692829ba
Add contribution guidelines
Add some contribution guidelines for this project.
2020-12-18 20:03:20 -07:00
OxygenCobalt
ed33813112
Add proper README
Add a proper readme and other documents for this project.
2020-12-18 17:15:57 -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
4933531ca3 Allow fragments to use member variable bindings
Create a binder delegate so that some fragments can use a binding as a member variable without nullability issues or memory leaks.
2020-12-16 19:36:34 -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
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