Commit graph

891 commits

Author SHA1 Message Date
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
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
f0dda6c43e
all: cleanup 2024-08-27 16:48:56 -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
cc7f9ba539
tasker: fix player main thread bugs on restore 2024-08-21 13:58:01 -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
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
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
b0703b4d0e
playback: fix widget not resetting on service end 2024-06-08 21:44:48 -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
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
b955e2f3ab
playback: re-add notif content intent 2024-05-18 11:35:30 -06:00
Alexander Capehart
d21a7eee93
playback: more coherent notif action setup 2024-05-17 19:32:03 -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
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
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
Alexander Capehart
1f9f62b0da
playback: fix wraparound with repeat once 2024-04-10 19:48:28 -06:00
Alexander Capehart
bd890880a3
playback: restore repeat modes again 2024-04-10 19:47:56 -06:00
Alexander Capehart
74551e83ab
playback: fix being unable to exit fg 2024-04-10 19:30:49 -06:00
Alexander Capehart
99a527983b
service: break up
Break up the monster AuxioService into sub-classes, keeping just the
major lifecycle and music stuff in AuxioService for now (which will
likely be split out itself eventually)
2024-04-10 19:18:04 -06:00
Alexander Capehart
5b8518a567
playback: move most ops to player
This allows me to handle foreign MediaItem events easily. Not tested,
don't have time.
2024-04-10 10:05:20 -06:00
Alexander Capehart
7503accada
playback: handle media item playback 2024-04-09 15:17:24 -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
da07be26f4
playback: re-add replaygain off mode
It was honestly foolish for me to recommend retagging.

Resolves #746.
2024-04-07 23:25:53 -06:00
Alexander Capehart
dc51c84c54
home: handle playback decision event
Forgot to add this.

Resolves #734.
2024-04-07 23:25:53 -06:00
unrenowned
b075f8ec51
playback: fix playNext wraparound with Repeat All
ExoPlayer method for fetching next media item respects Repeat All, which
on the last song of a queue causes playNext to wrap around and insert
the songs at the start of the queue. New code fetches next song as if
repeat were turned off, so the songs will always be added to the end of
the queue.
2024-04-07 23:25:53 -06:00
unrenowned
e0352a105a
playback: fix playNext crash on last song of queue
Fixes OxygenCobalt/Auxio#735. ExoPlayer method for fetching next media
item returns C.INDEX_UNSET (-1) when used on the last song of a queue,
which is not a valid index for ExoPlayer.addMediaItems(). New code just
adds songs to the end of the queue if there isn't a next song.
2024-04-07 23:25:53 -06:00
Alexander Capehart
8221e98401
playback: fix add to queue again 2024-04-07 23:25:53 -06:00
Alexander Capehart
2a0624f860
playback: fix more state restore issues
They just keep coming. I hate how complicated this system is.
2024-04-07 23:25:53 -06:00
Alexander Capehart
6d6b1665e5
all: reformat 2024-04-07 23:25:52 -06:00