Commit graph

1962 commits

Author SHA1 Message Date
Alexander Capehart
08e00c7fb1
playback: use custom service lifecycle 2024-04-08 21:15:04 -06:00
Alexander Capehart
94e29c0a1b
build: upgrade deps 2024-04-08 21:14:22 -06:00
Alexander Capehart
04ea6834fb
playback: rearchitecture around media3 (prototype)
Nowhere near complete in any capacity.
2024-04-07 23:25:53 -06:00
Alexander Capehart
6491dddc2b
build: bump to 3.4.3
Bump to version 3.4.3 (44).
2024-04-07 23:25:53 -06:00
Alexander Capehart
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
2f36fcfb45
build: bump to 3.4.2
Bump to version 3.4.2.
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
dd118b4529
build: bump to 3.4.1
Bump to version 3.4.1 (42).
2024-02-24 14:38:01 -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
80e08fd74a
build: bump to 3.4.0
Bump to version 3.4.0 (41).
2024-02-17 12:59:43 -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
40fdf59a66
build: bump to 3.4.0-dev
Decided dev is a better suffix.
2024-01-21 20:04:45 -07:00
Alexander Capehart
d0817dd83b
build: bump to 3.4.0
Bump to a testing version of 3.4.0.
2024-01-21 20:03:27 -07:00
Alexander Capehart
8dc0be4a52
all: cleanup 2024-01-21 20:01:26 -07:00
Alexander Capehart
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
4f42695812
info: bump to 3.3.3
Bump the app version to 3.3.3 (40).
2024-01-14 11:19:41 -07:00
Alexander Capehart
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
3d1fa6e4ff
info: bump to 3.3.2
Bump to version 3.3.2 (39).
2024-01-14 09:58:42 -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
dea0ee1432
info: bump to 3.3.1
Bump to version 3.3.1 (38).
2024-01-13 21:14:26 -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
399237d2fe
build: bump to 3.3.0
Bump the app version to 3.3.0 (36).
2024-01-01 20:37:05 -07:00
Alexander Capehart
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