Commit graph

2430 commits

Author SHA1 Message Date
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
d2524a0b3a
Merge branch 'dev' of github.com:OxygenCobalt/Auxio into dev 2024-10-14 14:36:42 -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
Weblate (bot)
94c4840672
Translations update from Hosted Weblate (#850)
* Update translation files

Updated by "Cleanup translation files" hook in Weblate.

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/

* Translated using Weblate (Croatian)

Currently translated at 100.0% (48 of 48 strings)

Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/hr/

* Translated using Weblate (Croatian)

Currently translated at 100.0% (300 of 300 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/hr/

* Translated using Weblate (Spanish)

Currently translated at 100.0% (302 of 302 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/es/

* Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (302 of 302 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/zh_Hans/

* Translated using Weblate (Czech)

Currently translated at 100.0% (302 of 302 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/cs/

* Translated using Weblate (Finnish)

Currently translated at 92.0% (278 of 302 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/fi/

* Translated using Weblate (German)

Currently translated at 100.0% (302 of 302 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/de/

* Translated using Weblate (Hindi)

Currently translated at 100.0% (302 of 302 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/hi/

* Translated using Weblate (German)

Currently translated at 100.0% (50 of 50 strings)

Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/de/

* Translated using Weblate (Punjabi)

Currently translated at 100.0% (302 of 302 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/pa/

* Translated using Weblate (Finnish)

Currently translated at 92.7% (280 of 302 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/fi/

* Translated using Weblate (Finnish)

Currently translated at 98.6% (298 of 302 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/fi/

* Translated using Weblate (Finnish)

Currently translated at 100.0% (50 of 50 strings)

Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/fi/

* Translated using Weblate (Bulgarian)

Currently translated at 100.0% (302 of 302 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/bg/

* Translated using Weblate (Korean)

Currently translated at 100.0% (302 of 302 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/ko/

* Translated using Weblate (Croatian)

Currently translated at 99.6% (301 of 302 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/hr/

* Translated using Weblate (Welsh)

Currently translated at 100.0% (302 of 302 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/cy/

* Translated using Weblate (Croatian)

Currently translated at 100.0% (302 of 302 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/hr/

* Translated using Weblate (Russian)

Currently translated at 100.0% (302 of 302 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/ru/

* Translated using Weblate (Interlingua)

Currently translated at 68.8% (208 of 302 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/ia/

* Translated using Weblate (Ukrainian)

Currently translated at 100.0% (302 of 302 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/uk/

* Translated using Weblate (Belarusian)

Currently translated at 100.0% (302 of 302 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/be/

* Translated using Weblate (Lithuanian)

Currently translated at 100.0% (302 of 302 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/lt/

* Added translation using Weblate (Estonian)

* Translated using Weblate (Estonian)

Currently translated at 46.6% (141 of 302 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/et/

* Translated using Weblate (Chinese (Traditional Han script))

Currently translated at 100.0% (50 of 50 strings)

Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/zh_Hant/

* Translated using Weblate (Russian)

Currently translated at 100.0% (50 of 50 strings)

Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/ru/

* Translated using Weblate (Estonian)

Currently translated at 55.9% (169 of 302 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/et/

* Translated using Weblate (Estonian)

Currently translated at 66.2% (200 of 302 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/et/

* Translated using Weblate (Estonian)

Currently translated at 77.4% (234 of 302 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/et/

---------

Co-authored-by: Milo Ivir <mail@milotype.de>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: 大王叫我来巡山 <hamburger2048@users.noreply.hosted.weblate.org>
Co-authored-by: Fjuro <fjuro@alius.cz>
Co-authored-by: Riku <riksu9000@gmail.com>
Co-authored-by: qwerty287 <qwerty287@posteo.de>
Co-authored-by: ShareASmile <ShareASmile@users.noreply.hosted.weblate.org>
Co-authored-by: trunars <trunars@gmail.com>
Co-authored-by: Yurical <yurical1@outlook.com>
Co-authored-by: fin-w <fin-w@users.noreply.hosted.weblate.org>
Co-authored-by: Макар Разин <makarrazin14@gmail.com>
Co-authored-by: Software In Interlingua <softinterlingua@gmail.com>
Co-authored-by: Vaclovas Intas <vaclovas1999@gmail.com>
Co-authored-by: Priit Jõerüüt <hwlate@joeruut.com>
Co-authored-by: abc0922001 <abc0922001@hotmail.com>
Co-authored-by: Evgeniy Khramov <65224669+thejenja@users.noreply.github.com>
2024-09-17 15:42:29 -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
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
f251813200
Merge branch 'hotfixes' into dev 2024-08-23 13:46:30 -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
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
2e9647d1dc
ui: fix duplicate string 2024-08-21 11:34:46 -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
Weblate (bot)
cf28adc5aa
Translations update from Hosted Weblate (#820)
* Translated using Weblate (Spanish)

Currently translated at 100.0% (48 of 48 strings)

Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/es/

* Translated using Weblate (Bulgarian)

Currently translated at 100.0% (48 of 48 strings)

Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/bg/

* Translated using Weblate (Punjabi)

Currently translated at 100.0% (48 of 48 strings)

Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/pa/

* Translated using Weblate (Hindi)

Currently translated at 100.0% (48 of 48 strings)

Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/hi/

* Translated using Weblate (German)

Currently translated at 100.0% (314 of 314 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/de/

* Translated using Weblate (Portuguese (Portugal))

Currently translated at 100.0% (314 of 314 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/pt_PT/

* Translated using Weblate (Portuguese)

Currently translated at 100.0% (314 of 314 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/pt/

* Translated using Weblate (Hungarian)

Currently translated at 100.0% (314 of 314 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/hu/

* Translated using Weblate (Hungarian)

Currently translated at 100.0% (48 of 48 strings)

Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/hu/

* Translated using Weblate (Welsh)

Currently translated at 82.8% (260 of 314 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/cy/

* Translated using Weblate (Welsh)

Currently translated at 89.4% (281 of 314 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/cy/

* Translated using Weblate (Greek)

Currently translated at 97.9% (47 of 48 strings)

Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/el/

* Translated using Weblate (French)

Currently translated at 100.0% (314 of 314 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/fr/

* Translated using Weblate (French)

Currently translated at 100.0% (48 of 48 strings)

Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/fr/

* Translated using Weblate (Korean)

Currently translated at 100.0% (48 of 48 strings)

Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/ko/

---------

Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: trunars <trunars@gmail.com>
Co-authored-by: ShareASmile <ShareASmile@users.noreply.hosted.weblate.org>
Co-authored-by: min7-i <min7-i@users.noreply.hosted.weblate.org>
Co-authored-by: ssantos <ssantos@web.de>
Co-authored-by: zalna Rs <rszalna0@gmail.com>
Co-authored-by: fin-w <fin-w@users.noreply.hosted.weblate.org>
Co-authored-by: mpt.c <open.alat4@slmail.me>
Co-authored-by: Victor Lamoine <victor.lamoine@gmail.com>
Co-authored-by: Yurical <yurical1@outlook.com>
Co-authored-by: Alexander Capehart <alex@oxycblt.org>
2024-08-14 03:28:26 +00: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
9b272bbdfe
home: fix broken sheet 2024-07-22 19:11:32 -06:00
Alexander Capehart
b020285e9f
main: simplify speed dial management 2024-07-22 19:06:39 -06:00
Alexander Capehart
7d8efce28b
ui: use 360 for extremely short layout 2024-07-22 19:02:22 -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
5aa4b574a8
ui: add midlarge cover style 2024-07-20 17:59:49 -06:00
Alexander Capehart
a93c527f7b
detail: dont use full cover in small layout 2024-07-20 17:57:14 -06:00
Alexander Capehart
13128ab01e
detail: ellipsize toolbar title 2024-07-20 16:34:19 -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
3286a94b1a
playback: fix various playback layout issues 2024-07-20 11:19:58 -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
ebdf3e153b
ui: tweak tablet playback layouts
- Use dual pane layouts on portrait and landscape
- Make buttons cope with restrictive width
2024-07-05 11:51:38 -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
Weblate (bot)
1e65808dcc
Translations update from Hosted Weblate (#768)
* Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (314 of 314 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 99.0% (311 of 314 strings)

Co-authored-by: santiago046 <comehere665@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/pt_BR/
Translation: Auxio/Strings

* Translated using Weblate (German)

Currently translated at 100.0% (314 of 314 strings)

Co-authored-by: qwerty287 <qwerty287@posteo.de>
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/de/
Translation: Auxio/Strings

* Translated using Weblate (Russian)

Currently translated at 100.0% (46 of 46 strings)

Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/ru/

* Translated using Weblate (Dutch)

Currently translated at 100.0% (314 of 314 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/nl/

* Translated using Weblate (Dutch)

Currently translated at 100.0% (46 of 46 strings)

Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/nl/

* Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (46 of 46 strings)

Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/pt_BR/

* Translated using Weblate (Lithuanian)

Currently translated at 100.0% (314 of 314 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/lt/

* Translated using Weblate (Lithuanian)

Currently translated at 100.0% (46 of 46 strings)

Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/lt/

* Translated using Weblate (Italian)

Currently translated at 100.0% (314 of 314 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/it/

* Translated using Weblate (Italian)

Currently translated at 100.0% (46 of 46 strings)

Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/it/

* Translated using Weblate (German)

Currently translated at 100.0% (314 of 314 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/de/

* Translated using Weblate (Welsh)

Currently translated at 65.2% (205 of 314 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/cy/

* Translated using Weblate (Welsh)

Currently translated at 77.7% (244 of 314 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/cy/

* Translated using Weblate (Lithuanian)

Currently translated at 100.0% (314 of 314 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/lt/

* Translated using Weblate (Lithuanian)

Currently translated at 100.0% (46 of 46 strings)

Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/lt/

* Translated using Weblate (Portuguese)

Currently translated at 36.6% (115 of 314 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/pt/

* Translated using Weblate (Indonesian)

Currently translated at 100.0% (314 of 314 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/id/

* Translated using Weblate (Bulgarian)

Currently translated at 100.0% (314 of 314 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/bg/

* Translated using Weblate (Polish)

Currently translated at 97.4% (306 of 314 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/pl/

* Translated using Weblate (Spanish)

Currently translated at 100.0% (47 of 47 strings)

Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/es/

* Translated using Weblate (Czech)

Currently translated at 100.0% (47 of 47 strings)

Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/cs/

* Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (47 of 47 strings)

Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/zh_Hans/

* Translated using Weblate (Lithuanian)

Currently translated at 100.0% (47 of 47 strings)

Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/lt/

* Translated using Weblate (Arabic (Saudi Arabia))

Currently translated at 100.0% (47 of 47 strings)

Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/ar_SA/

* Translated using Weblate (Arabic (ar_IQ))

Currently translated at 100.0% (47 of 47 strings)

Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/ar_IQ/

* Translated using Weblate (Arabic)

Currently translated at 91.4% (287 of 314 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/ar/

* Translated using Weblate (Norwegian Bokmål)

Currently translated at 97.7% (307 of 314 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/nb_NO/

---------

Co-authored-by: santiago046 <comehere665@gmail.com>
Co-authored-by: qwerty287 <qwerty287@posteo.de>
Co-authored-by: Jillian Österreich <contact@lumaeris.com>
Co-authored-by: Jeroen <alpenblauwtje@gmail.com>
Co-authored-by: Vaclovas Intas <vaclovas1999@gmail.com>
Co-authored-by: GB <accounts@unowen.simplelogin.com>
Co-authored-by: min7-i <min7-i@users.noreply.hosted.weblate.org>
Co-authored-by: fin-w <fin-w@users.noreply.hosted.weblate.org>
Co-authored-by: Couto <jtcouto13@gmail.com>
Co-authored-by: unsigned char <danielsteventan24@gmail.com>
Co-authored-by: trunars <trunars@gmail.com>
Co-authored-by: Eryk Michalak <gnu.ewm@protonmail.com>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: Fjuro <fjuro@alius.cz>
Co-authored-by: 大王叫我来巡山 <hamburger2048@users.noreply.hosted.weblate.org>
Co-authored-by: moomen bashtawi <moomenbashtawi@gmail.com>
Co-authored-by: sunniva <schildkroteskoldpadda@gmail.com>
2024-07-04 16:02:33 +00: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
16b1aeba91
ui: tweak icon background 2024-06-20 21:59:31 -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
5c53615c90
ui: use standard interpolation on icon 2024-05-26 14:51:00 -06:00
Alexander Capehart
6b818030eb
ui: properly interpolate splash icon 2024-05-20 14:38:13 -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
e809b2875e
playback: increase skip next/prev button sizes 2024-05-18 22:32:04 -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
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
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
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
Weblate (bot)
4d67f481a4
Translations update from Hosted Weblate (#765)
* Translated using Weblate (Interlingua)

Currently translated at 62.9% (197 of 313 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/ia/

* Translated using Weblate (Interlingua)

Currently translated at 63.8% (200 of 313 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/ia/

* Translated using Weblate (Interlingua)

Currently translated at 69.6% (218 of 313 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/ia/

* Translated using Weblate (Romanian)

Currently translated at 82.4% (258 of 313 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/ro/

* Added translation using Weblate (Welsh)

* Translated using Weblate (Welsh)

Currently translated at 97.7% (43 of 44 strings)

Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/cy/

* Translated using Weblate (Welsh)

Currently translated at 8.3% (26 of 313 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/cy/

* Translated using Weblate (Welsh)

Currently translated at 10.8% (34 of 313 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/cy/

* Translated using Weblate (Czech)

Currently translated at 100.0% (314 of 314 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/cs/

* Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (314 of 314 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/zh_Hans/

* Translated using Weblate (Welsh)

Currently translated at 62.7% (197 of 314 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/cy/

* Translated using Weblate (Spanish)

Currently translated at 100.0% (314 of 314 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/es/

* Translated using Weblate (Korean)

Currently translated at 100.0% (314 of 314 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/ko/

* Translated using Weblate (Ukrainian)

Currently translated at 100.0% (314 of 314 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/uk/

* Translated using Weblate (Lithuanian)

Currently translated at 100.0% (314 of 314 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/lt/

* Translated using Weblate (Croatian)

Currently translated at 100.0% (314 of 314 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/hr/

* Translated using Weblate (Swedish)

Currently translated at 99.6% (313 of 314 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/sv/

* Translated using Weblate (Russian)

Currently translated at 100.0% (314 of 314 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/ru/

* Translated using Weblate (Belarusian)

Currently translated at 100.0% (314 of 314 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/be/

* Translated using Weblate (Lithuanian)

Currently translated at 100.0% (46 of 46 strings)

Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/lt/

* Translated using Weblate (Slovenian)

Currently translated at 100.0% (314 of 314 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/sl/

* Translated using Weblate (Slovenian)

Currently translated at 100.0% (46 of 46 strings)

Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/sl/

* Translated using Weblate (Hindi)

Currently translated at 100.0% (314 of 314 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/hi/

* Translated using Weblate (Punjabi)

Currently translated at 100.0% (314 of 314 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/pa/

* Translated using Weblate (French)

Currently translated at 99.6% (313 of 314 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/fr/

* Added translation using Weblate (Bulgarian)

* Translated using Weblate (Bulgarian)

Currently translated at 100.0% (46 of 46 strings)

Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/bg/

* Translated using Weblate (Bulgarian)

Currently translated at 32.8% (103 of 314 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/bg/

* Translated using Weblate (Bulgarian)

Currently translated at 64.6% (203 of 314 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/bg/

* Translated using Weblate (Bulgarian)

Currently translated at 84.0% (264 of 314 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/bg/

---------

Co-authored-by: Software In Interlingua <softinterlingua@gmail.com>
Co-authored-by: Макар Разин <makarrazin14@gmail.com>
Co-authored-by: Languages add-on <noreply-addon-languages@weblate.org>
Co-authored-by: fin-w <fin-w@tutanota.com>
Co-authored-by: Fjuro <fjuro@alius.cz>
Co-authored-by: 大王叫我来巡山 <hamburger2048@users.noreply.hosted.weblate.org>
Co-authored-by: fin-w <fin-w@users.noreply.hosted.weblate.org>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: ID J <tabby4442@gmail.com>
Co-authored-by: BMT[UA] <weblate@yopmail.com>
Co-authored-by: Vaclovas Intas <vaclovas1999@gmail.com>
Co-authored-by: Milo Ivir <mail@milotype.de>
Co-authored-by: paddis paddis <turtle@turtle.garden>
Co-authored-by: K_Lar <zan.sprogar@gmail.com>
Co-authored-by: ShareASmile <ShareASmile@users.noreply.hosted.weblate.org>
Co-authored-by: Victor Lamoine <victor.lamoine@gmail.com>
Co-authored-by: trunars <trunars@gmail.com>
2024-04-25 09:14:58 -06:00
Weblate (bot)
a71f1ab9a6
Translations update from Hosted Weblate (#741)
* Translated using Weblate (Interlingua)

Currently translated at 62.9% (197 of 313 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/ia/

* Translated using Weblate (Interlingua)

Currently translated at 63.8% (200 of 313 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/ia/

* Translated using Weblate (Interlingua)

Currently translated at 69.6% (218 of 313 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/ia/

* Translated using Weblate (Romanian)

Currently translated at 82.4% (258 of 313 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/ro/

* Added translation using Weblate (Welsh)

* Translated using Weblate (Welsh)

Currently translated at 97.7% (43 of 44 strings)

Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/cy/

* Translated using Weblate (Welsh)

Currently translated at 8.3% (26 of 313 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/cy/

* Translated using Weblate (Welsh)

Currently translated at 10.8% (34 of 313 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/cy/

* Translated using Weblate (Czech)

Currently translated at 100.0% (314 of 314 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/cs/

* Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (314 of 314 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/zh_Hans/

* Translated using Weblate (Welsh)

Currently translated at 62.7% (197 of 314 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/cy/

* Translated using Weblate (Spanish)

Currently translated at 100.0% (314 of 314 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/es/

* Translated using Weblate (Korean)

Currently translated at 100.0% (314 of 314 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/ko/

* Translated using Weblate (Ukrainian)

Currently translated at 100.0% (314 of 314 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/uk/

* Translated using Weblate (Lithuanian)

Currently translated at 100.0% (314 of 314 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/lt/

* Translated using Weblate (Croatian)

Currently translated at 100.0% (314 of 314 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/hr/

* Translated using Weblate (Swedish)

Currently translated at 99.6% (313 of 314 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/sv/

* Translated using Weblate (Russian)

Currently translated at 100.0% (314 of 314 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/ru/

* Translated using Weblate (Belarusian)

Currently translated at 100.0% (314 of 314 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/be/

* Translated using Weblate (Lithuanian)

Currently translated at 100.0% (46 of 46 strings)

Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/lt/

* Translated using Weblate (Slovenian)

Currently translated at 100.0% (314 of 314 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/sl/

* Translated using Weblate (Slovenian)

Currently translated at 100.0% (46 of 46 strings)

Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/sl/

* Translated using Weblate (Hindi)

Currently translated at 100.0% (314 of 314 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/hi/

* Translated using Weblate (Punjabi)

Currently translated at 100.0% (314 of 314 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/pa/

* Translated using Weblate (French)

Currently translated at 99.6% (313 of 314 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/fr/

* Added translation using Weblate (Bulgarian)

* Translated using Weblate (Bulgarian)

Currently translated at 100.0% (46 of 46 strings)

Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/bg/

* Translated using Weblate (Bulgarian)

Currently translated at 32.8% (103 of 314 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/bg/

---------

Co-authored-by: Software In Interlingua <softinterlingua@gmail.com>
Co-authored-by: Макар Разин <makarrazin14@gmail.com>
Co-authored-by: Languages add-on <noreply-addon-languages@weblate.org>
Co-authored-by: fin-w <fin-w@tutanota.com>
Co-authored-by: Fjuro <fjuro@alius.cz>
Co-authored-by: 大王叫我来巡山 <hamburger2048@users.noreply.hosted.weblate.org>
Co-authored-by: fin-w <fin-w@users.noreply.hosted.weblate.org>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: ID J <tabby4442@gmail.com>
Co-authored-by: BMT[UA] <weblate@yopmail.com>
Co-authored-by: Vaclovas Intas <vaclovas1999@gmail.com>
Co-authored-by: Milo Ivir <mail@milotype.de>
Co-authored-by: paddis paddis <turtle@turtle.garden>
Co-authored-by: K_Lar <zan.sprogar@gmail.com>
Co-authored-by: ShareASmile <ShareASmile@users.noreply.hosted.weblate.org>
Co-authored-by: Victor Lamoine <victor.lamoine@gmail.com>
Co-authored-by: trunars <trunars@gmail.com>
2024-04-24 09:35:39 -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
181741bb10
ui: tweak icon colors 2024-04-19 16:04:12 -06:00
Alexander Capehart
f2bc50e611
playback: change title header style 2024-04-19 13:43:40 -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
6c640909f7
ui: clean up material3.1 changes 2024-04-18 14:04:43 -06:00
Alexander Capehart
c90b9e5827
playback: standardize tints 2024-04-17 22:30:31 -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
754762b24d
ui: new app icon
The first march towards material design 3.1.
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
c69d3cac54
info: flag android auto support
Technically possible now, have not been able to test.
2024-04-11 15:06:16 -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
Weblate (bot)
e452875d59
Translations update from Hosted Weblate (#715)
* Translated using Weblate (Czech)

Currently translated at 100.0% (43 of 43 strings)

Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/cs/

* Translated using Weblate (Spanish)

Currently translated at 100.0% (43 of 43 strings)

Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/es/

* Translated using Weblate (Ukrainian)

Currently translated at 100.0% (43 of 43 strings)

Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/uk/

* Translated using Weblate (Punjabi)

Currently translated at 100.0% (43 of 43 strings)

Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/pa/

* Translated using Weblate (Hindi)

Currently translated at 100.0% (43 of 43 strings)

Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/hi/

* Translated using Weblate (Belarusian)

Currently translated at 100.0% (43 of 43 strings)

Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/be/

* Translated using Weblate (French)

Currently translated at 100.0% (313 of 313 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/fr/

* Translated using Weblate (Italian)

Currently translated at 98.0% (307 of 313 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/it/

* Translated using Weblate (Finnish)

Currently translated at 92.9% (291 of 313 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/fi/

* Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (44 of 44 strings)

Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/zh_Hans/

* Translated using Weblate (Interlingua)

Currently translated at 42.1% (132 of 313 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/ia/

* Translated using Weblate (German)

Currently translated at 100.0% (313 of 313 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/de/

* Translated using Weblate (Russian)

Currently translated at 100.0% (44 of 44 strings)

Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/ru/

* Translated using Weblate (Korean)

Currently translated at 100.0% (313 of 313 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/ko/

* Translated using Weblate (Korean)

Currently translated at 100.0% (44 of 44 strings)

Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/ko/

* Translated using Weblate (Portuguese (Brazil))

Currently translated at 99.0% (310 of 313 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/pt_BR/

* Translated using Weblate (Interlingua)

Currently translated at 56.2% (176 of 313 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/ia/

* Translated using Weblate (Interlingua)

Currently translated at 59.4% (186 of 313 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/ia/

* Translated using Weblate (German)

Currently translated at 100.0% (44 of 44 strings)

Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/de/

* Translated using Weblate (Interlingua)

Currently translated at 61.6% (193 of 313 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/ia/

* Translated using Weblate (French)

Currently translated at 100.0% (44 of 44 strings)

Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/fr/

* Translated using Weblate (Russian)

Currently translated at 100.0% (313 of 313 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/ru/

* Translated using Weblate (Belarusian)

Currently translated at 100.0% (313 of 313 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/be/

---------

Co-authored-by: Fjuro <fjuro@alius.cz>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: Сергій <sergiy.goncharuk.1@gmail.com>
Co-authored-by: ShareASmile <aapshergill@gmail.com>
Co-authored-by: kopatych <maxklezovich@gmail.com>
Co-authored-by: J. Lavoie <j.lavoie@net-c.ca>
Co-authored-by: 大王叫我来巡山 <hamburger2048@users.noreply.hosted.weblate.org>
Co-authored-by: Software In Interlingua <softinterlingua@gmail.com>
Co-authored-by: min7-i <min7-i@users.noreply.hosted.weblate.org>
Co-authored-by: Макар Разин <makarrazin14@gmail.com>
Co-authored-by: Yurical <yurical1@outlook.com>
Co-authored-by: santiago046 <comehere665@gmail.com>
Co-authored-by: qwerty287 <qwerty287@posteo.de>
2024-03-12 20:49:23 -06:00
Conny Duck
801fd28aed
convert png files to webp to reduce apk size 2024-02-25 21:21:57 +01: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
Weblate (bot)
fb531c8adc
Translations update from Hosted Weblate (#687)
* Translated using Weblate (Portuguese (Brazil))

Currently translated at 95.2% (298 of 313 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/pt_BR/

* Translated using Weblate (Romanian)

Currently translated at 82.4% (258 of 313 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/ro/

* Translated using Weblate (Ukrainian)

Currently translated at 100.0% (313 of 313 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/uk/

* Translated using Weblate (Finnish)

Currently translated at 90.7% (284 of 313 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/fi/

* Translated using Weblate (German)

Currently translated at 100.0% (313 of 313 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/de/

* Translated using Weblate (Swedish)

Currently translated at 83.0% (260 of 313 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/sv/

* Added translation using Weblate (Interlingua)

* Translated using Weblate (Hindi)

Currently translated at 100.0% (313 of 313 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/hi/

* Translated using Weblate (Punjabi)

Currently translated at 100.0% (313 of 313 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/pa/

* Translated using Weblate (Swedish)

Currently translated at 83.0% (260 of 313 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/sv/

* Translated using Weblate (Swedish)

Currently translated at 83.0% (260 of 313 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/sv/

* Translated using Weblate (Croatian)

Currently translated at 100.0% (313 of 313 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/hr/

* Translated using Weblate (Swedish)

Currently translated at 83.7% (262 of 313 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/sv/

* Translated using Weblate (Swedish)

Currently translated at 93.2% (292 of 313 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/sv/

* Translated using Weblate (Swedish)

Currently translated at 93.6% (293 of 313 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/sv/

* Translated using Weblate (Finnish)

Currently translated at 92.6% (290 of 313 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/fi/

* Translated using Weblate (Interlingua)

Currently translated at 14.3% (45 of 313 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/ia/

* Translated using Weblate (Russian)

Currently translated at 100.0% (313 of 313 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/ru/

* Translated using Weblate (Belarusian)

Currently translated at 100.0% (313 of 313 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/be/

* Translated using Weblate (Swedish)

Currently translated at 98.0% (307 of 313 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/sv/

* Translated using Weblate (Swedish)

Currently translated at 100.0% (313 of 313 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/sv/

* Translated using Weblate (Hindi)

Currently translated at 100.0% (313 of 313 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/hi/

* Translated using Weblate (Lithuanian)

Currently translated at 100.0% (313 of 313 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/lt/

* Translated using Weblate (Interlingua)

Currently translated at 24.2% (76 of 313 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/ia/

* Update translation files

Updated by "Remove blank strings" hook in Weblate.

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/

---------

Co-authored-by: santiago046 <comehere665@gmail.com>
Co-authored-by: Ilie <iliul@protonmail.com>
Co-authored-by: Сергій <sergiy.goncharuk.1@gmail.com>
Co-authored-by: Jiri Grönroos <jiri.gronroos@iki.fi>
Co-authored-by: qwerty287 <qwerty287@posteo.de>
Co-authored-by: Johan Hansén <johnahnase@users.noreply.hosted.weblate.org>
Co-authored-by: ShareASmile <aapshergill@gmail.com>
Co-authored-by: Milo Ivir <mail@milotype.de>
Co-authored-by: Software In Interlingua <softinterlingua@gmail.com>
Co-authored-by: Макар Разин <makarrazin14@gmail.com>
Co-authored-by: Sourabh Mishra <msourabh802@gmail.com>
Co-authored-by: Vaclovas Intas <vaclovas1999@gmail.com>
2024-02-17 10:09:42 -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
588b6e9abd
info: explicitly declare notification perm
Some OEMs might be looking for this before approving even media
or foreground service notifications.
2024-01-18 19:29:46 -07:00
Weblate (bot)
bbe0042281
Translations update from Hosted Weblate (#657)
* Translated using Weblate (Czech)

Currently translated at 100.0% (305 of 305 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/cs/

* Translated using Weblate (Spanish)

Currently translated at 100.0% (305 of 305 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/es/

* Translated using Weblate (Hindi)

Currently translated at 100.0% (305 of 305 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/hi/

* Translated using Weblate (Ukrainian)

Currently translated at 100.0% (305 of 305 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/uk/

* Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (305 of 305 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/zh_Hans/

* Translated using Weblate (Punjabi)

Currently translated at 100.0% (305 of 305 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/pa/

* Translated using Weblate (Hebrew)

Currently translated at 100.0% (305 of 305 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/he/

* Translated using Weblate (Russian)

Currently translated at 100.0% (305 of 305 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/ru/

* Translated using Weblate (Belarusian)

Currently translated at 100.0% (305 of 305 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/be/

* Translated using Weblate (Czech)

Currently translated at 100.0% (311 of 311 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/cs/

* Translated using Weblate (Spanish)

Currently translated at 100.0% (311 of 311 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/es/

* Translated using Weblate (Hindi)

Currently translated at 100.0% (311 of 311 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/hi/

* Translated using Weblate (Ukrainian)

Currently translated at 100.0% (311 of 311 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/uk/

* Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (311 of 311 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/zh_Hans/

* Translated using Weblate (Punjabi)

Currently translated at 100.0% (311 of 311 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/pa/

* Translated using Weblate (German)

Currently translated at 100.0% (311 of 311 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/de/

* Translated using Weblate (German)

Currently translated at 100.0% (311 of 311 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/de/

* Translated using Weblate (Korean)

Currently translated at 98.7% (307 of 311 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/ko/

* Translated using Weblate (Ukrainian)

Currently translated at 100.0% (311 of 311 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/uk/

* Translated using Weblate (Russian)

Currently translated at 100.0% (311 of 311 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/ru/

* Translated using Weblate (Belarusian)

Currently translated at 100.0% (311 of 311 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/be/

* Translated using Weblate (Lithuanian)

Currently translated at 100.0% (311 of 311 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/lt/

* Translated using Weblate (Lithuanian)

Currently translated at 100.0% (313 of 313 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/lt/

* Translated using Weblate (Czech)

Currently translated at 100.0% (313 of 313 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/cs/

* Translated using Weblate (Spanish)

Currently translated at 100.0% (313 of 313 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/es/

* Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (313 of 313 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/zh_Hans/

* Translated using Weblate (Lithuanian)

Currently translated at 100.0% (313 of 313 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/lt/

* Translated using Weblate (Croatian)

Currently translated at 100.0% (42 of 42 strings)

Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/hr/

* Translated using Weblate (Croatian)

Currently translated at 98.7% (309 of 313 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/hr/

---------

Co-authored-by: Fjuro <ifjuro@proton.me>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: ShareASmile <aapshergill@gmail.com>
Co-authored-by: BMT[UA] <weblate@yopmail.com>
Co-authored-by: Eric <zxmegaxqug@hldrive.com>
Co-authored-by: Ron Shabi <ron@ronsh.net>
Co-authored-by: Макар Разин <makarrazin14@gmail.com>
Co-authored-by: Сергій <sergiy.goncharuk.1@gmail.com>
Co-authored-by: qwerty287 <qwerty287@posteo.de>
Co-authored-by: min7-i <postly+github_min@mailbox.org>
Co-authored-by: Yurical <yurical1@outlook.com>
Co-authored-by: Vaclovas Intas <vaclovas1999@gmail.com>
Co-authored-by: 大王叫我来巡山 <hamburger2048@users.noreply.hosted.weblate.org>
Co-authored-by: Milo Ivir <mail@milotype.de>
2024-01-17 03:05:26 +00:00
Alexander Capehart
5ab05b75d9
widgets: fix default cover icon 2024-01-16 14:27:32 -07:00
Alexander Capehart
6c427185ee
widgets: fix default cover icon 2024-01-16 13:25:26 -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
76eb693fb5
all: reformat 2024-01-15 20:51:08 -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
afa73a2319
music: fix playlist import naming 2024-01-01 21:38:39 -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
Alexander Capehart
28ff2b416a
home: make add speed fab consistent with shuffle
Was using color secondary prior since the code was derived from
MaterialFiles.
2024-01-01 14:35:59 -07:00
Alexander Capehart
574e129f34
music: cleanup and document 2024-01-01 14:08:47 -07:00
Alexander Capehart
538533bf3f
music: discard songs w/o volumes 2024-01-01 13:38:26 -07:00
Weblate (bot)
673629dd26
Translations update from Hosted Weblate (#635)
* Translated using Weblate (Russian)

Currently translated at 100.0% (292 of 292 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/ru/

* Translated using Weblate (Italian)

Currently translated at 100.0% (38 of 38 strings)

Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/it/

* Translated using Weblate (French)

Currently translated at 99.6% (291 of 292 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/fr/

* Translated using Weblate (French)

Currently translated at 100.0% (38 of 38 strings)

Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/fr/

* Translated using Weblate (Korean)

Currently translated at 99.6% (292 of 293 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/ko/

* Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (293 of 293 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/zh_Hans/

* Translated using Weblate (Korean)

Currently translated at 100.0% (38 of 38 strings)

Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/ko/

* Translated using Weblate (Czech)

Currently translated at 100.0% (293 of 293 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/cs/

* Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (294 of 294 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/zh_Hans/

* Translated using Weblate (Czech)

Currently translated at 100.0% (294 of 294 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/cs/

* Translated using Weblate (Spanish)

Currently translated at 100.0% (294 of 294 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/es/

* Translated using Weblate (Russian)

Currently translated at 100.0% (294 of 294 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/ru/

* Translated using Weblate (Ukrainian)

Currently translated at 100.0% (294 of 294 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/uk/

* Translated using Weblate (Belarusian)

Currently translated at 100.0% (294 of 294 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/be/

* Translated using Weblate (German)

Currently translated at 100.0% (294 of 294 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/de/

* Translated using Weblate (Hindi)

Currently translated at 100.0% (294 of 294 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/hi/

* Translated using Weblate (Croatian)

Currently translated at 100.0% (294 of 294 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/hr/

* Translated using Weblate (Punjabi)

Currently translated at 100.0% (294 of 294 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/pa/

* Translated using Weblate (Czech)

Currently translated at 100.0% (301 of 301 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/cs/

* Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (302 of 302 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/zh_Hans/

* Translated using Weblate (Czech)

Currently translated at 100.0% (304 of 304 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/cs/

* Translated using Weblate (Russian)

Currently translated at 100.0% (304 of 304 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/ru/

* Translated using Weblate (Ukrainian)

Currently translated at 100.0% (304 of 304 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/uk/

* Translated using Weblate (Belarusian)

Currently translated at 100.0% (304 of 304 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/be/

* Translated using Weblate (Spanish)

Currently translated at 100.0% (304 of 304 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/es/

* Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (304 of 304 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/zh_Hans/

* Translated using Weblate (Hindi)

Currently translated at 100.0% (304 of 304 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/hi/

* Translated using Weblate (Punjabi)

Currently translated at 100.0% (304 of 304 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/pa/

---------

Co-authored-by: Макар Разин <makarrazin14@gmail.com>
Co-authored-by: atilluF <110931720+atilluF@users.noreply.github.com>
Co-authored-by: cwpute <collan+weblate@free.fr>
Co-authored-by: Yurical <yurical1@outlook.com>
Co-authored-by: Eric <zxmegaxqug@hldrive.com>
Co-authored-by: Fjuro <ifjuro@proton.me>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: BMT[UA] <weblate@yopmail.com>
Co-authored-by: qwerty287 <ndev@web.de>
Co-authored-by: ShareASmile <aapshergill@gmail.com>
Co-authored-by: Milo Ivir <mail@milotype.de>
2024-01-01 20:04:05 +00:00
Alexander Capehart
4a3beafc77
music: indicate volume components checked 2024-01-01 12:52:01 -07:00
Alexander Capehart
17939f6b2a
music: correctly propagate error 2024-01-01 12:36:08 -07:00
Alexander Capehart
b10caaef54
music: more path interpreter guards 2024-01-01 12:25:49 -07:00
Alexander Capehart
77f0bbe614
util: correctly throw channel errors
Wasn't being properly handled before, leading to weird behavior.
2024-01-01 12:02:38 -07:00
Alexander Capehart
ed519eeccc
music: refine new mediastoreextractor impl
- Make the interpreters use a more conventional naming structure
- Remove the redundant file name extraction that is largely an artifact
of older versions
2024-01-01 12:02:38 -07:00
Alexander Capehart
6b9f6862af
music: correctly parse data with new paths
Accidental regression appeared due to inconsistent trailing slashes, so
we need to reimplement this using the path datatype itself.
2024-01-01 12:02:38 -07:00
Alexander Capehart
2af8d8b4bd
music: remove old deadlock check
No longer needed and likely causing bugs
2024-01-01 10:06:36 -07:00
Alexander Capehart
c7f8b3ca6d
music: refactor mediastoreextractor internals
Split the version-specific components into "Interpreters" that are then
composed into MediaStoreExtractor. This is both a nicer design and also
allows me to resolve an evil Huawei bug that prevents me from using the
new path fields.

Resolves #592
2023-12-31 23:34:00 -07:00
Alexander Capehart
6956ca5915
music: fix m3u windows path importing
Forgot that Regex always matches the entire string, so I have to tack
on a wildcard.
2023-12-24 11:35:59 -07:00
Alexander Capehart
480b1b28e5
music: display correct message on new playlist
The context of the "New Playlist" dialog can differ depending on the
action performed, such as adding to a playlist or importing a playlist.
We need to make sure we're still showing the right message once this
is done.
2023-12-24 11:34:55 -07:00
Alexander Capehart
c5a3f72b99
music: add more playlist messages
Add more types of playlist messages corresponding to other actions, so
they can be indicated in the UI only when the process is complete.

This is somewhat incomplete. It does not include indicating errors for
other playlist operations (Which I want to do), and neither does it
handle situations in which some playlist operations and up reducing
to others (i.e import -> create). I need to do that later.
2023-12-23 22:02:55 -07:00
Alexander Capehart
21970349cc
music: add ability to import into playlists
Add a menu option that allows you to import a playlist file into an
existing playlist.

This is useful for keeping Auxio playlists up to date with a remote
source.
2023-12-23 20:50:40 -07:00
Alexander Capehart
c9b1ab9068
all: reformat xml 2023-12-23 20:01:20 -07:00
Alexander Capehart
c1fc548e6a
tests: fix tests 2023-12-23 12:19:06 -07:00
Alexander Capehart
3f1f2f5c2d
music: implement exporting frontend
Implement the exporting dialog and flow in all places in the app.
2023-12-23 12:16:02 -07:00
Alexander Capehart
68e4da5e7e
music: make playlist export configurable
Add configuration options for:
- Using windows-compatible paths with \ separators and C:\\ volume
prefixes
- Switching between relative and absolute paths
2023-12-23 12:12:51 -07:00
Alexander Capehart
c3f67d4dc5
music: fix m3u export
Wasn't correctly writing and also naively relative-izing paths. Those
should be fixed now, I hope.
2023-12-21 20:59:19 -07:00
Alexander Capehart
d59230be6d
music: re-add missing file 2023-12-20 22:53:08 -07:00
Alexander Capehart
771009d4ff
music: add m3u exporting backend
Add the backend for exporting playlists to m3u files.
2023-12-20 22:49:02 -07:00
Alexander Capehart
5562c18415
tests: fix
Need to mock paths now
2023-12-20 13:39:49 -07:00
Alexander Capehart
c995eb0d04
music: support m3u absolute paths
Under the assumption they are in the same volume as the file. It's
hacky, but whatever.
2023-12-20 13:32:13 -07:00
Alexander Capehart
c66a9b19b5
music: more m3u support
- Turns out path extraction via MediaStore doesn't work, have to grok
the URI format.
- Added playlist name extraction
- Proactively handling whitespace
2023-12-20 13:28:36 -07:00
Alexander Capehart
634ff0d823
home: add playlist import flow
Connect the playlist importing system to the home view's playlist add
button.
2023-12-20 13:28:20 -07:00
Alexander Capehart
2195431c66
music: dont inject contentresolver
I don't know why, but I can't inject it without causing errors.
2023-12-20 12:12:40 -07:00
Alexander Capehart
e553744c8e
music: rename import to external
Apparently hilt doesn't like a module with the name import, probably
because of a keyword conflict.
2023-12-20 11:59:48 -07:00
Alexander Capehart
88bce610ca
music: connect playlist importing to frontend 2023-12-20 11:04:54 -07:00
Alexander Capehart
fff8212b0a
music: add importing backend
Add basic importing infrastructure and an M3U parser to the backend.
2023-12-20 11:02:20 -07:00
Alexander Capehart
364675b252
music: revamp paths
Revamp paths with an entirely new abstraction that should improve
testability and integration with M3U playlists.
2023-12-19 22:14:59 -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
d3de34ed5e
music: throw on deadlocks
Attempt to throw an exception when any part of the loading routine
times out.
2023-12-18 18:36:09 -07:00
Alexander Capehart
4cb309f01f
playback: eliminate old viewpager stuff 2023-12-16 17:49:41 -07:00
Alexander Capehart
b0dd13b9a3
Merge branch 'dev' into feature/cover_gestures 2023-12-17 00:30:33 +00:00
Alexander Capehart
cd42c77304
playback: use ffmpeg first
Always decode with ffmpeg before decoding with MediaCodec.

MediaCodec is unreliable on some devices in such a way as to cause a
full loading failure on them. Prevent this by using ffmpeg.
2023-12-16 16:33:54 -07:00
Alexander Capehart
4421d6cf36
music: deduplicate by case
At some point, the switch to keying raw music information broke my
mitigation for duplicate tags that use similar cases. This then
crashed the music loader in certain cases. Fix it by making the
check use raw music keys.

Resolves #614
2023-12-16 13:52:36 -07:00
Weblate (bot)
7d9ed7d114
Translations update from Hosted Weblate (#610)
* Translated using Weblate (Spanish)

Currently translated at 100.0% (289 of 289 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/es/

* Translated using Weblate (Spanish)

Currently translated at 99.3% (290 of 292 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/es/

* Translated using Weblate (Czech)

Currently translated at 100.0% (292 of 292 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/cs/

* Translated using Weblate (Spanish)

Currently translated at 100.0% (292 of 292 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/es/

* Translated using Weblate (Ukrainian)

Currently translated at 100.0% (292 of 292 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/uk/

* Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (292 of 292 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/zh_Hans/

* Translated using Weblate (Czech)

Currently translated at 100.0% (38 of 38 strings)

Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/cs/

* Translated using Weblate (Spanish)

Currently translated at 100.0% (38 of 38 strings)

Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/es/

* Translated using Weblate (Lithuanian)

Currently translated at 100.0% (292 of 292 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/lt/

* Translated using Weblate (Lithuanian)

Currently translated at 100.0% (38 of 38 strings)

Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/lt/

* Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (38 of 38 strings)

Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/zh_Hans/

* Translated using Weblate (Ukrainian)

Currently translated at 100.0% (38 of 38 strings)

Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/uk/

* Translated using Weblate (Hindi)

Currently translated at 100.0% (292 of 292 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/hi/

* Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (38 of 38 strings)

Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/zh_Hant/

* Translated using Weblate (Punjabi)

Currently translated at 100.0% (292 of 292 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/pa/

* Translated using Weblate (Punjabi)

Currently translated at 100.0% (38 of 38 strings)

Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/pa/

* Translated using Weblate (Hindi)

Currently translated at 100.0% (38 of 38 strings)

Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/hi/

* Translated using Weblate (Russian)

Currently translated at 100.0% (292 of 292 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/ru/

* Translated using Weblate (Russian)

Currently translated at 100.0% (38 of 38 strings)

Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/ru/

* Translated using Weblate (Belarusian)

Currently translated at 100.0% (292 of 292 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/be/

* Translated using Weblate (Belarusian)

Currently translated at 100.0% (38 of 38 strings)

Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/be/

* Translated using Weblate (Chinese (Traditional))

Currently translated at 19.1% (56 of 292 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/zh_Hant/

* Translated using Weblate (German)

Currently translated at 100.0% (292 of 292 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/de/

* Translated using Weblate (German)

Currently translated at 100.0% (38 of 38 strings)

Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/de/

---------

Co-authored-by: Iago <translate@delthia.com>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: Fjuro <ifjuro@proton.me>
Co-authored-by: BMT[UA] <weblate@yopmail.com>
Co-authored-by: Eric <zxmegaxqug@hldrive.com>
Co-authored-by: Vaclovas Intas <vaclovas1999@gmail.com>
Co-authored-by: ShareASmile <aapshergill@gmail.com>
Co-authored-by: abc0922001 <abc0922001@hotmail.com>
Co-authored-by: Макар Разин <makarrazin14@gmail.com>
Co-authored-by: qwerty287 <ndev@web.de>
2023-12-03 11:48:58 -07:00
Alexander Capehart
9ae6b20fd1
music: decouple settings somewhat
Try to decouple the stateful music settings object from the stateless
internals of the music loader. This should make unit testing far
easier.
2023-11-12 11:55:22 -07:00
Alexander Capehart
0ad7a8955a
music: eliminate all reference to artists albums
It's no longer used in any capacity.
2023-11-12 11:32:51 -07:00
Alexander Capehart
d6801354ce
music: only include explicit albums in count
Only include an artists explicit albums (ones directly linked w/album
artist) in their count.

This is arguably more appropriate than the prior behavior, given
Auxio's collaborator/artist distinction.

Resolves #581.
2023-11-12 11:26:27 -07:00
Alexander Capehart
bf3c30e8af
music: add demo release type
This is part of the MusicBrainz spec, but I didn't think of implementing
it. Turns out it's stupidly common among music releases, so may as well.

Resolves #590.
2023-11-12 11:12:59 -07:00
Alexander Capehart
7fef5a27da
Revert "playback: temp revert swipe to next behavior"
This reverts commit df7ec27d1c.
2023-11-12 11:05:14 -07:00
Alexander Capehart
0016c77836
music: bump cache version
Accidentally bumped it to version code 35, when this will be version
code 36.
2023-11-12 10:18:03 -07:00
Alexander Capehart
df7ec27d1c
playback: temp revert swipe to next behavior
It's too buggy to be in a release currently, I have to disable it for
now.
2023-11-12 10:00:41 -07:00
Alexander Capehart
23dac3b4b7
music: bump cache db version
Made some changes to tag interpretation, so all users have to rescan
now.
2023-11-12 09:59:08 -07:00
Alexander Capehart
d926e19819
all: cleanup 2023-11-11 23:22:46 -07:00
Alexander Capehart
ce5b9e35c7
util: inline log functions
A bit of a stupid workaround now that I use Timber and not my
self-rolled logging solution. Timber uses some weird heuristics for
names that I don't.
2023-11-11 23:14:50 -07:00
Alexander Capehart
52697ef891
detail: allow adding to playlist in playlist
The playback view can still add to a playlist from a playlist, so I
have to implement this navigation route no matter what.
2023-11-11 23:01:51 -07:00
Alexander Capehart
a99b0ff615
ui: fix hebrew string crash
Caused by weblate once again conflating "many" with "other". I really
need to report that.

Resolves #575.
2023-11-11 22:55:24 -07:00
Alexander Capehart
08f3137c5b
app: start service on draw-time
Recently, Android 14 seemed to have finally made it impossible to start
services in onStart. I never realized this error since I thought
onStart signified the beginning of the foreground state, when it was
actually onResume. I think it only worked prior due to race conditions.
Try to fix it by moving the service starting code to onResume.

See #608.
2023-11-11 22:49:35 -07:00
Weblate (bot)
be97e110a6
Translations update from Hosted Weblate (#569)
* Translated using Weblate (Hungarian)

Currently translated at 100.0% (289 of 289 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/hu/

* Translated using Weblate (Portuguese (Brazil))

Currently translated at 94.8% (274 of 289 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/pt_BR/

* Translated using Weblate (Indonesian)

Currently translated at 68.5% (198 of 289 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/id/

* Translated using Weblate (Korean)

Currently translated at 100.0% (289 of 289 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/ko/

* Translated using Weblate (Korean)

Currently translated at 100.0% (289 of 289 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/ko/

* Translated using Weblate (Finnish)

Currently translated at 91.6% (265 of 289 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/fi/

* Translated using Weblate (Punjabi)

Currently translated at 100.0% (289 of 289 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/pa/

* Translated using Weblate (Arabic (ar_IQ))

Currently translated at 59.5% (172 of 289 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/ar_IQ/

* Translated using Weblate (German)

Currently translated at 100.0% (289 of 289 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/de/

* Translated using Weblate (Portuguese (Brazil))

Currently translated at 94.8% (274 of 289 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/pt_BR/

* Translated using Weblate (French)

Currently translated at 99.6% (288 of 289 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/fr/

* Translated using Weblate (French)

Currently translated at 100.0% (37 of 37 strings)

Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/fr/

* Added translation using Weblate (Slovenian)

* Translated using Weblate (Slovenian)

Currently translated at 100.0% (289 of 289 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/sl/

* Translated using Weblate (Slovenian)

Currently translated at 100.0% (37 of 37 strings)

Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/sl/

* Added translation using Weblate (Portuguese)

* Translated using Weblate (Portuguese (Portugal))

Currently translated at 100.0% (289 of 289 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/pt_PT/

* Translated using Weblate (Portuguese (Portugal))

Currently translated at 97.2% (36 of 37 strings)

Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/pt_PT/

* Translated using Weblate (Turkish)

Currently translated at 100.0% (289 of 289 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/tr/

* Translated using Weblate (Turkish)

Currently translated at 100.0% (37 of 37 strings)

Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/tr/

* Translated using Weblate (Korean)

Currently translated at 100.0% (289 of 289 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/ko/

* Translated using Weblate (Korean)

Currently translated at 100.0% (289 of 289 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/ko/

* Translated using Weblate (Portuguese (Portugal))

Currently translated at 99.3% (287 of 289 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/pt_PT/

* Translated using Weblate (Portuguese (Portugal))

Currently translated at 99.6% (288 of 289 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/pt_PT/

* Translated using Weblate (Lithuanian)

Currently translated at 100.0% (289 of 289 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/lt/

* Translated using Weblate (Portuguese (Portugal))

Currently translated at 100.0% (37 of 37 strings)

Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/pt_PT/

---------

Co-authored-by: Tibor Botfai (gidano) <gidano@gmail.com>
Co-authored-by: santiago046 <comehere665@gmail.com>
Co-authored-by: Reza Almanda <rezaalmanda27@gmail.com>
Co-authored-by: Yurical <yurical1@outlook.com>
Co-authored-by: Jiri Grönroos <jiri.gronroos@iki.fi>
Co-authored-by: ShareASmile <aapshergill@gmail.com>
Co-authored-by: Hamzoz <hamzoz.3010@gmail.com>
Co-authored-by: qwerty287 <ndev@web.de>
Co-authored-by: cwpute <obigre@protonmail.com>
Co-authored-by: K_Lar <zan.sprogar@gmail.com>
Co-authored-by: pringless <rexpress97@gmail.com>
Co-authored-by: Bai <batuhanakkurt000@gmail.com>
Co-authored-by: Vaclovas Intas <vaclovas1999@gmail.com>
2023-11-03 20:50:21 -06:00
Alexander Capehart
48b0b11e88
all: random cleanup 2023-10-16 21:38:14 -06:00
Alexander Capehart
94e2c3c3e4
playback: further pager cleanup
- Use Replace instead of Diff for now since that avoids the scroll
state freaking out. In practice I'll likely need to radically refactor
this system (AGAIN...) to make the queue updates 100% fine-grained,
even during shuffling.
- Remove the behaivor of staying paused on the next track. That's
covered by #568.
2023-10-16 21:33:53 -06:00
Alexander Capehart
243fb73f94
music: add context to malformed errors
Makes debugging easier.
2023-10-16 21:03:42 -06:00
Alexander Capehart
b19b6665bb
music: accept native m4a multi-value tags
M4A has it's own multi-value spec that works similarly to vorbis, where
they just repeat the atom several times with multiple values. Since M4A
atoms are remapped to ID3v2 frames, this more or less requires us to
tolerate duplicate ID3v2 frames as well, which is frustratingly a spec
violation. It solves the problem though

Resolves #558.
2023-10-16 20:52:38 -06:00
Alexander Capehart
2fe0f3e7d8
playback: partially build back pager impl 2023-10-16 20:45:13 -06:00
Alexander Capehart
d51da1b4bf
playback: export playback reciever
Completely misunderstood how this would affect the widget/notification
on Android 14. Apparently it just blocks all intents, even if they are
tangentially from the app.

Resolves #598.
2023-10-16 20:31:53 -06:00
Alexander Capehart
4eacb65aff
music: fix incorrect hashing
Forgot a + hashCode in like half of the hashing statements, ended up
causing incorrect image cache hits.
2023-10-16 20:30:24 -06:00
Weblate (bot)
f41905104f
Translations update from Hosted Weblate (#538)
* Translated using Weblate (French)

Currently translated at 99.6% (286 of 287 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/fr/

* Translated using Weblate (Romanian)

Currently translated at 60.2% (173 of 287 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/ro/

* Translated using Weblate (Hindi)

Currently translated at 100.0% (287 of 287 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/hi/

* Translated using Weblate (Punjabi)

Currently translated at 100.0% (287 of 287 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/pa/

* Translated using Weblate (Romanian)

Currently translated at 60.6% (174 of 287 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/ro/

* Translated using Weblate (Czech)

Currently translated at 100.0% (291 of 291 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/cs/

* Translated using Weblate (Spanish)

Currently translated at 100.0% (291 of 291 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/es/

* Translated using Weblate (Hindi)

Currently translated at 100.0% (291 of 291 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/hi/

* Translated using Weblate (Ukrainian)

Currently translated at 100.0% (291 of 291 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/uk/

* Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (291 of 291 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/zh_Hans/

* Translated using Weblate (Lithuanian)

Currently translated at 100.0% (291 of 291 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/lt/

* Translated using Weblate (Punjabi)

Currently translated at 100.0% (291 of 291 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/pa/

* Translated using Weblate (Russian)

Currently translated at 100.0% (289 of 289 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/ru/

* Translated using Weblate (Belarusian)

Currently translated at 100.0% (289 of 289 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/be/

* Translated using Weblate (Ukrainian)

Currently translated at 100.0% (289 of 289 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/uk/

* Translated using Weblate (Hebrew)

Currently translated at 100.0% (37 of 37 strings)

Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/he/

* Translated using Weblate (Hebrew)

Currently translated at 100.0% (289 of 289 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/he/

* Translated using Weblate (Croatian)

Currently translated at 100.0% (289 of 289 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/hr/

* Translated using Weblate (Swedish)

Currently translated at 89.9% (260 of 289 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/sv/

* Translated using Weblate (Portuguese (Brazil))

Currently translated at 94.4% (273 of 289 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/pt_BR/

---------

Co-authored-by: J. Lavoie <j.lavoie@net-c.ca>
Co-authored-by: Yokyrole <iteodormatianu@gmail.com>
Co-authored-by: ShareASmile <aapshergill@gmail.com>
Co-authored-by: Fjuro <ifjuro@proton.me>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: BMT[UA] <weblate@yopmail.com>
Co-authored-by: Eric <hamburger2048@users.noreply.hosted.weblate.org>
Co-authored-by: Vaclovas Intas <vaclovas1999@gmail.com>
Co-authored-by: Макар Разин <makarrazin14@gmail.com>
Co-authored-by: FAYE <pl4gve@gmail.com>
Co-authored-by: Milo Ivir <mail@milotype.de>
Co-authored-by: sköldpadda <weblate@turtle.garden>
Co-authored-by: santiago046 <comehere665@gmail.com>
2023-09-08 13:40:16 -06:00
Alexander Capehart
23d474278a
music: fix failing tests
Use generic Collection instead of Set to prevent the new DeviceLibrary
tests from failing.
2023-09-03 21:14:53 -06:00
Alexander Capehart
a4e8c250a3
music: add basic devicelibrary tests
Add basic devicelibrary initialization/glue tests.

This does not actually test the grouping process, as that is more
involved.
2023-09-03 21:04:46 -06:00
Alexander Capehart
b3ef43b37e
playback: start cleaning up pager impl
Fix some immediate compile issues and some style nitpicks. This breaks
the system a bit, but I don't think I will have enough time to debug
fully for the forseeable future, so I want to get this out now.
2023-08-22 07:29:06 -06:00
Alexander Capehart
a1abcd7aac
Merge branch 'dev' into feature/cover_carousel 2023-08-21 07:50:23 -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
881fb58648
music: consider settings in equality
Make it so that music items are meaningfully different when they were
created under different settings. This resolves an issue where music
information would not correctly update when separators or intelligent
sorting would change.

Resolves #546.
2023-08-18 16:00:03 -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
fcffb56021
music: use factory to create known names
Implement a new Name.Known.Factory instance that replaces the usage of
Name.Known.from.

This again allows songs to be differentiated on tag interpretation and
is generally easier to test.
2023-08-18 15:27:45 -06:00
Alexander Capehart
c1655a9eca
music: move multi-value util to separators
Move all multi-value utilities to a new Separators interface.

This should allow separator config to be dynamically compared across
song instances, and generally make songs easier to test.
2023-08-18 14:15:23 -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
2c2bd79ae2
music: trim simple names after punct removal
Trim simple names once punctuation has been removed.

This prevents situations where album names like "& Yet & Yet" (a real
album by post-rock outfit Do Make Say Think) will have blank thumbs.
This probably isn't the best approach in general, but nothing about the
intelligent name system is a good approach.
2023-08-18 11:47:50 -06:00
Alexander Capehart
d0b34a14e4
playback: fix broken item navigation
Caused yet again by sharing StateFlows leading to a strange
out-of-order collector notification, which then allows detail
fragments to consume item navigation requests before the playback
panel can even get them. SharedFlow doesn't help here, so we are
just forced to move this to MainFragment which does not have this
issue for some reason.
2023-08-17 20:43:39 -06:00
Alexander Capehart
20c34fd888
music: fix crash on adding to new playlist
Apparently dialog fragments do not change the state of the fragment it
is overlaid on, resulting in it still having active StateFlow
collectors that will intercept new playlist requests before
AddToPlaylistDialog. Once again sharing StateFlows across views has
bit me.

In the future I may try to preserve the navigation idioms by not
stacking NewPlaylistDialog on AddToPlaylistDialog and instead
simply swap them out. I think this would also be better design too
(It's not like I'm allowing other decision dialogs to be exitable
back to their prior dialog).
2023-08-17 20:39:05 -06:00
Alexander Capehart
d297c10b0a
detail: fix crash on multi-artist navigation
Caused by an unimplemented navigation branch in ArtistDetailFragment.
2023-08-17 20:25:39 -06:00
Alexander Capehart
58989f8568
build: revert to navigation 2.5.3
I would have to duplicate the workaround for every fragment in the
project. Easier to just roll back until it's fixed.
2023-08-16 19:58:38 -06:00
Alexander Capehart
8026849856
all: cleanup 2023-08-16 19:41:19 -06:00
Alexander Capehart
f400aa513c
ui: mitigate navigation desync bug
This thing reared it's ugly head again during 3.2.0 testing. I think
I've found a terrible but probably functional workaround for it. Start
using it.
2023-08-16 19:23:40 -06:00
Alexander Capehart
449ec7cecd
ui: fix gap in landscape bottom sheet dialog
Apparently a second-order effect of the prior fix since the insetTop
value would now shift the dialog downwards unneccessarily.
2023-08-16 17:32:26 -06:00
Alexander Capehart
70a5bab921
ui: vendor bottom sheet dialog w/fixes
Vendor BottomSheetDialog(Fragment) with the inset fix that prior used
reflection.

Apparently said reflection breaks down and crashes the release build
somehow. So now I just have to hastily patch BackportBottomSheetBehavior
and vendor another 1000 lines of MDC code.

Really considering making a PHP sadness-like blog solely for android
at this point.
2023-08-16 17:12:56 -06:00