Commit graph

2208 commits

Author SHA1 Message Date
Alexander Capehart
4ad2fe1a58
info: fix readme version 2023-12-23 12:29:27 -07:00
Alexander Capehart
61cb520ab8
info: update changelog 2023-12-23 12:29:05 -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
3d92bdab6f
info: update changelog 2023-12-20 13:49:43 -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
bf1cbad1da
build: update media 2023-12-16 15:45:07 -07:00
Alexander Capehart
b7f33622e7
build: update media3 2023-12-16 15:17:53 -07:00
Alexander Capehart
b9bcdf4a51
build: fix ndk 2023-12-16 14:33:17 -07:00
Alexander Capehart
f4db2fcd80
build: use ndk r25
Apparently GH actions doesn't like NDK r26 yet.
2023-12-16 14:26:52 -07:00
Alexander Capehart
953b92108a
build: update to ndk r26
Builds, unsure if it will cause any signifigant changes.
2023-12-16 14:21:14 -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
Alexander Capehart
7a90e7eef1
build: update deps
Will need to put some work into updating some others
2023-12-16 13:51:49 -07:00
Alexander Capehart
b1c48f13fd
build: update agp
AGP -> 8.2.0

Requires me to enable Java 8 desugaring for some...reason.
2023-12-16 11:04:01 -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
5204b59114
info: add android 14 to bug template 2023-11-26 14:56:55 -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
b4b830fbf4
build: separate 3.2.1 changelog 2023-11-12 11:05:49 -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
d5017f8d38
Merge pull request #613 from OxygenCobalt/v3.2.1-cherrypick
Version 3.2.1
2023-11-12 17:22:22 +00: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
917e6c0737
build: bump to v3.2.1
Bump to version 3.2.1 (35).
2023-11-12 10:00:35 -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