Commit graph

337 commits

Author SHA1 Message Date
Alexander Capehart
d5086fc3e6
Merge branch 'media3' into dev 2024-05-18 22:16:01 -06:00
Alexander Capehart
0f691ee65b
tasker: remove
Can't do this right now, lifecycle is broken.
2024-05-18 17:35:04 -06:00
Alexander Capehart
830ac34b67
build: bump to 3.5.0-dev 2024-05-17 20:08:04 -06:00
Alexander Capehart
e1e1e63dbb
playback: basic tasker plugin
No idea if this works. Should be helpful for testing more service
independence stuff.
2024-05-17 19:02:08 -06:00
Alexander Capehart
b19283002f
build: update deps 2024-04-17 22:07:38 -06:00
Alexander Capehart
7e07c11d3a
build: update deps 2024-04-12 14:01:24 -06:00
Alexander Capehart
94e29c0a1b
build: upgrade deps 2024-04-08 21:14:22 -06:00
Alexander Capehart
04ea6834fb
playback: rearchitecture around media3 (prototype)
Nowhere near complete in any capacity.
2024-04-07 23:25:53 -06:00
Alexander Capehart
6491dddc2b
build: bump to 3.4.3
Bump to version 3.4.3 (44).
2024-04-07 23:25:53 -06:00
Alexander Capehart
2f36fcfb45
build: bump to 3.4.2
Bump to version 3.4.2.
2024-04-07 23:25:53 -06:00
Alexander Capehart
dd118b4529
build: bump to 3.4.1
Bump to version 3.4.1 (42).
2024-02-24 14:38:01 -07:00
Alexander Capehart
80e08fd74a
build: bump to 3.4.0
Bump to version 3.4.0 (41).
2024-02-17 12:59:43 -07:00
Alexander Capehart
40fdf59a66
build: bump to 3.4.0-dev
Decided dev is a better suffix.
2024-01-21 20:04:45 -07:00
Alexander Capehart
d0817dd83b
build: bump to 3.4.0
Bump to a testing version of 3.4.0.
2024-01-21 20:03:27 -07:00
Alexander Capehart
8dc0be4a52
all: cleanup 2024-01-21 20:01:26 -07:00
Alexander Capehart
4f42695812
info: bump to 3.3.3
Bump the app version to 3.3.3 (40).
2024-01-14 11:19:41 -07:00
Alexander Capehart
3d1fa6e4ff
info: bump to 3.3.2
Bump to version 3.3.2 (39).
2024-01-14 09:58:42 -07:00
Alexander Capehart
dea0ee1432
info: bump to 3.3.1
Bump to version 3.3.1 (38).
2024-01-13 21:14:26 -07:00
Alexander Capehart
399237d2fe
build: bump to 3.3.0
Bump the app version to 3.3.0 (36).
2024-01-01 20:37:05 -07:00
Alexander Capehart
08ca71b7b0
home: make playlist add a speed dial
Add a speed dial menu that allows you to create a new playlist or
import a playlist from elsewhere.
2023-12-19 15:11:01 -07:00
Alexander Capehart
b9bcdf4a51
build: fix ndk 2023-12-16 14:33:17 -07:00
Alexander Capehart
f4db2fcd80
build: use ndk r25
Apparently GH actions doesn't like NDK r26 yet.
2023-12-16 14:26:52 -07:00
Alexander Capehart
953b92108a
build: update to ndk r26
Builds, unsure if it will cause any signifigant changes.
2023-12-16 14:21:14 -07:00
Alexander Capehart
7a90e7eef1
build: update deps
Will need to put some work into updating some others
2023-12-16 13:51:49 -07:00
Alexander Capehart
b1c48f13fd
build: update agp
AGP -> 8.2.0

Requires me to enable Java 8 desugaring for some...reason.
2023-12-16 11:04:01 -07:00
Alexander Capehart
917e6c0737
build: bump to v3.2.1
Bump to version 3.2.1 (35).
2023-11-12 10:00:35 -07:00
Alexander Capehart
73ef51c8be
build: update deps 2023-10-16 20:06:50 -06:00
Alexander Capehart
ad672ed919
music: add cache repository test
Add tests for the cache repository and cache data structure.
2023-08-18 19:34:23 -06:00
Alexander Capehart
9a67a0d539
util: use timber for logging
This will make testing app components a lot easier since it removes the
logging dependency used in most shared objects.
2023-08-18 15:55:20 -06:00
Alexander Capehart
59e42acad9
test: re-implement tests
Reimplement the tests of music modeling, and re-enable the automatic
test workflow in GH actions.

I'm actually going to work on reimplementing these.
2023-08-18 11:54:47 -06:00
Alexander Capehart
12bc46e210
build: bump to 3.2.0
Bump Auxio to version 3.2.0 (35).
2023-08-16 19:43:59 -06:00
Alexander Capehart
b43e4695c0
build: update deps
fragment: 1.6.0 -> 1.6.1
preferences: 1.2.0 -> 1.2.1
room: 2.6.0-alpha02 -> 2.6.0-alpha03
material: 1.10.0-alpha05 -> 1.10.0-alpha06
media: 1.1.0 -> 1.1.1
2023-08-16 15:11:52 -06:00
Alexander Capehart
68a9ce7b09
build: update deps
I didn't fully keep track of what I did this time, mostly since I was
busy wrangling some of the insane build issues from this gradle update.
2023-07-25 14:35:26 -06:00
Alexander Capehart
97816e349a
build: update deps
Media3 -> 1.1.0. Update project info accordingly to use Media3
ExoPlayer instead of standalone ExoPlayer.
Nav -> 2.6.0 once again, probably without the absurd bugs now
Kotlin -> 1.9.0
Kotlin Coroutines -> 1.7.2
LeakCanary -> 2.12
2023-07-11 10:30:41 -06:00
Alexander Capehart
640c01a257
Merge branch 'master' into dev 2023-07-04 22:39:58 -06:00
Alexander Capehart
9aafcda599
build: bump to 3.1.4
Bump Auxio to version 3.1.4 (34).
2023-07-04 21:54:37 -06:00
Alexander Capehart
0cd59ce4e0
all: redocument navigation system
Add documentation for the new navigation system, which largely
completes this change.
2023-07-04 21:44:34 -06:00
Alexander Capehart
fcbce0fb98
ui: fix issues from new nav
Fix miscellanious issues from the flattened nav graph system.

Nowhere near enough, largely counting on the planned bottom sheet menus
to eventually be able to ignore most of these issues.
2023-06-27 20:05:04 -06:00
Alexander Capehart
4840742c4e
build: bump to 3.1.3
Bump to version 3.1.3 (33).
2023-06-26 18:01:35 -06:00
Alexander Capehart
8bcc86c972
build: fix redundant recipes 2023-06-20 22:17:08 -06:00
Alexander Capehart
0042f42ced
playback: fix queue sheet scroll behavior
Fix an issue where an upwards nested scroll past the top of the queue
list would not actually collapse the sheet.

This was apparently caused by something introduced in recyclerview
1.3.0-alpha01. No idea why. Roll back to the working version.
2023-06-20 21:51:18 -06:00
Alexander Capehart
8c604dae68
Merge branch 'api34' into dev 2023-06-20 16:58:48 -06:00
Alexander Capehart
c580d44466
build: bump to version 3.1.2
Bump the build version to 3.1.2 (32).
2023-06-15 19:33:47 -06:00
Alexander Capehart
321bbcf03f
all: fix api 34 crashes
Fix general API 34 crashes that I could notice immediately.

Can really test any further since the API 34 AVDs are currently potatos
running at 3 FPS for some reason.
2023-06-15 13:32:05 -06:00
Alexander Capehart
6b43a65e56
build: update to api 34
Update the app to target API 34, alongside all dependencies that expect
such.

This finally fixes some long-standing issues in newer version of MDC,
thus allowing me to remove the divider backport as well.

More work is required for predictive back (don't even know where I
start with that...), but this is a good start.
2023-06-15 13:06:17 -06:00
Alexander Capehart
5ab46ba5d1
music: add userlibrary error returns
Make UserLibrary return some kind of error indicator if something
fails.

I don't have the framework for how the app will display these errors
just yet.
2023-06-07 20:10:07 -06:00
Alexander Capehart
c59074a4fe
build: bump to 3.1.1
Bump to version 3.1.1 (31).
2023-06-02 14:56:05 -06:00
Alexander Capehart
5f70ce8870
build: drop api 21-23 support
Drop support for Lollipop and Marshmallow.

I legit cannot build for them anymore. There's some insane dependency
tangle between Kapt and Room that makes it impossible to use anything
BUT Java 17 (maybe Java 11). If I use Java 17 or Java 11, suddenly the
whole app crashes since Lollipop and Marshmallow only support some weird
Java 8/11 chimera abomination. This issue has persisted probably since
the move to Java 11, making it basically unusable anyway, so at this point
just cut the charade and officially drop support.
2023-06-01 10:52:44 -06:00
Alexander Capehart
bf40516ddd
build: update deps
ViewPager -> 1.1.0-beta02
Activity -> 1.7.2
2023-05-28 20:14:22 -06:00
Alexander Capehart
21a6b97bfa
build: update deps
AGP -> 8.0.2
Coil -> 2.4.0
2023-05-25 12:59:45 -06:00
Alexander Capehart
1e9604be54
build: bump to 3.1.0
Bump Auxio to version 3.1.0.
2023-05-21 19:48:32 -06:00
Alexander Capehart
049d2bc152
build: update deps 2023-05-20 20:14:00 -06:00
Alexander Capehart
5bf5687ccf
build: update agp to 8.0.1 2023-05-12 16:30:18 -06:00
Alexander Capehart
e68cc4d620
build: update deps
Update a huge amount of dependencies. Forgot specifically what I
did.
2023-05-11 15:42:47 -06:00
Alexander Capehart
c1e4d0f10e
all: switch to media3
Move everything over to the media3 library instead of ExoPlayer.

Media3 is worse in every way. It labels half of ExoPlayer as "unsafe"
because it thinks that it's garbage uwu "helpful" abstractions are
perfectly servicable when in reality they are a pile of garbage filled
with insane performance issues, race conditions, and a seeming lack
of awareness to the sheer absurdity of android's media APIs. It is
absolutely horrible, but ExoPlayer will stop being maintained soon
and I will have to move over for further maintenance.
2023-05-10 17:47:31 -06:00
Alexander Capehart
c6c3816bfc
Merge branch 'master' into dev 2023-05-10 17:09:06 -06:00
Alexander Capehart
04ef09dd94
build: update deps
Time to catch up on dependency updates after working non-stop for a
month and a half.
2023-05-10 14:00:36 -06:00
Alexander Capehart
e6b00b1025
build: bump to 3.0.5
Bump the version to 3.0.5.
2023-04-16 17:30:51 -06:00
Alexander Capehart
41653a6d8a
build: bump to 3.0.4
Bump to version 3.0.4.
2023-03-24 08:30:13 -06:00
Alexander Capehart
abeac90735
image: use asdeferred
Use asDeferred with the ExoPlayer image parser.

This is much better compared to using withContext.
2023-03-19 16:19:29 -06:00
Alexander Capehart
f0d62e8176
deps: update deps
Lifecycle -> 2.6.0
Spotless -> 6.17.0 (Allows file name field to be used)
2023-03-17 15:13:11 -06:00
Alexander Capehart
6226b0a830
build: remove junk files in apk
Remove build junk from the APK.

Removes another ~100kb or so.
2023-03-04 22:11:55 -07:00
Alexander Capehart
4f7ed359ae
deps: update
kotlin -> 1.8.10
AGP -> 7.4.2
2023-03-04 22:11:35 -07:00
Alexander Capehart
83c5b85424
deps: update
Spotless -> 6.15.0
Core -> 1.9.0
2023-02-24 21:57:01 -07:00
Alexander Capehart
f190e6455a
Revert "build: use split apks"
Honestly, changing the version code schema is far too much of a hassle
for these to be reasonable.

This reverts commit 055d25e3e1.
2023-02-20 22:02:15 -07:00
Alexander Capehart
055d25e3e1
build: use split apks
Build multiple architecture-specfic APKs alongside the single "fat"
APK.
2023-02-20 20:53:54 -07:00
Alexander Capehart
3b43c3ea5c
release: bump to 3.0.3
Bump to version 3.0.3 (27).
2023-02-20 18:47:32 -07:00
Alexander Capehart
192b917904
music: actually remove dependence on dcoders
Actually remove dependence on the non-audio decoders in the music
(and image) modules.
2023-02-19 13:08:44 -07:00
Alexander Capehart
e515534023
deps: fix stripping of ffmpeg extension
Fix an issue where stripping of the FFMpeg extension would not occur,
as AGP would try to default to an entirely different NDK version.

Eventually I'm considering just vendoring the FFMpeg extension outright
once I can upstream some of the ExoPlayer patches.
2023-02-19 12:04:15 -07:00
Alexander Capehart
8b6545ca10
playback: specify audio extractors only
Only specify audio extractors to reduce APK size.
2023-02-19 10:59:28 -07:00
Alexander Capehart
458f2a5d84
deps: upgrade deps
ExoPlayer -> 2.18.3
Dagger -> 2.45
Coil -> 2.2.2
AGP -> 7.4.1
Gradle -> 8.0
2023-02-19 10:24:54 -07:00
Alexander Capehart
9b7494798a
deps: delegate ndk to ffmpeg ext
Delegate the NDK to the FFMpeg extension.

Should finally make this usable with github actions.
2023-02-14 20:44:16 -07:00
Alexander Capehart
efe03cac8c
actions: try to fix workflow
Try to fix workflow to no avail. Will need to do more testing later.
2023-02-13 22:27:07 -07:00
Alexander Capehart
399942e7e5
deps: move exoplayer build into gradle/submodules
Move the ExoPlayer build process into gradle by leveraging some shell
scripting and submodule magic.

This more or less kills all windows compatibility, but that is fine.
Who even develops on windows?
2023-02-13 21:40:17 -07:00
Alexander Capehart
213409924b
playback: switch to ffmpeg extension
Switch to the FFMpeg ExoPlayer extension, which should enable support
for ALAC while also retaining support for FLAC below Android 8.
2023-02-13 09:06:45 -07:00
Alexander Capehart
1826ae3215
deps: update to mdc 1.8.0-alpha01
FINALLY update to MDC 1.7.0. After over half a year.

I have been continually blocked by doing this due to this absurd ripple
bug that was so continually frustrating. Today, I finally figred out
how to hack a fix in by using R E F L E C T I O N and manually
disabling the bugged code path since google apparently can't be bothered
to fix it.

Now, you might wonder why I didn't update to 1.8.0. That is because
there is ANOTHER RIPPLE BUG. THIS TIME WITH THE TAB LAYOUT. AND ONLY IF
IT'S IN A COLLAPSING TOOLBAR LAYOUT. Can't wait to finally use the new
1.8.0 features in December!
2023-02-12 21:45:47 -07:00
Alexander Capehart
dd2017c510
image: use di w/coil
Use dependency injection with Coil.

This allows me to use the coil-base artifact which should remove a bit
of superfluous dexcode, assuming dagger uses less. It probably doesn't.
2023-02-12 19:07:00 -07:00
Alexander Capehart
ccbd77918b
all: add di framework
Add dagger/hilt dependency injection.

Does nothing right now, will actually add modules later.
2023-01-29 19:55:53 -07:00
Alexander Capehart
2413edfd5e
deps: update to java 11
Update to Java 11 instead of Java 8.

Seems to work fine.
2023-01-29 17:58:41 -07:00
Alexander Capehart
f8d1a880d4
all: post-refactor cleanup 2023-01-29 17:45:51 -07:00
Alexander Capehart
f27215a4be
playback: use room for persistence
Finally give up and use Room to persist the playback state.

This should make dependency injection much easier, and the
implementation isn't exactly the *worst*, as I was already using
"raw" data structures for the old queue database.
2023-01-23 12:45:55 -07:00
Alexander Capehart
691eed344e
release: bump to 3.0.2
Bump the app version to 3.0.2 (26).
2023-01-21 16:03:30 -07:00
Alexander Capehart
90843918d6
settings: use manual nav graph
Manually use our own navigation graph in the new settings view.

This avoids a crash that occurs with the default preferences navigation
(on some devices) where the differing app IDs between debug and release
makes it so that the fragments cannot be found. Because you know.
Android.
2023-01-20 18:38:10 -07:00
Alexander Capehart
78e3739a68
testing: add unit test framework
Add junit/espresso alongside a few basic tests.

I am nowhere near close to being "done" with this at all.
2023-01-05 12:27:37 -07:00
Alexander Capehart
b3b7ed524c
release: bump to 3.0.1
Bump the version to 3.0.1 (25).
2023-01-02 19:05:57 -07:00
Alexander Capehart
affe5c482b
all: reformat code 2022-12-30 11:39:28 -07:00
Alexander Capehart
c8ef1a5661
info: update shots
Update app screenshots in preparation for 3.0.0.
2022-12-29 09:53:58 -07:00
Alexander Capehart
cce7b766d7
all: reformat code
Reformat all project code
2022-12-26 19:59:27 -07:00
Alexander Capehart
c32b31cd2e
build: upgrade deps
Kotlin -> 1.7.21
ExoPlayer -> 2.18.2
Fragment -> 1.5.5
2022-12-16 08:48:32 -07:00
Alexander Capehart
a3772b65c0
ui: re-add more button
Re-enable the more button in preparation for multi-select.
2022-11-22 10:58:41 -07:00
Alexander Capehart
086f7836bd
all: cleanup
General cleanup
2022-11-16 09:05:51 -07:00
Alexander Capehart
a7bd48b64a
Merge branch 'master' into dev 2022-11-16 08:46:23 -07:00
Alexander Capehart
6b1f3e4567
Version 2.6.4
Ready for version 2.6.4 of Auxio.
2022-11-16 08:20:37 -07:00
Alexander Capehart
42aba9e556
music: add artist count to genres
Add an artist count to genres.

This should make genres more unique from future playlists. A list of
artists will be added later on.
2022-11-12 19:18:48 -07:00
Alexander Capehart
60e54abfe9
ui: fix library updates in ui
Fix issues where the UI failed to update with library changes in the
search/home view.
2022-10-18 19:26:24 -06:00
Alexander Capehart
5e0f778daf
image: unify cover settings
Unify the "Show Covers" and "Ignore MediaStore Covers" settings under an
new "Album covers" setting.

This will make it easier to extend to new forms of album cover
collection.
2022-09-26 13:47:43 -06:00
Alexander Capehart
f3c14b81cb
all: tweak package structure
Try to tweak the package structure to be more coherent.
2022-09-25 20:24:19 -06:00
Alexander Capehart
3e73cd8080
music: add caching
Add caching of already-parsed tag data.

This greatly reduces loading times when the music library has not
changed. This completes the music loader in it's entirety now.

Resolves #207.
2022-09-25 20:02:44 -06:00
Alexander Capehart
5c76838f69
build: upgrade deps
Upgrade the dependencies I can without breaking the app:
core -> 1.9.0
activity -> 1.6.0
fragment -> 1.5.3
nav -> 2.5.2
2022-09-23 10:35:16 -06:00
Alexander Capehart
06d6495dcd
all: lint with ktlint
Just lint with ktlint. It has better import checking functionality.
2022-09-08 21:55:05 -06:00