Commit graph

1356 commits

Author SHA1 Message Date
Alexander Capehart
fd61f5bb9f
settings: remove about screen reliance on home
Remove the about screen's reliance on the home data.

The home view's data can no longer be trusted now due to the "hide
collaborators" setting, so now the about screen uses statistics
derived from MusicStore itself. This also avoids constantly
resumming the duration when the UI is initially created.
2022-11-19 16:45:50 -07:00
Alexander Capehart
8df89db77b
music: backport full dates to older versions
Backport the code for full "Month + Year" dates to older versions with
the legacy Date API.

For the same of not missing bugs on newer devices, this is now what
will be used in Auxio.
2022-11-19 16:34:00 -07:00
Alexander Capehart
c13a57f694
music: rework picker system
Rework the music picker system to be a reactive, viewmodel-based system
instead of a janky UI system.

This should make it much easier to maintain and extend in the future.
2022-11-19 16:13:20 -07:00
Alexander Capehart
086f7836bd
all: cleanup
General cleanup
2022-11-16 09:05:51 -07:00
Alexander Capehart
a7bd48b64a
Merge branch 'master' into dev 2022-11-16 08:46:23 -07:00
Alexander Capehart
6b1f3e4567
Version 2.6.4
Ready for version 2.6.4 of Auxio.
2022-11-16 08:20:37 -07:00
Alexander Capehart
b3cf76089a
detail: fix genre menu crash
Fix a crash when opening the genre menu.
2022-11-15 20:49:43 -07:00
Alexander Capehart
d9a5920fee
music: add rescan option
Add an option to "rescan" the music library (i.e load without the cache).

If there are issues with the cache, this can be used instead.
2022-11-15 08:44:14 -07:00
Alexander Capehart
2b35fd07b6
playback: disable bluetooth autoplay
Temporarily disable and clean up the bluetooth autoplay system for now
until I can get it working sensibly.
2022-11-14 20:46:12 -07:00
Alexander Capehart
1447069efd
Merge branch 'dev' of github.com:seijikun/Auxio into seijikun-dev 2022-11-14 20:38:10 -07:00
Weblate (bot)
794f1e1dfd
Translations update from Hosted Weblate (#277)
* Translated using Weblate (Korean)

Currently translated at 100.0% (233 of 233 strings)

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

* Translated using Weblate (Italian)

Currently translated at 100.0% (233 of 233 strings)

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

* Translated using Weblate (Italian)

Currently translated at 100.0% (24 of 24 strings)

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

* Translated using Weblate (Lithuanian)

Currently translated at 100.0% (233 of 233 strings)

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

* Translated using Weblate (Croatian)

Currently translated at 100.0% (233 of 233 strings)

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

* Translated using Weblate (Lithuanian)

Currently translated at 100.0% (233 of 233 strings)

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

* Translated using Weblate (German)

Currently translated at 100.0% (234 of 234 strings)

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

* Translated using Weblate (Spanish)

Currently translated at 100.0% (234 of 234 strings)

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

* Translated using Weblate (Italian)

Currently translated at 100.0% (234 of 234 strings)

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

* Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (234 of 234 strings)

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

* Translated using Weblate (Czech)

Currently translated at 100.0% (236 of 236 strings)

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

* Translated using Weblate (German)

Currently translated at 100.0% (236 of 236 strings)

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

* Translated using Weblate (Spanish)

Currently translated at 100.0% (236 of 236 strings)

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

* Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (236 of 236 strings)

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

* Translated using Weblate (Lithuanian)

Currently translated at 100.0% (236 of 236 strings)

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

Co-authored-by: Hoseok Seo <ddinghoya@gmail.com>
Co-authored-by: Translator-3000 <weblate.m1d0h@8shield.net>
Co-authored-by: Vaclovas lntas <vaclovas1999@gmail.com>
Co-authored-by: Milo Ivir <mail@milotype.de>
Co-authored-by: qwerty287 <ndev@web.de>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: Eric <hamburger1024@mailbox.org>
Co-authored-by: Fjuro <ifjuro@proton.me>
2022-11-15 03:34:10 +00:00
Alexander Capehart
d764cc7c4e
detail: add playing indicator to genre artists
Add playing indicators to artists within the genre detail view.
2022-11-14 20:33:32 -07:00
Alexander Capehart
dffa3dc34e
playback: fix slider crash
Fix crashes occuring from -1 positions causing Slider to error out.

This is just fixed by band-aiding the UI, since I seemingly cannot
control these from the backend.
2022-11-14 19:43:46 -07:00
Alexander Capehart
aa50c82635
system: handle fallible databases
Handle errors from databases.

Either way, a crash from a database or a silent error will be equally
nightmarish to debug. May as well keep going if they fail.
2022-11-13 19:26:00 -07:00
Alexander Capehart
aa805e351c
music: try to deduplicate multi-artist code
Try to move multi-artist playback/navigation into a single function.
This function is really bad and is tacked onto the most convienent
location without much thought. I really wish to move this into the
ViewModel flow eventually, but I have no idea how to architecture
that. Oh well.
2022-11-13 19:13:29 -07:00
Alexander Capehart
3a236bdaf4
detail: show list of artists in genre UI
Show a list of artists that contain songs from a particular genre in
the genre UI.

This used to be in really early Auxio versions, but was intertwined
with some really stupid genre functionality that would include songs
from an entire artist for some reason. Since now albums can be shown
in several artist entires, it makes no sense now what artists can't
be given the same treatment.
2022-11-13 18:43:42 -07:00
Alexander Capehart
459e71b941
music: preserve artist ordering in tags
Preserve the ordering of linked artists so that they line up with
the ordering derived from tags.
2022-11-13 18:36:55 -07:00
Alexander Capehart
494aa669cb
Merge branch 'dev' of github.com:OxygenCobalt/Auxio into dev 2022-11-12 19:20:00 -07:00
Alexander Capehart
42aba9e556
music: add artist count to genres
Add an artist count to genres.

This should make genres more unique from future playlists. A list of
artists will be added later on.
2022-11-12 19:18:48 -07:00
Weblate (bot)
a94f353b3e
Translations update from Hosted Weblate (#272)
* Translated using Weblate (Romanian)

Currently translated at 32.1% (75 of 233 strings)

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

* Translated using Weblate (German)

Currently translated at 100.0% (233 of 233 strings)

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

* Translated using Weblate (Romanian)

Currently translated at 47.6% (111 of 233 strings)

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

* Translated using Weblate (Romanian)

Currently translated at 100.0% (24 of 24 strings)

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

* Translated using Weblate (Czech)

Currently translated at 100.0% (233 of 233 strings)

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

* Translated using Weblate (Italian)

Currently translated at 100.0% (233 of 233 strings)

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

* Translated using Weblate (Korean)

Currently translated at 100.0% (233 of 233 strings)

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

* Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (233 of 233 strings)

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

* Translated using Weblate (Lithuanian)

Currently translated at 100.0% (233 of 233 strings)

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

* Translated using Weblate (Spanish)

Currently translated at 100.0% (233 of 233 strings)

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

* Translated using Weblate (Russian)

Currently translated at 95.2% (222 of 233 strings)

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

* Translated using Weblate (Spanish)

Currently translated at 100.0% (233 of 233 strings)

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

* Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (233 of 233 strings)

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

* Translated using Weblate (Czech)

Currently translated at 100.0% (233 of 233 strings)

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

* Translated using Weblate (Russian)

Currently translated at 96.5% (225 of 233 strings)

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

Co-authored-by: alex <hdhdhfhfbbffhhfhfjfjf@gmail.com>
Co-authored-by: qwerty287 <ndev@web.de>
Co-authored-by: Fjuro <ifjuro@proton.me>
Co-authored-by: Enrico D'Ortenzio <enrico2588@gmail.com>
Co-authored-by: Hoseok Seo <ddinghoya@gmail.com>
Co-authored-by: Eric <hamburger1024@mailbox.org>
Co-authored-by: Vaclovas lntas <vaclovas1999@gmail.com>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: Егор Ермаков <eg.ermakov2016@yandex.ru>
Co-authored-by: Yegor Kazantsev <wwwadmin@bk.ru>
2022-11-04 11:25:09 -06:00
Alexander Capehart
7c913708f2
image: make artist images sort by count
Make artist images sort by count instead of by name.

I've recently added a few singles in my library that have been
cluttering the previous artist image algorithm with non-ideal
covers. Instead of sorting by name (Which was really an artifact
of the old MediaStore engine anyway), sort by the amount of songs
of each album instead, which hopefully should weight images less
towards singles and more towards albums (And especially albums
the user likes).
2022-10-30 21:36:00 -06:00
Alexander Capehart
d6e747cf39
music: update hide collaborator setting string
Update the "Hide collaborators" setting string to be less technical.
2022-10-26 21:22:53 -06:00
Alexander Capehart
94213d04ed
Merge branch 'dev' of github.com:OxygenCobalt/Auxio into dev 2022-10-26 21:03:29 -06:00
Alexander Capehart
9debe06029
widgets: add min resize width
Add a minimum resize width to widgets to maybe stop widget size limits
from being forgotten at random.
2022-10-26 21:03:07 -06:00
Weblate (bot)
623ec11623
Translations update from Hosted Weblate (#262)
* Translated using Weblate (Lithuanian)

Currently translated at 78.1% (182 of 233 strings)

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

* Translated using Weblate (Portuguese (Brazil))

Currently translated at 89.2% (208 of 233 strings)

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

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

Currently translated at 79.6% (184 of 231 strings)

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

* Translated using Weblate (Lithuanian)

Currently translated at 100.0% (231 of 231 strings)

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

* Translated using Weblate (Spanish)

Currently translated at 100.0% (231 of 231 strings)

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

* Translated using Weblate (Spanish)

Currently translated at 100.0% (231 of 231 strings)

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

* Translated using Weblate (Spanish)

Currently translated at 100.0% (24 of 24 strings)

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

* Translated using Weblate (Lithuanian)

Currently translated at 100.0% (231 of 231 strings)

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

* Translated using Weblate (Czech)

Currently translated at 100.0% (233 of 233 strings)

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

* Translated using Weblate (Spanish)

Currently translated at 100.0% (233 of 233 strings)

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

* Translated using Weblate (Romanian)

Currently translated at 31.3% (73 of 233 strings)

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

* Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (233 of 233 strings)

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

* Added translation using Weblate (Punjabi (Pakistan))

* Translated using Weblate (Punjabi (Pakistan))

Currently translated at 7.7% (18 of 233 strings)

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

* Translated using Weblate (Punjabi (Pakistan))

Currently translated at 95.8% (23 of 24 strings)

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

Co-authored-by: Vaclovas lntas <vaclovas1999@gmail.com>
Co-authored-by: zaioti <zaioti@tuta.io>
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: DavidRLTG <DavidRLTG@protonmail.com>
Co-authored-by: Eric <hamburger1024@mailbox.org>
Co-authored-by: bgo-eiu <huyaqoob+toolforge@gmail.com>
2022-10-25 14:43:49 +00:00
Alexander Capehart
1cf1451aef
music: add setting to hide collaborators
Add a setting to hide "collaborators", that is artists that do not show
up on any album artist tags.

This is mostly for my own use since I don't get use from useless
collaborator entries.
2022-10-20 18:36:51 -06:00
Alexander Capehart
daf1cf8590
music: show months in UI
If a song/album date has a month value, show it in the UI.

This hopefully improves the date experience for more well-tagged
libraries. Due to date limitations however, it is limited to
Android O onwards for now.
2022-10-20 18:07:36 -06:00
Alexander Capehart
f4d25f81cc
ui: fix black theme visual bug
Fix a visual bug with transitions in the black theme.
2022-10-18 19:50:02 -06:00
Alexander Capehart
60e54abfe9
ui: fix library updates in ui
Fix issues where the UI failed to update with library changes in the
search/home view.
2022-10-18 19:26:24 -06:00
Alexander Capehart
df435a12b8
playback: fix detail remember shuffle
Fix remember shuffle not working in the detail views.
2022-10-18 19:09:33 -06:00
Alexander Capehart
8ed4ead4c8
queue: update song appearance
Update the appearance of the queue song background to be more correct.
2022-10-04 10:25:36 -06:00
Alexander Capehart
cdd8f07c7f
strings: remove unused translations
Remove unused string translations to fix build issues.

Resolves #261.
2022-10-04 10:20:17 -06:00
Weblate (bot)
f8d0ed3217
Translations update from Hosted Weblate (#254)
* Update translation files

Updated by "Cleanup translation files" hook in Weblate.

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

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

Currently translated at 100.0% (233 of 233 strings)

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

* Translated using Weblate (German)

Currently translated at 100.0% (233 of 233 strings)

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

* Translated using Weblate (Korean)

Currently translated at 100.0% (233 of 233 strings)

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

* Translated using Weblate (Polish)

Currently translated at 100.0% (233 of 233 strings)

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

* Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (233 of 233 strings)

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

* Translated using Weblate (Korean)

Currently translated at 100.0% (24 of 24 strings)

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

Co-authored-by: Fjuro <ifjuro@proton.me>
Co-authored-by: qwerty287 <ndev@web.de>
Co-authored-by: Hoseok Seo <ddinghoya@gmail.com>
Co-authored-by: Maciej Klupp <maciej.klupp@gmail.com>
Co-authored-by: Eric <hamburger1024@mailbox.org>
2022-10-02 17:01:46 +00:00
Alexander Capehart
186d5a9186
ui: use marquee in all playback info
Use marquee in all playback information.

It's the playback view, and thus "activated", so why not.
2022-09-26 14:10:33 -06:00
Alexander Capehart
5e0f778daf
image: unify cover settings
Unify the "Show Covers" and "Ignore MediaStore Covers" settings under an
new "Album covers" setting.

This will make it easier to extend to new forms of album cover
collection.
2022-09-26 13:47:43 -06:00
Weblate (bot)
fc18f9d042
Translations update from Hosted Weblate (#250)
* Translated using Weblate (Czech)

Currently translated at 100.0% (235 of 235 strings)

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

* Translated using Weblate (German)

Currently translated at 100.0% (235 of 235 strings)

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

* Translated using Weblate (Polish)

Currently translated at 97.4% (229 of 235 strings)

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

* Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (235 of 235 strings)

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

* Translated using Weblate (Polish)

Currently translated at 98.7% (232 of 235 strings)

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

* Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (235 of 235 strings)

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

Co-authored-by: Fjuro <ifjuro@proton.me>
Co-authored-by: qwerty287 <ndev@web.de>
Co-authored-by: Maciej Klupp <maciej.klupp@gmail.com>
Co-authored-by: Eric <hamburger1024@mailbox.org>
Co-authored-by: Alexander Capehart <oxycblt@abstractr.net>
2022-09-26 19:24:00 +00:00
Alexander Capehart
35e402b6b4
playback: unify notif and bar actions
Unify notif and bar actions under a new "ActionMode" enum.

This just makes things consistent.
2022-09-26 13:22:34 -06:00
Alexander Capehart
936f0ca167
music: fix album date added bug
Fix a bug where the album date added value would be 0.
2022-09-26 12:36:41 -06:00
Alexander Capehart
1571e513b1
info: add animated icon
Add an animated icon for the splash screen.

This is only possible due to the new stroke-based icon, and is just
nice eye candy without any downsides.
2022-09-26 12:34:44 -06:00
Alexander Capehart
7a055680bd
all: fix misc issues
Fix miscellanious issues that I've encountered.
2022-09-26 12:07:12 -06:00
Alexander Capehart
f3c14b81cb
all: tweak package structure
Try to tweak the package structure to be more coherent.
2022-09-25 20:24:19 -06:00
Alexander Capehart
3e73cd8080
music: add caching
Add caching of already-parsed tag data.

This greatly reduces loading times when the music library has not
changed. This completes the music loader in it's entirety now.

Resolves #207.
2022-09-25 20:02:44 -06:00
Alexander Capehart
393bdf3110
info: redesign icon
Redesign the icon entirely.

Since the next release is 3.0.0, may as well refresh the icon.
- This icon is actually unique and not a reskinned material icon, which
I feel will diffentiate Auxio even more.
- While unique, it also blends into the surrounding app icons a lot
better, especially regarding using stroke/corner sizes.
2022-09-25 15:17:18 -06:00
Alexander Capehart
94a74ebcf8
music: re-add escaped parsing
Re-add parsing by escaped separators.

Previously I removed it becaue the regex parsing was not being
cooperative. Turns out we really do have to write our own parser
code. Fun.
2022-09-25 15:02:08 -06:00
Alexander Capehart
66b9da0d5e
music: add toggle to load non-music
Add a toggle to control the IS_MUSIC=1 selector.

This is normally used to remove non-music like podcasts and ringtones,
however some people use Auxio was a general-purpose audio player for
these files, so this setting can be used to disable that selector and
load non-music.

Resolves #246.
2022-09-24 16:11:25 -06:00
Alexander Capehart
37f226ad2d
strings: fix translation insanity
Fix miscellanious translation insanity added by weblate.
2022-09-24 15:44:09 -06:00
Weblate (bot)
d1bd907b29
Translations update from Hosted Weblate (#238)
* Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (221 of 221 strings)

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

* Translated using Weblate (Chinese (Simplified))

Currently translated at 95.8% (23 of 24 strings)

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

* Translated using Weblate (Italian)

Currently translated at 100.0% (221 of 221 strings)

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

* Translated using Weblate (Italian)

Currently translated at 100.0% (24 of 24 strings)

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

* Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (24 of 24 strings)

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

* Translated using Weblate (Czech)

Currently translated at 100.0% (228 of 228 strings)

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

* Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (228 of 228 strings)

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

* Translated using Weblate (Czech)

Currently translated at 100.0% (232 of 232 strings)

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

* Translated using Weblate (Croatian)

Currently translated at 100.0% (24 of 24 strings)

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

* Translated using Weblate (Croatian)

Currently translated at 100.0% (232 of 232 strings)

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

* Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (232 of 232 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% (235 of 235 strings)

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

* Translated using Weblate (Croatian)

Currently translated at 100.0% (235 of 235 strings)

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

* Translated using Weblate (Czech)

Currently translated at 100.0% (235 of 235 strings)

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

* Translated using Weblate (German)

Currently translated at 100.0% (235 of 235 strings)

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

* Translated using Weblate (Polish)

Currently translated at 80.8% (190 of 235 strings)

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

* Translated using Weblate (Romanian)

Currently translated at 30.6% (72 of 235 strings)

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

* Translated using Weblate (Polish)

Currently translated at 81.7% (192 of 235 strings)

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

* Translated using Weblate (Polish)

Currently translated at 82.1% (193 of 235 strings)

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

* Translated using Weblate (Polish)

Currently translated at 100.0% (235 of 235 strings)

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

* Update translation files

Updated by "Cleanup translation files" hook in Weblate.

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

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

Currently translated at 100.0% (233 of 233 strings)

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

* Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (233 of 233 strings)

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

Co-authored-by: Clyde Johanson <johnson.hu95@gmail.com>
Co-authored-by: Enrico D'Ortenzio <enrico2588@gmail.com>
Co-authored-by: Fjuro <ifjuro@proton.me>
Co-authored-by: Eric <hamburger1024@mailbox.org>
Co-authored-by: Milo Ivir <mail@milotype.de>
Co-authored-by: qwerty287 <ndev@web.de>
Co-authored-by: Maciej Klupp <maciej.klupp@gmail.com>
Co-authored-by: Mozart Michael <michael.mozart@protonmail.com>
2022-09-24 21:39:58 +00:00
Alexander Capehart
adf85a8fab
settings: enable theme customization on >31
Enable theme customization on API 31.

Some people prefer some themes over others, so enable it. Not like it
increases complexity.

Resolves #243.
2022-09-24 15:37:37 -06:00
Alexander Capehart
c3de8fe4fd
music: use plural vorbis artist tags
Use plural variants of vorbis artist/album artist tags.

Some people add these tags to signal the artist makeup of a song
when a player supports multiple artists while still allowing less
sophisticated players to operate with single-artist tags.
2022-09-24 09:14:31 -06:00
Alexander Capehart
b58fce9414
music: add musicbrainz id support
Add support for MusicBrainz IDs (MBIDs) in both grouping and UID
creation.

This should help with very large libraries where artist names
collide, thus requiring differentiation through other means. It also
theoretically opens the door to fetch online metadata, however I don't
really care for that and it would violate the non-connectivity promise
of Auxio.

Resolves #202.
2022-09-23 15:38:47 -06:00
Alexander Capehart
5c76838f69
build: upgrade deps
Upgrade the dependencies I can without breaking the app:
core -> 1.9.0
activity -> 1.6.0
fragment -> 1.5.3
nav -> 2.5.2
2022-09-23 10:35:16 -06:00
Alexander Capehart
62ee46cfe6
music: add multi-artist support
Add semi-complete support for multiple artists.

This changeset completely reworks the music linker to add the following
new behaviors:
1. Artists are now derived from both artist and album artist tags,
with them being linked to songs and albums respectively
2. Albums and songs can now have multiple artists that can be distinct
from eachother
3. Previous Genre picking infrastructure has been removed and replaced
with artist picking infrastructure. "Play from genre" has been retired
entirely.

This is a clean break to the previous artist model and may not work
with all libraries. Steps to migrate the music library will be added
to the changelog.

Resolves #195.
2022-09-23 10:15:28 -06:00
Alexander Capehart
b6d1cd7cb0
music: add finalization routine
Combine validation into a new finalization routine that now
individually validates and in the future may finalize certain
fields that require linking to be properly created.
2022-09-18 19:58:17 -06:00
Alexander Capehart
765f2f9a18
music: keep changes when unshuffling/reshuffling
Keep changes when unshuffling and reshuffling the queue.

This quirk was a hold-over from the old queue system, and now it's
removed.

Note that sorting is still based on parent, and so sort orders might
remain somewhat wonky. I only see myself really tackling that come
gapless playback, as I have to remove that last vestige to get that
system working.
2022-09-16 20:13:30 -06:00
Alexander Capehart
9e9e1a007d
music: do settings-dependent parsing in song
Do settings-reliant parsing within the song class.

This way, song UIDs or future caching will not be unexpectedly broken
by changes in music settings.
2022-09-16 19:36:40 -06:00
Alexander Capehart
717f49fc20
music: add picker dialog
Add a dialog for picking a genre from several choices.

This basically completes multi-genre support in Auxio, save more
internal reworks.

Note that it is extremely likely that the "Play from genre" setting
will be removed soon. This feature has made me realize that such does
not many any real sense, as genres are more semantically similar to
playlists than artists or albums. This implementation only exists to
make multi-artist support an easy plug-and-play operation.

Resolves #201
2022-09-14 19:59:12 -06:00
Alexander Capehart
2aa540c29a
ui: make setting dialogs
Make the setting dialogs navigation destinations.

This reduces the boilerplate required for dialogs.
2022-09-14 18:54:07 -06:00
Alexander Capehart
33b0aabc44
music: add support for compilation sub-types
Add support for compilation + live, compilation + remix,
and compilation + dj-mix release types.

This was not included due to the changes it required to the
parser. Turns out these changes are largely trivial if I do
more clever inlining.
2022-09-14 10:18:48 -06:00
Alexander Capehart
780e0dce06
music: add separator setting dialog
Add a dialog for the new separators setting.
2022-09-13 11:07:44 -06:00
Alexander Capehart
cdd4d5ebcd
music: make uids use music mode
Make UID structure dependent on the music mode.

This involves replacing the "tag" value with more structured fields and
appending the int code of the music mode to the UUID rather than making
it part of the UID's "tag". UIDs aren't quite a UUID, so this is
allowed.
2022-09-10 20:31:56 -06:00
Alexander Capehart
c342fb364b
all: merge display and playback modes
Merge DisplayMode and PlaybackMode into a new class called MusicMode.

Both of these datatypes represented similar things, and thus it's much
easier to make them the same datatype. Moreover, it makes the
forthcoming addition of the music selector much easier if the same
datatype was tied to the representation of music.

This commit also moves around things around the project to be slightly
more coherent.
2022-09-10 19:39:29 -06:00
Alexander Capehart
8aac87e02c
music: take size into account when opening by uri
Also take the size of the music file into account when it is being
played.

This way, we could remove some situations where two files with the
same name get confused with eachother when opened.
2022-09-10 10:50:44 -06:00
Weblate (bot)
e15eb4547d
Translations update from Hosted Weblate (#228)
* Translated using Weblate (German)

Currently translated at 100.0% (223 of 223 strings)

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

* Translated using Weblate (German)

Currently translated at 100.0% (24 of 24 strings)

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

* Translated using Weblate (Czech)

Currently translated at 100.0% (24 of 24 strings)

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

* Translated using Weblate (Lithuanian)

Currently translated at 69.9% (156 of 223 strings)

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

* Translated using Weblate (Lithuanian)

Currently translated at 70.8% (158 of 223 strings)

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

* Translated using Weblate (Lithuanian)

Currently translated at 77.5% (173 of 223 strings)

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

* Translated using Weblate (Polish)

Currently translated at 23.7% (53 of 223 strings)

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

* Translated using Weblate (Turkish)

Currently translated at 73.3% (162 of 221 strings)

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

* Translated using Weblate (Polish)

Currently translated at 53.3% (118 of 221 strings)

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

* Translated using Weblate (Turkish)

Currently translated at 74.6% (165 of 221 strings)

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

* Translated using Weblate (Lithuanian)

Currently translated at 78.7% (174 of 221 strings)

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

* Update translation files

Updated by "Remove blank strings" hook in Weblate.

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

* Translated using Weblate (Portuguese (Brazil))

Currently translated at 80.5% (178 of 221 strings)

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

* Translated using Weblate (Lithuanian)

Currently translated at 95.8% (23 of 24 strings)

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

Co-authored-by: Konstantin <konstantin.tutsch@disroot.org>
Co-authored-by: qwerty287 <ndev@web.de>
Co-authored-by: Fjuro <ifjuro@proton.me>
Co-authored-by: Vaclovas lntas <vaclovas1999@gmail.com>
Co-authored-by: Maciej Klupp <maciej.klupp@gmail.com>
Co-authored-by: metezd <itoldyouthat@protonmail.com>
Co-authored-by: LUIS PAULO BRAMBILLA <luispaulobrambilla@gmail.com>
2022-09-10 16:45:24 +00:00
Alexander Capehart
7bc9f4869b
music: switch sort names to collation
Use CollationKey when sorting music instead of String isntances.

This makes sorting aware of accented characters while still preserving
speed. I would ideally want to extend this to the search view too, but
there is no contains command in CollationKey, so I must continue with
the normalization method there.
2022-09-10 10:44:41 -06:00
Alexander Capehart
855331aafa
system: update indexing notif every few seconds
Instead of updating the notif every 50 songs, update it every 1.5s.

This is in preparation for automatic reloading, which will once again
make Indexed song updates EXTREMELY fast and would thus rate-limit the
notification if the previous system was used.
2022-09-09 20:46:25 -06:00
Alexander Capehart
78201e55ee
all: phase out taskguard
Phase out the dumb hack TaskGuard class in favor of yield.

For some reason, I was under the impression that yield was horribly
slow. It's not, I was just using it wrong. So now TaskGuard is no
longer needed.
2022-09-09 20:42:03 -06:00
Alexander Capehart
189f712eaa
music: re-add mediastore genre parsing
Re-add MediaStore genre parsing to the init() step.

This time, to play along with the new abstraction, the query is done in
initialization and loaded into a map that is then used when populating
raw audio.
2022-09-09 20:01:05 -06:00
Alexander Capehart
06d6495dcd
all: lint with ktlint
Just lint with ktlint. It has better import checking functionality.
2022-09-08 21:55:05 -06:00
Alexander Capehart
09823d7829
all: reformat code
Simultaniously reformat code using ktlint and ktfmt.
2022-09-08 21:04:51 -06:00
Alexander Capehart
28d28287fe
music: refactor backends into extractors
Refactor all Backend instances into a new package called extractor and
a new structure called "Layer".

Layers are no longer generalized into an interface. Instead, they build
on eachother in order to produce a correct output of raw songs.

One of these layers is a stub class to eventually implement caching.

This changeset also phases out the "Ignore MediaStore tags" setting, as
it is no longer needed.
2022-09-08 20:41:08 -06:00
Alexander Capehart
2e71342e1c
music: move utils around
Move some miscellanious utils around.
2022-09-08 19:01:21 -06:00
Alexander Capehart
4c954e83b0
music: add basic framework for separators
Add a basic framework for user-customizeable separators.

This is designed to be extendable if needed, albeit the app will likely
only let the user choose between +, ;, /, &, and ,.
2022-09-08 18:17:04 -06:00
Markus Ebner
d0f9b049de
Implement bluetooth autospawn / autoplayback feature #235 2022-09-08 18:16:41 +02:00
Alexander Capehart
574224ff99
music: update comments
Update comments in ParsingUtil.
2022-09-07 22:13:18 -06:00
Alexander Capehart
81ca021ce7
music: refactor separator parsing
Add separator parsing back, albeit in a much different manner.

Now Auxio will try to parse by , ; / + and &. This will be disabled by
default in the future and available as a setting. When parsing by
separator, whitespace is also trimmed. This occurs nowhere else though,
as there is no demand.
2022-09-07 22:02:56 -06:00
Alexander Capehart
2033e2cb1f
music: add support for id3v2.4 multi value tags
Add support for ID3v2.4-style multi-value tags separated by a null
terminator.

This temporarily removes most other forms of separator parsing in the
app. My plan is to reunify it under a new separator setting that allows
the user to select how multi-value tags are separated in their library.
Separator parsing tends to be too destructive by default, so this tends
to be a good option overall.

This commit does require ExoPlayer to be forked once again to add
ID3v2.4 separator support.
2022-09-07 21:00:24 -06:00
Alexander Capehart
2690e8343a
music: fix uid issues
Fix some mistakes with the UID hashing process.

Some more work needs to be done regarding formalizing the datatype
and tagtype fields. If anything, I may just collapse them into a
single "tag" field since they are only used for equality.
Alternatively, I could make them integers to increase efficiency.
Depends.
2022-09-07 10:35:26 -06:00
Alexander Capehart
fe5609b447
ui: fix click/menu issues
Fix some issues with how slapshod the menu/click code is.

This fixes a crash on the genre view when a song menu was opened.
2022-09-06 22:41:20 -06:00
Alexander Capehart
48ad45e4c3
music: rework id system
Completely rework the ID system to pave the way to MusicBrainz ID
support and greatly increase ID integrity in general.

This changeset removes the old ID field, an emulation of a polynomial
hash that was used in all items, and replaces it with a new type called
UID that is specific to Music. Other types just use plain equals now,
and most instances of "id" to check for equality in the app have either
been inlined into an equals override or removed outright.

The new UID format is as follows:
datatype/format:uuid

Datatype is a tag that is just the lowercase tag name. For example,
"song". Format is the program that created the UID. auxio will be an
md5 hash, and musicbrainz will the a musicbrainz ID extracted from a
file. UUID is the uuid itself.

This is much more reliable and extendable than the old ID format. This
will also be the last time I break compat with old ID formats. From now
on, a legacy UID field will not be included to enable backwards compat,
when the time comes for a breaking change.
2022-09-06 22:21:41 -06:00
Alexander Capehart
457013d047
playback: add framework for multi-parent playback
Add some functions to eventually enable multi-parent playback.

PlaybackMode is still used in some places, however will steadily be
phased out hopefully.
2022-09-06 13:12:25 -06:00
Alexander Capehart
e5d7cdc340
playback: migrate to reactive model
Migrate the playback system to a reactive model where internalPlayer
is now the complete source of truth for the playback state.

This removes the observer pattern for positions and instead introduces
a new State datatype that allows consumers to reactively calculate
where the position probably is.

This is actually really great for efficiency and state coherency, and
is really what I was trying to aim for with previous (failed) reworks
to the playback system. There's probably some bugs, but way less than
the ground-up rewrites I tried before.

This also lays the groundwork for gapless playback, as the internal
player framework is now completely capable of having more functionality
borged into it.
2022-09-06 11:45:23 -06:00
Alexander Capehart
a9bbdff25d
recycler: fix popup desync in grid layouts [#230]
Fix a popup desynchronization issue in grid-based layouts.

This issue stemmed from the popup index calculation apparently not
needing a division by the span count in order to produce the correct
index. This kind of makes sense, but is still really weird.

Resolves #230.
2022-09-05 19:45:51 -06:00
Alexander Capehart
b24e22182e
music: add basic multi-genre support [#201]
Add basic support for multiple genres.

This is sort of the test run for full multi-artist support, allowing me
to rework my abstractions to handle the presence of multiple parents.

This is nowhere near complete. For example, there is currently a stopgap
measure in the playback system that basically breaks genre playback.
It's a start though.
2022-09-03 16:46:53 -06:00
Alexander Capehart
022f92f27f
music: restructure around raw objects
Restructure music data around a series of "raw" objects that better
hide the internal information needed to properly construct the library.
2022-09-03 14:28:06 -06:00
Alexander Capehart
c9422b7f9d
Version 2.6.3
Ready for version 2.6.3 of Auxio.
2022-09-03 12:48:14 -06:00
Alexander Capehart
47a26df92d
ui: update shots
Update the screenshots and feature graphic to reflect app changes.
2022-09-03 12:36:05 -06:00
Alexander Capehart
9f7a012706
queue: remove fast scroller
Temporarily remove the fast scroller for now, as I want to bundle it
with adding a scroller to the detail view in a single release.
2022-09-02 21:44:28 -06:00
Alexander Capehart
8a70ece442
recycler: fix fast scroll issues
Fix issues with the fast scroller, such as an improper thumb position
and strange item behavior stemming from dataset changes.
2022-09-02 20:13:47 -06:00
Alexander Capehart
a8e6ccf031
ui: add dialog view holder
Add a special ViewHolder class for dialogs.

This just automates a hack I use to get full-size viewholders in
dialogs.
2022-09-02 19:40:50 -06:00
Alexander Capehart
be8623ad2d
recycler: add span size abstraction to adapter
Make adapter instances handle span sizes.

This supercedes the hackier solution where the fragments would have to
reference adapter data in order to determine span size. Not anymore.
2022-09-02 13:36:43 -06:00
Alexander Capehart
acaf679000
ui: add animated playing indicator [#218]
Make the playing indicator animate when playback is ongoing.

Previously state issues stopped me from doing this, but apparently this
time I miraculously got it working. Yay.

Resolves #218.
2022-09-02 13:16:29 -06:00
Alexander Capehart
227a258eca
search: add playing indicators [#218]
Add playing indicators to the search view too.
2022-09-01 19:51:07 -06:00
Alexander Capehart
87ca4c8ab1
home: indicate playback on items [#218]
Indicate playback in the home view as well.

This is mostly a QoL change. Might also add this to the search view.
2022-09-01 19:27:36 -06:00
Alexander Capehart
5f6cdad507
util: remove logEOrThrow
Remove logEOrThrow from the logging framework.

Better to error than silently not doing anything.
2022-09-01 18:40:00 -06:00
Alexander Capehart
9d58076a0a
recycler: unwind abstractions
Unwind the RecyclerView abstractions.

The framework was far too suffocating and prevented the addition of
new changes. Remove it.
2022-09-01 18:27:37 -06:00
Alexander Capehart
3db68d47a6
playback: revert song menu move
Revert the song menu in the playback panel to being in the toolbar.

It was mostly inconsistent and cause a lot of truncation. I'll figure
out what I want to do when I implement liked songs.
2022-08-29 20:56:17 -06:00
Alexander Capehart
2bec9ce977
queue: add fast scroller
Add a fast scroller to the queue view.

This is actually easy to implement without disruption. Now the detail
view is the only view without such a fast scroller, as it needs more
reworks for it to be feasible.
2022-08-29 20:38:17 -06:00
Alexander Capehart
13793fdfe2
playback: add smooth seeking
Switch position math to rely on deciseconds (1/10th of a second)
instead of full seconds.

This makes seeking and position management much smoother, with minimal
performance cost. In the future I may try to migrate the playback state
so that the position calculations are done on the UI end, but this
works for now.
2022-08-29 09:46:42 -06:00
Alexander Capehart
1ed6d75121
home: make thumb visible if provider is found
Make the thumb visible if a popup provider is found later.

Fixes an issue where the fast scroll thumb would only be visible
sometimes in the home view.
2022-08-29 09:40:55 -06:00
Alexander Capehart
4d02dfb578
playback: rework controller into InternalPlayer
Rework the Controller interface into a standalone interface called
InternalPlayer.

This is mostly preparation for further changes.
2022-08-29 09:13:37 -06:00
Alexander Capehart
8a15868ba1
music: cache ids in map
Make a map of ids to particular music items, which makes searching for
music items much faster at the cost of higher memory usage.
2022-08-28 19:21:30 -06:00
Alexander Capehart
b2085e440e
playback: move delayed actions to service
Make PlaybackService handle delayed actions.

I wanted to do this before, but technical limitations always
stopped me from doing so. Turns out all I needed was a dash
of global mutable state to make it all work. This is actually
really good, as it separates concerns better and paves the way
for future improvements to the service.
2022-08-28 19:08:21 -06:00
Alexander Capehart
9fae621f7e
playback: remove needless seeking
Remove needless seek calls when setMediaItem will do.
2022-08-28 17:38:03 -06:00
Alexander Capehart
1db5e02332
Version 2.6.2
Ready for version 2.6.2 of Auxio.
2022-08-28 12:25:49 -06:00
Alexander Capehart
fd2091b46f
info: update screenshots
Update screenshots in preparation for 2.6.2.
2022-08-28 12:10:15 -06:00
Alexander Capehart
016964e5d0
widget: update preview
Update the widget preview to reflect the new styling.
2022-08-28 11:59:22 -06:00
Alexander Capehart
ab59ca02fd
home: distinguish no popup value from no popup
Do not show the popup if there is no provider or valid position.

Might be useful for later.
2022-08-27 20:03:41 -06:00
Alexander Capehart
4622235b5e
info: round branding further
Turns out I used the wrong scale when creating the new Auxio icon.
Fix that, which turns out to round the icon further.
2022-08-27 19:48:24 -06:00
Alexander Capehart
f6a712032e
ui: fix more lollipop insanity
Again and again and again
2022-08-27 19:06:37 -06:00
Alexander Capehart
01891e98e0
ui: re-add missing icons
Re-add icons that were lost during the branding update.
2022-08-27 18:55:01 -06:00
Alexander Capehart
28ba8147f1
ui: temporarily remove more menus
Temporarily remove more menus for now.

There's just no window to add them for 2.6.2. I'll add multi-select
later.
2022-08-27 17:36:14 -06:00
Alexander Capehart
3c5ade33b5
info: update branding
Update the app icon and banner to be more nuanced and appealing.
2022-08-27 17:15:24 -06:00
Alexander Capehart
a2f27f303b
ui: add predictive back gesture
Rework the back pressed callbacks to support a predictive back gesture.

This completes the trivial Android 13 reworks.
2022-08-27 16:16:18 -06:00
Alexander Capehart
0b43dd011c
ui: animate play/pause button shape
Make the shape of the play/pause buttons throughout the app morph from
a circle if paused to a square if playing.

Android 13 seemingly does this to their play/pause button, so we copy
it too.

Tangentally related to #162.
2022-08-27 15:21:08 -06:00
Alexander Capehart
a34541e95d
Merge branch 'dev' of github.com:OxygenCobalt/Auxio into dev 2022-08-27 14:15:20 -06:00
Alexander Capehart
5b2817b2f2
playback: do not check for version w/notification
Do not check for the version when managing the notification.

Some OEMs will update the android system, causing the version number to
change, but will THEN not update the system UI, completely breaking my
compat hacks. Because you know. Reasons. Fix this by always applying
future and obsolete methods of updating the media notification
regardless of the context.

Resolves #219.
2022-08-27 14:15:14 -06:00
Weblate (bot)
89a52b3f9b
Translations update from Hosted Weblate (#216)
* Translated using Weblate (Czech)

Currently translated at 100.0% (223 of 223 strings)

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

* Translated using Weblate (Russian)

Currently translated at 97.7% (218 of 223 strings)

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

* Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (223 of 223 strings)

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

* Translated using Weblate (Czech)

Currently translated at 100.0% (223 of 223 strings)

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

* Translated using Weblate (German)

Currently translated at 100.0% (223 of 223 strings)

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

* Translated using Weblate (Portuguese (Brazil))

Currently translated at 93.2% (208 of 223 strings)

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

* Translated using Weblate (Russian)

Currently translated at 97.7% (218 of 223 strings)

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

* Translated using Weblate (German)

Currently translated at 100.0% (22 of 22 strings)

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

* Translated using Weblate (French)

Currently translated at 48.6% (108 of 222 strings)

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

* Translated using Weblate (French)

Currently translated at 49.5% (110 of 222 strings)

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

* Translated using Weblate (Czech)

Currently translated at 100.0% (223 of 223 strings)

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

* Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (223 of 223 strings)

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

* Translated using Weblate (Lithuanian)

Currently translated at 56.9% (127 of 223 strings)

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

Co-authored-by: Fjuro <fjuro@seznam.cz>
Co-authored-by: Егор Ермаков <eg.ermakov2016@yandex.ru>
Co-authored-by: Eric <alchemillatruth@purelymail.com>
Co-authored-by: qwerty287 <ndev@web.de>
Co-authored-by: Luiz-bro <luiznneto1@gmail.com>
Co-authored-by: Malopieds <malobeauchamps@gmail.com>
Co-authored-by: Vaclovas lntas <vaclovas1999@gmail.com>
2022-08-20 20:18:23 -06:00
Alexander Capehart
4d8c2abd09
music: catch cancellation events during indexing
Catch and propagate cancellation events during indexing.

This is just better for debug information.
2022-08-16 16:46:31 -06:00
Alexander Capehart
7cc5c77ad7
playback: make session actions more efficient
Remove redundant updates for the playing state on Android 13 onwards.
2022-08-16 16:35:31 -06:00
Alexander Capehart
40a34f0596
playback: migrate media session to android 13
Migrate MediaSessionComponent to android 13.

This was primarily implementing custom actions with the media session
and adding some extra bug fixes that I was already planning. I was
really hoping that google fixes the nightmarish mess that was the
previous MediaStyle notification, where I had to update the session
and then the notification in a tight dance with clever tricks to not
get rate-limited, but nope. I still have to do exactly the same thing
as beforehand, but with even extra insanity due to the custom actions.
2022-08-16 15:49:54 -06:00
Alexander Capehart
3cef088d12
music: switch to new storage perms
Switch to the new READ_AUDIO_STORAGE permission for Android 13.
2022-08-16 12:31:36 -06:00
Alexander Capehart
f5f28b891a
widget: fix android 13 cover loading issue
Work aroudn an issue in Android 13 where bitmap pooling would not work
correctly and reduce our max memory limit by ~10x.

When I mean work around, I mean that we reduce the size of the rounded
covers further to ensure we aren't hitting the memory limit. This also
sadly blocks us from further RemoteViews instances, as the bugged
memory size will continue to increase if we do that.
2022-08-16 12:26:08 -06:00
Alexander Capehart
e90983e85d
all: android 13 cleanup
Low-hanging fruit android 13 changes.

This includes fixing some lints and adding a basic monochrome icon.
Maybe I'll improve that icon later.
2022-08-15 20:21:58 -06:00
Alexander Capehart
cafead8a88
deps: upgrade to android 13 [#129]
FINALLY upgrade to android 13.

I cannot believe it had to take until the release of the version to
finally update the SDK version, but of course it had to. For some
insane reason that I have no idea why it passed QA, the 33 SDK had
a crippling issue where attributes were not recognized. The only
way to fix this was to:

1. Upgrade to the newer studio version (Chipmunk Patch 2)
2. Upgrade to AGP 7.3.0-beta05.

Funny thing though. AGP 7.3.0 IS NOT COMPATIBLE WITH CHIPMUNK. Okay,
so we can upgrade to Dolphin then and then we can use AGP, right?
HAHAHA NOPE! Dolphin hasn't patched out the XML issue yet despite
every other release channel having a release on August 3rd. Did
some engineer at google just forget to make a release? What?

Okay, so I guess I'm forced to use Electric Eel, the UNSTABLE CANARY
VERSION that IS FILLED WITH BUGS. But oh wait, Electric Eel doesn't
like AGP 7.3.0 EITHER! It wants AGP 7.4.0, which IS ALSO IN ALPHA.
So, I'm forced to use the ALPHA studio and the ALPHA AGP version just
to use the android 13 SDK in a way that is not completely unbearable.

The android SDK, everyone.

(This is not a cry for help, I just want to write down my infinite
frustration with this stupid goose chase somewhere)
2022-08-15 19:54:37 -06:00
OxygenCobalt
982abe8cdb
strings: remove system ok/cancel names [#215]
Auxio tried to leverage built-in android string attributes for Ok and
Cancel while still completing them for other translations that were not
supported by the OS.

Turns out this was a terrible idea when I switched to Weblate, which
has no knowledge of this trick and could lead to a misleading
translation value. Remove it.

Resolves #215.
2022-08-12 16:04:41 -06:00
Weblate (bot)
72cd199020
Translations update from Hosted Weblate (#214)
* Translated using Weblate (Czech)

Currently translated at 100.0% (222 of 222 strings)

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

* Translated using Weblate (Portuguese (Brazil))

Currently translated at 89.6% (199 of 222 strings)

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

* Translated using Weblate (Russian)

Currently translated at 98.6% (219 of 222 strings)

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

* Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (222 of 222 strings)

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

Co-authored-by: Fjuro <fjuro@seznam.cz>
Co-authored-by: Luiz-bro <luiznneto1@gmail.com>
Co-authored-by: Егор Ермаков <eg.ermakov2016@yandex.ru>
Co-authored-by: Eric <alchemillatruth@purelymail.com>
2022-08-12 21:57:48 +00:00
OxygenCobalt
2c5a1a0567
all: move menus to more button [#93]
Move all menu functionality from long-click to a menu button.

This is in preparation for #93, as I need to free up the long-click
for a selection option. The spacing isn't really consistent at all,
but that's because I wanted to make something that looks right
depending on the context.
2022-08-11 15:15:10 -06:00
OxygenCobalt
fc94bb1369
info: fix country code
Fix the invalid pt-rBR country code, replacing it with pt-BR.
2022-08-11 12:30:34 -06:00
OxygenCobalt
bb9c842154
playback: add song menu option to names
Re-add the song menu option to the title section of the playback view.

This is again, due to the addition of the equalizer button, but also to
make this menu easier to reach.
2022-08-11 12:28:00 -06:00
OxygenCobalt
d4884cc9ca
playback: replace song options with equalizer
Replace the song options button in the playback menu with a button that
opens the equalizer.

I plan to re-introduce the song options in another location.
2022-08-11 12:18:14 -06:00
OxygenCobalt
ee68e7ffe9
playback: make replaygain always-on
Remove the "Off" ReplayGain setting, as it is mostly meaningless.

Users who don't want ReplayGain can remove the tags from their files.
No efficiency benefits either since the audio processor is always
disabled without replaygain tags. It is better not to confuse users
who do have ReplayGain but wonder why it is not working on their
files because the setting is off.
2022-08-11 11:44:19 -06:00
OxygenCobalt
b104dd151d
Version 2.6.1
Ready for version 2.6.1 of Auxio.
2022-08-10 15:30:59 -06:00
OxygenCobalt
9eef57144b
strings: remove broken translations
Remove broken and unused translations.
2022-08-10 15:12:50 -06:00
OxygenCobalt
fc5274ebeb
info: update
Update information in preparation for 2.6.1.
2022-08-10 14:31:16 -06:00
Weblate (bot)
6e60399d45
Translations update from Hosted Weblate (#209)
* Translated using Weblate (Czech)

Currently translated at 100.0% (218 of 218 strings)

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

* Translated using Weblate (German)

Currently translated at 100.0% (218 of 218 strings)

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

* Translated using Weblate (Russian)

Currently translated at 99.0% (216 of 218 strings)

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

* Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (218 of 218 strings)

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

* Translated using Weblate (Czech)

Currently translated at 100.0% (21 of 21 strings)

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

* Translated using Weblate (Russian)

Currently translated at 99.0% (217 of 219 strings)

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

* Translated using Weblate (Greek)

Currently translated at 43.8% (96 of 219 strings)

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

* Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (219 of 219 strings)

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

* Translated using Weblate (Spanish)

Currently translated at 99.0% (217 of 219 strings)

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

* Translated using Weblate (Greek)

Currently translated at 55.2% (121 of 219 strings)

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

* Translated using Weblate (Czech)

Currently translated at 100.0% (219 of 219 strings)

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

* Translated using Weblate (Croatian)

Currently translated at 100.0% (219 of 219 strings)

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

Co-authored-by: Fjuro <fjuro@seznam.cz>
Co-authored-by: qwerty287 <ndev@web.de>
Co-authored-by: Егор Ермаков <eg.ermakov2016@yandex.ru>
Co-authored-by: Clyde Johanson <johnson.hu95@gmail.com>
Co-authored-by: lunand <paulefstathiou2009@gmail.com>
Co-authored-by: Eric <alchemillatruth@purelymail.com>
Co-authored-by: Iago <translate@delthia.com>
Co-authored-by: Milo Ivir <mail@milotype.de>
Co-authored-by: Alexander Capehart <oxycblt@abstractr.net>
2022-08-10 19:33:39 +00:00
OxygenCobalt
68ca9973df
ui: add basic bar actions [#108]
Add the ability to customize the bar action to the repeat mode or
shuffle state.

This is a much smaller implementation than what I planned, mostly
because other options did not make much sense (queue) or were
superceded by better options (clear state).

Resolves #108.
2022-08-10 13:14:19 -06:00
OxygenCobalt
ce2e950a9b
playback: add audioeffect integration [#211]
Add support for external AudioEffect implementers, like Wavelet.

Doing this involves doing a weird broadcast dance with AudioEffect
Intents at special points to indicate a valid audio session that
can be manipulated. Still has some issues, such as a null name
showing up in wavelet. As far as I am aware, this is the best
possible system I can do, and allows me to delegate an equalizer
implementation to other apps instead of making my own.

Resolves #211.
2022-08-09 16:26:14 -06:00
OxygenCobalt
deffe065d5
queue: do not scroll to next-up range
Do not scroll to the current index + 1 (i.e the next up range) when the
index signifigantly changees.

RecyclerView quirks result in a mix of next-up and next-up + playing
item scrolling, just unify it under the latter.
2022-08-09 09:11:17 -06:00
OxygenCobalt
83d1e4eae4
ui: refactor shadow management
Make the shadow disabling workaround an XML style.

Doing it this way is more elegant than disabling it in-code.
2022-08-09 09:10:19 -06:00
OxygenCobalt
bcc16fb88c
music: improve field management
Cache some music fields and make other fields more coherent given
recent changes.
2022-08-09 08:57:24 -06:00
OxygenCobalt
75e80a7253
home: add indicator to date added sorting
Add a fast-scroll indicator for date added sorting.

Forgot to add this initially.
2022-08-09 08:47:57 -06:00
OxygenCobalt
3c3b9ac7cc
queue: make sheet corner radius sharp
Make the corner radius of the queue sheet also sharp.

This is to ensure consistency with the playback sheet as it currently
stands. As soon as I can do only-inset content behavior and can thus
round the playback bar, I'll also re-round the queue bar.
2022-08-08 22:21:10 -06:00
OxygenCobalt
fe38c70d34
ui: don't re-inset content only
Revert the changes I made in 0474940ee3
and return to the hybrid layout + inset system.

The big issue is edge effects and touch events. I need to properly
clamp edge effects to the padding, but that also requires me to use
stretch edge effects everywhere to prevent weird visual isuses. This
may happen in the future in RecyclerView 1.3.0, but development on such
has been minimal. Meanwhile, touch events will be intercepted by the
now overlapping view if one clicks the wrong portion of the bar.
Nothing I can do given how touch events are intercepted by the bottom
sheet, at least right now.

More feasible to keep the current system and mitigate whatever issues
are present there.
2022-08-08 16:22:03 -06:00
OxygenCobalt
46473ceff9
ui: update transitions
Update transitions in the home fragment to X-axis.

I noticed a visual issue in the detail transition in the existing
version stemming from how the main fragment's drawing is clipped by
the bottom sheet, resulting in a less-than-ideal Z-axis transition.

While I wanted to fix this by attempting to switch to inset based
bottom sheet management, I still need to wait for more changes in
order to successfully pull that off, and hence I'll be reverting it
soon.

Moving these transitions to X-axis prevents this visual issue while
still being roughly semantically similar.
2022-08-08 16:17:46 -06:00
OxygenCobalt
0cef51fa97
detail: add item type
Add an item type indicator to the top of the detail header.

This is primarily for release type functionality, but also makes it
more clear the item one is looking at.
2022-08-06 14:53:06 -06:00
OxygenCobalt
7b3490d5d3
ui: improve bottom sheet backgrounds
Try to improve the efficiency/management of bottom sheet bakcgrounds
somewhat.
2022-08-06 13:19:58 -06:00
OxygenCobalt
0474940ee3
ui: switch to inset-based bottom sheet content
Do not do a measure + inset method with BottomSheetContentBehavior,
instead, try to re-apply window insets to adapt with the bar instead.

This fixes a lot of view clipping issues that made motion transitions
non-ideal and prevented a rounded playback bar. Only remaining issue is
RecyclerView instances, which need to be further reworked to resolve
scroll issues and edge effect problems.
2022-08-06 09:21:20 -06:00
OxygenCobalt
913db88fde
ui: fix incorrect queue text style
Fix an accidental usage of Material3 text styles instead of Auxio.

Left-over from the testing app I did for the new bottom sheets. Stuck
around through some means.
2022-08-05 20:47:00 -06:00
OxygenCobalt
daaa8d7f7e
Version 2.6.0
Ready for version 2.6.0 of Auxio.
2022-08-05 18:43:54 -06:00
OxygenCobalt
5a829112da
meta: update shots
Upgrade screenshots for 2.6.0.
2022-08-05 17:40:58 -06:00