Commit graph

2080 commits

Author SHA1 Message Date
Alexander Capehart
463b02f871
service: remove external media3 support 2024-08-29 20:59:46 -06:00
Alexander Capehart
a29f747341
music: build session menus from resources 2024-08-29 16:39:07 -06:00
Alexander Capehart
b43dbb3e89
playback: define menu options 2024-08-29 09:55:02 -06:00
Alexander Capehart
bf50867b37
all: various cleanup 2024-08-29 09:31:27 -06:00
Alexander Capehart
889713d5e0
playback: improve queue item setup
- Use same media description code
- Make queue removal more reliable
2024-08-29 09:30:24 -06:00
Alexander Capehart
130d30c70d
playback: immprove search error cases 2024-08-28 16:38:39 -06:00
Alexander Capehart
a712a773b0
playback: correctly voice search for music
Completely misunderstood how "focus" worked.
2024-08-28 16:35:30 -06:00
Alexander Capehart
b2e7c1eb50
playback: basic play from search functionality 2024-08-28 15:52:42 -06:00
Alexander Capehart
fda4548515
music: apply descriptions everywhere 2024-08-28 15:05:26 -06:00
Alexander Capehart
cce33e1414
playback: improve published playback metadata 2024-08-28 14:09:27 -06:00
Alexander Capehart
ba5bccaa37
playback: remove specific queue item in android auto 2024-08-28 13:58:46 -06:00
Alexander Capehart
3dea060a28
all: cleanup 2024-08-28 13:29:48 -06:00
Alexander Capehart
44f9617307
playback: add missing session actions 2024-08-28 13:29:24 -06:00
Alexander Capehart
916c3c46df
playback: split up mediasession interface and holder 2024-08-28 13:26:52 -06:00
Alexander Capehart
f1e1152e21
music: make compat more menu
This way we can make sure that external providers never truncate our
MediaItem count.
2024-08-28 10:13:36 -06:00
Alexander Capehart
e23ac33b85
music: reformat 2024-08-28 09:21:23 -06:00
Alexander Capehart
66c31f4318
playback: apply missing extras 2024-08-28 09:21:03 -06:00
Alexander Capehart
30b3603cf1
music: move search/notif out of service fragment
Generally cleaner this way
2024-08-28 08:42:59 -06:00
Alexander Capehart
f30c426c77
music: apply headers to all mediaitems 2024-08-27 16:52:22 -06:00
Alexander Capehart
35646d6a2d
playback: re-add headers to search 2024-08-27 16:51:31 -06:00
Alexander Capehart
f0dda6c43e
all: cleanup 2024-08-27 16:48:56 -06:00
Alexander Capehart
924e3d1801
music: re-add search browsing 2024-08-27 16:46:44 -06:00
Alexander Capehart
b1e871c6e1
music: re-add music browsing 2024-08-27 16:46:34 -06:00
Alexander Capehart
69070e7b13
playback: port basic media descriptions 2024-08-27 10:33:54 -06:00
Alexander Capehart
e43f55bc78
service: drop media3 session entirely 2024-08-26 17:53:03 -06:00
Alexander Capehart
c1e5adbc44
media: unwind tightly bound action handling 2024-08-23 13:55:49 -06:00
Alexander Capehart
d91343070a
build: bump to 3.5.3
Bump the version to 3.5.3 (49)
2024-08-23 13:44:00 -06:00
Alexander Capehart
1a490eb7b4
build: bump ndk to r26d 2024-08-23 13:01:15 -06:00
Alexander Capehart
e1f75bb337
build: bump ndk to r26b 2024-08-22 10:18:45 -06:00
Alexander Capehart
2c976374f3
tasker: use translated tasker action description 2024-08-21 13:58:19 -06:00
Alexander Capehart
cc7f9ba539
tasker: fix player main thread bugs on restore 2024-08-21 13:58:01 -06:00
Alexander Capehart
27e378ae2a
tasker: give start action real name
Instead of the template.
2024-08-21 13:57:40 -06:00
Alexander Capehart
b8a652d6f2
tasker: fix activity 2024-08-21 13:57:17 -06:00
Alexander Capehart
ea9c5d3c88
tasker: add start action
Add a tasker action to start AuxioService in a HIGHLY limited ammner.

Resolves #754.
2024-08-17 18:21:39 -06:00
Alexander Capehart
3fa5628a1e
playback: introduce foreground-safe restores
- Allow DeferredPlayback.RestoreState to force-start playback
- Allow DeferredPlayback.RestoreState to specify a fallback action
guaranteed to succeed
2024-08-17 18:10:55 -06:00
Alexander Capehart
aa140bebaa
all: reformat 2024-08-14 18:58:59 -06:00
Alexander Capehart
dad0d75d97
music: avoid foreground crash from early loading 2024-08-14 18:53:04 -06:00
Alexander Capehart
67e51ab54c
widgets: decrease bitmap reduction 2024-08-14 18:49:56 -06:00
Alexander Capehart
ba46895ad1
widget: increase bitmap reduction 2024-08-14 18:49:48 -06:00
Alexander Capehart
d10f84efa8
widgets: move size fixing into a transform 2024-08-14 18:49:37 -06:00
Alexander Capehart
7a00c3c6aa
music: parse singular spaced artist tags
On ID3 and Vorbis.
2024-08-14 18:47:51 -06:00
Alexander Capehart
cf887cacb7
build: bump to 3.5.2
Bump to version 3.5.2 (48).
2024-07-10 06:54:39 -06:00
Alexander Capehart
24dbd04ca6
music: fix broken name comparator 2024-07-10 06:51:32 -06:00
Alexander Capehart
a6716293cd
music: reformat 2024-07-03 21:55:54 -06:00
Alexander Capehart
03af372357
build: bump version to 3.5.1
Bump to version 3.5.1 (47).
2024-07-03 21:54:19 -06:00
Alexander Capehart
baaf30ff2f
list: add name sort fallback 2024-07-03 21:45:54 -06:00
Alexander Capehart
c761544eb7
list: fix sort regressions 2024-07-03 20:41:47 -06:00
Alexander Capehart
4c92ac0f85
list: dont abuse comparators for sort
Likely causing crashes with how they are set up.
2024-06-29 19:25:59 -06:00
Alexander Capehart
c8fa389267
music: add stack trace to async load task error 2024-06-28 20:23:29 -06:00
Alexander Capehart
e831fbc773
build: bump to 3.5.0
Bump the version to 3.5.0 (46).
2024-06-20 22:24:19 -06:00
Alexander Capehart
296d9c3ca3
music: disable perceptual cover art keying
Too slow, need to aggressively optimize the music loader before even
THINKING about this, and if anything likely defer it.
2024-06-20 21:54:49 -06:00
Alexander Capehart
d27e714ce6
Merge branch 'music-fixes' into 3.5.0 2024-06-20 21:08:58 -06:00
Alexander Capehart
5861d1db87
music: use both ogg/mp3 style mb tags at once
Apparently both can exist on both types of files, and grouping will
break as a result due to MBID mismatch.
2024-06-13 19:50:53 -06:00
Alexander Capehart
96d4a84f52
playback: fix parent restore
A single missed savedState access blew up parent restore silently, and
in some other cases with non-destructive queue restores would also not
restore the parent.
2024-06-12 20:32:32 -06:00
Alexander Capehart
5a36cfee67
music: disable timeouts
This isn't working right now due to how LONG it takes to actually load
images.
2024-06-12 19:12:20 -06:00
Alexander Capehart
ba0d2cd879
playback: add tab icons 2024-06-09 20:25:33 -06:00
Alexander Capehart
4f71dba90e
playback: fix various android auto issues
- Broken queue
- Unusable item details
2024-06-09 19:43:08 -06:00
Alexander Capehart
a9e7ae398c
playback: fix service memory leak 2024-06-09 16:52:27 -06:00
Alexander Capehart
cff700231e
playback: fix android auto queue crash 2024-06-09 16:52:16 -06:00
Alexander Capehart
dbe7bdf1c3
music: fix m3u volume processing 2024-06-09 16:50:31 -06:00
Alexander Capehart
d117f16081
image: prefer exoplayer over aosp covers
Will actually handle files with multiple covers. Could lead to more
performance concerns, but that's also the same with AOSP too.
2024-06-09 13:13:54 -06:00
Alexander Capehart
b0703b4d0e
playback: fix widget not resetting on service end 2024-06-08 21:44:48 -06:00
Alexander Capehart
111cb9688f
tasker: completely remove 2024-06-08 21:44:15 -06:00
Alexander Capehart
643defd9e4
playback: fix play song by itself
Accidental misup led to it playing from all songs instead
2024-06-08 19:21:06 -06:00
Alexander Capehart
d906b87d76
all: reformat 2024-06-08 19:20:18 -06:00
Alexander Capehart
8b2634df4d
music: handle total absolute m3u paths
Some players like generating M3Us with paths starting with
/storage/.../..., so I need to handle those too.
2024-06-08 15:06:04 -06:00
Alexander Capehart
c4a3d52903
playback: fix skip backward rewind w/enabled
New player setup accidentally broke rewind at beginning behavior when
rewind before skip is off.

Resolves #785
2024-06-08 12:22:08 -06:00
Alexander Capehart
1c74f05222
all: fixes/reformat 2024-06-08 11:58:18 -06:00
Alexander Capehart
27e39b6c10
music: interpret m3u paths as relative & absolute
Resolves #673
2024-05-26 21:51:12 -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
b955e2f3ab
playback: re-add notif content intent 2024-05-18 11:35:30 -06:00
Alexander Capehart
3a24116b53
about: remove yrliet sponsor 2024-05-17 22:05:17 -06:00
Alexander Capehart
4d1df85b5c
ui: fix broken editable song bg 2024-05-17 21:44:11 -06:00
Alexander Capehart
51309ebabb
tasker: plugin tweaks 2024-05-17 21:07:41 -06:00
Alexander Capehart
830ac34b67
build: bump to 3.5.0-dev 2024-05-17 20:08:04 -06:00
Alexander Capehart
9b7053ab7e
ui: fix broken selection on editable song 2024-05-17 19:53:03 -06:00
Alexander Capehart
d21a7eee93
playback: more coherent notif action setup 2024-05-17 19:32:03 -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
8e5d061af5
playback: re-add old swap move
Turns out this did have a reason to exist, ExoPlayer doesn't have intrinsic
capabilities to update the shuffle order on moves.
2024-05-17 16:18:39 -06:00
Alexander Capehart
66db61899c
playback: remove custom bitmap loading
Media3 simply will not tolerate me doing this. I am basically stuck
at the mercy of the Android OS now, until I can have my own unified
source of truth with cover loading.
2024-05-17 15:38:12 -06:00
Alexander Capehart
aec08bb48b
all: reformat/fixes 2024-04-22 10:46:44 -06:00
Alexander Capehart
a4838cefaa
image: properly differentiate cover types
- If we could find an embedded cover, then we can treat it as a
per-song cover
- Otherwise, just do our old album-based behavior.
2024-04-22 10:44:03 -06:00
Alexander Capehart
e687658874
image: properly handle uniqueness of non-embedded covers
Use a UID instead. This is non-ideal but all we can do.
2024-04-22 08:36:59 -06:00
Alexander Capehart
657b8267f1
list: clamp item drag speed
Resolves #686
2024-04-20 14:56:45 -06:00
Alexander Capehart
51406deaa7
image: complete per-song album covers
- Implement perceptual hashing algorithm to efficiently cache images
- Efficiently pre-sort cover sources to make cover images load without
freezing and look more pleasing

Resolbes #342.
2024-04-20 14:31:38 -06:00
Alexander Capehart
bd330f0c71
image: basic per-song album covers
Without any good caching support, so this will immediately break down.
2024-04-19 22:16:50 -06:00
Alexander Capehart
8b7b916489
playback: fix notif issues on older devices
- Slight coroutine delay in cover fetch causes the notif to flicker
- Default play/pause actions look absolutely hideous
2024-04-19 19:08:30 -06:00
Alexander Capehart
b99cd96726
playback: fix task removal 2024-04-19 16:08:37 -06:00
Alexander Capehart
f04e05ad50
playback: immediately ack index moves
Handling them later in the callback is no longer needed now that we have
the MediaSession shim, and it caused desyncs in ReplayGain support.
2024-04-17 19:50:44 -06:00
Alexander Capehart
a3e74cbd1e
music: update search results when library changes 2024-04-14 12:59:31 -06:00
Alexander Capehart
c8571a4df3
playback: fix broken play actions 2024-04-14 12:16:38 -06:00
Alexander Capehart
02b7acd1c5
music: update search results as well 2024-04-14 12:15:16 -06:00
Alexander Capehart
583e984c70
playback: hide exoholder save impl 2024-04-12 14:04:51 -06:00
Alexander Capehart
aac39b771d
music: sort mediaitems sent in browser 2024-04-12 14:04:28 -06:00
Alexander Capehart
7e07c11d3a
build: update deps 2024-04-12 14:01:24 -06:00
Alexander Capehart
07b17caf8f
music: fix mediaitem library update logic 2024-04-12 13:58:53 -06:00
Alexander Capehart
3a4ddb43b9
service: handle non-native start
Restore the state by default when another app starts the service.

A simple first step to ensure service independence (no clue if it's
enough)
2024-04-12 13:57:11 -06:00
Alexander Capehart
be23208f72
service: break into components 2024-04-11 23:48:45 -06:00
Alexander Capehart
24097af28c
playback: cleanup 2024-04-11 15:09:44 -06:00
Alexander Capehart
0ca928a477
playback: tweak media3 command surface 2024-04-11 15:09:25 -06:00