Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Version 3.3.0 #659

Merged
merged 73 commits into from
Jan 3, 2024
Merged

Version 3.3.0 #659

merged 73 commits into from
Jan 3, 2024

Conversation

OxygenCobalt
Copy link
Owner

@OxygenCobalt OxygenCobalt commented Jan 3, 2024

  • Playlist import/export is here. Sorry for the delay, I had to do schoolwork and then spend a week wrangling a speed dial component into working sensibly. Please stress-test this, especially the UI flow. The M3U files should already be sufficiently compliant.
  • Added basic skip gestures to the playback panel. Animation is not present since thats the annoying hard part I need more time to get working sensibly.
  • Huawei devices should load music again, at least I hope.
  • I had to change a lot of internal filesystem code to support playlists, might have some regressions as a result.

Debug APK (Slower than release): Auxio_Canary.zip

Koitharu and others added 30 commits June 30, 2023 12:36
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.
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.
It's no longer used in any capacity.
Try to decouple the stateful music settings object from the stateless
internals of the music loader. This should make unit testing far
easier.
* 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 <[email protected]>
Co-authored-by: gallegonovato <[email protected]>
Co-authored-by: Fjuro <[email protected]>
Co-authored-by: BMT[UA] <[email protected]>
Co-authored-by: Eric <[email protected]>
Co-authored-by: Vaclovas Intas <[email protected]>
Co-authored-by: ShareASmile <[email protected]>
Co-authored-by: abc0922001 <[email protected]>
Co-authored-by: Макар Разин <[email protected]>
Co-authored-by: qwerty287 <[email protected]>
AGP -> 8.2.0

Requires me to enable Java 8 desugaring for some...reason.
Will need to put some work into updating some others
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
Builds, unsure if it will cause any signifigant changes.
Apparently GH actions doesn't like NDK r26 yet.
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.
Attempt to throw an exception when any part of the loading routine
times out.
Add a speed dial menu that allows you to create a new playlist or
import a playlist from elsewhere.
Revamp paths with an entirely new abstraction that should improve
testability and integration with M3U playlists.
Add basic importing infrastructure and an M3U parser to the backend.
Apparently hilt doesn't like a module with the name import, probably
because of a keyword conflict.
I don't know why, but I can't inject it without causing errors.
Connect the playlist importing system to the home view's playlist add
button.
- Turns out path extraction via MediaStore doesn't work, have to grok
the URI format.
- Added playlist name extraction
- Proactively handling whitespace
Under the assumption they are in the same volume as the file. It's
hacky, but whatever.
OxygenCobalt and others added 23 commits January 1, 2024 12:02
- Make the interpreters use a more conventional naming structure
- Remove the redundant file name extraction that is largely an artifact
of older versions
Wasn't being properly handled before, leading to weird behavior.
* 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: Макар Разин <[email protected]>
Co-authored-by: atilluF <[email protected]>
Co-authored-by: cwpute <[email protected]>
Co-authored-by: Yurical <[email protected]>
Co-authored-by: Eric <[email protected]>
Co-authored-by: Fjuro <[email protected]>
Co-authored-by: gallegonovato <[email protected]>
Co-authored-by: BMT[UA] <[email protected]>
Co-authored-by: qwerty287 <[email protected]>
Co-authored-by: ShareASmile <[email protected]>
Co-authored-by: Milo Ivir <[email protected]>
Was using color secondary prior since the code was derived from
MaterialFiles.
Caused by a dumb mistake in the cancellation code.
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.
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.
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.
Bump the app version to 3.3.0 (36).
Apprently these only report their IDs, frustratingly.
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.
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.
@OxygenCobalt OxygenCobalt added the enhancement New feature or request label Jan 3, 2024
@OxygenCobalt OxygenCobalt self-assigned this Jan 3, 2024
@OxygenCobalt OxygenCobalt added release Release testing period and removed enhancement New feature or request labels Jan 3, 2024
@OxygenCobalt
Copy link
Owner Author

A new APK with a tiny fix for the shuffle button:
Auxio_Canary.zip

@OxygenCobalt OxygenCobalt merged commit 4e2e6f6 into master Jan 3, 2024
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
release Release testing period
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants