Commit graph

1824 commits

Author SHA1 Message Date
Alexander Capehart
b7c15e0cc5
image: refactor views
Refactor StyledImageView and ImageGroup into a new class called
CoverView.

This new view is more sensibly designed and should be capable of
handling non-square album covers when implemented.
2023-05-28 15:29:38 -06:00
Alexander Capehart
10d05b1f26
all: fix log statements
Fix messy and useless log statements throughout the app.
2023-05-28 10:10:03 -06:00
Weblate (bot)
54724517ae
Translations update from Hosted Weblate (#449)
* Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (276 of 276 strings)

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

* Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (32 of 32 strings)

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

* Translated using Weblate (Czech)

Currently translated at 100.0% (275 of 275 strings)

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

* Translated using Weblate (Spanish)

Currently translated at 100.0% (275 of 275 strings)

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

* Translated using Weblate (Italian)

Currently translated at 100.0% (275 of 275 strings)

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

* Translated using Weblate (Ukrainian)

Currently translated at 100.0% (275 of 275 strings)

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

* Translated using Weblate (Czech)

Currently translated at 100.0% (32 of 32 strings)

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

* Translated using Weblate (Spanish)

Currently translated at 100.0% (32 of 32 strings)

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

* Translated using Weblate (Italian)

Currently translated at 100.0% (32 of 32 strings)

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

* Translated using Weblate (Ukrainian)

Currently translated at 100.0% (32 of 32 strings)

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

* Translated using Weblate (German)

Currently translated at 100.0% (275 of 275 strings)

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

* Translated using Weblate (Hungarian)

Currently translated at 18.1% (50 of 275 strings)

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

* Translated using Weblate (Russian)

Currently translated at 100.0% (275 of 275 strings)

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

* Translated using Weblate (Russian)

Currently translated at 100.0% (275 of 275 strings)

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

* Translated using Weblate (Ukrainian)

Currently translated at 100.0% (275 of 275 strings)

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

* Translated using Weblate (German)

Currently translated at 100.0% (32 of 32 strings)

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

* Translated using Weblate (Japanese)

Currently translated at 100.0% (275 of 275 strings)

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

* Translated using Weblate (Croatian)

Currently translated at 100.0% (275 of 275 strings)

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

* Translated using Weblate (Russian)

Currently translated at 100.0% (32 of 32 strings)

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

* Translated using Weblate (Belarusian)

Currently translated at 100.0% (275 of 275 strings)

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

* Translated using Weblate (Czech)

Currently translated at 100.0% (279 of 279 strings)

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

* Translated using Weblate (German)

Currently translated at 100.0% (279 of 279 strings)

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

* Translated using Weblate (Spanish)

Currently translated at 100.0% (279 of 279 strings)

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

* Translated using Weblate (Korean)

Currently translated at 100.0% (279 of 279 strings)

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

* Translated using Weblate (Polish)

Currently translated at 100.0% (279 of 279 strings)

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

* Translated using Weblate (Russian)

Currently translated at 100.0% (279 of 279 strings)

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

* Translated using Weblate (Ukrainian)

Currently translated at 100.0% (279 of 279 strings)

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

* Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (279 of 279 strings)

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

* Translated using Weblate (Japanese)

Currently translated at 100.0% (279 of 279 strings)

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

* Translated using Weblate (Lithuanian)

Currently translated at 100.0% (279 of 279 strings)

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

* Translated using Weblate (Lithuanian)

Currently translated at 100.0% (32 of 32 strings)

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

* Translated using Weblate (Belarusian)

Currently translated at 100.0% (279 of 279 strings)

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

* Translated using Weblate (Serbian)

Currently translated at 8.9% (25 of 279 strings)

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

* 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 (Hungarian)

Currently translated at 94.6% (263 of 278 strings)

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

* Translated using Weblate (Hungarian)

Currently translated at 100.0% (278 of 278 strings)

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

* Translated using Weblate (Hebrew)

Currently translated at 59.3% (165 of 278 strings)

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

* Translated using Weblate (Hungarian)

Currently translated at 96.8% (31 of 32 strings)

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

* Translated using Weblate (Hungarian)

Currently translated at 100.0% (278 of 278 strings)

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

* Translated using Weblate (Hebrew)

Currently translated at 87.4% (243 of 278 strings)

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

---------

Co-authored-by: Eric <hamburger2048@users.noreply.hosted.weblate.org>
Co-authored-by: Fjuro <ifjuro@proton.me>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: atilluF <110931720+atilluF@users.noreply.github.com>
Co-authored-by: BMT[UA] <weblate@yopmail.com>
Co-authored-by: qwerty287 <ndev@web.de>
Co-authored-by: Tibor Botfai (gidano) <gidano@gmail.com>
Co-authored-by: AHOHNMYC <lqwh2h2cwa@protonmail.com>
Co-authored-by: Макар Разин <makarrazin14@gmail.com>
Co-authored-by: Milo Ivir <mail@milotype.de>
Co-authored-by: Vaclovas Intas <vaclovas1999@gmail.com>
Co-authored-by: Yosef Or Boczko <yoseforb@gnome.org>
2023-05-28 16:04:17 +00:00
Alexander Capehart
61c71d4419
image: fix memory leaks
Fix memory leaks stemming from failing to close unused InputStreams
after mosiac creation or if mosaics could not be created outright.
2023-05-28 10:01:10 -06:00
Alexander Capehart
d539c35518
ui: fix button log spam
Fix log spam about unresolved attrs coming from button apparently
forgetting where it's default icon tint is.
2023-05-28 09:06:41 -06:00
Alexander Capehart
6fc743990d
actions: disable tests for now
I need to do them right before enabling this.
2023-05-26 16:39:53 -06:00
Alexander Capehart
699227c1a8
all: relog project
Fill in a lot of code paths in the project with log statements in order
to improve the debugging experience.
2023-05-26 16:36:06 -06:00
Alexander Capehart
b037cfb166
music: improve sorting
Update sorting usage in-app so that it's only done when absolutely
necessary.
2023-05-25 13:47:11 -06:00
Alexander Capehart
c2def19aee
ui: handle playing indicator edge cases
Handle two edge cases identified with the playing indicator behavior:
1. When enqueing songs from another parent, the prior parent is still
indicates as "playing" when it kind-of isn't.
2. When playback is stopped, the parent is not reset, and thus will
still be indicated as "playing" after the song has disappeared. This
is rarer and should be resolved in other ways, but the solution to
1 also fixes this.

Resolves #380.
2023-05-25 13:16:58 -06:00
Alexander Capehart
21a6b97bfa
build: update deps
AGP -> 8.0.2
Coil -> 2.4.0
2023-05-25 12:59:45 -06:00
Alexander Capehart
ba94d4fa21
detail: group implicit albums in "appears on"
Group albums implicitly linked to an artist via the "artist" tag into
their own section called "Appears on".

This makes Auxio's artist model a bit more apparent to users.

Resolves #411.
2023-05-25 12:54:23 -06:00
Alexander Capehart
8939d341e6
detail: default to "no disc" instead of "disc 1"
Default tracks without a disc to a group called "No disc" instead of
disc 1.

This should reduce confusion on the user end, as it will make improper
taggings more apparent instead of simply degrading to a werid sort
ordering.

Resolves #405.
2023-05-25 12:03:37 -06:00
Alexander Capehart
4210a8d247
ui: disable some options w/empty parents
Disable most playback and playlisting operations when an artist or
playlist is empty.
2023-05-25 11:55:49 -06:00
Alexander Capehart
2d0a74122f
ui: clean up share impl
Clean up the sharing implementation to be more in-line with how I
would write it.
2023-05-25 11:37:15 -06:00
Alexander Capehart
eac03f702a
Merge pull request #443 from Koitharu/feature/share
Add file sharing
2023-05-25 16:46:49 +00:00
Koitharu
d3c8304a0d
Add missing imports 2023-05-25 19:31:36 +03:00
Alexander Capehart
a5e01be34b
Merge branch 'dev' into feature/share 2023-05-24 15:49:53 +00:00
Alexander Capehart
af563c83ac
build: reduce execution times
Reduce build execution times through the use of non-transitive/final R
classes and removing unnecessary wildcard imports.
2023-05-22 21:41:13 -06:00
Alexander Capehart
9739e017f5
Merge pull request #450 from OxygenCobalt/dev
Version 3.1.0
2023-05-23 02:03:31 +00:00
Alexander Capehart
4ad4be03f7
build: fix fastlane
Fix janky fastlane changelogs for 3.1.0
2023-05-22 19:53:19 -06:00
Alexander Capehart
a5ce8bf5ee
build: fix changelog 2023-05-22 16:31:04 -06:00
Alexander Capehart
8a8586968f
all: cleanup
Final pre-release cleanup.
2023-05-21 20:04:18 -06:00
Alexander Capehart
1e9604be54
build: bump to 3.1.0
Bump Auxio to version 3.1.0.
2023-05-21 19:48:32 -06:00
Alexander Capehart
9b37975008
image: fix album ordering
Prior ordering sorted by album song count, which skewed results if an
entire album was not present in an input list.
2023-05-21 14:46:24 -06:00
Alexander Capehart
877d380fa0
music: use indices in playlist db
Use indices in the playlist database, which should improve perofrmance
a little.
2023-05-21 13:38:24 -06:00
Alexander Capehart
7e739061d8
Merge branch 'dev' into feature/share 2023-05-21 19:14:55 +00:00
Weblate (bot)
b764796500
Translations update from Hosted Weblate (#441)
* Translated using Weblate (Spanish)

Currently translated at 100.0% (263 of 263 strings)

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

* Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (263 of 263 strings)

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

* Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (267 of 267 strings)

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

* Translated using Weblate (Czech)

Currently translated at 100.0% (267 of 267 strings)

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

* Translated using Weblate (Spanish)

Currently translated at 100.0% (267 of 267 strings)

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

* Translated using Weblate (Ukrainian)

Currently translated at 100.0% (267 of 267 strings)

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

* Translated using Weblate (Italian)

Currently translated at 100.0% (267 of 267 strings)

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

* Translated using Weblate (Korean)

Currently translated at 100.0% (267 of 267 strings)

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

* Translated using Weblate (Polish)

Currently translated at 100.0% (267 of 267 strings)

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

* Translated using Weblate (Russian)

Currently translated at 100.0% (267 of 267 strings)

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

* Translated using Weblate (Japanese)

Currently translated at 100.0% (267 of 267 strings)

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

* Translated using Weblate (Belarusian)

Currently translated at 100.0% (267 of 267 strings)

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

* Translated using Weblate (Serbian)

Currently translated at 2.2% (6 of 267 strings)

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

* Translated using Weblate (Czech)

Currently translated at 100.0% (268 of 268 strings)

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

* Translated using Weblate (Czech)

Currently translated at 100.0% (270 of 270 strings)

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

* Translated using Weblate (German)

Currently translated at 100.0% (270 of 270 strings)

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

* Translated using Weblate (Ukrainian)

Currently translated at 100.0% (270 of 270 strings)

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

* Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (270 of 270 strings)

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

* Translated using Weblate (Ukrainian)

Currently translated at 100.0% (274 of 274 strings)

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

* Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (274 of 274 strings)

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

* Translated using Weblate (Czech)

Currently translated at 100.0% (274 of 274 strings)

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

* Translated using Weblate (German)

Currently translated at 100.0% (274 of 274 strings)

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

* Translated using Weblate (Spanish)

Currently translated at 100.0% (274 of 274 strings)

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

* Translated using Weblate (Ukrainian)

Currently translated at 100.0% (274 of 274 strings)

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

* Translated using Weblate (Spanish)

Currently translated at 100.0% (275 of 275 strings)

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

* Translated using Weblate (Ukrainian)

Currently translated at 100.0% (275 of 275 strings)

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

* Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (275 of 275 strings)

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

* Translated using Weblate (Croatian)

Currently translated at 100.0% (275 of 275 strings)

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

---------

Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: Eric <hamburger2048@users.noreply.hosted.weblate.org>
Co-authored-by: Fjuro <ifjuro@proton.me>
Co-authored-by: Skrripy <rozihrash.ya6w7@simplelogin.com>
Co-authored-by: Макар Разин <makarrazin14@gmail.com>
Co-authored-by: Maciej Klupp <maciej.klupp@gmail.com>
Co-authored-by: Ettore Atalan <atalanttore@googlemail.com>
Co-authored-by: BMT[UA] <weblate@yopmail.com>
Co-authored-by: Milo Ivir <mail@milotype.de>
2023-05-21 19:12:36 +00:00
Alexander Capehart
89eeaa33cc
list: avoid crashing on span size lookups
Apparently sometimes the span size lookup will try to find an item that
does not exist. Fix that.
2023-05-21 12:01:41 -06:00
Alexander Capehart
fb892453bd
home: fix tab setting migration
Fix a few issues with the tab migration:
1. It wasn't even being ran
2. It incorrectly updated the tabs by adding a playlist tab when it was
actually already present.
2023-05-21 11:45:44 -06:00
Alexander Capehart
8953f12a1e
music: try to fix repo race conditions
Forgot to slather the entire class in Synchronized and Volatile. Should
make crashes less likely, I hope.
2023-05-21 09:53:56 -06:00
Alexander Capehart
049d2bc152
build: update deps 2023-05-20 20:14:00 -06:00
Alexander Capehart
5244a2b858
build: fix release
Apparently AGP throws a fit when you don't suppress warnings for
cryptography classes that aren't even used. Great.
2023-05-20 20:11:33 -06:00
Alexander Capehart
c86970470f
music: back playlists with database
Finally persist playlists with a backing database.
2023-05-20 19:57:57 -06:00
Alexander Capehart
0597fa876c
detail: drop playlist resorting for now
Don't really have the UI for it currently. It would require some kind
of dialog instead of a popup menu, which is planned eventually.
2023-05-20 11:28:57 -06:00
Alexander Capehart
572b0e52f8
music: clean up playlist experience
Add a variety of mild fixes and qol improvements regarding playlists.
2023-05-20 11:24:45 -06:00
Alexander Capehart
1fd6795b0d
detail: move editing state to toolbar
Move the music editing state to the toolbar.

This should be signifigantly clearer than prior, at the cost of it's
"universality" implying that renaming should be available when it
actually won't be.
2023-05-19 19:57:41 -06:00
Alexander Capehart
cee92c8087
detail: update playlist header to reflect edits
Make the header information reflect changes in playlist composition as
the playlist is edited.

This should improve the editing experience to some extent.
2023-05-19 14:37:01 -06:00
Alexander Capehart
5fff1bd0b3
image: simplify implementation
Reduce the accepted datatype of extractors down to a list of songs,
moving the other datatypes to the UI layer.

This massively reduces the amount of components that must be managed,
and enables functionality related to playlist editing.
2023-05-19 14:12:22 -06:00
Alexander Capehart
996c86b361
detail: add playlist editing
Add the ability to edit a playlist in it's detail view.

This replaces the prior sorting functionality entirely. That will be
re-added later.
2023-05-19 11:15:33 -06:00
Alexander Capehart
33381f463a
playback: move drag helper to list
Move most of QueueDragCallback to the list module.

This is planned to be re-used with the playlist view, so it should be
shared.
2023-05-18 20:16:53 -06:00
Alexander Capehart
a153a41f8d
detail: fix missing album add to playlist option
Add an add to playlist option that should have been done prior but was
apparently forgotten.
2023-05-18 18:11:00 -06:00
Alexander Capehart
41cab82523
Merge branch 'dev' into feature/share 2023-05-18 23:20:53 +00:00
Alexander Capehart
c0001e0a81
tests: fix mocks
Fix unimplemented mock methods.
2023-05-18 17:14:58 -06:00
Alexander Capehart
3feee67388
image: key based on object hashcode
Key images based on the full object hashcode, alongside the UID.

Hopefully this reduces the likelihood of images getting stuck further.
2023-05-18 17:14:02 -06:00
Alexander Capehart
3a5e1a5111
music: add playlist renaming
Add the flow for renaming a playlist.
2023-05-18 17:09:59 -06:00
Alexander Capehart
08d36df905
list: rework item arragement
Fix two issues with the ways items are laid out:
1. Remove the automatic span size lookup. Now that ConcatAdpater is
used, this basically becomes impossible to really leverage.
2. Use a divider item instead of a divider item decoration. The
latter is too buggy in many contexts, like the search view.

Resolves #426
Resolves #444
2023-05-18 14:54:13 -06:00
Koitharu
e48916fb27
Fix style issues 2023-05-18 19:27:50 +03:00
Koitharu
7f11e886f7
Sharing albums, artists, genres and playlists 2023-05-18 12:19:17 +03:00
Koitharu
7915655c78
Songs sharing 2023-05-18 10:23:34 +03:00
Alexander Capehart
ded7956319
build: update media3 to 1.0.2 2023-05-17 19:26:01 -06:00