Alexander Capehart
d7f3c58fd9
detail: fix broken playing state updates
2024-10-23 10:05:23 -06:00
Alexander Capehart
82ddd3a24e
widget: disable android 15 preview
...
Seemingly causing reboots on my device, don't wanna risk it.
2024-10-23 09:08:11 -06:00
Alexander Capehart
0ed7938be9
Merge branch 'master' into dev
2024-10-23 08:55:45 -06:00
Alexander Capehart
018e142ee9
list: fix sort dialog allowing invalid sorts
...
If you changed the mode but disabled the direction, you would wind up
with an outright invalid sort that you could still save. Fix that.
2024-10-22 22:03:16 -06:00
Alexander Capehart
97b0a8aa68
ui: haromize bottom sheet radii w/cover radii
2024-10-22 21:57:14 -06:00
Alexander Capehart
bd685f1f9c
ui: change materialfader anim sepcs
...
Probably a little more in-line w/the docs.
2024-10-22 21:45:01 -06:00
Alexander Capehart
b0af681390
playback: fix broken stateholder lifecycle
...
- Broken ReplayGain setup
- Wasn't releasing playback settings
2024-10-21 09:46:43 -06:00
Alexander Capehart
47fa41715d
detail: fix empty sections having headers
2024-10-21 09:42:00 -06:00
Alexander Capehart
147f7f426c
detail: fix crash on artists w/appearances
2024-10-21 09:41:51 -06:00
Alexander Capehart
64fbd0acbf
home: re-add removed hcollaborator hiding
2024-10-21 09:35:54 -06:00
Alexander Capehart
89110c2798
image: new cover selection animation
2024-10-19 12:58:58 -06:00
Alexander Capehart
22ce9988c8
ui: start moving to pre-packaged anims
2024-10-19 12:26:42 -06:00
Alexander Capehart
50829a54d3
detail: fix extra divider on playlist edit
2024-10-19 12:25:46 -06:00
Alexander Capehart
bba4ae81e7
ui: phase out custom track color
2024-10-18 16:37:49 -06:00
Alexander Capehart
64354f7f6e
widget: add live preview for android 15
2024-10-18 16:35:35 -06:00
Alexander Capehart
15121d28f6
ui: fix broken toolbar anims
2024-10-18 16:19:38 -06:00
Alexander Capehart
0f4702c4dd
all: fix logging & anim unification
...
Can't bisect this without spending way too much time on it.
2024-10-18 16:10:08 -06:00
Alexander Capehart
7dfaea3a4b
all: cleanup
2024-10-18 15:41:06 -06:00
Alexander Capehart
22ddda4e60
all: reformat
2024-10-18 08:44:03 -06:00
Alexander Capehart
c1514d6029
log: re-add copyleft notice
2024-10-18 08:43:53 -06:00
Alexander Capehart
f7488f7b0d
playback: fix deprecated constructors
2024-10-17 21:08:41 -06:00
Alexander Capehart
fbd94f1a21
all: fix invalid logs
...
These are leftover debug logs
2024-10-17 21:06:35 -06:00
Alexander Capehart
6d72240336
all: fully use timber for logging
2024-10-17 20:15:57 -06:00
Alexander Capehart
9883cf1c91
list: tweak header/divider object hierarchy
...
Make a new generic Header/Divider superclass that all
headers derive.
This allows disc headers to be recognized generically
in places like the grid layout manager.
2024-10-17 09:57:47 -06:00
Alexander Capehart
1ee5645780
detail: continue scrolling even after toolbar collapses
2024-10-17 09:44:51 -06:00
Alexander Capehart
6c9f170afc
Merge branch 'master' into dev
2024-10-16 14:37:18 -06:00
Alexander Capehart
b4d6c0a611
playback: fix broken notification close action
2024-10-15 09:37:48 -06:00
Alexander Capehart
d1e8cc3320
detail: fix playlist edit header update
2024-10-14 20:19:35 -06:00
Alexander Capehart
3ff681b870
Merge branch 'master' into dev
2024-10-14 20:19:23 -06:00
Alexander Capehart
9b4e9b30b2
service: fix release memory leaks
2024-10-14 19:51:52 -06:00
Alexander Capehart
caa2e02aff
detail: correctly reset edited playlist
2024-10-14 19:34:51 -06:00
Alexander Capehart
3898646691
detail: fix missing edit header in playlists
2024-10-14 18:35:20 -06:00
Alexander Capehart
226f078aa4
service: attach after init
2024-10-14 18:34:28 -06:00
Alexander Capehart
97faa3f20e
detail: improve disc header design
2024-10-14 18:25:20 -06:00
Alexander Capehart
190abd5588
all: fix merge regressions
2024-10-14 14:52:21 -06:00
Alexander Capehart
d540d6f14c
build: initial android 15 upgrade
2024-10-14 14:35:33 -06:00
Alexander Capehart
8d767a0aac
Merge branch 'master' into dev
2024-10-14 14:33:24 -06:00
Alexander Capehart
344a49532b
music: fix more tab compat
2024-10-14 12:46:07 -06:00
Alexander Capehart
bed1dc43cd
playback: fix gaps on playlist change
2024-10-14 12:46:06 -06:00
Alexander Capehart
19f3e07c8e
service: bundle parent info into extras
...
Instead of using mediaId.
This makes it so that there is only really one mediaId to work
with, with an optional extra for playback that I desperately
hope is preserved on all instances of Android Auto.
2024-10-14 12:46:06 -06:00
Alexander Capehart
0b3a136320
all: reformat
2024-10-14 12:46:06 -06:00
Alexander Capehart
adfed98b71
music: paginate browser results
...
Hopefully now that I'm self-rolling this it'll actually work.
2024-10-14 12:46:06 -06:00
Alexander Capehart
1a78e973d7
playback: use implicit shuffle in detail playback
2024-10-14 12:46:06 -06:00
Alexander Capehart
437d3391e7
all: reformat
2024-10-14 12:46:06 -06:00
Alexander Capehart
c236a449c8
music: introduce icon for backport more tab
2024-10-14 12:46:06 -06:00
Alexander Capehart
f0bda0c99f
service: avoid crash on death
2024-10-14 12:46:05 -06:00
Alexander Capehart
cb43b0f074
service: decouple maxtab handling and ids
...
Simpler and more versatile.
2024-10-14 12:46:05 -06:00
Alexander Capehart
f4589616be
music: simplify disc number resolution
...
Introduce a resolveDisc extension function to share disc name
resolution between detail/browser
2024-10-14 12:46:05 -06:00
Alexander Capehart
c9664d75c0
home: dont show tab icons in phone mode
2024-10-14 12:46:05 -06:00
Alexander Capehart
f84e3428f0
home: fix broken item refresh
2024-10-14 12:46:05 -06:00
Alexander Capehart
d6a0b75618
detail: fix broken item refresh
2024-10-14 12:46:05 -06:00
Alexander Capehart
6f3fc5904a
detail: generate sort header w/discs
2024-10-14 12:46:05 -06:00
Alexander Capehart
3afbedb6bd
ui: attach to generators
2024-10-14 12:46:05 -06:00
Alexander Capehart
2bd468bce3
detail: fix incorrect disc section generation
2024-10-14 12:46:04 -06:00
Alexander Capehart
751cd94736
service: re-add attach pattern
...
Turns out I can't actually couple creation/attach without creating a
huge amount of variable issues.
2024-10-14 12:46:04 -06:00
Alexander Capehart
e12ce82615
all: reformat
2024-10-14 12:46:04 -06:00
Alexander Capehart
14035956e6
music: tear down menus
...
Only works on automotive OS, which I am not targeting right now.
2024-10-14 12:46:04 -06:00
Alexander Capehart
cbdad3fe39
all: reformat/fixes
2024-10-14 12:46:04 -06:00
Alexander Capehart
26f27d0edd
detail: split off detail list into generator
2024-09-18 14:50:53 -06:00
Alexander Capehart
f4e1681044
all: reformat
2024-09-13 13:35:48 -06:00
Alexander Capehart
a3af24688a
playback: use factory pattern
2024-09-13 13:35:46 -06:00
Alexander Capehart
8418dccdc6
music: use factory pattern in service components
2024-09-13 13:35:43 -06:00
Alexander Capehart
d2aed8ee23
music: remove category
2024-09-13 13:35:41 -06:00
Alexander Capehart
fcd4ef3dc8
all: build fixes
2024-09-13 13:35:39 -06:00
Alexander Capehart
3832c4e525
home: mirror tabs to mediasession browser
2024-09-13 13:35:37 -06:00
Alexander Capehart
29d663f500
service: share home list logic between service/ui
2024-09-13 13:35:21 -06:00
Alexander Capehart
e4310cfe17
music: fix broken android auto search
2024-08-30 10:19:31 -06:00
Alexander Capehart
fd597ea16a
music: fix root menus shown
2024-08-30 10:18:50 -06:00
Alexander Capehart
2857f7d92c
all: format/syntax fixes
2024-08-29 21:07:41 -06:00
Alexander Capehart
48568d2a1d
playback: fix mediasessionholder package
2024-08-29 21:05:48 -06:00
Alexander Capehart
3af81404ac
playback: fix mediasessionholder instantiation
2024-08-29 21:05:35 -06:00
Alexander Capehart
4e4a99bbf3
music: fix crash on browser child load
2024-08-29 21:04:06 -06:00
Alexander Capehart
2bc4ed020b
playback: fix broken mediasession lifecycle
2024-08-29 21:03:26 -06:00
Alexander Capehart
6ff2d55a68
music: fix category id
2024-08-29 21:00:13 -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
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
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
f0bf7af7b4
Merge branch 'playback' into dev
2024-07-29 21:38:36 -06:00
Alexander Capehart
86d9d957a2
music: propose file name as playlist name
2024-07-29 21:38:13 -06:00
Alexander Capehart
9299e03e95
widget: mitigate bitmap size calculation bug
2024-07-29 19:10:19 -06:00
Alexander Capehart
e351a91a9c
playback: do not leak indexerservicefragment
2024-07-29 18:28:05 -06:00
Alexander Capehart
9bc27a49eb
music: start indexing after bind/start command
2024-07-29 18:27:42 -06:00
Alexander Capehart
b020285e9f
main: simplify speed dial management
2024-07-22 19:06:39 -06:00
Alexander Capehart
a2d4b6e50b
all: cleanup
2024-07-20 21:39:32 -06:00
Alexander Capehart
2ecb94c97e
widgets: reduce cover size limit
...
Some double whammy of non-1:1 album cover support and new widget forms
apparently blew the bitmap memory capacity of widgets on some devices.
Reduce the threshold further in the hope that it'll work. Really hope
this isn't that Android 12 bug where the bitmap size calculation is
duplicated across all RemoteView persisting in these devices too.
2024-07-20 19:46:07 -06:00
Alexander Capehart
609a5f18bf
playback: fix broken queue sheet scroll
2024-07-20 18:33:23 -06:00
Alexander Capehart
7a7843f7f9
playback: fix stuck corner radius on window resize
2024-07-20 18:19:35 -06:00
Alexander Capehart
af1ec40dbe
detail: fix issues on small form factors
2024-07-20 16:29:04 -06:00
Alexander Capehart
106194fa52
playback: add split screen playback form factor
2024-07-20 16:06:56 -06:00
Alexander Capehart
95469a554c
ui: fix multitoolbar animation error
...
Was misusing the material animation, this should be in line w/spec
2024-07-20 15:21:51 -06:00
Alexander Capehart
dc1fe604c4
detail: fix no divider rendering w/artist albums
2024-07-20 15:01:23 -06:00
Alexander Capehart
f3b73a5196
home: extract fab system to home
2024-07-20 14:52:03 -06:00
Alexander Capehart
80dac7d9e9
detail: eliminate dead code
2024-07-20 13:52:13 -06:00
Alexander Capehart
2f21b12beb
ui: make multitoolbar transition m3
2024-07-20 13:32:06 -06:00
Alexander Capehart
d909f2d98e
detail: make playlist view use collapsing toolbar
2024-07-20 13:13:56 -06:00
Alexander Capehart
6ea7233626
detail: make genre view use collapsing toolbar
2024-07-20 13:13:21 -06:00
Alexander Capehart
0eb3ede8ec
detail: make artist view use collapsing toolbar
2024-07-20 12:54:04 -06:00
Alexander Capehart
04265d5285
home: remove logging spamming the console
2024-07-20 11:21:24 -06:00
Alexander Capehart
86e2fd7a89
detail: make album view use collapsing toolbar
2024-07-20 11:19:18 -06:00
Alexander Capehart
24dbd04ca6
music: fix broken name comparator
2024-07-10 06:51:32 -06:00
Alexander Capehart
82a015c1e1
music: handle null mediastore album name
...
Mostly a band-aid to make null album names correspond to a folder name
(the standard MediaStore behavior).
2024-07-05 17:32:39 -06:00
Alexander Capehart
294c558b93
playback: fix brief pause when adding songs to playlists
2024-07-05 12:12:14 -06:00
Alexander Capehart
a959933036
ui: use z transitions everywhere
...
Semantically correct, and now reasonable since the UI is no longer
clipped.
Will do shared element at some point once they have predictive
back support.
2024-07-04 22:26:59 -06:00
Alexander Capehart
3d177b05f1
all: cleanup
2024-07-04 15:44:15 -06:00
Alexander Capehart
b89499fb36
ui: only offset bottom sheet content via insets
2024-07-04 15:24:50 -06:00
Alexander Capehart
ec5aca0b4c
home: hide fab when bottom sheet expands
2024-07-04 15:23:05 -06:00
Alexander Capehart
b09237c914
playback: more standard queue sheet fading
2024-07-04 15:07:39 -06:00
Alexander Capehart
0b8c3abd7f
playback: add predictive back to queue
2024-07-04 14:01:53 -06:00
Alexander Capehart
deaed1fb79
playback: add predictive back to playback sheet
2024-07-04 13:14:12 -06:00
Alexander Capehart
e035d81ee0
ui: try band-aiding bottom sheet flickering
...
Use an assumed peekHeight close to the real one and reduce the
jumpiness that appears in some cases.
Resolves #631 .
2024-07-04 11:44:36 -06:00
Alexander Capehart
27fb1d1823
Merge branch 'master' into dev
2024-07-04 10:10:02 -06:00
Alexander Capehart
a6716293cd
music: reformat
2024-07-03 21:55:54 -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
368c8cf00f
music: sort songs by individual date first
...
While still falling back to the album date for libraries that have the
same date for all songs (like mine)
Resolves #797 .
2024-06-22 13:44:42 -06:00
Alexander Capehart
5f73201c9c
home: disable progress indicator on home
...
Likely consuming too much CPU given the frequency of updates
2024-06-22 12:55:02 -06:00
Alexander Capehart
043bc22eea
music: avoid absurd thread creation in indexing
...
Instead of running MetadataRetriever multiple times, creating possibly
thousands of threads, instead just have one thread that loads multiple
MediaItems at once on a rolling basis using a patched MetadataRetriever.
2024-06-22 12:47:48 -06:00
Alexander Capehart
5707aa1d31
Merge branch 'dev' of github.com:OxygenCobalt/Auxio into dev
2024-06-20 22:00:24 -06:00
Alexander Capehart
e764e8b4e4
Merge branch '3.5.0' into dev
2024-06-20 22:00:00 -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
Martin K
5767094519
ui: disable swiping on overridden overflow menus
2024-06-05 21:54:52 +03:00
Alexander Capehart
27e39b6c10
music: interpret m3u paths as relative & absolute
...
Resolves #673
2024-05-26 21:51:12 -06:00
Alexander Capehart
4e86a2f703
home: tune speed dial anim
2024-05-20 14:22:20 -06:00
Alexander Capehart
b824ef40fb
playback: fix album/artist marquee
2024-05-20 12:13:20 -06:00
Alexander Capehart
d293cc86b0
ui: clean out self-rolled dimens
...
Lots of cruft has built up with my dimensions, partially collapse them
into a more consistent set of re-usable dimens (within reason) and try
to delegate to MDC as much as possible.
2024-05-20 12:08:32 -06:00
Alexander Capehart
f742aa7592
ui: use material transitions on some shapes
...
These look a lot better than the old ones.
2024-05-18 23:16:09 -06:00
Alexander Capehart
5b2985fd6b
service: remove tasker stuff
2024-05-18 22:30:34 -06:00
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
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
51309ebabb
tasker: plugin tweaks
2024-05-17 21:07:41 -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
9087ad5e45
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 13:38:12 -06:00
Alexander Capehart
0a3382cafd
Merge branch 'media3' into dev
2024-04-29 11:10:03 -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
b4cf6a9563
Merge branch 'media3' into dev
2024-04-20 15:04:51 -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
823e04b073
playback: resize elements
...
- Center toolbar fully to look better w/o text spacing
- Move more button back to song info since it's semantically closer there
2024-04-19 13:19:54 -06:00
Alexander Capehart
9990e00a4a
playback: make bottom sheet behavior more in-spec
...
Don't gradually fade out until the very end, reduce the corner radii
at the very end, fix elevation, delift elevation at the very end.
More tweaks are probably needed here to make it look good.
2024-04-19 11:04:24 -06:00
Alexander Capehart
fc90d460dc
image: use shapeappearance in coverview
2024-04-19 10:26:53 -06:00
Alexander Capehart
6c919ccd8b
widget: fix corner radius on default
2024-04-17 22:26:44 -06:00
Alexander Capehart
7995d3ac98
ui: material 3.1 (first draft)
...
I'm mostly cowboying through patching things to look nice. I'll re-add round mode
configs and actually try to migrate to standard spacing later.
2024-04-17 22:07:50 -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
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
Alexander Capehart
fb15791c2f
playback: backfill
...
Forgot to add these to other commits
2024-04-11 15:09:00 -06:00
Alexander Capehart
33916deb5c
playback: remove joined uids from parents
...
Not needed.
2024-04-11 15:08:34 -06:00
Alexander Capehart
3b14c35c2d
music: fix mediaitem pagination
2024-04-11 15:07:36 -06:00
Alexander Capehart
43a8041d0a
build: update media to 1.3.1
2024-04-11 15:06:55 -06:00
Alexander Capehart
1e0c7cebcf
service: fix search endlessly loading
2024-04-11 14:37:57 -06:00
Alexander Capehart
9b09572382
playback: properly play media items from command
...
By default it actually routes them to add them
2024-04-11 14:36:56 -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
05101c0e08
service: implement onGetItem
...
Should round out the rest of the MediaSession interface I need. Now
just have to hook up to Android Auto.
2024-04-09 22:44:30 -06:00
Alexander Capehart
48275c4698
service: add search functionality
...
I cannot tell if this actually works yet.
2024-04-09 22:28:32 -06:00
Alexander Capehart
e9a4b99aa5
service: dead code removal
2024-04-09 15:35:36 -06:00
Alexander Capehart
62d3c2dfb1
service: unify foreground management
2024-04-09 15:27:56 -06:00
Alexander Capehart
7503accada
playback: handle media item playback
2024-04-09 15:17:24 -06:00
Alexander Capehart
64b9557793
playback: always enable skipping
2024-04-08 21:15:15 -06:00
Alexander Capehart
08e00c7fb1
playback: use custom service lifecycle
2024-04-08 21:15:04 -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
f5bc31a00f
home: fix crash on music updates
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
Alexander Capehart
3ca9b515cf
widget: fix wafer cover setup
...
Apparently:
1. Some OEMs don't actually autocrop to rounded corners
2. I was not correctly using the right corner radius attributes in the
first place, making it inconsistent.
Let's fix that.
Closes #730
2024-04-07 23:25:52 -06:00
Alexander Capehart
dbfe9927bf
playback: fix broken state restore
...
That didn't properly handle when the index was invalid and kept stale
song entries.
Resolves #723 .
2024-04-07 23:25:52 -06:00
Alexander Capehart
b6f89de88d
playback: fix crash w/add to queue
...
Again, a two-fold problem:
- Was not properly giving the right StateAck to the state holder
- ShuffleOrder not properly handling the index given when adding to
queue internally
Resolves #727 .
2024-04-07 23:25:52 -06:00
Alexander Capehart
86b7ef8d5c
music: fix crash on playlist add
...
Caused by the new state restoration code being bugged and applying on
playlist changes, then combined with the playlist code not properly
switching to the main context when dispatching a library update.
2024-04-07 23:25:52 -06:00
Alexander Capehart
22a22a883f
service: unify playback and indexer
...
Playback and indexing now occur in the same service through a new
bridge called AuxioService.
AuxioService contains the existing service instances as Fragment
implementations, and then forwards typical service events to them
(albeit this will drift more and more as I continue to deal with
lifecycle issues).
This should be the first step in enabling true service independence,
as it means that the service will now immediately initialize and load
music as soon as possible.
2024-04-07 23:25:52 -06:00
Alexander Capehart
b2a6d40252
playback: cleanup
2024-02-24 14:47:55 -07:00
Alexander Capehart
6a76a55060
music: bump cache db version
2024-02-24 14:38:21 -07:00
Alexander Capehart
3a04bef074
all: reformat
2024-02-24 13:28:49 -07:00
Alexander Capehart
5efdfb6aac
home: make sure to avoid touch overlay crash
...
Only configure the touch overlay when the fragment resumes, and don't
do any weird post stuff.
2024-02-24 13:27:52 -07:00
Alexander Capehart
a036005f75
playback: fix broken state restore
2024-02-24 12:37:49 -07:00
Alexander Capehart
07a98029c6
music: fix opus replaygain interpretation
...
- Don't parse the base gain, the media player actually does apply it.
- Adjust R128 tags to LUFS -18 to be consistent w/MP3.
Resolves #521 .
2024-02-20 11:12:24 -07:00
Alexander Capehart
f3261ded43
about: add yrliet to supporters
2024-02-17 14:35:04 -07:00
Alexander Capehart
23d561cc44
playback: save when service closes
...
This time, actually wait for the save to complete before stopping the
foreground state. This requires some checks to make sure that we don't
have any "randomly smashing on buttons" errors, but I'm unsure if that
will be enough.
The last case in which this becomes an issue is when the service
is killed outright. I can't do much here to make the state more sane
unless I did some playback position monitoring.
2024-02-17 14:00:12 -07:00
Alexander Capehart
eb3c320523
home: move speed dial touch setup to onStart
...
If we don't do this, the views won't be there and the app will crash
in some circumstances.
Resolves #701 .
2024-02-17 12:13:07 -07:00
Alexander Capehart
6730766504
music: increase music load timeout
...
TagExtractor can take longer than 10 seconds to load, increase it to 60
seconds.
2024-01-28 21:38:45 -07:00
Alexander Capehart
ced462e718
playback: dont apply state mirror w/no song
...
Otherwise, the StateHolder will crash.
2024-01-28 21:38:45 -07:00
Alexander Capehart
8dc0be4a52
all: cleanup
2024-01-21 20:01:26 -07:00
Alexander Capehart
b53a96f574
playback: fix crash when song cannot be restored
...
The index is -1, which is not a valid position to seek through
normally. In this case we should just ignore it.
2024-01-21 19:33:49 -07:00
Alexander Capehart
e6141b12e6
playback: fix state restore
...
Wasn't using the corrected shuffle mapping
2024-01-16 13:25:03 -07:00
Alexander Capehart
ec61ba50ec
playback: re-add semi-circular queue w/no repeat
2024-01-16 12:48:32 -07:00
Alexander Capehart
881df0fc02
widgets: add 1x3/1x4 widget
...
Add a 1x3/1x4 widget that displays the cover and controls
Also requires another widget type that just displays controls to
accomodate landscape devices.
Resolves #420 .
2024-01-15 20:49:35 -07:00
Alexander Capehart
3e79f31792
playback: add remember pause setting
...
This setting allows you to remain playing/paused when you move in the
queue or edit the queue. Useful for some people who like this behavior
more than always playing.
Resolves #568 .
2024-01-15 16:45:44 -07:00
Alexander Capehart
a44f0bce35
playback: stop playback on task removal if paused
...
This is apparently the standard behavior that media apps should use to
allow the foreground state to be exited. I personally don't want to
make it really unilateral like that, so if playback is already ongoing
I'll keep the foreground state going.
2024-01-15 16:25:42 -07:00
Alexander Capehart
1766283cd2
playback: save playback state on every change
...
Prior, I was saving when the service was closed, which is a stupid
decision and caused a lot of unreliability.
Resolves #404 .
2024-01-15 16:19:27 -07:00
Alexander Capehart
b2d9b244e5
playback: redocument/refactor gapless playback
...
Should complete this feature, save regression fixes.
Resolves #110 .
2024-01-15 16:02:47 -07:00
Alexander Capehart
48ab83f6de
playback: handle deferred action on startup
...
Dropped this when I ripped out the code prior.
2024-01-15 16:01:53 -07:00
Alexander Capehart
68443dc337
Merge branch 'dev' into gapless-playback
2024-01-14 12:12:49 -07:00
Alexander Capehart
07acb4f5b9
music: fix data selector creation
...
More or less, the paths being selected for were extremely malformed,
stuff like storage/emulated/0Music. This completely broke music folders
below API 29.
2024-01-14 11:00:52 -07:00
Alexander Capehart
f1a6b77d30
music: fix other music loading failure from dirs
...
Turns out there are two ways the selector can go malformed. One was the
complicated issue where you can't resolve a directory, the other was me
*missing a character* and not even building the selector right.
2024-01-14 09:55:43 -07:00
Alexander Capehart
4234f5b8f1
music: update cache db
2024-01-13 22:23:42 -07:00
Alexander Capehart
b4833918cf
music: fix opus base gain extraction
...
I have no idea how it ended up this mangled.
2024-01-13 22:16:13 -07:00
Alexander Capehart
3267ae98be
playback: readd service reinit
...
Make sure the service is properly re-initialized when it dies and is
then restarted.
2024-01-13 20:43:51 -07:00
Alexander Capehart
f525abdba3
playback: fix marquee on playback screen
2024-01-13 20:28:34 -07:00
Alexander Capehart
b2d71f8903
playback: reattach settings to player
...
It's mostly identical to prior, albiet pausing on repeat now leaves the
player position at the end of the song rather than the beginning.
That's the only regression I couldn't figure out how to resolve.
2024-01-13 20:26:02 -07:00
Alexander Capehart
bd240f967e
playback: reimplement state saving
2024-01-13 18:34:17 -07:00
Alexander Capehart
1d63ad5b7b
playback: mirror state internally
...
Mirror the last playback state of the holder inside
PlaybackStateManager.
This is generally more efficient and will enable better handling of
when state holders attach and detach.
2024-01-09 15:04:32 -07:00
Alexander Capehart
6a0fd76636
music: fix selector error with malformed folders
...
Forgot that i is not a good indicator of if we need to begin a selector
or not since we may discard certain music folders.
2024-01-09 13:50:47 -07:00
Alexander Capehart
d5622895d0
playback: fix more gapless issues
2024-01-09 13:49:00 -07:00
Alexander Capehart
26d14ec6e1
playback: ramshack initial gapless playback impl
2024-01-07 16:05:03 -07:00
Alexander Capehart
5d5356e46e
all: cleanup
2024-01-06 21:02:40 -07:00
Alexander Capehart
319eeb07b8
playback: add shuffle order impl
...
Add a currently-unused ShuffleOrder implementation with fixes for media
item insertion.
This will be used as the basis of the new gapless playback system,
assuming all else goes well.
2024-01-06 20:53:08 -07:00
Alexander Capehart
82952a204f
about: add donation link
...
Add donation link to the about page.
2024-01-06 19:07:40 -07:00
Alexander Capehart
2af90c2427
detail: add replaygain values to song properties
...
This should allow for clearer debugging.
2024-01-06 18:46:13 -07:00
Alexander Capehart
5c85001b0c
music: add opus base gain support
...
OPUS has another volume adjustment field on top of the existing R128
adjustments. I was under the impression this was handled by the android
system, but apparently not. This commit applies the base gain to files
by just adding them onto the existing ReplayGain values.
Resolves #521 .
2024-01-06 18:26:53 -07:00
Alexander Capehart
cdd08e7f99
home: clean up hacky overlay impl
...
Should have a lesser likelihood of crashing outright, hopefully.
2024-01-05 13:09:24 -07:00
Alexander Capehart
c4143e7d95
music: log when volume cannot be found
...
Mostly for debugging purposes.
2024-01-05 12:36:51 -07:00
Alexander Capehart
3202660449
music: add check to playlist export dialog
2024-01-03 18:51:29 -07:00
Alexander Capehart
43af2d866d
home: fix shuffle not working on rotate
2024-01-03 09:26:28 -07:00
Alexander Capehart
2b55caadd1
home: fix more speed dial touch problems
...
Handle back presses gracefully without finicky behavior when doing back
gestures.
I've spent far too much time trying to make this sensible. I'm going to
take a break.
2024-01-02 17:19:10 -07:00
Alexander Capehart
7537d135f2
ui: remove redundant sheet content inset
2024-01-02 15:38:34 -07:00
Alexander Capehart
8a75295d99
home: reimplement speed dial overlay
...
The stock overlay is not sufficient for our needs, as:
1. It seemingly cannot be set up without missing certain touch areas or
disabling the touch area of the speed dial itself
2. The scrim can't be evenly applied everywhere in the app due to the
nested expore UI.
So, modify the speed dial to work without a scrim and reimplement the
overlay touch behavior manually.
2024-01-02 15:38:23 -07:00
Alexander Capehart
e500286b8b
music: support paths in documents
...
Apprently these only report their IDs, frustratingly.
2024-01-01 21:38:21 -07:00
Alexander Capehart
32432b18b6
music: fix m3u windows volume detection
2024-01-01 21:36:46 -07:00
Alexander Capehart
0675ce8a03
music: rename playlist when reimporting
...
When reimporting an M3U file into a playlist, if the name differs, then
initiate a rename dialog so the user has a choice on whether they want
to use the new name or not.
This does kinda desecrate the "Rename" decision a bit, but it's still
to the user the same.
2024-01-01 20:21:39 -07:00
Alexander Capehart
9ad11ec5aa
music: allow renaming playlist before import
...
When you import a playlist, Auxio will now always display the
"New Playlist" dialog so you can change whatever name Auxio has picked
for the imported playlist.
This also prevents the creation of two playlists with the same names.
2024-01-01 16:12:01 -07:00
Alexander Capehart
68584ba426
music: fix file document path extraction
...
Apparently on Android 14 you need to reassemble the document URI and
then extract it's ID to get a path object. Really not sure why.
2024-01-01 16:10:11 -07:00
Alexander Capehart
bf9667f545
music: fix working directory in m3u export
2024-01-01 16:07:50 -07:00
Alexander Capehart
53870cd31b
music: fix reloads not cancelling prior ones
...
Caused by a dumb mistake in the cancellation code.
2024-01-01 14:36:26 -07:00