Commit graph

337 commits

Author SHA1 Message Date
OxygenCobalt
e7d3dd0a98
deps: upgrade deps
Dependency Upgrade Chore:
Fragment -> 1.3.5
ExoPlayer -> 2.14.1
RecyclerView -> 1.2.1
2021-06-16 13:00:52 -06:00
OxygenCobalt
58eee7a891
playback: improve mediasession reliability
Fix some issues with PlaybackSessionConnector that resulted in the
position being stuck when a new song was played, alongside simplifying
the connector code to an extent.
2021-06-01 10:44:37 -06:00
OxygenCobalt
1ddff8c6d3
playback: create custom mediasession connector
Create a custom session connector that connects between
PlaybackStateManager and MediaSession. The previous session connector
that was part of the exoplayer library turned out to cause bugs that
could cause the covert art not to show on the lock screen and to not
be recognized as proper player controls. This new connector
[once complete] should fix these issues.
2021-05-30 16:42:45 -06:00
OxygenCobalt
cd930554bf
deps: update androidx/kotlin
Upgrade deps chore:
core -> 1.5.0
fragment -> 1.3.4
kotlin -> 1.5.10
2021-05-30 16:42:13 -06:00
OxygenCobalt
55dfc681ad
Upgrade dependencies
Routine dependency upgrade chore:

Android Gradle Plugin -> 4.2.1
ExoPlayer -> 2.14.0
2021-05-17 18:39:03 -06:00
OxygenCobalt
ec3e388071
Version 1.4.0
Ready for version 1.4.0 of Auxio.
2021-05-09 14:41:42 -06:00
OxygenCobalt
0ba1048ead
Fix problems from plugin update
Remove the fixAnimInfoLeak hack since it seems that issue was fixed in the new android plugin, and once again modify with the styles to get the dialogs to use the correct style again.

Another day another magic flag I need to fiddle with to get this busted android app working. This platform sucks so much.
2021-05-08 08:38:09 -06:00
OxygenCobalt
7c457d5773
Update dependencies
Update kotlin to 1.5.0 and the android gradle plugin to 4.2.0.
2021-05-05 20:11:48 -06:00
OxygenCobalt
0daca207b0
Fix bug with playing item highlighting
Fix a problem where the wrong playing item would be highlighted if the names of the items were identical.
2021-05-02 18:08:39 -06:00
OxygenCobalt
c5c16dfdce
Add duration to artist songs
Add a duration TextView to the artist song item.
2021-04-27 06:13:14 -06:00
OxygenCobalt
029a4b1ff6
Refactor margin/padding
Do two things to the margin and padding system:
- Remove the redundant padding/margin dimens and replace it with a unified "spacing" dimen namespace
- Make most margin and padding dimens follow the divisible-by-8 rule in material design
2021-04-25 14:59:21 -06:00
OxygenCobalt
39f26b4feb
Update dark mode grey accent
Update the grey accent on dark mode to improve visibility.
2021-04-25 14:28:28 -06:00
OxygenCobalt
2d4ddc0460
Upgrade gradle to 7.0
Update the gradle version to 7.0, because I can.
2021-04-16 19:59:34 -06:00
OxygenCobalt
90de930377
Fix queue update issue
Fix a bug where the queue would not be updated when the queue looped around to the beginning.
2021-04-14 14:30:32 -06:00
OxygenCobalt
732b89a0b1
Update dependencies
Update multiple dependencies to newer versions:
RecyclerView 1.2.0 -> 1.3.0
Coil 1.1.1 -> 1.2.0
Media 1.2.1 -> 1.3.0
Navigation 2.3.4 -> 2.3.5
ExoPlayer 2.13.2 -> 2.13.3

This commit also removes all dependence on JCenter. Woohoo.
2021-04-14 11:48:05 -06:00
OxygenCobalt
eb56068f80
Fix database issues
Fix some problems where PlaybackStateDatabase wouldn't downgrade [Problem when hopping between dev builds with db changes] and with assertBackgroundThread being public.
2021-04-03 11:08:27 -06:00
OxygenCobalt
0305eb0beb
Standardize settings entirely
Update the structure of the settings system to do several things:
- Finally use int preferences everywhere instead of the mix of strings & ints from before
- Create a new preference named `IntListPreference` that enables the use of integers in list preferences
- Actually centralize array values and default values into a single integers xml
- Isolate all the new migration code into a single file
- Refreshed the int tables used by data objects [DB version has been updated, will not update when other changes]

The only preference not migrated is doAtEnd since that is being planned to be retired in a future LoopMode update.
2021-04-03 10:53:16 -06:00
OxygenCobalt
53ec1aa8a5
Improve dialog layouts
Improve the dialog layouts so that only the recyclerview scrolls when it cannot fit instead of the entire layout being forced to scroll.
2021-03-26 15:24:04 -06:00
OxygenCobalt
076d2b3d7e
Update build configuration
Update the build config to further optimize the app
- Removed the browser dependency [-10k]
- Enabled resource minification [-100k]
2021-03-26 10:54:21 -06:00
OxygenCobalt
b65814fdbd
Redo blacklist dialog
Completely refactor the blacklist dialog to not only use the Storage Access Framework, but also to completely eliminate the material dialogs dependency.
2021-03-26 09:54:48 -06:00
OxygenCobalt
194bcfcd05
Fix more fast-scroll issues
Fix two more fast scrolling issues:
- Fixed size of the view would cut off larger fonts
- Thumb would briefly show when the view would initially start

This custom view was a mistake, but anything for less kbs.
2021-03-25 09:24:40 -06:00
OxygenCobalt
ec78684c25
Version 1.3.3
Ready for version 1.3.3 of Auxio.
2021-03-23 20:01:18 -06:00
OxygenCobalt
0a18108419
Unify fast-scroller
Completely unify the fast scroll indicators and the fast scroll thumb into a single view.
2021-03-23 14:35:32 -06:00
OxygenCobalt
cc3d4fb9c6
Explitly declare dependencies
Explicitly declare some dependencies that were originally implicit, resolving some future build issues.
2021-03-23 10:12:24 -06:00
OxygenCobalt
ffd3275ca5
Resolve fast-scroll resource issues
Accidentally forgot to move the resources from the fast scroll library, so here it is.
2021-03-22 16:17:16 -06:00
OxygenCobalt
02fed16c31
Roll custom fast scroller
Drop the old IndicatorFastScroll library from Auxio and replace it with a hyper-specialized variant designed specifically for Auxio.
This not only eliminates a source of hacks/problems/bloat, it also removes a dependency on jcenter (Which is shutting down soon)
2021-03-22 16:00:12 -06:00
OxygenCobalt
3484b8a0bf
Update markdown
Update markdown in preperation for 1.3.2
2021-03-22 09:41:09 -06:00
OxygenCobalt
824ac56bfa
Update libraries
Update libs to new versions, including the nav framework from 1.0.0 -> 2.3.4.
2021-03-20 19:54:41 -06:00
OxygenCobalt
aa0c978a65
Add blacklist UI
Add a UI for the blacklist functionality.
2021-03-13 17:07:42 -07:00
OxygenCobalt
fab377eba4
Improve genre compatibility
Add a new range of Winamp 5.6+ genres to further improve compatibility with old genres.
2021-03-05 11:20:22 -07:00
OxygenCobalt
5de45eea0e
Version 1.3.1
Ready for version 1.3.1 of Auxio.
2021-02-21 08:19:05 -07:00
OxygenCobalt
1d1da1fac2
Update exoplayer
Bump exoplayer to 2.12.3
2021-02-17 10:39:15 -07:00
OxygenCobalt
1d8aeb16c2
Further streamline coil usage
Simplify how coil is used even further.
2021-02-16 09:27:41 -07:00
OxygenCobalt
c41c3be4c5
Update changelogs
Re-add the changelog for 1.2 [Albeit below 500 chars] and also add a preliminary changelog for 1.3. Update the version code to 2 as well.
2021-02-16 07:27:07 -07:00
OxygenCobalt
2071519414
Increment Version Code [Resolves #2]
Actually increment the version code, which was something I didnt know I had to do. This resolves issue #2.
2021-02-15 17:32:53 -07:00
OxygenCobalt
6a273ab34d
add hu [Hungarian] translations
Add partial translations for Hungarian.
2021-02-14 17:07:37 -07:00
OxygenCobalt
62572e7e52
Add po [Polish] translations
Add partial translations for Polish
2021-02-13 16:41:03 -07:00
OxygenCobalt
2b24d6661e
Update libraries
Update Coil/Android libraries
2021-02-13 10:37:34 -07:00
OxygenCobalt
55af5790b8
Reformat code/markdown
Make some changes to the code formatting & the markdown documents
2021-01-30 10:25:51 -07:00
OxygenCobalt
3851c59f4b
Update UI code
Make some misc changes to the code that runs behind the UI.
2021-01-24 11:48:55 -07:00
OxygenCobalt
a5100b31ab
Version 1.2.0
Ready for version 1.2.0 of Auxio.
2021-01-19 17:10:12 -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
0bcf228496
Version 1.1.0
Ready for Version 1.1.0 of Auxio.
2021-01-02 14:42:00 -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
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
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
28692829ba
Add contribution guidelines
Add some contribution guidelines for this project.
2020-12-18 20:03:20 -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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
a72cb48c71 Add playback fragment
Add a fragment to show songs that are currently being played.
2020-10-05 15:54:53 -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
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
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
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
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
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
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
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
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
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
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
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