Alexander Capehart
f846a08b01
music: refactor library usage
...
Refactor the disjoint Library and Playlist setup into two new
DeviceLibrary and UserLibrary implementations.
This makes the API surface a bit less disjoint than prior.
2023-03-22 17:16:41 -06:00
Alexander Capehart
d8b67a8512
test: fix failure
...
Once again, forgot to update the mock implementations.
2023-03-20 20:29:43 -06:00
Alexander Capehart
686290a6c1
playlist: add basic ui support
...
Add extremely basic UI support for playlists.
2023-03-20 19:47:56 -06:00
Alexander Capehart
9a282e2be9
music: unify indexer and repository
...
Unify Indexer and MusicRepository into a single class.
This is meant to create a single dependency on PlaylistDatabase and
reduce the amount of orchestration.
2023-03-20 15:57:27 -06:00
Alexander Capehart
4033a791a7
playlist: consider playlists music
...
Consider playlists music rather than an extension of music.
This also sets up the basics of a playlist datbaase.
2023-03-20 15:57:27 -06:00
Weblate (bot)
5e3b4a2fce
Translations update from Hosted Weblate ( #387 )
...
* Translated using Weblate (Arabic (ar_IQ))
Currently translated at 58.9% (151 of 256 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/ar_IQ/
* Added translation using Weblate (Hebrew)
* Translated using Weblate (Hebrew)
Currently translated at 96.5% (28 of 29 strings)
Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/he/
* Translated using Weblate (Hebrew)
Currently translated at 61.7% (158 of 256 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/he/
* Translated using Weblate (German)
Currently translated at 100.0% (256 of 256 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/de/
* Translated using Weblate (Polish)
Currently translated at 100.0% (256 of 256 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/pl/
* Translated using Weblate (Polish)
Currently translated at 100.0% (256 of 256 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/pl/
* Translated using Weblate (Polish)
Currently translated at 100.0% (256 of 256 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/pl/
* Translated using Weblate (German)
Currently translated at 100.0% (256 of 256 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/de/
* Translated using Weblate (German)
Currently translated at 100.0% (29 of 29 strings)
Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/de/
* Translated using Weblate (Galician)
Currently translated at 98.0% (251 of 256 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/gl/
* Translated using Weblate (Polish)
Currently translated at 100.0% (256 of 256 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/pl/
* Translated using Weblate (Polish)
Currently translated at 100.0% (256 of 256 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/pl/
* Translated using Weblate (Polish)
Currently translated at 100.0% (256 of 256 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/pl/
---------
Co-authored-by: Moayad Ahmed <meayad1728383@gmail.com>
Co-authored-by: FAYE <pl4gve@gmail.com>
Co-authored-by: qwerty287 <ndev@web.de>
Co-authored-by: Maciej Klupp <maciej.klupp@gmail.com>
Co-authored-by: Макар Разин <makarrazin14@gmail.com>
Co-authored-by: C. Rüdinger <Mail-an-CR@web.de>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
2023-03-20 09:06:01 -06:00
Alexander Capehart
c6898aa3cc
build: fix failure
...
Due to a sudden pivot to starting from repository backwards with
playlists, there were some half-baked changesets lying around that
I forgot to revert. Do that.
2023-03-19 20:04:18 -06:00
Alexander Capehart
e4339a76bf
playlist: add runtime boilerplate
...
Add the boilerplate code for the playlist system.
Any functionality is runtime only and is not integrated in-app. Plan is
to build the UI scaffold first followed by the backing playlist.
2023-03-19 19:50:34 -06:00
Alexander Capehart
abeac90735
image: use asdeferred
...
Use asDeferred with the ExoPlayer image parser.
This is much better compared to using withContext.
2023-03-19 16:19:29 -06:00
Alexander Capehart
eddba44819
ui: fix failing tests
...
Forgot to correct the overrides.
2023-03-19 16:06:16 -06:00
Alexander Capehart
a485ebf1fe
music: handle numbers when sorting
...
Now sort by logical numeric order with music names.
This is a nice QoL improvement.
Resolves #394 .
2023-03-19 14:08:37 -06:00
Alexander Capehart
8ea637ff05
search: ignore punctuation
...
Ignore punctuation when searching.
Makes the search experience a bit nicer.
Resolves #378 .
2023-03-19 13:24:21 -06:00
Alexander Capehart
245896e4a7
music: check compilation flag value
...
Only map compilation flags if the value is "1".
2023-03-19 13:20:07 -06:00
Alexander Capehart
e50bc80a0b
music: handle compilation flag tags
...
Handle COMPILATION and ITUNESCOMPILATION flags, if present.
Just map these to Various Artists and a compilation release type.
Resolves #373 .
2023-03-19 13:14:53 -06:00
Alexander Capehart
9cc75a0e11
detail: separate header from list data
...
Separate the header information into it's own adapter, and concatenate
it with the prior adapter.
This way, it can be updated separately without a jarring list update.
2023-03-19 12:03:58 -06:00
Alexander Capehart
f57b5dfc81
playback: fix flickering with album/artist info
...
Forgot to move these TextViews into the hacky FrameLayout to make their
new marquee states work correctly.
Resolves #376 .
2023-03-18 11:47:11 -06:00
Alexander Capehart
5e0059fdba
ui: avoid crashes with simultanious navigation
...
If navigation occurs with more than one destination at once, just drop
the slower one rather than crashing.
Resolves #374 .
2023-03-17 15:47:18 -06:00
Alexander Capehart
1df15a32cd
ui: use event everywhere
...
Replace all prior uses of the StateFlow + finish method pattern with
the new event class.
2023-03-17 15:29:36 -06:00
Alexander Capehart
f0d62e8176
deps: update deps
...
Lifecycle -> 2.6.0
Spotless -> 6.17.0 (Allows file name field to be used)
2023-03-17 15:13:11 -06:00
Alexander Capehart
969ceb4ea7
playback: broadcast audiofx session on play/pause
...
Broadcast the audiofx session when playing/pausing rather than starting
and stopping.
This is apparently the more correct way to do this.
Resolves #391 .
2023-03-16 20:22:29 -06:00
Alexander Capehart
59818471d6
queue: add fine-grained updates
...
Add fine-grained updates to the queue view.
Should do the following:
1. Make queue updates faster (no diff calculation)
2. Resolve some bugs regarding duplicate queue items.
3. Finally complete the new list framework.
Resolves #350
Resolves #335
Resolves #380
2023-03-16 20:10:24 -06:00
Alexander Capehart
bde4035654
Merge pull request #392 from VishnuSanal/dev
...
fix: text not getting trimmed whilst searching
2023-03-07 16:00:42 +00:00
VishnuSanal
f5df22e45d
fix: text not getting trimmed whilst searching
...
Signed-off-by: VishnuSanal <t.v.s10123@gmail.com>
2023-03-07 21:08:46 +05:30
Alexander Capehart
86ca6d577e
list: re-add fine-grained updates
...
Re-add the fine-grained updates that were removed prior due to state
concerns.
This time they should be safe enough to use, as the differ has been
fully vendored. The change is not complete enough however, as the queue
view has not been properly ported to use these updates just yet.
2023-03-04 23:08:03 -07:00
Alexander Capehart
6226b0a830
build: remove junk files in apk
...
Remove build junk from the APK.
Removes another ~100kb or so.
2023-03-04 22:11:55 -07:00
Alexander Capehart
4f7ed359ae
deps: update
...
kotlin -> 1.8.10
AGP -> 7.4.2
2023-03-04 22:11:35 -07:00
Alexander Capehart
a4f998cf36
playback: minify media sources further
...
Don't bundle useless HTTP and resource extractors, only bundle what we
use (Content URIs and Progressive Media).
Reduces minified APK size by ~100kb.
2023-03-04 21:40:23 -07:00
Alexander Capehart
4f64c463c4
detail: fix format not appearing in song detail
...
Forgot to add the data to the list.
2023-03-03 19:35:47 -07:00
Alexander Capehart
069a4c9511
playback: inject extractors
...
Use dependency injection with the custom extractor setup
Just looks better this way.
2023-03-03 19:33:44 -07:00
Alexander Capehart
e4aa409cbc
playback: add fragmented mp4 extractor
...
Not adding this broke MP4-AAC files for some insane reason. Google devs
try not to maintain two near-identical products with only slightly
infuriating differences challenge (IMPOSSIBLE)
Resolves #388 .
2023-03-03 18:58:43 -07:00
Alexander Capehart
c049422ab9
Update bug-crash-report.yml
2023-03-03 18:32:20 -07:00
Alexander Capehart
25cc463979
Stop guiding people to use logcat
...
People keep trying to filter it to the point where it's only unrelated log information.
2023-03-03 18:31:52 -07:00
Weblate (bot)
7501f02753
Translations update from Hosted Weblate ( #371 )
...
* Translated using Weblate (German)
Currently translated at 100.0% (256 of 256 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/de/
* Translated using Weblate (German)
Currently translated at 100.0% (256 of 256 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/de/
* Translated using Weblate (Spanish)
Currently translated at 100.0% (256 of 256 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/es/
* Translated using Weblate (Ukrainian)
Currently translated at 100.0% (256 of 256 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/uk/
* Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (256 of 256 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/zh_Hans/
* Translated using Weblate (Punjabi)
Currently translated at 78.9% (202 of 256 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/pa/
* Translated using Weblate (Czech)
Currently translated at 100.0% (256 of 256 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/cs/
* Added translation using Weblate (Galician)
* Translated using Weblate (Galician)
Currently translated at 96.5% (28 of 29 strings)
Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/gl/
* Translated using Weblate (Galician)
Currently translated at 40.2% (103 of 256 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/gl/
* 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 (Spanish)
Currently translated at 100.0% (256 of 256 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/es/
* Translated using Weblate (Galician)
Currently translated at 100.0% (29 of 29 strings)
Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/gl/
* Translated using Weblate (Galician)
Currently translated at 96.0% (246 of 256 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/gl/
* Translated using Weblate (Lithuanian)
Currently translated at 100.0% (256 of 256 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/lt/
* Added translation using Weblate (Azerbaijani)
* Added translation using Weblate (Serbian)
* Translated using Weblate (Greek)
Currently translated at 44.1% (113 of 256 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/el/
* Translated using Weblate (French)
Currently translated at 57.4% (147 of 256 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/fr/
* Translated using Weblate (Italian)
Currently translated at 100.0% (256 of 256 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/it/
* Translated using Weblate (Korean)
Currently translated at 100.0% (256 of 256 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/ko/
* Translated using Weblate (Polish)
Currently translated at 100.0% (256 of 256 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/pl/
* Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (256 of 256 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/pt_BR/
* Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (256 of 256 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/pt_PT/
* Translated using Weblate (Russian)
Currently translated at 100.0% (256 of 256 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/ru/
* Translated using Weblate (Turkish)
Currently translated at 100.0% (256 of 256 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/tr/
* Translated using Weblate (Japanese)
Currently translated at 100.0% (256 of 256 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/ja/
* Translated using Weblate (Japanese)
Currently translated at 100.0% (29 of 29 strings)
Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/ja/
* Translated using Weblate (Belarusian)
Currently translated at 100.0% (256 of 256 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/be/
* Translated using Weblate (Belarusian)
Currently translated at 100.0% (29 of 29 strings)
Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/be/
* Translated using Weblate (Azerbaijani)
Currently translated at 9.3% (24 of 256 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/az/
* Update translation files
Updated by "Remove blank strings" hook in Weblate.
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/
---------
Co-authored-by: Ettore Atalan <atalanttore@googlemail.com>
Co-authored-by: qwerty287 <ndev@web.de>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: BMN <weblate@yopmail.com>
Co-authored-by: Eric <hamburger2048@users.noreply.hosted.weblate.org>
Co-authored-by: ShareASmile <aapshergill@gmail.com>
Co-authored-by: Fjuro <ifjuro@proton.me>
Co-authored-by: Iago <translate@delthia.com>
Co-authored-by: Vaclovas Intas <vaclovas1999@gmail.com>
Co-authored-by: Макар Разин <makarrazin14@gmail.com>
Co-authored-by: Nidi <nizamismidov4@gmail.com>
2023-03-01 14:06:05 -07:00
Alexander Capehart
83c5b85424
deps: update
...
Spotless -> 6.15.0
Core -> 1.9.0
2023-02-24 21:57:01 -07:00
Alexander Capehart
d6e7b99e1f
playback: accept non-r128 tags on opus files
...
Apparently certain taggers just write replaygain information to opus
files regardless of the standard. Have to accomodate it.
Resolves #372 .
2023-02-24 21:55:00 -07:00
Alexander Capehart
811447126c
deps: pull exoplayer
2023-02-24 17:14:31 -07:00
Alexander Capehart
3152a2d0c8
deps: pull exoplayer
2023-02-22 13:34:29 -07:00
Alexander Capehart
23b04a7d7e
Merge pull request #366 from OxygenCobalt/dev
...
Version 3.0.3
2023-02-21 17:43:53 +00:00
Alexander Capehart
f630c28043
deps: pull exoplayer
2023-02-21 09:46:05 -07:00
Alexander Capehart
3c9f985036
deps: pull exoplayer
2023-02-21 09:28:30 -07:00
Alexander Capehart
f190e6455a
Revert "build: use split apks"
...
Honestly, changing the version code schema is far too much of a hassle
for these to be reasonable.
This reverts commit 055d25e3e1
.
2023-02-20 22:02:15 -07:00
Alexander Capehart
2f04f7dbc7
playback: fix incorrect super call
2023-02-20 21:38:41 -07:00
Alexander Capehart
9c7fa86ead
widget: fix widget failing to update
...
Turns out WidgetProvider doesn't support Hilt. Of course, it let me
know by silently failing on an exception for no reason.
2023-02-20 21:32:47 -07:00
Alexander Capehart
055d25e3e1
build: use split apks
...
Build multiple architecture-specfic APKs alongside the single "fat"
APK.
2023-02-20 20:53:54 -07:00
Alexander Capehart
5eab83ba4d
music: add equals impl to library
...
Now that Library is no longer a data class, it needs to have an
implementation of equals.
This caused all reloads to be interpreted as new libraries, even when
they were not.
2023-02-20 19:28:27 -07:00
Weblate (bot)
f4aee4532b
Translations update from Hosted Weblate ( #363 )
...
* Translated using Weblate (Punjabi)
Currently translated at 37.7% (97 of 257 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/pa/
* Translated using Weblate (Czech)
Currently translated at 100.0% (257 of 257 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/cs/
* Translated using Weblate (Punjabi)
Currently translated at 39.2% (101 of 257 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/pa/
* Translated using Weblate (Punjabi)
Currently translated at 46.6% (120 of 257 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/pa/
* 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% (254 of 254 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/cs/
* Translated using Weblate (Spanish)
Currently translated at 100.0% (254 of 254 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/es/
* Translated using Weblate (Polish)
Currently translated at 100.0% (254 of 254 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/pl/
* Translated using Weblate (Russian)
Currently translated at 100.0% (254 of 254 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/ru/
* Translated using Weblate (Ukrainian)
Currently translated at 100.0% (254 of 254 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/uk/
* Translated using Weblate (Belarusian)
Currently translated at 100.0% (28 of 28 strings)
Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/be/
---------
Co-authored-by: ShareASmile <aapshergill@gmail.com>
Co-authored-by: Fjuro <ifjuro@proton.me>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: Макар Разин <makarrazin14@gmail.com>
2023-02-20 19:07:31 -07:00
Alexander Capehart
3b43c3ea5c
release: bump to 3.0.3
...
Bump to version 3.0.3 (27).
2023-02-20 18:47:32 -07:00
Alexander Capehart
b260bf45b2
music: fix failing test
...
Fix failing music test due to FakeMusicSettings not properly
inheriting the newly added sort article setting.
2023-02-20 18:36:19 -07:00
Alexander Capehart
45fe36bd09
music: add option to disable article sort names
...
Add a setting to remove hard-coded sort names based on articles.
This feature is nice, but does not work with some non-english music.
Those individuals should have the ability to disable it.
The implementation honestly is not the greatest, primarily because it
does a 100% reload when it could just regenerate the library. Auxio's
current music model isn't really designed for that, so it will do this
until a need to that kind of "soft reload" really arises.
Resolves #359 .
2023-02-20 18:34:01 -07:00
Alexander Capehart
2d9a5ad5cd
music: add more tests
...
Add tests for MusicViewModel, MusicMode, and MusicRepository.
Going further requires me to really learn instrumentation tests.
2023-02-20 16:01:58 -07:00