Compare commits

..

1520 Commits

Author SHA1 Message Date
Nite
1f9de0be7e Merge branch 'feature/cache-fix' into 'develop'
Fixed cache space cleanup

Closes #1284

See merge request ultrasonic/ultrasonic!1206
2025-04-14 16:47:12 +00:00
Nite
550c486077 Fixed cache space cleanup 2025-04-14 16:47:11 +00:00
Nite
006c554456 Merge branch 'feature/bunch-of-fixes' into 'develop'
Fixed DI to make the widget work

See merge request ultrasonic/ultrasonic!1204
2025-04-11 17:48:08 +00:00
Nite
6443881193 Fixed DI to make the widget work 2025-04-11 17:48:08 +00:00
Nite
a98693bbdb Merge branch 'feature/dependency-update' into 'develop'
Updated libraries to latest version

See merge request ultrasonic/ultrasonic!1202
2025-04-11 08:07:16 +00:00
Nite
03e555eb27
Updated libraries to latest version 2025-04-11 09:58:16 +02:00
Nite
ef73d89491 Merge branch 'weblate-ultrasonic-app' into 'develop'
Translations update from Hosted Weblate

See merge request ultrasonic/ultrasonic!1196
2025-04-08 16:05:55 +00:00
josé m
4ad789d20b
Translated using Weblate (Galician)
Currently translated at 100.0% (425 of 425 strings)

Translation: Ultrasonic/app
Translate-URL: https://hosted.weblate.org/projects/ultrasonic/app/gl/
2025-04-04 15:47:10 +02:00
Nite
7c163c237a Merge branch 'feature/min-sdk-26' into 'develop'
Updated Min SDK to 26

Closes #1319

See merge request ultrasonic/ultrasonic!1195
2025-04-04 12:55:13 +00:00
Nite
38432a3cdc Updated Min SDK to 26 2025-04-04 12:55:13 +00:00
Nite
53aee22794 Merge branch 'renovate/jackson-monorepo' into 'develop'
Update dependency com.fasterxml.jackson.module:jackson-module-kotlin to v2.18.3

See merge request ultrasonic/ultrasonic!1183
2025-04-04 10:11:01 +00:00
Nite
9880f15017 Merge branch 'renovate/major-koin' into 'develop'
Update koin to v4 (major)

See merge request ultrasonic/ultrasonic!1194
2025-04-04 09:36:19 +00:00
Renovate Bot
0fc836cf83 Update koin to v4 (major) 2025-04-04 09:36:19 +00:00
Nite
6eb20d1c0b Merge branch 'renovate/gradle-8.x' into 'develop'
Update dependency gradle to v8.13

See merge request ultrasonic/ultrasonic!1186
2025-04-04 09:16:51 +00:00
Renovate Bot
1f9c9505d7 Update dependency gradle to v8.13 2025-04-04 09:16:50 +00:00
Nite
2487d24371 Merge branch 'renovate/apachecodecs' into 'develop'
Update dependency commons-codec:commons-codec to v1.18.0

See merge request ultrasonic/ultrasonic!1185
2025-04-04 08:48:20 +00:00
Nite
c27b3759b1 Merge branch 'renovate/junit5-monorepo' into 'develop'
Update dependency org.junit.vintage:junit-vintage-engine to v5.12.1

See merge request ultrasonic/ultrasonic!1188
2025-04-04 08:45:58 +00:00
Nite
481f4e0347 Merge branch 'renovate/mockitokotlin' into 'develop'
Update dependency org.mockito.kotlin:mockito-kotlin to v5.4.0

See merge request ultrasonic/ultrasonic!1189
2025-04-04 08:31:59 +00:00
Renovate Bot
a9b47f5aef Update dependency org.mockito.kotlin:mockito-kotlin to v5.4.0 2025-04-04 08:31:59 +00:00
Renovate Bot
b53bb38631 Update dependency org.junit.vintage:junit-vintage-engine to v5.12.1 2025-04-04 08:31:27 +00:00
Renovate Bot
a2a42e06b0 Update dependency commons-codec:commons-codec to v1.18.0 2025-04-04 08:31:24 +00:00
Nite
adf5b95243 Merge branch 'renovate/mockito-monorepo' into 'develop'
Update dependency org.mockito:mockito-core to v5.16.1

See merge request ultrasonic/ultrasonic!1190
2025-04-04 08:18:46 +00:00
Nite
3d82b3935d Merge branch 'renovate/robolectric' into 'develop'
Update dependency org.robolectric:robolectric to v4.14.1

See merge request ultrasonic/ultrasonic!1191
2025-04-04 08:14:40 +00:00
Nite
7ee66e51e8 Merge branch 'renovate/kotlinx-coroutines-monorepo' into 'develop'
Update kotlinx-coroutines monorepo to v1.10.1

See merge request ultrasonic/ultrasonic!1192
2025-04-04 08:00:49 +00:00
Nite
b126cd594a Merge branch 'renovate/retrofit-monorepo' into 'develop'
Update retrofit monorepo to v2.11.0

See merge request ultrasonic/ultrasonic!1193
2025-04-04 07:52:58 +00:00
Renovate Bot
31f654ee2f Update retrofit monorepo to v2.11.0 2025-04-03 19:31:45 +00:00
Renovate Bot
42c8edc6e7 Update kotlinx-coroutines monorepo to v1.10.1 2025-04-03 19:31:41 +00:00
Renovate Bot
8f7c7c33ff Update dependency org.robolectric:robolectric to v4.14.1 2025-04-03 18:31:59 +00:00
Renovate Bot
c105c0d02d Update dependency org.mockito:mockito-core to v5.16.1 2025-04-03 18:31:51 +00:00
Nite
e74fb3795a Merge branch 'renovate/rxjava' into 'develop'
Update dependency io.reactivex.rxjava3:rxjava to v3.1.10

See merge request ultrasonic/ultrasonic!1182
2025-04-03 17:50:54 +00:00
Nite
80923ca8ac Merge branch 'renovate/detekt' into 'develop'
Update dependency io.gitlab.arturbosch.detekt:detekt-gradle-plugin to v1.23.8

See merge request ultrasonic/ultrasonic!1179
2025-04-03 17:44:18 +00:00
Nite
f2fa530047 Merge branch 'renovate/koin' into 'develop'
Update koin to v3.5.6

See merge request ultrasonic/ultrasonic!1172
2025-04-03 17:36:58 +00:00
Óscar García Amor
4cb6ab031b
Fixes translations linting 2025-04-03 09:25:00 +02:00
Óscar García Amor
2d224e5f84
Merge remote-tracking branch 'weblate/develop' into develop 2025-04-03 09:08:13 +02:00
Adolfo Jayme Barrientos
5a653bebb2
Translated using Weblate (Portuguese)
Currently translated at 100.0% (422 of 422 strings)

Translation: Ultrasonic/app
Translate-URL: https://hosted.weblate.org/projects/ultrasonic/app/pt/
2025-04-03 09:06:40 +02:00
ssantos
5566cb05ab
Translated using Weblate (Portuguese)
Currently translated at 97.8% (413 of 422 strings)

Translation: Ultrasonic/app
Translate-URL: https://hosted.weblate.org/projects/ultrasonic/app/pt/
2025-04-03 09:02:00 +02:00
Adolfo Jayme Barrientos
7ee7aa23be
Translated using Weblate (Japanese)
Currently translated at 98.8% (417 of 422 strings)

Translation: Ultrasonic/app
Translate-URL: https://hosted.weblate.org/projects/ultrasonic/app/ja/
2025-04-03 08:58:30 +02:00
Adolfo Jayme Barrientos
5a2ae50c74
Translated using Weblate (Galician)
Currently translated at 100.0% (422 of 422 strings)

Translation: Ultrasonic/app
Translate-URL: https://hosted.weblate.org/projects/ultrasonic/app/gl/
2025-04-03 08:58:30 +02:00
Adolfo Jayme Barrientos
62d7e6bb6d
Translated using Weblate (Norwegian Bokmål)
Currently translated at 83.1% (351 of 422 strings)

Translation: Ultrasonic/app
Translate-URL: https://hosted.weblate.org/projects/ultrasonic/app/nb_NO/
2025-04-03 08:58:30 +02:00
Adolfo Jayme Barrientos
5266fc0b0f
Translated using Weblate (Spanish)
Currently translated at 100.0% (422 of 422 strings)

Translation: Ultrasonic/app
Translate-URL: https://hosted.weblate.org/projects/ultrasonic/app/es/
2025-04-03 08:58:30 +02:00
Adolfo Jayme Barrientos
612925bc7d
Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 68.0% (287 of 422 strings)

Translation: Ultrasonic/app
Translate-URL: https://hosted.weblate.org/projects/ultrasonic/app/zh_Hant/
2025-04-03 08:58:30 +02:00
Adolfo Jayme Barrientos
81499a1b37
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 98.8% (417 of 422 strings)

Translation: Ultrasonic/app
Translate-URL: https://hosted.weblate.org/projects/ultrasonic/app/zh_Hans/
2025-04-03 08:58:30 +02:00
Adolfo Jayme Barrientos
27fc8462d1
Translated using Weblate (Russian)
Currently translated at 82.2% (347 of 422 strings)

Translation: Ultrasonic/app
Translate-URL: https://hosted.weblate.org/projects/ultrasonic/app/ru/
2025-04-03 08:58:28 +02:00
Adolfo Jayme Barrientos
f3e205a452
Translated using Weblate (Portuguese)
Currently translated at 100.0% (422 of 422 strings)

Translation: Ultrasonic/app
Translate-URL: https://hosted.weblate.org/projects/ultrasonic/app/pt/
2025-04-03 08:58:04 +02:00
Adolfo Jayme Barrientos
84374f8c13
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (422 of 422 strings)

Translation: Ultrasonic/app
Translate-URL: https://hosted.weblate.org/projects/ultrasonic/app/pt_BR/
2025-04-03 08:58:04 +02:00
Adolfo Jayme Barrientos
5e8bf249f8
Translated using Weblate (Polish)
Currently translated at 98.8% (417 of 422 strings)

Translation: Ultrasonic/app
Translate-URL: https://hosted.weblate.org/projects/ultrasonic/app/pl/
2025-04-03 08:58:04 +02:00
Adolfo Jayme Barrientos
3913e676b7
Translated using Weblate (Dutch)
Currently translated at 95.0% (401 of 422 strings)

Translation: Ultrasonic/app
Translate-URL: https://hosted.weblate.org/projects/ultrasonic/app/nl/
2025-04-03 08:58:02 +02:00
Adolfo Jayme Barrientos
a70ee39403
Translated using Weblate (Italian)
Currently translated at 63.0% (266 of 422 strings)

Translation: Ultrasonic/app
Translate-URL: https://hosted.weblate.org/projects/ultrasonic/app/it/
2025-04-03 08:57:21 +02:00
Adolfo Jayme Barrientos
05bd9f0d2c
Translated using Weblate (Hungarian)
Currently translated at 77.9% (329 of 422 strings)

Translation: Ultrasonic/app
Translate-URL: https://hosted.weblate.org/projects/ultrasonic/app/hu/
2025-04-03 08:57:21 +02:00
Adolfo Jayme Barrientos
4d9388f8fe
Translated using Weblate (French)
Currently translated at 96.4% (407 of 422 strings)

Translation: Ultrasonic/app
Translate-URL: https://hosted.weblate.org/projects/ultrasonic/app/fr/
2025-04-03 08:57:21 +02:00
Adolfo Jayme Barrientos
8acd7da959
Translated using Weblate (German)
Currently translated at 99.0% (418 of 422 strings)

Translation: Ultrasonic/app
Translate-URL: https://hosted.weblate.org/projects/ultrasonic/app/de/
2025-04-03 08:57:21 +02:00
Adolfo Jayme Barrientos
c909848ed5
Translated using Weblate (Czech)
Currently translated at 75.5% (319 of 422 strings)

Translation: Ultrasonic/app
Translate-URL: https://hosted.weblate.org/projects/ultrasonic/app/cs/
2025-04-03 08:57:18 +02:00
Adolfo Jayme Barrientos
e5c8e874e3
Translated using Weblate (English)
Currently translated at 100.0% (422 of 422 strings)

Translation: Ultrasonic/app
Translate-URL: https://hosted.weblate.org/projects/ultrasonic/app/en/
2025-04-03 08:56:27 +02:00
Paulo Schopf
9d5caed73d
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (422 of 422 strings)

Translation: Ultrasonic/app
Translate-URL: https://hosted.weblate.org/projects/ultrasonic/app/pt_BR/
2025-04-03 08:56:27 +02:00
Walton Henry (WaltonH)
292086e9d6
Translated using Weblate (Hungarian)
Currently translated at 77.9% (329 of 422 strings)

Translation: Ultrasonic/app
Translate-URL: https://hosted.weblate.org/projects/ultrasonic/app/hu/
2025-04-03 08:56:20 +02:00
josé m
5639fcfb8b
Translated using Weblate (Galician)
Currently translated at 100.0% (422 of 422 strings)

Translation: Ultrasonic/app
Translate-URL: https://hosted.weblate.org/projects/ultrasonic/app/gl/
2025-04-03 08:54:39 +02:00
Paulo Schopf
ce39da4b79
Translated using Weblate (Portuguese)
Currently translated at 100.0% (422 of 422 strings)

Translation: Ultrasonic/app
Translate-URL: https://hosted.weblate.org/projects/ultrasonic/app/pt/
2025-04-03 08:54:39 +02:00
ssantos
4e89672d15
Translated using Weblate (Portuguese)
Currently translated at 99.5% (420 of 422 strings)

Translation: Ultrasonic/app
Translate-URL: https://hosted.weblate.org/projects/ultrasonic/app/pt/
2025-04-03 08:54:39 +02:00
ssantos
6725ef5a2c
Translated using Weblate (Portuguese)
Currently translated at 97.8% (413 of 422 strings)

Translation: Ultrasonic/app
Translate-URL: https://hosted.weblate.org/projects/ultrasonic/app/pt/
2025-04-03 08:54:39 +02:00
Renovate Bot
680cc90871 Update dependency io.gitlab.arturbosch.detekt:detekt-gradle-plugin to v1.23.8 2025-04-02 20:31:32 +00:00
Nite
c19dc125a9 Merge branch 'renovate/ktlintgradle' into 'develop'
Update dependency org.jlleitschuh.gradle:ktlint-gradle to v12.1.1

See merge request ultrasonic/ultrasonic!1166
2025-04-02 19:32:20 +00:00
Renovate Bot
be8fa3c0d1 Update dependency com.fasterxml.jackson.module:jackson-module-kotlin to v2.18.3 2025-04-02 19:31:22 +00:00
Renovate Bot
312a97d664 Update dependency io.reactivex.rxjava3:rxjava to v3.1.10 2025-04-02 19:31:16 +00:00
Renovate Bot
fca954102a Update dependency org.jlleitschuh.gradle:ktlint-gradle to v12.1.1 2025-04-02 19:25:01 +00:00
Nite
9e078b4879 Merge branch 'feature/unified-rating' into 'develop'
Updated rating to be able to use the 5 star and heart rating together

Closes #440, #1231, and #1250

See merge request ultrasonic/ultrasonic!1133
2025-04-02 19:02:33 +00:00
Nite
46e85c27a2 Updated rating to be able to use the 5 star and heart rating together 2025-04-02 19:02:30 +00:00
Adolfo Jayme Barrientos
1124cef382
Translated using Weblate (Japanese)
Currently translated at 98.8% (417 of 422 strings)

Translation: Ultrasonic/app
Translate-URL: https://hosted.weblate.org/projects/ultrasonic/app/ja/
2025-03-22 18:44:12 +01:00
Adolfo Jayme Barrientos
01ebf6e1aa
Translated using Weblate (Galician)
Currently translated at 100.0% (422 of 422 strings)

Translation: Ultrasonic/app
Translate-URL: https://hosted.weblate.org/projects/ultrasonic/app/gl/
2025-03-22 18:44:11 +01:00
Adolfo Jayme Barrientos
b65050ae85
Translated using Weblate (Norwegian Bokmål)
Currently translated at 83.1% (351 of 422 strings)

Translation: Ultrasonic/app
Translate-URL: https://hosted.weblate.org/projects/ultrasonic/app/nb_NO/
2025-03-22 18:44:11 +01:00
Adolfo Jayme Barrientos
ddec1d7bdc
Translated using Weblate (Spanish)
Currently translated at 100.0% (422 of 422 strings)

Translation: Ultrasonic/app
Translate-URL: https://hosted.weblate.org/projects/ultrasonic/app/es/
2025-03-22 18:44:11 +01:00
Adolfo Jayme Barrientos
888d34aeb9
Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 68.0% (287 of 422 strings)

Translation: Ultrasonic/app
Translate-URL: https://hosted.weblate.org/projects/ultrasonic/app/zh_Hant/
2025-03-22 18:44:11 +01:00
Adolfo Jayme Barrientos
0fb3d8aeca
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 98.8% (417 of 422 strings)

Translation: Ultrasonic/app
Translate-URL: https://hosted.weblate.org/projects/ultrasonic/app/zh_Hans/
2025-03-22 18:44:11 +01:00
Adolfo Jayme Barrientos
c56913733f
Translated using Weblate (Russian)
Currently translated at 82.2% (347 of 422 strings)

Translation: Ultrasonic/app
Translate-URL: https://hosted.weblate.org/projects/ultrasonic/app/ru/
2025-03-22 18:44:11 +01:00
Adolfo Jayme Barrientos
76c61e1866
Translated using Weblate (Portuguese)
Currently translated at 100.0% (422 of 422 strings)

Translation: Ultrasonic/app
Translate-URL: https://hosted.weblate.org/projects/ultrasonic/app/pt/
2025-03-22 18:44:11 +01:00
Adolfo Jayme Barrientos
810bb9ddd1
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (422 of 422 strings)

Translation: Ultrasonic/app
Translate-URL: https://hosted.weblate.org/projects/ultrasonic/app/pt_BR/
2025-03-22 18:44:10 +01:00
Adolfo Jayme Barrientos
68a2123293
Translated using Weblate (Polish)
Currently translated at 98.8% (417 of 422 strings)

Translation: Ultrasonic/app
Translate-URL: https://hosted.weblate.org/projects/ultrasonic/app/pl/
2025-03-22 18:44:10 +01:00
Adolfo Jayme Barrientos
4221b18e09
Translated using Weblate (Dutch)
Currently translated at 95.0% (401 of 422 strings)

Translation: Ultrasonic/app
Translate-URL: https://hosted.weblate.org/projects/ultrasonic/app/nl/
2025-03-22 18:44:10 +01:00
Adolfo Jayme Barrientos
e7ed066eed
Translated using Weblate (Italian)
Currently translated at 63.0% (266 of 422 strings)

Translation: Ultrasonic/app
Translate-URL: https://hosted.weblate.org/projects/ultrasonic/app/it/
2025-03-22 18:44:10 +01:00
Adolfo Jayme Barrientos
1301f7e116
Translated using Weblate (Hungarian)
Currently translated at 77.9% (329 of 422 strings)

Translation: Ultrasonic/app
Translate-URL: https://hosted.weblate.org/projects/ultrasonic/app/hu/
2025-03-22 18:44:10 +01:00
Adolfo Jayme Barrientos
63b064b021
Translated using Weblate (French)
Currently translated at 96.4% (407 of 422 strings)

Translation: Ultrasonic/app
Translate-URL: https://hosted.weblate.org/projects/ultrasonic/app/fr/
2025-03-22 18:44:10 +01:00
Adolfo Jayme Barrientos
a9be77aa75
Translated using Weblate (German)
Currently translated at 99.0% (418 of 422 strings)

Translation: Ultrasonic/app
Translate-URL: https://hosted.weblate.org/projects/ultrasonic/app/de/
2025-03-22 18:44:10 +01:00
Adolfo Jayme Barrientos
fc7dcc9f77
Translated using Weblate (Czech)
Currently translated at 75.5% (319 of 422 strings)

Translation: Ultrasonic/app
Translate-URL: https://hosted.weblate.org/projects/ultrasonic/app/cs/
2025-03-22 18:44:10 +01:00
Adolfo Jayme Barrientos
48461f82a8
Translated using Weblate (English)
Currently translated at 100.0% (422 of 422 strings)

Translation: Ultrasonic/app
Translate-URL: https://hosted.weblate.org/projects/ultrasonic/app/en/
2025-03-22 18:44:09 +01:00
Paulo Schopf
81ea86fd01
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (422 of 422 strings)

Translation: Ultrasonic/app
Translate-URL: https://hosted.weblate.org/projects/ultrasonic/app/pt_BR/
2024-10-31 15:24:51 +01:00
Walton Henry (WaltonH)
8803f4444e
Translated using Weblate (Hungarian)
Currently translated at 77.9% (329 of 422 strings)

Translation: Ultrasonic/app
Translate-URL: https://hosted.weblate.org/projects/ultrasonic/app/hu/
2024-04-23 21:07:11 +02:00
Renovate Bot
38a97b2b91 Update koin to v3.5.6 2024-04-12 07:32:05 +00:00
josé m
6e7bcc4362
Translated using Weblate (Galician)
Currently translated at 100.0% (422 of 422 strings)

Translation: Ultrasonic/app
Translate-URL: https://hosted.weblate.org/projects/ultrasonic/app/gl/
2024-02-20 19:02:07 +01:00
Paulo Schopf
c12224e811
Translated using Weblate (Portuguese)
Currently translated at 100.0% (422 of 422 strings)

Translation: Ultrasonic/app
Translate-URL: https://hosted.weblate.org/projects/ultrasonic/app/pt/
2024-01-09 13:06:11 +01:00
ssantos
b8ef3cd177
Translated using Weblate (Portuguese)
Currently translated at 99.5% (420 of 422 strings)

Translation: Ultrasonic/app
Translate-URL: https://hosted.weblate.org/projects/ultrasonic/app/pt/
2024-01-07 17:06:12 +00:00
ssantos
2de773e5de
Translated using Weblate (Portuguese)
Currently translated at 97.8% (413 of 422 strings)

Translation: Ultrasonic/app
Translate-URL: https://hosted.weblate.org/projects/ultrasonic/app/pt/
2023-12-19 17:09:57 +00:00
birdbird
fe5b63ad1f Merge branch 'weblate-ultrasonic-app' into 'develop'
Translations update from Hosted Weblate

See merge request ultrasonic/ultrasonic!1165
2023-12-06 10:52:51 +00:00
Paulo Schopf
4aff5857fd
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (422 of 422 strings)

Translation: Ultrasonic/app
Translate-URL: https://hosted.weblate.org/projects/ultrasonic/app/pt_BR/
2023-12-05 22:06:55 +00:00
birdbird
a0d26cb3e7 Merge branch 'renovate/media3' into 'develop'
Update media3 to v1.2.0

See merge request ultrasonic/ultrasonic!1153
2023-12-04 16:40:18 +00:00
tzugen
639ef03bce
Adapt to media 1.2.0 2023-12-04 17:33:18 +01:00
Renovate Bot
b855e4bbe7
Update media3 to v1.2.0 2023-12-04 17:32:37 +01:00
birdbird
b83e349f5c Merge branch 'refactor2' into 'develop'
Update copyright in recently edited files

See merge request ultrasonic/ultrasonic!1164
2023-12-04 15:19:09 +00:00
birdbird
abad0438e3 Update copyright in recently edited files 2023-12-04 15:19:09 +00:00
birdbird
30f02c7eac Merge branch 'room2' into 'develop'
Adapt to room changes

See merge request ultrasonic/ultrasonic!1163
2023-12-04 10:01:42 +00:00
tzugen
64f1c3e172
Adapt to room changes 2023-12-04 10:49:35 +01:00
birdbird
f7f1f40668 Merge branch 'renovate/mockito-monorepo' into 'develop'
Update dependency org.mockito:mockito-core to v5.8.0

See merge request ultrasonic/ultrasonic!1161
2023-12-03 19:45:41 +00:00
birdbird
6519945c7b Merge branch 'renovate/major-ktlintgradle' into 'develop'
Update dependency org.jlleitschuh.gradle:ktlint-gradle to v12

See merge request ultrasonic/ultrasonic!1162
2023-12-03 19:45:20 +00:00
Renovate Bot
94979aeaab Update dependency org.jlleitschuh.gradle:ktlint-gradle to v12 2023-12-03 19:45:20 +00:00
Renovate Bot
37e43b73a7 Update dependency org.mockito:mockito-core to v5.8.0 2023-12-03 14:31:46 +00:00
birdbird
2cf2cf31c4 Merge branch 'exep' into 'develop'
Avoid two exceptions

See merge request ultrasonic/ultrasonic!1159
2023-12-03 14:12:11 +00:00
birdbird
9736ae451a Avoid two exceptions 2023-12-03 14:12:10 +00:00
birdbird
26331c1a07 Merge branch 'renovate/ksp' into 'develop'
Update dependency com.google.devtools.ksp to v1.9.21-1.0.15

See merge request ultrasonic/ultrasonic!1146
2023-12-03 14:06:06 +00:00
birdbird
35ffe9ef10 Merge branch 'renovate/room' into 'develop'
Update room to v2.6.1

See merge request ultrasonic/ultrasonic!1157
2023-12-03 14:06:01 +00:00
birdbird
976400d0e1 Merge branch 'renovate/mockitokotlin' into 'develop'
Update dependency org.mockito.kotlin:mockito-kotlin to v5.2.1

See merge request ultrasonic/ultrasonic!1160
2023-12-03 14:05:41 +00:00
Renovate Bot
d2ef76a2c5 Update dependency org.mockito.kotlin:mockito-kotlin to v5.2.1 2023-12-03 10:32:00 +00:00
Renovate Bot
c0926b1e13 Update room to v2.6.1 2023-12-03 10:31:56 +00:00
Renovate Bot
bf5d41ab30 Update dependency com.google.devtools.ksp to v1.9.21-1.0.15 2023-12-03 10:31:52 +00:00
birdbird
e2716a5965 Merge branch 'renovate/junit5-monorepo' into 'develop'
Update dependency org.junit.vintage:junit-vintage-engine to v5.10.1

See merge request ultrasonic/ultrasonic!1149
2023-12-03 09:31:41 +00:00
birdbird
8351f1dc0a Merge branch 'renovate/gradleplugin' into 'develop'
Update dependency com.android.tools.build:gradle to v8.2.0

See merge request ultrasonic/ultrasonic!1150
2023-12-03 09:31:40 +00:00
birdbird
90997d5f4c Merge branch 'renovate/activity' into 'develop'
Update dependency androidx.activity:activity-ktx to v1.8.1

See merge request ultrasonic/ultrasonic!1151
2023-12-03 09:31:31 +00:00
birdbird
747f071f2f Merge branch 'renovate/jackson' into 'develop'
Update dependency com.fasterxml.jackson.module:jackson-module-kotlin to v2.16.0

See merge request ultrasonic/ultrasonic!1152
2023-12-03 09:31:20 +00:00
birdbird
9e76308cf2 Merge branch 'weblate-ultrasonic-app' into 'develop'
Translations update from Hosted Weblate

See merge request ultrasonic/ultrasonic!1158
2023-12-03 09:30:45 +00:00
josé m
c452030fe1
Translated using Weblate (Galician)
Currently translated at 27.9% (119 of 426 strings)

Translation: Ultrasonic/app
Translate-URL: https://hosted.weblate.org/projects/ultrasonic/app/gl/
2023-12-03 10:30:03 +01:00
birdbird
dbbeac6084 Merge branch 'renovate/gradle-8.x' into 'develop'
Update dependency gradle to v8.5

See merge request ultrasonic/ultrasonic!1156
2023-12-03 09:29:52 +00:00
birdbird
d56ec198a1 Merge branch 'renovate/detekt' into 'develop'
Update dependency io.gitlab.arturbosch.detekt:detekt-gradle-plugin to v1.23.4

See merge request ultrasonic/ultrasonic!1155
2023-12-03 09:29:47 +00:00
birdbird
13238dfdc0 Merge branch 'renovate/kotlin-monorepo' into 'develop'
Update kotlin monorepo to v1.9.21

See merge request ultrasonic/ultrasonic!1154
2023-12-03 09:29:40 +00:00
Renovate Bot
8063814bdc Update dependency com.android.tools.build:gradle to v8.2.0 2023-11-30 18:32:19 +00:00
Renovate Bot
3d8abdc65b Update dependency gradle to v8.5 2023-11-29 14:33:08 +00:00
Renovate Bot
4832876e54 Update dependency io.gitlab.arturbosch.detekt:detekt-gradle-plugin to v1.23.4 2023-11-26 12:31:21 +00:00
Renovate Bot
a0b0409930 Update kotlin monorepo to v1.9.21 2023-11-23 12:31:20 +00:00
Renovate Bot
8e6e9d4e8e Update dependency com.fasterxml.jackson.module:jackson-module-kotlin to v2.16.0 2023-11-16 01:31:37 +00:00
Renovate Bot
ee6d03db35 Update dependency androidx.activity:activity-ktx to v1.8.1 2023-11-15 18:31:49 +00:00
Renovate Bot
364270d338 Update dependency org.junit.vintage:junit-vintage-engine to v5.10.1 2023-11-05 17:31:25 +00:00
birdbird
a4dc06fa8a Merge branch 'renovate/detekt' into 'develop'
Update dependency io.gitlab.arturbosch.detekt:detekt-gradle-plugin to v1.23.3

See merge request ultrasonic/ultrasonic!1145
2023-11-03 10:35:44 +00:00
birdbird
5c94d995d4 Merge branch 'renovate/robolectric' into 'develop'
Update dependency org.robolectric:robolectric to v4.11.1

See merge request ultrasonic/ultrasonic!1143
2023-11-03 10:35:41 +00:00
birdbird
366da1c30c Merge branch 'renovate/kotlin-monorepo' into 'develop'
Update kotlin monorepo to v1.9.20

See merge request ultrasonic/ultrasonic!1144
2023-11-03 10:35:40 +00:00
birdbird
e893510e79 Merge branch 'renovate/navigation' into 'develop'
Update navigation to v2.7.5

See merge request ultrasonic/ultrasonic!1147
2023-11-03 10:35:34 +00:00
birdbird
67b359999e Merge branch 'renovate/mockito-monorepo' into 'develop'
Update dependency org.mockito:mockito-core to v5.7.0

See merge request ultrasonic/ultrasonic!1148
2023-11-03 10:35:29 +00:00
Renovate Bot
01569647f7 Update dependency org.mockito:mockito-core to v5.7.0 2023-11-02 20:31:40 +00:00
Renovate Bot
3ee20113ae Update navigation to v2.7.5 2023-11-01 17:31:36 +00:00
Renovate Bot
6edff7e053 Update dependency org.robolectric:robolectric to v4.11.1 2023-10-31 19:35:46 +00:00
Renovate Bot
70cc124818 Update dependency io.gitlab.arturbosch.detekt:detekt-gradle-plugin to v1.23.3 2023-10-31 16:31:16 +00:00
Renovate Bot
98bf943a86 Update kotlin monorepo to v1.9.20 2023-10-30 20:31:18 +00:00
birdbird
58944bb0fd Merge branch 'renovate/room' into 'develop'
Update room to v2.6.0

See merge request ultrasonic/ultrasonic!1138
2023-10-27 14:21:50 +00:00
Renovate Bot
397e1b6ecc Update room to v2.6.0 2023-10-27 14:21:50 +00:00
birdbird
71336b3c9f Merge branch 'weblate-ultrasonic-app' into 'develop'
Translations update from Hosted Weblate

See merge request ultrasonic/ultrasonic!1139
2023-10-27 14:01:51 +00:00
Óscar García Amor
cd47bcf082
Translated using Weblate (Spanish)
Currently translated at 100.0% (426 of 426 strings)

Translation: Ultrasonic/app
Translate-URL: https://hosted.weblate.org/projects/ultrasonic/app/es/
2023-10-27 11:12:57 +00:00
birdbird
4fb5d2a437 Merge branch 'wifiPerf' into 'develop'
Address wifi deprecation

See merge request ultrasonic/ultrasonic!1142
2023-10-27 11:12:46 +00:00
tzugen
e8bf5a38b7
Address wifi deprecation 2023-10-27 13:06:27 +02:00
birdbird
ddfaf520e5 Merge branch 'wifiPerf' into 'develop'
Add a ClearJukebox method

See merge request ultrasonic/ultrasonic!1141
2023-10-27 11:00:01 +00:00
tzugen
4d1c7464b9
Add a ClearJukebox method 2023-10-27 12:32:22 +02:00
birdbird
42c6eac97f Merge branch 'renovate/okhttp-monorepo' into 'develop'
Update okhttp monorepo to v4.12.0

See merge request ultrasonic/ultrasonic!1140
2023-10-20 09:23:43 +00:00
Renovate Bot
2ae0a27588 Update okhttp monorepo to v4.12.0 2023-10-19 23:31:28 +00:00
birdbird
f2e8c0c331 Merge branch 'renovate/ktlintgradle' into 'develop'
Update dependency org.jlleitschuh.gradle:ktlint-gradle to v11.6.1

See merge request ultrasonic/ultrasonic!1131
2023-10-18 11:57:24 +00:00
birdbird
7ce522fd15 Merge branch 'renovate/jackson' into 'develop'
Update dependency com.fasterxml.jackson.module:jackson-module-kotlin to v2.15.3

See merge request ultrasonic/ultrasonic!1132
2023-10-18 11:57:10 +00:00
birdbird
170c61ef84 Merge branch 'renovate/mockito-monorepo' into 'develop'
Update dependency org.mockito:mockito-core to v5.6.0

See merge request ultrasonic/ultrasonic!1129
2023-10-18 11:56:51 +00:00
birdbird
87fdf94e61 Merge branch 'renovate/colorpicker' into 'develop'
Update dependency com.github.skydoves:colorpickerview to v2.3.0

See merge request ultrasonic/ultrasonic!1125
2023-10-18 11:56:00 +00:00
birdbird
fffe245df5 Merge branch 'renovate/materialdesign' into 'develop'
Update dependency com.google.android.material:material to v1.10.0

See merge request ultrasonic/ultrasonic!1128
2023-10-18 11:55:19 +00:00
birdbird
95194bed3e Merge branch 'renovate/gradle-8.x' into 'develop'
Update dependency gradle to v8.4

See merge request ultrasonic/ultrasonic!1127
2023-10-18 11:53:45 +00:00
birdbird
a9467e2fd8 Merge branch 'renovate/navigation' into 'develop'
Update navigation to v2.7.4

See merge request ultrasonic/ultrasonic!1126
2023-10-18 11:51:49 +00:00
birdbird
4b99fdb788 Merge branch 'master' into 'develop'
Merge back from master

See merge request ultrasonic/ultrasonic!1137
2023-10-18 11:51:16 +00:00
birdbird
727e53e096 Merge branch '480' into 'master'
Release 4.8.0

See merge request ultrasonic/ultrasonic!1124
2023-10-18 10:56:51 +00:00
tzugen
69fc9b955a
RC 4.8.0 2023-10-18 12:48:32 +02:00
tzugen
601d0ccdaa
Merge remote-tracking branch 'origin/develop' into 480 2023-10-18 12:44:01 +02:00
birdbird
b19b1fb65a Merge branch 'coroutineLegacy' into 'develop'
Migrate remaining Java Code and modernize it

See merge request ultrasonic/ultrasonic!1136
2023-10-18 10:19:12 +00:00
birdbird
442f622b35 Migrate remaining Java Code and modernize it 2023-10-18 10:19:10 +00:00
birdbird
de523a6451 Merge branch 'refactorScopes' into 'develop'
Refactor Koin, Scopes & Lifecycles

See merge request ultrasonic/ultrasonic!1130
2023-10-14 19:09:26 +00:00
birdbird
17260878ac Refactor Koin, Scopes & Lifecycles 2023-10-14 19:09:26 +00:00
Renovate Bot
c6d26cdd67 Update dependency com.fasterxml.jackson.module:jackson-module-kotlin to v2.15.3 2023-10-13 02:31:21 +00:00
Renovate Bot
458fe5c36e Update dependency org.jlleitschuh.gradle:ktlint-gradle to v11.6.1 2023-10-10 15:31:32 +00:00
Renovate Bot
f388aaf4d8 Update dependency org.mockito:mockito-core to v5.6.0 2023-10-06 15:31:34 +00:00
Renovate Bot
6ddff58afb Update dependency com.google.android.material:material to v1.10.0 2023-10-05 18:31:28 +00:00
Renovate Bot
1e176f995a Update dependency gradle to v8.4 2023-10-04 21:32:34 +00:00
Renovate Bot
22c61258cc Update navigation to v2.7.4 2023-10-04 17:31:13 +00:00
Renovate Bot
288a1ad1c2 Update dependency com.github.skydoves:colorpickerview to v2.3.0 2023-10-02 12:31:29 +00:00
birdbird
823465d6fd Merge branch 'enhancement/star-outline' into 'develop'
Created outline for rating star images

Closes #885

See merge request ultrasonic/ultrasonic!1120
2023-10-01 16:56:39 +00:00
tzugen
0786b634e5
Merge remote-tracking branch 'origin/enhancement/star-outline' into 4.8.0 2023-10-01 18:49:19 +02:00
tzugen
7f4f944d79
Merge remote-tracking branch 'origin/develop' into 4.8.0 2023-09-30 14:12:59 +02:00
birdbird
264c84d540 Merge branch 'renovate/gradleplugin' into 'develop'
Update dependency com.android.tools.build:gradle to v8.1.2

See merge request ultrasonic/ultrasonic!1121
2023-09-30 08:47:21 +00:00
Renovate Bot
e48c823de0 Update dependency com.android.tools.build:gradle to v8.1.2 2023-09-30 08:31:34 +00:00
birdbird
79f503beb3 Merge branch 'renovate/koin' into 'develop'
Update koin to v3.5.0

See merge request ultrasonic/ultrasonic!1118
2023-09-30 08:07:10 +00:00
birdbird
34da90ad26 Merge branch 'renovate/ksp' into 'develop'
Update dependency com.google.devtools.ksp to v1.9.10-1.0.13

See merge request ultrasonic/ultrasonic!1113
2023-09-30 08:03:49 +00:00
birdbird
566f780621 Merge branch 'renovate/viewmodelktx' into 'develop'
Update dependency androidx.lifecycle:lifecycle-viewmodel-ktx to v2.6.2

See merge request ultrasonic/ultrasonic!1114
2023-09-30 08:03:33 +00:00
birdbird
c76bce5e94 Merge branch 'renovate/rxjava' into 'develop'
Update dependency io.reactivex.rxjava3:rxjava to v3.1.8

See merge request ultrasonic/ultrasonic!1122
2023-09-30 08:03:09 +00:00
birdbird
27f0ee3a03 Merge branch 'renovate/ktlintgradle' into 'develop'
Update dependency org.jlleitschuh.gradle:ktlint-gradle to v11.6.0

See merge request ultrasonic/ultrasonic!1119
2023-09-30 08:03:01 +00:00
birdbird
a1c21da7a6 Merge branch 'renovate/androidxcore' into 'develop'
Update dependency androidx.core:core-ktx to v1.12.0

See merge request ultrasonic/ultrasonic!1117
2023-09-30 08:02:58 +00:00
birdbird
401ea0fcf1 Merge branch 'renovate/androidsupport' into 'develop'
Update dependency androidx.annotation:annotation to v1.7.0

See merge request ultrasonic/ultrasonic!1116
2023-09-30 08:02:55 +00:00
birdbird
c062345f5e Merge branch 'renovate/navigation' into 'develop'
Update navigation to v2.7.3

See merge request ultrasonic/ultrasonic!1115
2023-09-30 08:02:47 +00:00
birdbird
516cc94772 Merge branch 'mergeBack' into 'develop'
Merge master to dev

See merge request ultrasonic/ultrasonic!1123
2023-09-30 08:01:57 +00:00
birdbird
104df418cc Merge master to dev 2023-09-30 08:01:56 +00:00
Renovate Bot
5755363f2e Update dependency io.reactivex.rxjava3:rxjava to v3.1.8 2023-09-29 09:31:24 +00:00
Nite
5167f9e45e
Created outline for rating star images 2023-09-25 17:38:22 +02:00
Renovate Bot
7a24be4b98 Update navigation to v2.7.3 2023-09-20 17:31:48 +00:00
Renovate Bot
f9bafa93da Update dependency org.jlleitschuh.gradle:ktlint-gradle to v11.6.0 2023-09-18 20:31:51 +00:00
Renovate Bot
8c7e8a8ae0 Update koin to v3.5.0 2023-09-13 08:31:46 +00:00
Renovate Bot
76f16cc9f1 Update dependency androidx.core:core-ktx to v1.12.0 2023-09-06 18:31:57 +00:00
Renovate Bot
907c94096b Update dependency androidx.annotation:annotation to v1.7.0 2023-09-06 18:31:55 +00:00
Renovate Bot
f6ad5be3e0 Update dependency androidx.lifecycle:lifecycle-viewmodel-ktx to v2.6.2 2023-09-06 17:31:37 +00:00
Renovate Bot
db0f3b21e1 Update dependency com.google.devtools.ksp to v1.9.10-1.0.13 2023-08-24 09:31:42 +00:00
birdbird
709dff1a81 Merge branch 'back' into 'develop'
Sync master and develop

See merge request ultrasonic/ultrasonic!1112
2023-08-24 06:32:44 +00:00
birdbird
d2ed058d31 Sync master and develop 2023-08-24 06:32:43 +00:00
birdbird
7ad16ad92c Merge branch 'renovate/navigation' into 'develop'
Update navigation to v2.7.1

See merge request ultrasonic/ultrasonic!1110
2023-08-24 06:27:42 +00:00
Renovate Bot
8ab3b2634d Update navigation to v2.7.1 2023-08-23 17:08:15 +00:00
birdbird
3349da6809 Merge branch 'renovate/rxjava' into 'develop'
Update dependency io.reactivex.rxjava3:rxjava to v3.1.7

See merge request ultrasonic/ultrasonic!1109
2023-08-23 15:03:37 +00:00
Renovate Bot
e581776e43 Update dependency io.reactivex.rxjava3:rxjava to v3.1.7 2023-08-23 12:31:51 +00:00
birdbird
f292dc667e Merge branch 'renovate/kotlin-monorepo' into 'develop'
Update kotlin monorepo to v1.9.10

See merge request ultrasonic/ultrasonic!1108
2023-08-23 11:02:43 +00:00
birdbird
7b8d1dec9b Merge branch '471' into 'master'
Release canditate 4.7.1

See merge request ultrasonic/ultrasonic!1107
2023-08-23 11:00:30 +00:00
Renovate Bot
2d943edd61 Update kotlin monorepo to v1.9.10 2023-08-23 10:31:43 +00:00
birdbird
86464ba137 Merge branch 'renovate/mockito-monorepo' into 'develop'
Update dependency org.mockito:mockito-core to v5.5.0

See merge request ultrasonic/ultrasonic!1104
2023-08-23 09:47:51 +00:00
tzugen
f2b47a257d
Release 4.7.1 2023-08-23 11:47:21 +02:00
birdbird
09e87ce8a0
Disable a lint 2023-08-23 11:47:21 +02:00
birdbird
490461f840 Merge branch 'renovate/ksp' into 'develop'
Update dependency com.google.devtools.ksp to v1.9.0-1.0.13

See merge request ultrasonic/ultrasonic!1093
2023-08-23 09:45:59 +00:00
Renovate Bot
fb123d926d Update dependency com.google.devtools.ksp to v1.9.0-1.0.13 2023-08-23 09:45:59 +00:00
Alex Katlein
d2a98a3022
Utilize CarConnection to determine whether to set repeat mode to ALL 2023-08-23 10:57:26 +02:00
Renovate Bot
896c946a5a Update dependency org.mockito:mockito-core to v5.5.0 2023-08-22 13:31:52 +00:00
birdbird
560b593fcb Merge branch 'renovate/mockitokotlin' into 'develop'
Update dependency org.mockito.kotlin:mockito-kotlin to v5.1.0

See merge request ultrasonic/ultrasonic!1099
2023-08-22 12:46:00 +00:00
birdbird
fe9bce334a Merge branch 'renovate/gradle-8.x' into 'develop'
Update dependency gradle to v8.3

See merge request ultrasonic/ultrasonic!1101
2023-08-22 12:45:47 +00:00
birdbird
6af4d31aa3 Merge branch 'renovate/gradleplugin' into 'develop'
Update dependency com.android.tools.build:gradle to v8.1.1

See merge request ultrasonic/ultrasonic!1102
2023-08-22 12:45:20 +00:00
birdbird
0ec2bb4fce Merge branch 'renovate/media3' into 'develop'
Update media3 to v1.1.1

See merge request ultrasonic/ultrasonic!1100
2023-08-22 12:45:03 +00:00
birdbird
7f1dc14a4f Merge branch 'renovate/ktlintgradle' into 'develop'
Update dependency org.jlleitschuh.gradle:ktlint-gradle to v11.5.1

See merge request ultrasonic/ultrasonic!1096
2023-08-22 12:44:45 +00:00
birdbird
8b2843410f Merge branch 'disableALint' into 'develop'
Disable a lint

See merge request ultrasonic/ultrasonic!1105
2023-08-22 10:08:53 +00:00
birdbird
deef540ddc Disable a lint 2023-08-22 10:08:53 +00:00
Renovate Bot
cd101aef2a Update dependency com.android.tools.build:gradle to v8.1.1 2023-08-22 09:31:49 +00:00
birdbird
72bf0085b4 Merge branch 'fix/1263-no-repeat-all-outside-Auto' into 'develop'
Utilize CarConnection to determine whether to set repeat mode to ALL

Closes #1263

See merge request ultrasonic/ultrasonic!1098
2023-08-22 08:49:04 +00:00
birdbird
bfb7c85eac Merge branch 'master' into 'develop'
Merge back from release

See merge request ultrasonic/ultrasonic!1103
2023-08-22 08:14:06 +00:00
birdbird
0a3717f448 Merge back from release 2023-08-22 08:14:06 +00:00
Renovate Bot
fa3ca57a4e Update dependency gradle to v8.3 2023-08-17 07:32:56 +00:00
Renovate Bot
002a3250e4 Update media3 to v1.1.1 2023-08-16 12:32:00 +00:00
Renovate Bot
ab10d39f75 Update dependency org.mockito.kotlin:mockito-kotlin to v5.1.0 2023-08-09 20:31:51 +00:00
Alex Katlein
82f6758649
Utilize CarConnection to determine whether to set repeat mode to ALL 2023-08-09 21:17:41 +02:00
Renovate Bot
979fb116e8 Update dependency org.jlleitschuh.gradle:ktlint-gradle to v11.5.1 2023-08-07 19:31:40 +00:00
birdbird
ae97ded344 Merge branch 'kotlin' into 'develop'
Migrate more files to Kotlin

See merge request ultrasonic/ultrasonic!1094
2023-08-05 15:10:25 +00:00
birdbird
71d45c89fb Migrate more files to Kotlin 2023-08-05 15:10:25 +00:00
birdbird
76a5705b2b Merge branch 'weblate-ultrasonic-app' into 'develop'
Translations update from Hosted Weblate

See merge request ultrasonic/ultrasonic!1095
2023-08-05 14:34:06 +00:00
birdbird
6b000bc90f
Translated using Weblate (German)
Currently translated at 99.3% (426 of 429 strings)

Translation: Ultrasonic/app
Translate-URL: https://hosted.weblate.org/projects/ultrasonic/app/de/
2023-08-04 14:03:57 +02:00
birdbird
b87203bfe4 Merge branch '470' into 'master'
4.7.0 Release canditate

See merge request ultrasonic/ultrasonic!1091
2023-08-03 16:31:12 +00:00
tzugen
818cb96eb5
Release 4.7.0 2023-08-03 18:25:02 +02:00
tzugen
e9fdbd924b
Don't skip around when doing "Play Next" while music is playing 2023-08-03 14:28:22 +02:00
Alex Katlein
a0b9e738a5
Using android.R.color.transparent instead of empty drawable for the placeholder
- For some reason Android Auto displays a square with a white fill color where the empty space should be
- Got rid of empty drawable
2023-08-02 19:43:55 +02:00
birdbird
0dcdd94149 Merge branch 'weblate-ultrasonic-app' into 'develop'
Translations update from Hosted Weblate

See merge request ultrasonic/ultrasonic!1092
2023-08-02 08:29:01 +00:00
gallegonovato
410e4d9d96
Translated using Weblate (Spanish)
Currently translated at 100.0% (429 of 429 strings)

Translation: Ultrasonic/app
Translate-URL: https://hosted.weblate.org/projects/ultrasonic/app/es/
2023-08-01 19:07:35 +02:00
birdbird
68567731ad Merge branch 'renovate/gradleplugin' into 'develop'
Update dependency com.android.tools.build:gradle to v8.1.0

See merge request ultrasonic/ultrasonic!1083
2023-07-31 14:37:48 +00:00
birdbird
75ecfce1df Merge branch 'toast' into 'develop'
Add a toast when adding tracks to the playlist, allow pinning when offline

See merge request ultrasonic/ultrasonic!1089
2023-07-31 14:37:33 +00:00
tzugen
ddf8ce7029
Migrate from KAPT to KSP 2023-07-31 14:47:35 +02:00
Renovate Bot
f99fb1c92a
Update dependency com.android.tools.build:gradle to v8.1.0 2023-07-31 14:46:58 +02:00
tzugen
7fcb58963c
Show Pin button also when offline 2023-07-31 12:47:49 +02:00
tzugen
f89b2da30d
More more functions to InsertionMode pattern,
show a Toast when adding tracks to the playlist.
2023-07-31 12:40:37 +02:00
tzugen
691bfbe594
Merge remote-tracking branch 'origin/master' into mergeBack 2023-07-31 11:32:10 +02:00
birdbird
7061b7a324 Merge branch 'renovate/kotlinxcoroutines' into 'develop'
Update kotlinxCoroutines to v1.7.3

See merge request ultrasonic/ultrasonic!1082
2023-07-31 09:14:45 +00:00
birdbird
6bc520d551 Merge branch 'renovate/preferences' into 'develop'
Update dependency androidx.preference:preference to v1.2.1

See merge request ultrasonic/ultrasonic!1084
2023-07-31 09:14:34 +00:00
birdbird
ff20c671a2 Merge branch 'renovate/koin' into 'develop'
Update koin to v3.4.3

See merge request ultrasonic/ultrasonic!1086
2023-07-31 09:14:23 +00:00
birdbird
37935a5f86 Merge branch '463' into 'master'
Release candidate 4.6.3

See merge request ultrasonic/ultrasonic!1081
2023-07-30 14:02:12 +00:00
Renovate Bot
1f6df202b9 Update koin to v3.4.3 2023-07-28 08:31:49 +00:00
Renovate Bot
06496ddf37 Update dependency androidx.preference:preference to v1.2.1 2023-07-26 17:31:46 +00:00
Renovate Bot
509e33ac20 Update kotlinxCoroutines to v1.7.3 2023-07-25 16:31:46 +00:00
tzugen
6bc09854ac
Fix wrong thread in throttled observers 2023-07-25 12:11:26 +02:00
tzugen
fc637166bb
Fix inject 2023-07-24 23:20:44 +02:00
birdbird
6eb7c9d25c Merge branch 'modernize' into 'develop'
Modernize code after media3 1.1.0 update

See merge request ultrasonic/ultrasonic!1077
2023-07-24 21:08:01 +00:00
birdbird
0492b0fa6f Modernize code after media3 1.1.0 update 2023-07-24 21:08:01 +00:00
birdbird
acbaae9f14 Merge branch 'feature/android-auto-shuffle-repeat' into 'develop'
Added custom buttons for shuffling the current queue and setting repeat mode

Closes #883

See merge request ultrasonic/ultrasonic!1075
2023-07-24 19:20:21 +00:00
Alex Katlein
77c1329be5 Added custom buttons for shuffling the current queue and setting repeat mode 2023-07-24 19:20:21 +00:00
birdbird
aefdadbbd5 Merge branch 'renovate/gradle-8.x' into 'develop'
Update dependency gradle to v8.2.1

See merge request ultrasonic/ultrasonic!1076
2023-07-24 19:20:05 +00:00
birdbird
29a1527d24 Merge branch 'renovate/junit5-monorepo' into 'develop'
Update dependency org.junit.vintage:junit-vintage-engine to v5.10.0

See merge request ultrasonic/ultrasonic!1079
2023-07-24 19:19:51 +00:00
tzugen
18fd8f64c6
Release 4.6.3
Features:
- Search is accessible through a new icon on the main screen
- Modernize Back Handling
- Reenable R8 Code minification
- Add a "Play Random Songs" shortcut

Bug fixes:
- Fix a few crashes
- Avoid triggering a bug in Supysonic
- Readd the "Star" button to the Now Playing screen
- Fix a rare crash when shuffling playlists with duplicate entries
- Fix a crash when choosing "Play next" on an empty playlist.
- Tracks buttons flash a scrollbar sometimes in Android 13
- Fix EndlessScrolling in genre listing
- Couldn't delete a track when shuffle was active
2023-07-24 21:16:26 +02:00
birdbird
4f55a2a4a5
Fix an exception when removeIncompleteTracksFromPlaylist() could be called on the wrong thread. 2023-07-24 21:09:39 +02:00
birdbird
1fa5f4c2f8
Fix unpin 2023-07-24 21:07:19 +02:00
birdbird
2a9bf9dd29 Merge branch 'fixException' into 'develop'
Fix an exception when removeIncompleteTracksFromPlaylist() could be called on the wrong thread.

See merge request ultrasonic/ultrasonic!1078
2023-07-24 18:57:29 +00:00
birdbird
a04517de90 Fix an exception when removeIncompleteTracksFromPlaylist() could be called on the wrong thread. 2023-07-24 18:57:29 +00:00
birdbird
21e4293adb Merge branch 'root' into 'develop'
Avoid rare NPE

See merge request ultrasonic/ultrasonic!1073

(cherry picked from commit 7209779b64820572910059fdd24342bb73734b54)

ecee57e1 Avoid rare NPE
2023-07-24 18:55:27 +00:00
birdbird
358af365d2 Merge branch 'fixUnpin' into 'develop'
Fix unpin

Closes #1259

See merge request ultrasonic/ultrasonic!1074
2023-07-24 18:38:09 +00:00
birdbird
62ba16eedd Fix unpin 2023-07-24 18:38:08 +00:00
Renovate Bot
e7825fc90c Update dependency org.junit.vintage:junit-vintage-engine to v5.10.0 2023-07-23 13:31:45 +00:00
Renovate Bot
1fba65ed3a Update dependency gradle to v8.2.1 2023-07-10 12:32:41 +00:00
birdbird
7209779b64 Merge branch 'root' into 'develop'
Avoid rare NPE

See merge request ultrasonic/ultrasonic!1073
2023-07-06 20:49:29 +00:00
tzugen
ecee57e166
Avoid rare NPE 2023-07-06 18:05:16 +02:00
birdbird
288f72b972 Merge branch 'renovate/koin' into 'develop'
Update koin to v3.4.2

See merge request ultrasonic/ultrasonic!923
2023-07-06 15:46:47 +00:00
Renovate Bot
6be96ee8c9 [ROBOTEST] Update koin to v3.4.2 2023-07-06 15:46:47 +00:00
birdbird
65dd30eaa8 Merge branch 'supy' into 'develop'
Fix a bug introduced in 725d9281

See merge request ultrasonic/ultrasonic!1072
2023-07-06 15:42:15 +00:00
tzugen
698360b77a
Release 4.6.2
Features:
- Search is accessible through a new icon on the main screen
- Modernize Back Handling
- Reenable R8 Code minification
- Add a "Play Random Songs" shortcut

Bug fixes:
- Avoid triggering a bug in Supysonic
- Readd the "Star" button to the Now Playing screen
- Fix a rare crash when shuffling playlists with duplicate entries
- Fix a crash when choosing "Play next" on an empty playlist.
- Tracks buttons flash a scrollbar sometimes in Android 13
- Fix EndlessScrolling in genre listing
- Couldn't delete a track when shuffle was active
2023-07-06 17:36:37 +02:00
tzugen
b57b799feb
Fix a bug introduced in 725d9281 2023-07-06 17:33:48 +02:00
tzugen
2436537609
Fix a bug introduced in 725d9281 2023-07-06 17:26:33 +02:00
birdbird
96ac6fcac7 Merge branch 'fix/android-auto-nested-directories' into 'develop'
Properly handling nested directory structures in Android Auto

Closes #1256

See merge request ultrasonic/ultrasonic!1067
2023-07-06 15:11:02 +00:00
Alex Katlein
9fa80d206b Properly handling nested directory structures in Android Auto 2023-07-06 15:11:02 +00:00
birdbird
8990b4d622 Merge branch 'renovate/media3' into 'develop'
Update media3 to v1.1.0

See merge request ultrasonic/ultrasonic!1070
2023-07-06 15:06:49 +00:00
Renovate Bot
211af57e8b Update media3 to v1.1.0 2023-07-06 15:06:49 +00:00
birdbird
9fd2a91f15 Merge branch 'renovate/kotlinxcoroutines' into 'develop'
Update kotlinxCoroutines to v1.7.2

See merge request ultrasonic/ultrasonic!1066
2023-07-06 14:32:40 +00:00
birdbird
c85e2ef3f4 Merge branch 'renovate/gradle-8.x' into 'develop'
Update dependency gradle to v8.2

See merge request ultrasonic/ultrasonic!1068
2023-07-06 14:32:33 +00:00
birdbird
8ab840023a Merge branch 'renovate/ktlintgradle' into 'develop'
Update dependency org.jlleitschuh.gradle:ktlint-gradle to v11.5.0

See merge request ultrasonic/ultrasonic!1069
2023-07-06 14:32:28 +00:00
Renovate Bot
db278afe4a Update dependency org.jlleitschuh.gradle:ktlint-gradle to v11.5.0 2023-07-03 22:32:22 +00:00
Renovate Bot
d08711eb0c Update dependency gradle to v8.2 2023-06-30 18:33:00 +00:00
Renovate Bot
500ffa8009 Update kotlinxCoroutines to v1.7.2 2023-06-29 13:31:51 +00:00
birdbird
7124939467 [ROBOTEST] Update .gitlab-ci.yml file 2023-06-29 13:09:51 +00:00
tzugen
4a21db2f73
Release 4.6.1
Features:
- Search is accessible through a new icon on the main screen
- Modernize Back Handling
- Reenable R8 Code minification
- Add a "Play Random Songs" shortcut

Bug fixes:
- Readd the "Star" button to the Now Playing screen
- Fix a rare crash when shuffling playlists with duplicate entries
- Fix a crash when choosing "Play next" on an empty playlist.
- Tracks buttons flash a scrollbar sometimes in Android 13
- Fix EndlessScrolling in genre listing
- Couldn't delete a track when shuffle was active
- Upgrade material to 1.9.0
2023-06-28 20:05:37 +02:00
birdbird
fe555c076d Merge branch '461' into 'master'
4.6.1 Release canditate

See merge request ultrasonic/ultrasonic!1065
2023-06-27 10:21:53 +00:00
tzugen
b40b0048da
4.6.1 Release canditate 2023-06-27 12:11:53 +02:00
birdbird
e08acc27a7 Merge branch 'weblate-ultrasonic-app' into 'develop'
Translations update from Hosted Weblate

See merge request ultrasonic/ultrasonic!1063
2023-06-27 09:12:47 +00:00
Óscar García Amor
c032d32e02
Translated using Weblate (Galician)
Currently translated at 13.3% (57 of 428 strings)

Translation: Ultrasonic/app
Translate-URL: https://hosted.weblate.org/projects/ultrasonic/app/gl/
2023-06-27 10:23:03 +02:00
Óscar García Amor
f202febb4d
Translated using Weblate (Spanish)
Currently translated at 100.0% (428 of 428 strings)

Translation: Ultrasonic/app
Translate-URL: https://hosted.weblate.org/projects/ultrasonic/app/es/
2023-06-27 10:23:03 +02:00
Óscar García Amor
69b83fe538
Translated using Weblate (Spanish)
Currently translated at 100.0% (428 of 428 strings)

Translation: Ultrasonic/app
Translate-URL: https://hosted.weblate.org/projects/ultrasonic/app/es/
2023-06-27 10:23:03 +02:00
birdbird
c42439ef69 Merge branch 'shuffleCrash2' into 'develop'
Prevent a media3 crash

See merge request ultrasonic/ultrasonic!1064
2023-06-27 08:22:57 +00:00
birdbird
d420f70225 Prevent a media3 crash 2023-06-27 08:22:57 +00:00
birdbird
843cf8eb28 Merge branch 'stableIds' into 'develop'
Don't assume Stable ids for playlist

See merge request ultrasonic/ultrasonic!1062
2023-06-26 17:10:06 +00:00
birdbird
9b9e552b95 Don't assume Stable ids for playlist 2023-06-26 17:10:05 +00:00
birdbird
c3c241466c Merge branch 'hideSearch' into 'develop'
Hide search in now playing screen

Closes #1254 and #1255

See merge request ultrasonic/ultrasonic!1061
2023-06-26 16:33:11 +00:00
birdbird
e8c56b1a06 Hide search in now playing screen 2023-06-26 16:33:11 +00:00
birdbird
aa3f44cdb0 Merge branch 'mas' into 'develop'
Sync master to develop

See merge request ultrasonic/ultrasonic!1060
2023-06-23 10:44:34 +00:00
tzugen
f28fb5dbf3
Merge remote-tracking branch 'origin/master' into mas 2023-06-23 12:43:07 +02:00
birdbird
45f4ad5ab0 Merge branch 'renovate/room' into 'develop'
Update room to v2.5.2

See merge request ultrasonic/ultrasonic!1058
2023-06-23 09:55:33 +00:00
birdbird
8d241c17c8 Merge branch 'renovate/apachecodecs' into 'develop'
Update dependency commons-codec:commons-codec to v1.16.0

See merge request ultrasonic/ultrasonic!1057
2023-06-23 09:54:40 +00:00
birdbird
cc17b28be7 Merge branch 'renovate/ktlintgradle' into 'develop'
Update dependency org.jlleitschuh.gradle:ktlint-gradle to v11.4.2

See merge request ultrasonic/ultrasonic!1056
2023-06-23 09:54:20 +00:00
birdbird
e391746625 Add some more devices for robotest 2023-06-23 09:52:13 +00:00
Renovate Bot
ae306e6eb3 Update dependency org.jlleitschuh.gradle:ktlint-gradle to v11.4.2 2023-06-22 20:31:51 +00:00
Renovate Bot
11a30a15d9 Update room to v2.5.2 2023-06-21 21:31:42 +00:00
Renovate Bot
dc4e85b21d Update dependency commons-codec:commons-codec to v1.16.0 2023-06-21 18:31:46 +00:00
birdbird
3da9097c6b [ROBO] Correct apk path 2023-06-20 10:13:36 +00:00
birdbird
24fb2e4f43 [ROBO] Use higher privileged key, specify project 2023-06-20 09:29:00 +00:00
birdbird
8469a099b0 [ROBO] test 2023-06-20 08:44:38 +00:00
birdbird
ea2048babf Enable [ROBO] annotation to manually trigger a robo test 2023-06-20 08:43:44 +00:00
birdbird
f3152c5e4d allow failure for now for the robotest 2023-06-20 06:48:06 +00:00
birdbird
8b7fd123b7 Merge branch 'renovate/mockito-monorepo' into 'develop'
Update dependency org.mockito:mockito-core to v5.4.0

See merge request ultrasonic/ultrasonic!1053
2023-06-18 15:10:05 +00:00
birdbird
c5fb4e25a3 Merge branch 'develop' into 'master'
Fixup 4.6.0

See merge request ultrasonic/ultrasonic!1055
2023-06-18 14:04:26 +00:00
birdbird
162ae4dfac Fixup 4.6.0 2023-06-18 14:04:26 +00:00
birdbird
df3dc4221f Don't run sign step when merging dev into master 2023-06-18 13:55:16 +00:00
birdbird
ecfa17762c Update .gitlab-ci.yml file 2023-06-18 13:45:20 +00:00
birdbird
1df8b0bb41 Merge branch 'cleartext' into 'develop'
Reallow cleartext communication

See merge request ultrasonic/ultrasonic!1054
2023-06-18 13:42:57 +00:00
birdbird
fbec7610f3 [SkipCI] Rename step 2023-06-18 13:00:37 +00:00
birdbird
e6441f1344 CI: Try to merge two steps to remove code duplication 2023-06-18 12:58:17 +00:00
birdbird
9a2a959972 Add RoboTest when releasing 2023-06-18 12:44:27 +00:00
tzugen
f931c906c0
Reallow cleartext communication 2023-06-18 14:11:57 +02:00
Renovate Bot
ed1191937b Update dependency org.mockito:mockito-core to v5.4.0 2023-06-18 10:31:42 +00:00
birdbird
1d17274e00 Merge branch 'develop' into 'master'
Release 4.6.0

See merge request ultrasonic/ultrasonic!1052
2023-06-16 18:02:50 +00:00
birdbird
e86bdca3eb Release 4.6.0 2023-06-16 16:17:09 +00:00
birdbird
ffdc43b6bf Correct release note 4.6.0 2023-06-16 16:16:14 +00:00
birdbird
5c173f39f1 Merge branch 'master' into 'develop'
Master

See merge request ultrasonic/ultrasonic!1051
2023-06-16 16:15:14 +00:00
birdbird
7e8467f852 Add release note for 4.6.0 2023-06-16 16:13:00 +00:00
birdbird
ae7a200144 Merge branch 'fixAppend' into 'develop'
Fix EndlessScrolling in genre listings

Closes #1223

See merge request ultrasonic/ultrasonic!1050
2023-06-14 14:26:14 +00:00
birdbird
623564c28d Fix EndlessScrolling in genre listings 2023-06-14 14:26:14 +00:00
birdbird
971ed705fa Merge branch 'search' into 'develop'
Move search button in to main Topbar menu

Closes #1247

See merge request ultrasonic/ultrasonic!1048
2023-06-14 12:07:13 +00:00
birdbird
725d9281bf Move search button in to main Topbar menu 2023-06-14 12:07:13 +00:00
birdbird
8b9dc294c1 Merge branch 'enable-user-cert-authorities' into 'develop'
Enable User-installed certificate authorities

Closes #1249

See merge request ultrasonic/ultrasonic!1049
2023-06-14 11:56:29 +00:00
Enrico
429c7d2473 Enable User-installed certificate authorities 2023-06-14 11:56:29 +00:00
birdbird
ab50be3784 Merge branch 'highlightColor2' into 'develop'
Make track view transparent by default

See merge request ultrasonic/ultrasonic!1046
2023-06-09 11:36:57 +00:00
birdbird
83fae89763 Make track view transparent by default 2023-06-09 11:36:56 +00:00
birdbird
1f68a59af9 Merge branch 'highlightColor' into 'develop'
Fix highlight color

See merge request ultrasonic/ultrasonic!1045
2023-06-09 09:05:16 +00:00
birdbird
e1be29a6a8 Merge branch 'weblate-ultrasonic-app' into 'develop'
Translations update from Hosted Weblate

See merge request ultrasonic/ultrasonic!1043
2023-06-09 08:12:54 +00:00
gallegonovato
ab16c45e54
Translated using Weblate (Spanish)
Currently translated at 100.0% (428 of 428 strings)

Translation: Ultrasonic/app
Translate-URL: https://hosted.weblate.org/projects/ultrasonic/app/es/
2023-06-09 09:57:52 +02:00
birdbird
024b2e8edb Merge branch 'shuffle' into 'develop'
Small fixes for shuffle

Closes #1244 and #1248

See merge request ultrasonic/ultrasonic!1044
2023-06-09 07:57:40 +00:00
birdbird
c04f90a6ac Small fixes for shuffle 2023-06-09 07:57:34 +00:00
tzugen
240e7fd8fb
Fix highlight color 2023-06-09 09:56:42 +02:00
birdbird
3de3844e75 Merge branch 'renovate/kotlin-monorepo' into 'develop'
Update kotlin monorepo to v1.8.22

See merge request ultrasonic/ultrasonic!1042
2023-06-07 21:24:51 +00:00
Renovate Bot
01c8092cac Update kotlin monorepo to v1.8.22 2023-06-07 19:31:38 +00:00
birdbird
a9494626bb Merge branch 'ImprovePlaylistView' into 'develop'
Improve current playing song visibility

See merge request ultrasonic/ultrasonic!1037
2023-06-06 19:20:11 +00:00
tzugen
ec852b0e74
Use elevation 2023-06-06 21:12:44 +02:00
birdbird
1fe13e84ce Merge branch 'renovate/ktlintgradle' into 'develop'
Update dependency org.jlleitschuh.gradle:ktlint-gradle to v11.4.0

See merge request ultrasonic/ultrasonic!1040
2023-06-06 15:30:48 +00:00
Renovate Bot
d8cb11808c Update dependency org.jlleitschuh.gradle:ktlint-gradle to v11.4.0 2023-06-06 14:31:51 +00:00
birdbird
35334c93cc Merge branch 'weblate-ultrasonic-app' into 'develop'
Translations update from Hosted Weblate

See merge request ultrasonic/ultrasonic!1039
2023-06-06 09:42:20 +00:00
aorinngoDo
a98f50412f
Translated using Weblate (Japanese)
Currently translated at 100.0% (426 of 426 strings)

Translation: Ultrasonic/app
Translate-URL: https://hosted.weblate.org/projects/ultrasonic/app/ja/
2023-06-06 11:24:22 +02:00
Batman
b0e8ddfa66
Translated using Weblate (Polish)
Currently translated at 100.0% (426 of 426 strings)

Translation: Ultrasonic/app
Translate-URL: https://hosted.weblate.org/projects/ultrasonic/app/pl/
2023-06-06 11:24:22 +02:00
Maxence G
c18f07362f
Translated using Weblate (French)
Currently translated at 97.6% (416 of 426 strings)

Translation: Ultrasonic/app
Translate-URL: https://hosted.weblate.org/projects/ultrasonic/app/fr/
2023-06-06 11:24:22 +02:00
birdbird
26e9fcd40f Merge branch 'AddShortcutCapability' into 'develop'
Start implementing "Play Random Songs" as a shortcut

See merge request ultrasonic/ultrasonic!950
2023-06-06 09:24:15 +00:00
Maxmystere
b2498367b1 Start implementing "Play Random Songs" as a shortcut 2023-06-06 09:24:15 +00:00
birdbird
f68eee5233 Merge branch 'material190' into 'develop'
Upgrade material to 1.9.0

See merge request ultrasonic/ultrasonic!1009
2023-06-06 09:21:12 +00:00
tzugen
fd22c0f8b5
Add little dropdown icon to server selector header to show interactivity. 2023-06-06 10:52:00 +02:00
tzugen
bfe24e5dfd
Modernize backhandling to support predictive back handling 2023-06-06 10:51:33 +02:00
Maxence G
63296829a8
Lint 2023-06-04 23:00:09 +02:00
Maxence G
dc9b261c48
Improve current playing song visibility
Disable scroll animation because not visible and causing bugs on first interaction
2023-06-04 22:51:44 +02:00
tzugen
bfec814b43
Upgrade material to 1.9.0 2023-06-04 13:21:22 +02:00
birdbird
03d06896e9 Update Default.md 2023-06-04 07:08:22 +00:00
birdbird
5a4989186e Merge branch 'fixButtons' into 'develop'
Hide tiny scrollbars on buttons on Android 13

See merge request ultrasonic/ultrasonic!1036
2023-06-03 09:55:17 +00:00
birdbird
eb380b9af9 Merge branch 'r8' into 'develop'
Reenable R8

See merge request ultrasonic/ultrasonic!1026
2023-06-03 09:52:15 +00:00
birdbird
01124c8ecf Update Release.md 2023-06-03 09:37:00 +00:00
tzugen
365067f1a0
Merge branch '450' into 4502 2023-06-03 11:31:38 +02:00
birdbird
6a97636c7a [SkipCI] Template 2023-06-03 09:21:51 +00:00
tzugen
eb3aa0d202
Release 4.5.0 2023-06-03 11:11:53 +02:00
birdbird
53ea17d2b9 [SkipCI] Move template 2023-06-03 09:02:34 +00:00
birdbird
a1e339f850 [skipCI] Update Release.md 2023-06-03 08:59:40 +00:00
birdbird
4809317c63 Add release template -SkipCI 2023-06-03 08:58:47 +00:00
birdbird
c5c0497716 Merge branch 'renovate/major-mockitokotlin' into 'develop'
Update dependency org.mockito.kotlin:mockito-kotlin to v5

See merge request ultrasonic/ultrasonic!1034
2023-06-02 06:38:28 +00:00
Renovate Bot
79ac73020b Update dependency org.mockito.kotlin:mockito-kotlin to v5 2023-06-01 21:31:52 +00:00
birdbird
d9dfef4016 Merge branch 'playAll' into 'develop'
Fix playing all tracks when the selection has no id

See merge request ultrasonic/ultrasonic!1033
2023-06-01 21:29:26 +00:00
tzugen
3bd3607220
Remove unused fragment param 2023-06-01 23:21:43 +02:00
tzugen
e35a33edde
Use App context when toasting from background tasks,
use App context to resolve error messages
2023-06-01 23:16:17 +02:00
tzugen
c1013f6b80
Fix play all in Track collection random view 2023-06-01 23:16:17 +02:00
birdbird
21a27c691d Merge branch 'renovate/detekt' into 'develop'
Update dependency io.gitlab.arturbosch.detekt:detekt-gradle-plugin to v1.23.0

See merge request ultrasonic/ultrasonic!1029
2023-06-01 08:48:58 +00:00
Renovate Bot
25f3ff0bd3 Update dependency io.gitlab.arturbosch.detekt:detekt-gradle-plugin to v1.23.0 2023-06-01 08:48:58 +00:00
birdbird
4feb84bd83 Merge branch 'gradle' into 'develop'
Apply assistant changes to gradle file

See merge request ultrasonic/ultrasonic!1032
2023-06-01 08:39:14 +00:00
tzugen
4c049671db
Apply assistant changes to gradle file 2023-06-01 10:31:36 +02:00
birdbird
3a1251dd2a Merge branch 'renovate/gradleplugin' into 'develop'
Update dependency com.android.tools.build:gradle to v8.0.2

See merge request ultrasonic/ultrasonic!1030
2023-06-01 08:01:00 +00:00
birdbird
8dd7758bc6 Merge branch 'weblate-ultrasonic-app' into 'develop'
Translations update from Hosted Weblate

See merge request ultrasonic/ultrasonic!1027
2023-06-01 07:59:17 +00:00
gallegonovato
296308cebf
Translated using Weblate (Spanish)
Currently translated at 100.0% (426 of 426 strings)

Translation: Ultrasonic/app
Translate-URL: https://hosted.weblate.org/projects/ultrasonic/app/es/
2023-05-29 10:11:15 +02:00
Newson Parker
45ca0966fd
Translated using Weblate (Chinese (Traditional))
Currently translated at 69.0% (294 of 426 strings)

Translation: Ultrasonic/app
Translate-URL: https://hosted.weblate.org/projects/ultrasonic/app/zh_Hant/
2023-05-29 10:11:15 +02:00
Newson Parker
77d3f8c11b
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (426 of 426 strings)

Translation: Ultrasonic/app
Translate-URL: https://hosted.weblate.org/projects/ultrasonic/app/zh_Hans/
2023-05-29 10:11:15 +02:00
birdbird
7a453dbd30 Correct transition reason 2023-05-29 08:11:09 +00:00
Renovate Bot
0a6a12c70a Update dependency com.android.tools.build:gradle to v8.0.2 2023-05-24 19:31:38 +00:00
Óscar García Amor
448fdb70b0 Merge branch 'newid' into 'develop'
Changes applicationId for GitLab builds

See merge request ultrasonic/ultrasonic!1028
2023-05-23 11:02:19 +00:00
Óscar García Amor
5e4ec56ae7
Changes applicationId for GitLab builds 2023-05-23 12:54:54 +02:00
birdbird
8c42700676 Merge branch 'thread' into 'develop'
Ensure correct thread when accepting a rating

See merge request ultrasonic/ultrasonic!1025
2023-05-21 13:08:19 +00:00
tzugen
22fda501f4
Ensure correct thread when accepting a rating 2023-05-21 15:00:41 +02:00
tzugen
556d3bb90d
Reenable R8 2023-05-21 15:00:04 +02:00
birdbird
0f18b20fa3 Merge branch 'cur' into 'develop'
Merge 4.4.1 to dev

See merge request ultrasonic/ultrasonic!1024
2023-05-21 12:18:11 +00:00
birdbird
a8961e8e96 Merge 4.4.1 to dev 2023-05-21 12:18:11 +00:00
birdbird
291528a309 Merge branch 'selectQuality' into 'develop'
Add setting to control the max bitrate when pinning

Closes #894

See merge request ultrasonic/ultrasonic!1022
2023-05-20 19:38:21 +00:00
birdbird
2a7cdbeded Merge branch 'fixStars' into 'develop'
Fix StarRating when setting a rating through AutoMediaController

See merge request ultrasonic/ultrasonic!1023
2023-05-20 19:37:27 +00:00
birdbird
c09739cea4 Fix StarRating when setting a rating through AutoMediaController 2023-05-20 19:37:27 +00:00
tzugen
315271390f
Add setting to control the max bitrate when pinning 2023-05-20 21:28:28 +02:00
birdbird
2df8d049d0 Merge branch 'Binder' into 'develop'
Refactor rating controls in Session

Closes #1235

See merge request ultrasonic/ultrasonic!1020
2023-05-20 14:32:27 +00:00
birdbird
0643b1bd1c Refactor rating controls in Session 2023-05-20 14:32:27 +00:00
birdbird
2b1291ae51 Merge branch 'userdata' into 'develop'
Add hasFragileUserData=true

See merge request ultrasonic/ultrasonic!1021
2023-05-20 13:38:13 +00:00
birdbird
5ec0d8a96b Add hasFragileUserData=true 2023-05-20 13:38:12 +00:00
birdbird
71168983b6 Merge branch 'cast' into 'develop'
Use the JukeboxPlayer as a Player instead of an Controller

See merge request ultrasonic/ultrasonic!1019
2023-05-19 21:37:31 +00:00
birdbird
bdcb1a505b Use the JukeboxPlayer as a Player instead of an Controller 2023-05-19 21:37:31 +00:00
birdbird
94f29d270c Merge branch '441' into 'master'
Release 4.4.1

See merge request ultrasonic/ultrasonic!1018
2023-05-18 20:28:13 +00:00
birdbird
98a61954a3 Release 4.4.1 2023-05-18 20:28:13 +00:00
birdbird
238d91c167 Merge branch 'renovate/media3' into 'develop'
Update media3 to v1.0.2

See merge request ultrasonic/ultrasonic!1013
2023-05-18 13:45:04 +00:00
birdbird
376748b298 Merge branch 'detekt' into 'develop'
Use default locations for Detekt config and baseline.

See merge request ultrasonic/ultrasonic!1017
2023-05-18 10:54:16 +00:00
birdbird
13091948ea Use default locations for Detekt config and baseline. 2023-05-18 10:54:16 +00:00
birdbird
0cfd8e8240 Merge branch 'prefs' into 'develop'
Modernize Activity launching to set custom cache location

See merge request ultrasonic/ultrasonic!1015
2023-05-18 10:32:17 +00:00
birdbird
7a17936855 Modernize Activity launching to set custom cache location 2023-05-18 10:32:17 +00:00
birdbird
1d7328c03e Merge branch 'kotlim' into 'develop'
Apply suggested Kotlin Gradle updates

See merge request ultrasonic/ultrasonic!1016
2023-05-18 10:29:10 +00:00
birdbird
76da209c6d Merge branch 'renovate/robolectric' into 'develop'
Update dependency org.robolectric:robolectric to v4.10.3

See merge request ultrasonic/ultrasonic!1014
2023-05-18 10:26:19 +00:00
tzugen
ddd9c29d7a
Apply suggested Kotlin Gradle updates 2023-05-18 12:22:40 +02:00
Renovate Bot
fe696943a4 Update dependency org.robolectric:robolectric to v4.10.3 2023-05-17 21:32:36 +00:00
Renovate Bot
a5bfc08264 Update media3 to v1.0.2 2023-05-17 17:31:43 +00:00
birdbird
4c2c7252c3 Merge branch 'showLoading' into 'develop'
Add loading indicator to playlist view

See merge request ultrasonic/ultrasonic!1011
2023-05-16 18:54:13 +00:00
tzugen
b5dd0fdca2
Add loading indicator to playlist view 2023-05-16 20:39:17 +02:00
birdbird
a7ee33c7c0 Merge branch 'id3' into 'develop'
Clarify the naming around the ID3 settings and methods,

See merge request ultrasonic/ultrasonic!1010
2023-05-16 18:09:04 +00:00
birdbird
7b56017844 Clarify the naming around the ID3 settings and methods, 2023-05-16 18:09:03 +00:00
birdbird
0fb345dd24 Merge branch 'revertMaterial' into 'develop'
Revert Material to 1.8.0

See merge request ultrasonic/ultrasonic!1008
2023-05-16 15:58:21 +00:00
tzugen
4faf2db11f
Revert Material to 1.8.0 2023-05-16 17:56:14 +02:00
birdbird
c118bd70f9 Update README.md 2023-05-16 15:47:03 +00:00
birdbird
b0e850d17e Merge branch 'playlistSorting' into 'develop'
Don't sort playlists even when Sort by Disc is activated

Closes #1229

See merge request ultrasonic/ultrasonic!1007
2023-05-16 10:42:25 +00:00
tzugen
a97c6e15e9
Don't sort playlists even when Sort by Disc is activated 2023-05-16 09:59:20 +02:00
birdbird
d084a35316 Merge branch 'blue' into 'develop'
Fix missing bluetooth permissions

Closes #791

See merge request ultrasonic/ultrasonic!1006
2023-05-16 07:37:37 +00:00
birdbird
e8bfa5dc04 Fix missing bluetooth permissions 2023-05-16 07:37:36 +00:00
birdbird
e729e3b063 Merge branch 'renovate/kotlinxcoroutines' into 'develop'
Update dependency org.jetbrains.kotlinx:kotlinx-coroutines-android to v1.7.1

See merge request ultrasonic/ultrasonic!1003
2023-05-15 08:20:16 +00:00
Renovate Bot
8337f4a7e4 Update dependency org.jetbrains.kotlinx:kotlinx-coroutines-android to v1.7.1 2023-05-15 08:20:16 +00:00
birdbird
0ae32c3cfc Merge branch 'renovate/okhttp' into 'develop'
Update okhttp to v4.11.0

See merge request ultrasonic/ultrasonic!976
2023-05-15 08:08:44 +00:00
birdbird
49f3bd27ed Merge branch 'renovate/materialdesign' into 'develop'
Update dependency com.google.android.material:material to v1.9.0

See merge request ultrasonic/ultrasonic!990
2023-05-15 08:03:28 +00:00
birdbird
1acfa917c9 Merge branch 'renovate/androidxcore' into 'develop'
Update dependency androidx.core:core-ktx to v1.10.1

See merge request ultrasonic/ultrasonic!1001
2023-05-15 08:03:14 +00:00
birdbird
9786cf2abf Merge branch '440' into 'master'
Release 4.4.0

See merge request ultrasonic/ultrasonic!1005
2023-05-15 07:15:56 +00:00
birdbird
537d65affc Release 4.4.0 2023-05-15 07:15:56 +00:00
birdbird
5ab2ec08f0 Merge branch 'fixCI' into 'develop'
Use fixed version of the CI image

See merge request ultrasonic/ultrasonic!1002
2023-05-14 14:28:06 +00:00
birdbird
e21477a5ee Use fixed version of the CI image 2023-05-14 14:28:05 +00:00
Renovate Bot
5daeddcc63 Update okhttp to v4.11.0 2023-05-11 05:32:21 +00:00
Renovate Bot
70d02f4493 Update dependency com.google.android.material:material to v1.9.0 2023-05-11 05:32:15 +00:00
Renovate Bot
58de991d64 Update dependency androidx.core:core-ktx to v1.10.1 2023-05-10 17:32:09 +00:00
birdbird
90ffa32246 Merge branch 'FixIDNull' into 'develop'
Fix the warning 'ID must not be null'

See merge request ultrasonic/ultrasonic!999
2023-05-09 10:08:13 +00:00
birdbird
3d94de9e46 Merge branch 'mergeback' into 'develop'
Mergeback

See merge request ultrasonic/ultrasonic!1000
2023-05-09 10:05:18 +00:00
birdbird
50aa2d0a2d Mergeback 2023-05-09 10:05:18 +00:00
tzugen
0e2171b872
Fix the warning 'ID must not be null' 2023-05-09 11:48:10 +02:00
birdbird
2c3f43f139 Merge branch 'weblate-ultrasonic-app' into 'develop'
Translations update from Hosted Weblate

See merge request ultrasonic/ultrasonic!997
2023-05-09 09:34:35 +00:00
birdbird
fd8afe0231 Merge branch 'RefactorContextActions' into 'develop'
Use Coroutines for triggering the download or playback of music through the context menus

See merge request ultrasonic/ultrasonic!998
2023-05-09 09:34:15 +00:00
birdbird
cd982814cf Use Coroutines for triggering the download or playback of music through the context menus 2023-05-09 09:34:15 +00:00
gallegonovato
338fb618b9
Translated using Weblate (Spanish)
Currently translated at 100.0% (426 of 426 strings)

Translation: Ultrasonic/app
Translate-URL: https://hosted.weblate.org/projects/ultrasonic/app/es/
2023-05-08 17:52:45 +02:00
birdbird
842cb36ecb Merge branch 'RevertJackson' into 'develop'
Revert Jackson to 2.13.5 for compatibility with older APIs

See merge request ultrasonic/ultrasonic!993
2023-05-07 15:24:16 +00:00
birdbird
e06b8bc22e Merge branch 'FixExceptions' into 'develop'
Fix a bunch of Exceptions collected through Play Store reporting

See merge request ultrasonic/ultrasonic!994
2023-05-07 15:23:57 +00:00
birdbird
82fb45bd55 Fix a bunch of Exceptions collected through Play Store reporting 2023-05-07 15:23:57 +00:00
birdbird
3a39902c4c Merge branch '434-master' into 'master'
Release 4.3.4

See merge request ultrasonic/ultrasonic!995
2023-05-07 15:23:38 +00:00
birdbird
88364b15d6 Release 4.3.4 2023-05-07 15:23:38 +00:00
tzugen
751b946092
Revert Jackson to 2.13.5 for compatibility with older APIs 2023-05-07 12:57:15 +02:00
birdbird
39085f68b1 Merge branch 'renovate/kotlinxguava' into 'develop'
Update dependency org.jetbrains.kotlinx:kotlinx-coroutines-guava to v1.7.0

See merge request ultrasonic/ultrasonic!992
2023-05-07 10:51:05 +00:00
Renovate Bot
1beb67c497 Update dependency org.jetbrains.kotlinx:kotlinx-coroutines-guava to v1.7.0 2023-05-07 10:32:39 +00:00
birdbird
2ba001894a Merge branch 'weblate-ultrasonic-app' into 'develop'
Translations update from Hosted Weblate

See merge request ultrasonic/ultrasonic!985
2023-05-07 10:21:22 +00:00
Kaiyang Wu
0650ce0bba
Translated using Weblate (Chinese (Traditional))
Currently translated at 54.2% (231 of 426 strings)

Translation: Ultrasonic/app
Translate-URL: https://hosted.weblate.org/projects/ultrasonic/app/zh_Hant/
2023-05-07 11:56:24 +02:00
Kaiyang Wu
218f144848
Translated using Weblate (Chinese (Traditional))
Currently translated at 53.0% (226 of 426 strings)

Translation: Ultrasonic/app
Translate-URL: https://hosted.weblate.org/projects/ultrasonic/app/zh_Hant/
2023-05-07 11:56:24 +02:00
Kaiyang Wu
83c9c188e9
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (426 of 426 strings)

Translation: Ultrasonic/app
Translate-URL: https://hosted.weblate.org/projects/ultrasonic/app/zh_Hans/
2023-05-07 11:56:24 +02:00
birdbird
a4e8a7f94d Merge branch 'renovate/mockito-monorepo' into 'develop'
Update dependency org.mockito:mockito-core to v5.3.1

See merge request ultrasonic/ultrasonic!956
2023-05-07 09:56:19 +00:00
Renovate Bot
4f5d503ceb Update dependency org.mockito:mockito-core to v5.3.1 2023-05-07 09:56:19 +00:00
birdbird
381e2e4b86 Merge branch 'renovate/kotlinxcoroutines' into 'develop'
Update dependency org.jetbrains.kotlinx:kotlinx-coroutines-android to v1.7.0

See merge request ultrasonic/ultrasonic!991
2023-05-07 09:49:19 +00:00
birdbird
2a90fe4aab Merge branch 'master' into 'develop'
Merge changes from master back to dev. (4.3.3 release)

See merge request ultrasonic/ultrasonic!989
2023-05-07 09:47:24 +00:00
birdbird
f37301e738 Merge changes from master back to dev. (4.3.3 release) 2023-05-07 09:47:24 +00:00
tzugen
4e9cea87a8
Hide tiny scrollbars on buttons on Android 13 2023-05-07 11:39:33 +02:00
birdbird
fca5ffaa0c Merge branch 'correctDefaults' into 'develop'
Correctly enable Artists pictures by default (was enabled in Settings mit not in Code)

See merge request ultrasonic/ultrasonic!988
2023-05-07 09:33:54 +00:00
Renovate Bot
a0314a865c Update dependency org.jetbrains.kotlinx:kotlinx-coroutines-android to v1.7.0 2023-05-07 09:32:30 +00:00
birdbird
5da9a2819c Merge branch 'ratingManager' into 'develop'
Introduce a RatingManager that takes care of receiving and passing ratings...

See merge request ultrasonic/ultrasonic!981
2023-05-07 09:27:24 +00:00
birdbird
2a02c94c8f Introduce a RatingManager that takes care of receiving and passing ratings... 2023-05-07 09:27:24 +00:00
tzugen
96073125ca
Correctly enable Artists pictures by default (was enabled in Settings mit not in Code) 2023-05-07 11:19:01 +02:00
birdbird
58bd663ac0 Merge branch 'renovate/junit5-monorepo' into 'develop'
Update dependency org.junit.vintage:junit-vintage-engine to v5.9.3

See merge request ultrasonic/ultrasonic!983
2023-05-07 09:16:04 +00:00
birdbird
e689193df1 Merge branch 'renovate/robolectric' into 'develop'
Update dependency org.robolectric:robolectric to v4.10.2

See merge request ultrasonic/ultrasonic!987
2023-05-07 09:15:26 +00:00
birdbird
1aa388d48f Merge branch 'renovate/kotlin-monorepo' into 'develop'
Update kotlin monorepo to v1.8.21

See merge request ultrasonic/ultrasonic!980
2023-05-07 09:15:13 +00:00
birdbird
8f84020cfa Merge branch 'renovate/kluent' into 'develop'
Update kluent to v1.73

See merge request ultrasonic/ultrasonic!984
2023-05-07 09:14:39 +00:00
birdbird
db88ff8431 Merge branch 'renovate/ktlintgradle' into 'develop'
Update dependency org.jlleitschuh.gradle:ktlint-gradle to v11.3.2

See merge request ultrasonic/ultrasonic!982
2023-05-07 09:14:12 +00:00
birdbird
2d1642170a Merge branch 'renovate/gradleplugin' into 'develop'
Update dependency com.android.tools.build:gradle to v8.0.1

See merge request ultrasonic/ultrasonic!986
2023-05-07 09:14:03 +00:00
Renovate Bot
0cb7952943 Update dependency org.robolectric:robolectric to v4.10.2 2023-05-04 19:32:12 +00:00
Renovate Bot
d750c84606 Update dependency com.android.tools.build:gradle to v8.0.1 2023-05-01 16:32:12 +00:00
Renovate Bot
7abca537c9 Update kluent to v1.73 2023-04-29 14:32:22 +00:00
Renovate Bot
ca2c5483c0 Update dependency org.junit.vintage:junit-vintage-engine to v5.9.3 2023-04-26 07:32:20 +00:00
Renovate Bot
7b414a3a23 Update dependency org.jlleitschuh.gradle:ktlint-gradle to v11.3.2 2023-04-25 14:32:15 +00:00
Renovate Bot
10767d2d5b Update kotlin monorepo to v1.8.21 2023-04-25 05:32:25 +00:00
Óscar García Amor
404c7c05d5
Merge branch 'flamingo' 2023-04-24 15:54:48 +02:00
birdbird
0b2c8eccfe Merge branch '433' into 'master'
433

See merge request ultrasonic/ultrasonic!979
2023-04-24 11:37:53 +00:00
birdbird
4882037098 433 2023-04-24 11:37:53 +00:00
birdbird
138db03667 Merge branch 'fixContext' into 'develop'
Fix missing context

See merge request ultrasonic/ultrasonic!977
2023-04-23 10:12:42 +00:00
tzugen
f59e039c49
Fix missing context 2023-04-23 11:55:08 +02:00
birdbird
e0679f99cf Merge branch 'renovate/gradle-8.x' into 'develop'
Update dependency gradle to v8.1.1

See merge request ultrasonic/ultrasonic!974
2023-04-22 10:25:18 +00:00
birdbird
ffb78b166b Merge branch 'rmJitpack' into 'develop'
Remove Jitpack repo (was from custom media3 build)

See merge request ultrasonic/ultrasonic!975
2023-04-22 09:51:43 +00:00
tzugen
5fcbf59e0e
Remove Jitpack repo (was from custom media3 build) 2023-04-22 11:25:31 +02:00
Renovate Bot
e62b8972e7 Update dependency gradle to v8.1.1 2023-04-21 13:34:02 +00:00
birdbird
322457910c Merge branch 'renovate/media3' into 'develop'
Update media3 to v1.0.1

See merge request ultrasonic/ultrasonic!971
2023-04-20 12:05:48 +00:00
Renovate Bot
e9b602890a Update media3 to v1.0.1 2023-04-20 11:34:31 +00:00
birdbird
08d3618eb3 Merge branch 'fixShuffle' into 'develop'
Fix shuffle

Closes #876 and #877

See merge request ultrasonic/ultrasonic!966
2023-04-20 11:25:25 +00:00
birdbird
4f59c4d3ad Fix shuffle 2023-04-20 11:25:25 +00:00
birdbird
9ca5a9257d Merge branch 'gradle8' into 'develop'
Update Gradle plugin to v8

See merge request ultrasonic/ultrasonic!973
2023-04-20 11:24:28 +00:00
birdbird
6694d6f60b Update Gradle plugin to v8 2023-04-20 11:24:28 +00:00
birdbird
df7ff21cc9 Merge branch 'weblate-ultrasonic-app' into 'develop'
Translations update from Hosted Weblate

See merge request ultrasonic/ultrasonic!972
2023-04-20 07:30:35 +00:00
Eryk Michalak
732d44cb73
Translated using Weblate (Polish)
Currently translated at 100.0% (426 of 426 strings)

Translation: Ultrasonic/app
Translate-URL: https://hosted.weblate.org/projects/ultrasonic/app/pl/
2023-04-20 08:37:09 +02:00
birdbird
76eb89f5eb Merge branch 'flamingo' into 'develop'
Sets compileJava target to 17 to work with Flamingo

See merge request ultrasonic/ultrasonic!969
2023-04-20 06:37:03 +00:00
birdbird
185762e164 Merge branch 'weblate-ultrasonic-app' into 'develop'
Translations update from Hosted Weblate

See merge request ultrasonic/ultrasonic!968
2023-04-19 09:24:36 +00:00
Óscar García Amor
33e4913761
Sets compileJava target to 17 to work with Flamingo 2023-04-18 14:34:05 +02:00
Kaiyang Wu
aede9be97c
Translated using Weblate (Chinese (Traditional))
Currently translated at 49.7% (212 of 426 strings)

Translation: Ultrasonic/app
Translate-URL: https://hosted.weblate.org/projects/ultrasonic/app/zh_Hant/
2023-04-17 21:49:30 +02:00
Kaiyang Wu
97556a36e5
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (426 of 426 strings)

Translation: Ultrasonic/app
Translate-URL: https://hosted.weblate.org/projects/ultrasonic/app/zh_Hans/
2023-04-17 21:49:30 +02:00
birdbird
fb970ffb80 Merge branch 'renovate/gradle-8.x' into 'develop'
Update dependency gradle to v8.1

See merge request ultrasonic/ultrasonic!957
2023-04-17 15:57:52 +00:00
birdbird
6de6cda7a4 Merge branch 'renovate/robolectric' into 'develop'
Update dependency org.robolectric:robolectric to v4.10

See merge request ultrasonic/ultrasonic!955
2023-04-17 15:56:50 +00:00
birdbird
5eed5c70b5 Merge branch 'weblate-ultrasonic-app' into 'develop'
Translations update from Hosted Weblate

See merge request ultrasonic/ultrasonic!967
2023-04-17 15:56:28 +00:00
Óscar García Amor
6e1078a256
Translated using Weblate (Galician)
Currently translated at 6.3% (27 of 426 strings)

Translation: Ultrasonic/app
Translate-URL: https://hosted.weblate.org/projects/ultrasonic/app/gl/
2023-04-16 12:49:02 +02:00
Óscar García Amor
c6c58262af Merge branch 'galician' into 'develop'
Adds galician to supported languages list

See merge request ultrasonic/ultrasonic!965
2023-04-15 10:24:03 +00:00
Óscar García Amor
2df89f4d81
Adds galician to supported languages list 2023-04-15 12:15:37 +02:00
Óscar García Amor
e83026f29a Merge branch 'norwegian' into 'develop'
Adds norwegian to supported languages list

See merge request ultrasonic/ultrasonic!964
2023-04-15 10:13:49 +00:00
Óscar García Amor
233e4f7a67
Adds norwegian to supported languages list 2023-04-15 12:05:56 +02:00
Óscar García Amor
dba12d147f Merge branch 'big-in-japan' into 'develop'
Adds japanese to supported languages list

See merge request ultrasonic/ultrasonic!963
2023-04-15 10:02:35 +00:00
Óscar García Amor
ccdd994756
Adds japanese to supported languages list 2023-04-15 11:53:13 +02:00
Óscar García Amor
dfcac45669 Merge branch 'changelog' into 'develop'
Translates changelog to spanish

See merge request ultrasonic/ultrasonic!962
2023-04-15 09:14:04 +00:00
Óscar García Amor
f72fc1885c Merge branch 'weblate-ultrasonic-app' into 'develop'
Translations update from Hosted Weblate

See merge request ultrasonic/ultrasonic!961
2023-04-15 09:04:43 +00:00
Óscar García Amor
db40d95215
Translates changelog to spanish 2023-04-15 11:02:09 +02:00
aorinngoDo
c2f4b58088
Translated using Weblate (Japanese)
Currently translated at 100.0% (426 of 426 strings)

Translation: Ultrasonic/app
Translate-URL: https://hosted.weblate.org/projects/ultrasonic/app/ja/
2023-04-14 17:52:47 +02:00
birdbird
82d2596c66 Merge branch '432' into 'develop'
Release 4.3.2

See merge request ultrasonic/ultrasonic!960
2023-04-14 12:06:09 +00:00
oiu
ccd7f5881d
Release 4.3.2 2023-04-14 14:03:44 +02:00
birdbird
c7edfbcae6 Merge branch 'StrictMode' into 'develop'
Fix a bunch of StrictMode warnings by executing methods on the right threads

See merge request ultrasonic/ultrasonic!958
2023-04-14 08:01:54 +00:00
tzugen
b1839c9562
Fix a bunch of StrictMode warnings by executing methods on the right threads 2023-04-13 16:20:45 +02:00
Renovate Bot
dbef8307ea Update dependency gradle to v8.1 2023-04-12 12:34:09 +00:00
Renovate Bot
ee52070925 Update dependency org.robolectric:robolectric to v4.10 2023-04-11 16:32:18 +00:00
Óscar García Amor
a406b8d211 Merge branch 'changelog' into 'develop'
Translate changelog to spanish

See merge request ultrasonic/ultrasonic!954
2023-04-11 15:04:07 +00:00
Óscar García Amor
367c1508b5
Translate changelog to spanish 2023-04-11 16:52:06 +02:00
Óscar García Amor
e5fce6a832 Merge branch 'weblate-ultrasonic-app' into 'develop'
Translations update from Hosted Weblate

See merge request ultrasonic/ultrasonic!953
2023-04-11 14:32:06 +00:00
Weblate
6b5c96ea74 Translations update from Hosted Weblate 2023-04-11 14:32:06 +00:00
Óscar García Amor
d2faad60ca
Adds missing newline EOF 2023-04-11 16:06:48 +02:00
birdbird
2d7c26f13d Merge branch 'Changelog' into 'develop'
Format changelog correctly

See merge request ultrasonic/ultrasonic!952
2023-04-11 13:43:15 +00:00
tzugen
116e5aa4cf
Format changelog correctly 2023-04-11 15:33:59 +02:00
birdbird
3e8f45a073 Merge branch 'release431' into 'develop'
Release 4.3.1

See merge request ultrasonic/ultrasonic!951
2023-04-11 06:15:27 +00:00
birdbird
8090d4e039 Release 4.3.1 2023-04-11 06:15:27 +00:00
birdbird
9ca29cd11b Merge branch 'weblate-ultrasonic-app' into 'develop'
Translations update from Hosted Weblate

See merge request ultrasonic/ultrasonic!947
2023-04-10 11:28:22 +00:00
Mahoo Huang
76af2ffcc1
Translated using Weblate (Chinese (Simplified))
Currently translated at 96.7% (412 of 426 strings)

Translation: Ultrasonic/app
Translate-URL: https://hosted.weblate.org/projects/ultrasonic/app/zh_Hans/
2023-04-10 13:26:31 +02:00
birdbird
82d554a900 Merge branch 'fixExceptions' into 'develop'
Fix two exceptions

See merge request ultrasonic/ultrasonic!949
2023-04-10 11:26:28 +00:00
birdbird
c70fcd7447 Fix two exceptions 2023-04-10 11:26:27 +00:00
birdbird
297f71a8c8 Merge branch 'SearchFix' into 'develop'
Search fix

See merge request ultrasonic/ultrasonic!948
2023-04-10 11:08:04 +00:00
birdbird
8c00388dc7 Search fix 2023-04-10 11:08:04 +00:00
birdbird
d92203ada6 Merge branch 'renovate/room' into 'develop'
Update room to v2.5.1

See merge request ultrasonic/ultrasonic!938
2023-04-06 10:07:03 +00:00
birdbird
f8d24a943d Merge branch 'renovate/androidxcore' into 'develop'
Update dependency androidx.core:core-ktx to v1.10.0

See merge request ultrasonic/ultrasonic!946
2023-04-06 10:06:53 +00:00
Renovate Bot
a1e84183d6 Update dependency androidx.core:core-ktx to v1.10.0 2023-04-05 17:32:19 +00:00
Óscar García Amor
2b339ccc7d
Bump version to 4.3.0 2023-04-04 15:58:24 +02:00
birdbird
893ae7fb1e Merge branch 'weblate-ultrasonic-app' into 'develop'
Translations update from Hosted Weblate

See merge request ultrasonic/ultrasonic!945
2023-04-03 07:26:31 +00:00
Tim Schneeberger
a828b19cce
Translated using Weblate (German)
Currently translated at 100.0% (426 of 426 strings)

Translation: Ultrasonic/app
Translate-URL: https://hosted.weblate.org/projects/ultrasonic/app/de/
2023-04-01 22:40:07 +02:00
birdbird
13f296b5ed Merge branch 'fixSomeStrictMode' into 'develop'
Fix some strict mode

See merge request ultrasonic/ultrasonic!944
2023-04-01 12:06:34 +00:00
birdbird
aa2c460529 Fix some strict mode 2023-04-01 12:06:34 +00:00
Renovate Bot
61b3b671a5 Update room to v2.5.1 2023-03-31 13:40:39 +00:00
birdbird
76d2fcdcc3 Merge branch 'weblate-ultrasonic-app' into 'develop'
Translations update from Hosted Weblate

See merge request ultrasonic/ultrasonic!941
2023-03-31 13:10:30 +00:00
gallegonovato
2fe8e5f229
Translated using Weblate (Spanish)
Currently translated at 100.0% (426 of 426 strings)

Translation: Ultrasonic/app
Translate-URL: https://hosted.weblate.org/projects/ultrasonic/app/es/
2023-03-31 14:36:35 +02:00
birdbird
4dcd495c96 Merge branch 'renovate/kotlin-monorepo' into 'develop'
Update kotlin monorepo to v1.8.20

See merge request ultrasonic/ultrasonic!943
2023-03-31 12:36:30 +00:00
birdbird
6fe9f730e3 Merge branch 'renovate/viewmodelktx' into 'develop'
Update dependency androidx.lifecycle:lifecycle-viewmodel-ktx to v2.6.1

See merge request ultrasonic/ultrasonic!937
2023-03-31 12:35:58 +00:00
birdbird
cb781cb76d Merge branch 'dumpConfig' into 'develop'
Dump settings to log when file logging is enabled

Closes #891

See merge request ultrasonic/ultrasonic!934
2023-03-31 12:35:07 +00:00
Renovate Bot
037519a5d3 Update kotlin monorepo to v1.8.20 2023-03-30 10:33:53 +00:00
birdbird
586b4f16e7 Merge branch 'autoFix' into 'develop'
Implement Auto requestMetadata.searchQuery

Closes #827

See merge request ultrasonic/ultrasonic!926
2023-03-24 19:13:19 +00:00
birdbird
1f9afd92b6 Implement Auto requestMetadata.searchQuery 2023-03-24 19:13:18 +00:00
birdbird
64d6605c2a Merge branch 'weblate-ultrasonic-app' into 'develop'
Translations update from Hosted Weblate

See merge request ultrasonic/ultrasonic!940
2023-03-24 17:28:20 +00:00
Allan Nordhøy
e2593406fa
Translated using Weblate (Norwegian Bokmål)
Currently translated at 85.6% (363 of 424 strings)

Translation: Ultrasonic/app
Translate-URL: https://hosted.weblate.org/projects/ultrasonic/app/nb_NO/
2023-03-23 22:00:18 +01:00
birdbird
8647ea20f7 Merge branch 'ci-rename' into 'develop'
Rename CI steps for clarity

See merge request ultrasonic/ultrasonic!939
2023-03-23 07:50:27 +00:00
birdbird
eddb5947d3 Merge branch 'weblate-ultrasonic-app' into 'develop'
Translations update from Hosted Weblate

See merge request ultrasonic/ultrasonic!936
2023-03-23 07:42:14 +00:00
Renovate Bot
9ac48946f5 Update dependency androidx.lifecycle:lifecycle-viewmodel-ktx to v2.6.1 2023-03-23 07:32:39 +00:00
birdbird
32e907905e Rename CI steps for clarity 2023-03-23 07:23:20 +00:00
Allan Nordhøy
7e9dfb0c72
Translated using Weblate (Norwegian Bokmål)
Currently translated at 66.5% (282 of 424 strings)

Translation: Ultrasonic/app
Translate-URL: https://hosted.weblate.org/projects/ultrasonic/app/nb_NO/
2023-03-23 08:02:02 +01:00
Allan Nordhøy
4c9e0aaf87
Translated using Weblate (Norwegian Bokmål)
Currently translated at 65.5% (278 of 424 strings)

Translation: Ultrasonic/app
Translate-URL: https://hosted.weblate.org/projects/ultrasonic/app/nb_NO/
2023-03-23 08:02:02 +01:00
gallegonovato
d0b3371958
Translated using Weblate (Spanish)
Currently translated at 100.0% (424 of 424 strings)

Translation: Ultrasonic/app
Translate-URL: https://hosted.weblate.org/projects/ultrasonic/app/es/
2023-03-23 08:02:02 +01:00
Allan Nordhøy
b406ec8d07
Translated using Weblate (English)
Currently translated at 100.0% (424 of 424 strings)

Translation: Ultrasonic/app
Translate-URL: https://hosted.weblate.org/projects/ultrasonic/app/en/
2023-03-23 08:02:02 +01:00
birdbird
2255816a1b Use our new registry url 2023-03-23 07:01:57 +00:00
birdbird
70f7d20fea Remove assembleDebug step, it's not needed 2023-03-23 06:56:26 +00:00
birdbird
5a9ca9f565 Merge branch 'renovate/media3' into 'develop'
Update media3 to v1.0.0

See merge request ultrasonic/ultrasonic!935
2023-03-22 12:57:29 +00:00
Renovate Bot
db97b03224 Update media3 to v1.0.0 2023-03-22 10:32:43 +00:00
tzugen
2ebb333a6e
Dump settings to log when file logging is enabled 2023-03-21 18:41:28 +01:00
birdbird
c72c6354e3 Merge branch 'weblate' into 'develop'
Migrates translations to Weblate

See merge request ultrasonic/ultrasonic!932
2023-03-21 11:14:57 +00:00
birdbird
7a70c4565c Merge branch 'npeFix' into 'develop'
Add logging for potential NPE

See merge request ultrasonic/ultrasonic!933
2023-03-21 09:04:55 +00:00
tzugen
be55eb514c
Add logging for potential NPE 2023-03-21 09:55:11 +01:00
Óscar García Amor
0a81df23e7
Migrates translations to Weblate 2023-03-21 08:46:06 +01:00
birdbird
46ad240306 Merge branch 'improveCI2' into 'develop'
Skip cache in sign step

See merge request ultrasonic/ultrasonic!931
2023-03-20 09:12:49 +00:00
birdbird
d3151d934a Merge branch 'weblate-ultrasonic-app' into 'develop'
Translations update from Hosted Weblate

See merge request ultrasonic/ultrasonic!929
2023-03-20 09:12:26 +00:00
birdbird
0ad68f1f11 Skip cache in sign step 2023-03-20 09:09:45 +00:00
Allan Nordhøy
724c7856d9
Translated using Weblate (Norwegian Bokmål)
Currently translated at 15.5% (66 of 424 strings)

Translation: Ultrasonic/app
Translate-URL: https://hosted.weblate.org/projects/ultrasonic/app/nb_NO/
2023-03-20 09:37:24 +01:00
ssantos
36db1f7799
Translated using Weblate (Portuguese)
Currently translated at 99.7% (423 of 424 strings)

Translation: Ultrasonic/app
Translate-URL: https://hosted.weblate.org/projects/ultrasonic/app/pt/
2023-03-20 09:37:24 +01:00
J. Lavoie
b4613c3b38
Translated using Weblate (Italian)
Currently translated at 65.5% (278 of 424 strings)

Translation: Ultrasonic/app
Translate-URL: https://hosted.weblate.org/projects/ultrasonic/app/it/
2023-03-20 09:37:24 +01:00
J. Lavoie
6ed8504d32
Translated using Weblate (French)
Currently translated at 99.7% (423 of 424 strings)

Translation: Ultrasonic/app
Translate-URL: https://hosted.weblate.org/projects/ultrasonic/app/fr/
2023-03-20 09:37:24 +01:00
J. Lavoie
9c2ac56435
Translated using Weblate (German)
Currently translated at 96.2% (408 of 424 strings)

Translation: Ultrasonic/app
Translate-URL: https://hosted.weblate.org/projects/ultrasonic/app/de/
2023-03-20 09:37:24 +01:00
birdbird
61e25e3c26 Merge branch 'improveCI' into 'develop'
Improve CI

See merge request ultrasonic/ultrasonic!930
2023-03-20 08:37:20 +00:00
birdbird
9c2eece929 Improve CI 2023-03-20 08:37:19 +00:00
birdbird
145bcec047 Reenable all CI steps 2023-03-19 11:17:16 +00:00
birdbird
efd840e5fe Enable Gitlab CI for MR 2023-03-19 11:08:43 +00:00
birdbird
d9ff239b03 Print Project ID 2023-03-19 10:57:54 +00:00
birdbird
6f808c4ebc Disable circleCI 2023-03-19 10:54:05 +00:00
birdbird
a43d2351ae Update .gitlab-ci.yml file 2023-03-19 09:32:30 +00:00
birdbird
839633c2f0 Cleanup 2023-03-19 09:25:06 +00:00
birdbird
f6b43fd2fd New try with only-pulling cache 2023-03-19 09:19:13 +00:00
birdbird
735e3225f8 Update .gitlab-ci.yml file 2023-03-19 09:17:00 +00:00
birdbird
386bfd884c Update .gitlab-ci.yml file 2023-03-19 09:14:23 +00:00
birdbird
03ff59c0b8 Update .gitlab-ci.yml file 2023-03-19 09:07:35 +00:00
birdbird
28f06c0b09 Update .gitlab-ci.yml file 2023-03-19 09:01:18 +00:00
birdbird
2933e0d801 Update .gitlab-ci.yml file 2023-03-19 08:56:28 +00:00
birdbird
318d362b77 Update .gitlab-ci.yml file 2023-03-19 08:53:17 +00:00
birdbird
1b1914e7ad Update .gitlab-ci.yml file 2023-03-19 08:46:48 +00:00
birdbird
ae853d8d4a Update .gitlab-ci.yml file 2023-03-19 08:35:14 +00:00
birdbird
f840149275 Update .gitlab-ci.yml file 2023-03-19 08:30:55 +00:00
birdbird
990479e37d Debug cache content 2023-03-19 08:29:53 +00:00
birdbird
5e7837b4b9 Debug cache content 2023-03-19 08:28:11 +00:00
birdbird
a53b2bc2c0 Try to use smaller image for Gitlab runner 2023-03-19 08:08:36 +00:00
birdbird
c0536353eb Merge branch 'weblate-ultrasonic-app' into 'develop'
Translations update from Hosted Weblate

See merge request ultrasonic/ultrasonic!928
2023-03-18 10:58:28 +00:00
Allan Nordhøy
e9b288cb6e
Translated using Weblate (Norwegian Bokmål)
Currently translated at 8.2% (35 of 424 strings)

Translation: Ultrasonic/app
Translate-URL: https://hosted.weblate.org/projects/ultrasonic/app/nb_NO/
2023-03-17 00:39:31 +01:00
birdbird
9a4f1bfc60 Merge branch 'weblate-ultrasonic-app' into 'develop'
Translations update from Hosted Weblate

See merge request ultrasonic/ultrasonic!927
2023-03-15 12:59:38 +00:00
ssantos
924ad71855
Translated using Weblate (Portuguese)
Currently translated at 99.7% (423 of 424 strings)

Translation: Ultrasonic/app
Translate-URL: https://hosted.weblate.org/projects/ultrasonic/app/pt/
2023-03-14 22:38:07 +01:00
Óscar García Amor
a7d0855f7a
Bump version to 4.2.2 2023-03-13 11:09:30 +01:00
Óscar García Amor
a6b1b32074
Fixes Transifex pipeline
Transifex has changed the client from Python to Go and the API level so
the old client has stopped working.
2023-03-13 10:08:23 +01:00
Óscar García Amor
f14fff0e83 Merge branch 'revert-68a6b885' into 'develop'
Revert "Migrates translations to Weblate"

See merge request ultrasonic/ultrasonic!925
2023-03-13 07:45:53 +00:00
Óscar García Amor
218954d4d9 Revert "Migrates translations to Weblate" 2023-03-13 07:45:53 +00:00
birdbird
38c07297c7 Merge branch 'renovate/mockito-monorepo' into 'develop'
Update mockito monorepo to v5.2.0

See merge request ultrasonic/ultrasonic!924
2023-03-12 18:46:28 +00:00
tzugen
0a5420e20d
Don't always play shuffled playlist on first track 2023-03-12 19:44:03 +01:00
Renovate Bot
7ccd45e11d Update mockito monorepo to v5.2.0 2023-03-09 20:32:52 +00:00
birdbird
df9aff309a Merge branch 'fixJukebox2' into 'develop'
Fix crashes with Jukebox

See merge request ultrasonic/ultrasonic!922
2023-03-09 12:58:41 +00:00
tzugen
1c5d7fe214
Fix crashes with Jukebox 2023-03-09 13:15:12 +01:00
birdbird
97cd7db177 Merge branch 'renovate/gradle-8.x' into 'develop'
Update dependency gradle to v8

See merge request ultrasonic/ultrasonic!915
2023-03-09 07:47:58 +00:00
Renovate Bot
8cbf73fc03 Update dependency gradle to v8 2023-03-09 07:47:58 +00:00
birdbird
62eab235b8 Merge branch 'renovate/ktlintgradle' into 'develop'
Update dependency org.jlleitschuh.gradle:ktlint-gradle to v11.3.1

See merge request ultrasonic/ultrasonic!907
2023-03-09 07:46:02 +00:00
birdbird
106a5faa37 Merge branch 'renovate/jackson' into 'develop'
Update dependency com.fasterxml.jackson.module:jackson-module-kotlin to v2.14.2

See merge request ultrasonic/ultrasonic!908
2023-03-09 07:45:58 +00:00
birdbird
96abcf70da Merge branch 'renovate/gradleplugin' into 'develop'
Update dependency com.android.tools.build:gradle to v7.4.2

See merge request ultrasonic/ultrasonic!910
2023-03-09 07:45:38 +00:00
birdbird
d1e4cf3d46 Merge branch 'renovate/gradle-7.x' into 'develop'
Update dependency gradle to v7.6.1

See merge request ultrasonic/ultrasonic!918
2023-03-09 07:45:29 +00:00
Renovate Bot
393965e9eb Update dependency org.jlleitschuh.gradle:ktlint-gradle to v11.3.1 2023-03-09 07:33:09 +00:00
Renovate Bot
1e125235bf Update dependency com.fasterxml.jackson.module:jackson-module-kotlin to v2.14.2 2023-03-09 07:32:59 +00:00
Renovate Bot
040588b98c Update dependency com.android.tools.build:gradle to v7.4.2 2023-03-09 07:32:58 +00:00
Renovate Bot
3b35ad6f8c Update dependency gradle to v7.6.1 2023-03-08 21:35:08 +00:00
birdbird
12d142eaf8 Merge branch 'weblate-ultrasonic-app' into 'develop'
Translations update from Hosted Weblate

See merge request ultrasonic/ultrasonic!914
2023-03-08 21:26:27 +00:00
J. Lavoie
0ee3e1313a
Translated using Weblate (French)
Currently translated at 94.5% (401 of 424 strings)

Translation: Ultrasonic/app
Translate-URL: https://hosted.weblate.org/projects/ultrasonic/app/fr/
2023-03-08 22:24:27 +01:00
J. Lavoie
21f06cdac2
Translated using Weblate (German)
Currently translated at 95.9% (407 of 424 strings)

Translation: Ultrasonic/app
Translate-URL: https://hosted.weblate.org/projects/ultrasonic/app/de/
2023-03-08 22:24:27 +01:00
Óscar García Amor
64931dc6fd
Translated using Weblate (Portuguese)
Currently translated at 76.4% (324 of 424 strings)

Translation: Ultrasonic/app
Translate-URL: https://hosted.weblate.org/projects/ultrasonic/app/pt/
2023-03-08 22:24:27 +01:00
Óscar García Amor
5ef5c714e9
Added translation using Weblate (Norwegian Bokmål) 2023-03-08 22:24:27 +01:00
birdbird
fac6570f93 Merge branch 'renovate/androidsupport' into 'develop'
Update dependency androidx.annotation:annotation to v1.6.0

See merge request ultrasonic/ultrasonic!917
2023-03-08 21:24:22 +00:00
birdbird
24b9b060b0 Merge branch 'renovate/viewmodelktx' into 'develop'
Update dependency androidx.lifecycle:lifecycle-viewmodel-ktx to v2.6.0

See merge request ultrasonic/ultrasonic!921
2023-03-08 21:24:00 +00:00
Renovate Bot
c5472cbb1b Update dependency androidx.lifecycle:lifecycle-viewmodel-ktx to v2.6.0 2023-03-08 18:33:22 +00:00
birdbird
278192cc5a Merge branch 'renovate/kotlin-monorepo' into 'develop'
Update kotlin monorepo to v1.8.10

See merge request ultrasonic/ultrasonic!911
2023-03-08 18:16:32 +00:00
birdbird
50b4e93f66 Merge branch 'fixSearch' into 'develop'
Fix search

See merge request ultrasonic/ultrasonic!920
2023-03-08 18:16:10 +00:00
birdbird
0f41d6bdd8 Fix search 2023-03-08 18:16:10 +00:00
Renovate Bot
155e9e43c6 Update kotlin monorepo to v1.8.10 2023-03-08 17:33:45 +00:00
Renovate Bot
ca5c5a8a4a Update dependency androidx.annotation:annotation to v1.6.0 2023-03-08 17:33:42 +00:00
birdbird
93f2d716a0 Merge branch 'up' into 'develop'
Up

See merge request ultrasonic/ultrasonic!919
2023-03-08 17:22:50 +00:00
birdbird
5d996fa816 Up 2023-03-08 17:22:49 +00:00
birdbird
bde6dd3708 Merge branch 'renovate/cimg-android-2023.x' into 'develop'
Update cimg/android Docker tag to v2023

See merge request ultrasonic/ultrasonic!916
2023-03-08 13:10:45 +00:00
Óscar García Amor
68a6b885ae
Migrates translations to Weblate 2023-02-16 10:09:13 +01:00
Renovate Bot
df0c42224b Update cimg/android Docker tag to v2023 2023-02-15 11:37:46 +00:00
Óscar García Amor
a32a15e6f5 Merge branch 'weblate-ultrasonic-app' into 'develop'
Translations update from Hosted Weblate

See merge request ultrasonic/ultrasonic!913
2023-02-12 10:48:25 +00:00
Óscar García Amor
b8839195fd
Translated using Weblate (Spanish)
Currently translated at 100.0% (424 of 424 strings)

Translation: Ultrasonic/app
Translate-URL: https://hosted.weblate.org/projects/ultrasonic/app/es/
2023-02-11 17:00:18 +01:00
birdbird
103b127dcf Merge branch 'renovate/materialdesign' into 'develop'
Update dependency com.google.android.material:material to v1.7.0

See merge request ultrasonic/ultrasonic!872
2023-01-20 14:45:12 +00:00
Renovate Bot
c8f6e2c7fb Update dependency com.google.android.material:material to v1.7.0 2023-01-20 14:45:12 +00:00
birdbird
eb8ae44124 Merge branch 'renovate/gradleplugin' into 'develop'
Update dependency com.android.tools.build:gradle to v7.4.0

See merge request ultrasonic/ultrasonic!902
2023-01-20 14:27:31 +00:00
Renovate Bot
da4139dabc Update dependency com.android.tools.build:gradle to v7.4.0 2023-01-20 14:27:31 +00:00
birdbird
854ef5ad60 Merge branch 'renovate/room' into 'develop'
Update room to v2.5.0

See merge request ultrasonic/ultrasonic!901
2023-01-20 13:14:47 +00:00
Renovate Bot
e5f1454675 Update room to v2.5.0 2023-01-20 13:14:47 +00:00
birdbird
ce78635d54 Merge branch 'renovate/junit5-monorepo' into 'develop'
Update dependency org.junit.vintage:junit-vintage-engine to v5.9.2

See merge request ultrasonic/ultrasonic!900
2023-01-20 13:14:05 +00:00
Renovate Bot
9b15279ed7 Update dependency org.junit.vintage:junit-vintage-engine to v5.9.2 2023-01-20 12:33:17 +00:00
birdbird
3be49689e6 Merge branch 'renovate/rxjava' into 'develop'
Update dependency io.reactivex.rxjava3:rxjava to v3.1.6

See merge request ultrasonic/ultrasonic!905
2023-01-20 12:26:49 +00:00
birdbird
229abcd622 Merge branch 'renovate/major-mockito-monorepo' into 'develop'
Update mockito monorepo to v5 (major)

See merge request ultrasonic/ultrasonic!904
2023-01-20 12:26:29 +00:00
Renovate Bot
5c3acd3e04 Update mockito monorepo to v5 (major) 2023-01-20 12:26:29 +00:00
Renovate Bot
a0182c4882 Update dependency io.reactivex.rxjava3:rxjava to v3.1.6 2023-01-18 09:33:10 +00:00
Nite
a9e73094f7 Merge branch 'fix/saf-download' into 'develop'
Fixed SAF file creation to ignore mime type

Closes #872

See merge request ultrasonic/ultrasonic!903
2023-01-13 20:48:11 +00:00
Nite
8d43717a5e Fixed SAF file creation to ignore mime type 2023-01-13 20:48:11 +00:00
Nite
2da16c7046 Merge branch 'fix/missing-names' into 'develop'
Fixed missing preloadCountNames, removed unused "remove song" menu item

See merge request ultrasonic/ultrasonic!899
2023-01-07 10:51:05 +00:00
Nite
ad22bcc956
Fixed missing preloadCountNames, removed unused "remove song" menu item 2023-01-07 11:47:10 +01:00
Nite
ffdd5df82d Merge branch 'ready/useFlow2' into 'develop'
Retrieve server features in parallel, retrieve Jukebox capabilities as server feature.

Closes #829

See merge request ultrasonic/ultrasonic!886
2023-01-06 19:20:25 +00:00
birdbird
7dea620e66 Retrieve server features in parallel, retrieve Jukebox capabilities as server feature. 2023-01-06 19:20:25 +00:00
tzugen
2fafebee42
Fix a crash 2023-01-05 08:50:48 +01:00
Nite
dd5bcba69c Merge branch 'fix/service-stop' into 'develop'
Fixed restarting after player service stop

Closes #858

See merge request ultrasonic/ultrasonic!898
2023-01-04 13:43:15 +00:00
Nite
9319be2d5a
Fixed restarting after player service stop 2023-01-04 14:33:19 +01:00
Nite
10c9095f5f Merge branch 'fix/podcast-title' into 'develop'
Fixed podcast titles

Closes #861

See merge request ultrasonic/ultrasonic!897
2023-01-02 20:36:29 +00:00
Nite
f4cb12f00f
Fixed podcast titles 2023-01-02 21:33:38 +01:00
Nite
dd8766d1ef Merge branch 'fix/server-address' into 'develop'
Fixed server editor to remove invalid spaces and slashes from the end of the address

See merge request ultrasonic/ultrasonic!896
2023-01-02 20:02:18 +00:00
Nite
794a7b805d
Fixed server editor to remove invalid spaces and slashes from the end of the address 2023-01-02 20:53:06 +01:00
Nite
5fd8705978 Merge branch 'fix/jukebox' into 'develop'
Fixed jukebox throwing NotImplementedError

Closes #863

See merge request ultrasonic/ultrasonic!895
2023-01-02 11:29:10 +00:00
Nite
8366fff648
Fixed jukebox throwing NotImplementedError 2023-01-02 12:25:28 +01:00
Nite
0603ecb1a6 Merge branch 'renovate/mockito-monorepo' into 'develop'
Update mockito monorepo to v4.11.0

See merge request ultrasonic/ultrasonic!894
2023-01-02 10:36:13 +00:00
Nite
d4375e1d55 Merge branch 'renovate/robolectric' into 'develop'
Update dependency org.robolectric:robolectric to v4.9.2

See merge request ultrasonic/ultrasonic!892
2023-01-02 10:14:34 +00:00
Nite
568922261d Merge branch 'renovate/koin' into 'develop'
Update koin to v3.3.2

See merge request ultrasonic/ultrasonic!888
2023-01-02 10:00:12 +00:00
Renovate Bot
2e9f591ab0 Update koin to v3.3.2 2023-01-02 10:00:11 +00:00
Óscar García Amor
20e9803ebf
Bump version to 4.2.1 2023-01-01 11:59:00 +01:00
Óscar García Amor
aea3021e16
Update translations 2023-01-01 11:42:44 +01:00
Renovate Bot
33b36177fa Update mockito monorepo to v4.11.0 2022-12-28 13:33:11 +00:00
Renovate Bot
f4fff7986b Update dependency org.robolectric:robolectric to v4.9.2 2022-12-28 00:33:12 +00:00
Óscar García Amor
1b2f339ddf Merge branch 'renovate/cimg-android-2022.x' into 'develop'
Update cimg/android Docker tag to v2022.12.1

See merge request ultrasonic/ultrasonic!891
2022-12-23 08:11:42 +00:00
Óscar García Amor
a8ec60f19f Merge branch 'fixVPNDetection' into 'develop'
Use network detection logic from AntennaPod

See merge request ultrasonic/ultrasonic!884
2022-12-22 10:30:24 +00:00
Renovate Bot
db55e49a86 Update cimg/android Docker tag to v2022.12.1 2022-12-20 19:33:04 +00:00
birdbird
02004846b4 Merge branch 'renovate/robolectric' into 'develop'
Update dependency org.robolectric:robolectric to v4.9.1

See merge request ultrasonic/ultrasonic!890
2022-12-20 08:11:52 +00:00
Renovate Bot
ce7520cb39 Update dependency org.robolectric:robolectric to v4.9.1 2022-12-19 17:33:01 +00:00
tzugen
1aa0b0dda2
Use network detection logic from AntennaPod 2022-12-18 12:29:22 +01:00
birdbird
d56bbd819d Merge branch 'renovate/mockito-monorepo' into 'develop'
Update mockito monorepo to v4.10.0

See merge request ultrasonic/ultrasonic!889
2022-12-18 10:56:23 +00:00
birdbird
a21c0075b1 Merge branch 'various' into 'develop'
Fix some crashes

Closes #848

See merge request ultrasonic/ultrasonic!883
2022-12-18 10:55:13 +00:00
birdbird
ff824d19aa Fix some crashes 2022-12-18 10:55:13 +00:00
Renovate Bot
d15f240430 Update mockito monorepo to v4.10.0 2022-12-14 22:33:04 +00:00
birdbird
0fe41fe498 Merge branch 'migrations' into 'develop'
Add migrations between 5 and 6

See merge request ultrasonic/ultrasonic!887
2022-12-13 16:37:46 +00:00
birdbird
67e4f9b2f1 Add migrations between 5 and 6 2022-12-13 16:37:46 +00:00
birdbird
a4c88d0e77 Merge branch 'renovate/mockitokotlin' into 'develop'
Update dependency org.mockito.kotlin:mockito-kotlin to v4.1.0

See merge request ultrasonic/ultrasonic!881
2022-12-11 09:55:16 +00:00
birdbird
3b49e83aa8 Merge branch 'renovate/kotlin-monorepo' into 'develop'
Update kotlin monorepo to v1.7.22

See merge request ultrasonic/ultrasonic!882
2022-12-11 09:55:01 +00:00
Renovate Bot
31f9cb9881 Update dependency org.mockito.kotlin:mockito-kotlin to v4.1.0 2022-12-11 09:33:25 +00:00
Renovate Bot
c849b4c9bd Update kotlin monorepo to v1.7.22 2022-12-11 09:33:14 +00:00
birdbird
946cf8db5a Merge branch 'format' into 'develop'
Formatting changes

See merge request ultrasonic/ultrasonic!885
2022-12-11 09:12:02 +00:00
tzugen
55c2b13e86
Formatting changes 2022-12-11 10:03:30 +01:00
birdbird
95a0a4ddb9 Update Default.md 2022-12-11 08:54:59 +00:00
birdbird
1467a38370 Merge branch 'renovate/media3' into 'develop'
Update media3 to v1.0.0-beta03

See merge request ultrasonic/ultrasonic!878
2022-11-28 11:45:34 +00:00
Renovate Bot
e18abbc856 Update media3 to v1.0.0-beta03 2022-11-28 11:45:34 +00:00
birdbird
7d91eb204f Merge branch 'renovate/detekt' into 'develop'
Update dependency io.gitlab.arturbosch.detekt:detekt-gradle-plugin to v1.22.0

See merge request ultrasonic/ultrasonic!876
2022-11-27 12:58:11 +00:00
birdbird
8a1e5d8503 Merge branch 'renovate/jackson' into 'develop'
Update dependency com.fasterxml.jackson.module:jackson-module-kotlin to v2.14.1

See merge request ultrasonic/ultrasonic!877
2022-11-27 12:57:58 +00:00
birdbird
6bc9ccad24 Merge branch 'renovate/mockito-monorepo' into 'develop'
Update mockito monorepo to v4.9.0

See merge request ultrasonic/ultrasonic!875
2022-11-27 12:57:42 +00:00
birdbird
c5f5b0a61b Merge branch 'renovate/gradle-7.x' into 'develop'
Update dependency gradle to v7.6

See merge request ultrasonic/ultrasonic!880
2022-11-27 12:57:19 +00:00
Óscar García Amor
55b9248473
Bump version to 4.2.0 2022-11-26 10:05:03 +01:00
Óscar García Amor
741f099195
Update translations 2022-11-26 09:31:10 +01:00
Renovate Bot
8c788fbdf2 Update dependency gradle to v7.6 2022-11-25 14:35:35 +00:00
birdbird
76e34a1f6a Merge branch 'movePlaylistMenu' into 'develop'
Move Playlist entry to navigation drawer

See merge request ultrasonic/ultrasonic!879
2022-11-25 14:07:21 +00:00
birdbird
5580918f14 Move Playlist entry to navigation drawer 2022-11-25 14:07:20 +00:00
Renovate Bot
1e63aea898 Update dependency com.fasterxml.jackson.module:jackson-module-kotlin to v2.14.1 2022-11-22 01:33:05 +00:00
Renovate Bot
d6c2b6700c Update dependency io.gitlab.arturbosch.detekt:detekt-gradle-plugin to v1.22.0 2022-11-20 18:33:01 +00:00
Renovate Bot
a17c5774ac Update mockito monorepo to v4.9.0 2022-11-14 19:32:56 +00:00
birdbird
9c4d83d5f3 Merge branch 'fixCrashes' into 'develop'
Fix a crash

See merge request ultrasonic/ultrasonic!874
2022-11-14 08:51:33 +00:00
tzugen
ebb1dc0eed
Fix a crash 2022-11-14 09:45:34 +01:00
birdbird
2b416c9796 Merge branch 'fixCrashes' into 'develop'
Fix one crash

Closes #849

See merge request ultrasonic/ultrasonic!873
2022-11-10 11:26:56 +00:00
tzugen
84daba3771
Fix one crash 2022-11-10 11:44:08 +01:00
birdbird
27b9b0c743 Merge branch 'renovate/navigation' into 'develop'
Update navigation to v2.5.3

See merge request ultrasonic/ultrasonic!866
2022-11-10 09:42:36 +00:00
birdbird
4aac695cb2 Merge branch 'renovate/kluent' into 'develop'
Update kluent to v1.72

See merge request ultrasonic/ultrasonic!862
2022-11-10 09:42:26 +00:00
birdbird
ed3b759f4a Merge branch 'renovate/cimg-python-3.x' into 'develop'
Update cimg/python Docker tag to v3.11

See merge request ultrasonic/ultrasonic!867
2022-11-10 09:42:13 +00:00
Renovate Bot
9204dd955b Update kluent to v1.72 2022-11-10 09:33:45 +00:00
Renovate Bot
b9105542eb Update cimg/python Docker tag to v3.11 2022-11-10 09:33:33 +00:00
Renovate Bot
9141aadbaa Update navigation to v2.5.3 2022-11-10 09:33:29 +00:00
birdbird
cfefd65dde Merge branch 'renovate/jackson' into 'develop'
Update dependency com.fasterxml.jackson.module:jackson-module-kotlin to v2.14.0

See merge request ultrasonic/ultrasonic!869
2022-11-10 09:05:46 +00:00
birdbird
08ccaac4e0 Merge branch 'renovate/rxandroid' into 'develop'
Update dependency io.reactivex.rxjava3:rxandroid to v3.0.2

See merge request ultrasonic/ultrasonic!871
2022-11-10 09:05:32 +00:00
birdbird
86ab664829 Merge branch 'renovate/kotlin-monorepo' into 'develop'
Update kotlin monorepo to v1.7.21

See merge request ultrasonic/ultrasonic!870
2022-11-10 09:05:23 +00:00
birdbird
47752fb2bd Merge branch 'reworkUI' into 'develop'
Rework UI

Closes #806 and #843

See merge request ultrasonic/ultrasonic!868
2022-11-10 09:04:19 +00:00
birdbird
6d93a98b22 Rework UI 2022-11-10 09:04:19 +00:00
Renovate Bot
73baee0da7 Update dependency io.reactivex.rxjava3:rxandroid to v3.0.2 2022-11-09 20:33:25 +00:00
Renovate Bot
b99b10ebd7 Update kotlin monorepo to v1.7.21 2022-11-08 15:33:14 +00:00
Óscar García Amor
a33da9925e
Bump version to 4.1.3 2022-11-08 10:23:44 +01:00
Óscar García Amor
e15a343c32
Update translations 2022-11-08 10:11:55 +01:00
Renovate Bot
7644480d6f Update dependency com.fasterxml.jackson.module:jackson-module-kotlin to v2.14.0 2022-11-06 00:33:12 +00:00
birdbird
af98b19050 Merge branch 'fixTextOverlap' into 'develop'
Fix Text overlap in some layouts

See merge request ultrasonic/ultrasonic!854
2022-10-28 09:49:34 +00:00
birdbird
5b2f4ea729 Fix Text overlap in some layouts 2022-10-28 09:49:34 +00:00
birdbird
bf72a0507a Merge branch 'ready/fixMinorDeprec' into 'develop'
Fix a small deprecation notice

See merge request ultrasonic/ultrasonic!865
2022-10-28 09:49:22 +00:00
birdbird
5223d086bc Fix a small deprecation notice 2022-10-28 09:49:22 +00:00
birdbird
80a5b78a3b Merge branch 'ready/reduceMinSize' into 'develop'
Reduce min size slightly

See merge request ultrasonic/ultrasonic!857
2022-10-20 20:50:54 +00:00
birdbird
788b80ee8b Merge branch 'fixDownloads' into 'develop'
Allow resumption of partial tracks, use Coroutines

See merge request ultrasonic/ultrasonic!852
2022-10-20 20:07:46 +00:00
birdbird
5b38e2b38f Allow resumption of partial tracks, use Coroutines 2022-10-20 20:07:45 +00:00
birdbird
3437965dd3 Merge branch 'remove_whitespace' into 'develop'
Remove whitespace as default text in server settings

Closes #841

See merge request ultrasonic/ultrasonic!860
2022-10-20 11:22:36 +00:00
birdbird
065f5253ea Merge branch 'refactor/trackDisplayLinear' into 'develop'
Use Linear layout in Track display

See merge request ultrasonic/ultrasonic!859
2022-10-20 10:59:28 +00:00
birdbird
287c31f3eb Use Linear layout in Track display 2022-10-20 10:59:28 +00:00
Óscar García Amor
a5e54bcdec
Remove whitespace as default text in server settings 2022-10-19 11:51:55 +02:00
birdbird
a6ad9c525c Merge branch 'renovate/gradleplugin' into 'develop'
Update dependency com.android.tools.build:gradle to v7.3.1

See merge request ultrasonic/ultrasonic!853
2022-10-18 15:32:37 +00:00
birdbird
8e5ea150fa Merge branch 'renovate/mockito-monorepo' into 'develop'
Update dependency org.mockito:mockito-inline to v4.8.1

See merge request ultrasonic/ultrasonic!856
2022-10-18 15:32:24 +00:00
birdbird
454f67e710 Merge branch 'renovate/kluent' into 'develop'
Update kluent to v1.70

See merge request ultrasonic/ultrasonic!855
2022-10-18 15:32:12 +00:00
birdbird
cc0236bc57 Merge branch 'cleanupRoutines' into 'develop'
Bunch of fixes 💐

Closes #788

See merge request ultrasonic/ultrasonic!849
2022-10-18 15:28:37 +00:00
birdbird
548ecc6517 Bunch of fixes 💐 2022-10-18 15:28:37 +00:00
tzugen
f47a9c0861
Reduce min size slightly 2022-10-18 17:22:25 +02:00
Renovate Bot
d159d728d6 Update dependency org.mockito:mockito-inline to v4.8.1 2022-10-17 21:32:47 +00:00
Renovate Bot
2c3ea8fa7a Update kluent to v1.70 2022-10-16 12:32:47 +00:00
Renovate Bot
d6509d3238 Update dependency com.android.tools.build:gradle to v7.3.1 2022-10-13 16:32:49 +00:00
Óscar García Amor
5222e952aa
Bump version to 4.1.2 2022-10-13 13:08:48 +02:00
Óscar García Amor
3336f23409
Update translations 2022-10-13 12:58:21 +02:00
birdbird
4b35a4bcbf Merge branch 'fixCrashes' into 'develop'
Fix crashes

Closes #832 and #823

See merge request ultrasonic/ultrasonic!851
2022-10-12 11:48:49 +00:00
birdbird
f8f888ccad Fix crashes 2022-10-12 11:48:49 +00:00
Nite
6f54e99409 Merge branch 'stripAccents' into 'develop'
Stripaccents

Closes #816

See merge request ultrasonic/ultrasonic!845
2022-10-04 16:14:08 +00:00
Óscar García Amor
28f8b8ff93
Bump version to 4.1.1 2022-10-04 12:16:43 +02:00
Óscar García Amor
81e74a39f4
Update translations 2022-10-04 12:07:37 +02:00
birdbird
c93ef240b4 Merge branch 'fixDownload' into 'develop'
Fix Download bug in Custom Locations

See merge request ultrasonic/ultrasonic!847
2022-10-04 09:29:10 +00:00
tzugen
ec49fae666
Fix it properly 2022-10-04 11:21:25 +02:00
tzugen
7505166283
Revert a buggy change from 2b7a3b0488d203b417aee08a44415c046b89c594. 2022-10-04 11:20:59 +02:00
birdbird
b8c1432a08 Merge branch 'cleanSSL' into 'develop'
Cleanup SSL handling

See merge request ultrasonic/ultrasonic!846
2022-10-04 07:30:44 +00:00
birdbird
a474b95632 Cleanup SSL handling 2022-10-04 07:30:44 +00:00
birdbird
1f387e6da7 Merge branch 'cleanup' into 'develop'
Cleanup

See merge request ultrasonic/ultrasonic!844
2022-10-03 16:16:09 +00:00
tzugen
625bb670fe
Stripaccents 2022-10-03 18:05:36 +02:00
tzugen
0169a02e4c
Cleanup 2022-10-03 16:28:45 +02:00
birdbird
c2a249f00e Merge branch 'renovate/robolectric' into 'develop'
Update dependency org.robolectric:robolectric to v4.9

See merge request ultrasonic/ultrasonic!842
2022-10-03 13:39:47 +00:00
birdbird
9c8eb37dff Merge branch 'renovate/kotlin' into 'develop'
Update kotlin to v1.7.20

See merge request ultrasonic/ultrasonic!841
2022-10-03 13:39:35 +00:00
birdbird
f997a57d38 Merge branch 'renovate/mockito-monorepo' into 'develop'
Update mockito monorepo to v4.8.0

See merge request ultrasonic/ultrasonic!835
2022-10-03 13:39:22 +00:00
birdbird
fd096212ee Merge branch 'refactor_widget' into 'develop'
Updated widget handling and layouts, add Day&Night theme

See merge request ultrasonic/ultrasonic!820
2022-10-03 13:39:10 +00:00
Nite
c831bea22d Updated widget handling and layouts, add Day&Night theme 2022-10-03 13:39:09 +00:00
Óscar García Amor
395b335d42
Bump version to 4.1.0 2022-10-03 10:43:25 +02:00
Óscar García Amor
ba4ed75be8
Update translations 2022-10-03 09:20:05 +02:00
Renovate Bot
8d2d1610dd Update mockito monorepo to v4.8.0 2022-10-01 12:32:57 +00:00
Renovate Bot
605e035337 Update dependency org.robolectric:robolectric to v4.9 2022-10-01 12:32:54 +00:00
Renovate Bot
13b61e4fae Update kotlin to v1.7.20 2022-10-01 12:32:46 +00:00
birdbird
f83d3fa421 Merge branch 'fix_format' into 'develop'
Fix format

See merge request ultrasonic/ultrasonic!843
2022-10-01 11:42:55 +00:00
birdbird
705771b4ee Fix format 2022-10-01 11:42:55 +00:00
birdbird
4ca01d3afc Merge branch 'formatting' into 'develop'
Formatting

See merge request ultrasonic/ultrasonic!840
2022-09-24 20:59:08 +00:00
birdbird
54659033d3 Formatting 2022-09-24 20:59:08 +00:00
birdbird
7e015add6e Merge branch 'renovate/detekt' into 'develop'
Update dependency io.gitlab.arturbosch.detekt:detekt-gradle-plugin to v1.21.0

See merge request ultrasonic/ultrasonic!832
2022-09-24 20:44:49 +00:00
birdbird
69a4d71445 Merge branch 'renovate/detekt' into 'develop'
Update dependency io.gitlab.arturbosch.detekt:detekt-gradle-plugin to v1.21.0

See merge request ultrasonic/ultrasonic!832
2022-09-24 20:43:57 +00:00
birdbird
f344ced2d6 Merge branch 'renovate/koin' into 'develop'
Update koin to v3.2.2

See merge request ultrasonic/ultrasonic!825
2022-09-24 20:43:43 +00:00
birdbird
cb3f157e13 Merge branch 'fix_serverchange' into 'develop'
Fixed server change

Closes #817

See merge request ultrasonic/ultrasonic!838
2022-09-24 20:43:19 +00:00
Nite
c294c446a3 Fixed server change 2022-09-24 20:43:18 +00:00
Renovate Bot
a113c749bb Update dependency io.gitlab.arturbosch.detekt:detekt-gradle-plugin to v1.21.0 2022-09-24 14:32:47 +00:00
Renovate Bot
d16a4053d6 Update koin to v3.2.2 2022-09-24 14:32:44 +00:00
birdbird
972d81ae53 Update renovate.json 2022-09-24 14:27:12 +00:00
birdbird
8637ccb7d9 Merge branch 'renovate/major-ktlintgradle' into 'develop'
Update dependency org.jlleitschuh.gradle:ktlint-gradle to v11

See merge request ultrasonic/ultrasonic!837
2022-09-24 14:02:54 +00:00
birdbird
e822910052 Merge branch 'renovate/androidsupport' into 'develop'
Update dependency androidx.annotation:annotation to v1.5.0

See merge request ultrasonic/ultrasonic!839
2022-09-24 14:02:39 +00:00
birdbird
7a5b0b19cb Merge branch 'renovate/navigation' into 'develop'
Update navigation to v2.5.2

See merge request ultrasonic/ultrasonic!826
2022-09-24 14:02:24 +00:00
birdbird
f7b154f779 Merge branch 'renovate/major-timber' into 'develop'
Update dependency com.jakewharton.timber:timber to v5

See merge request ultrasonic/ultrasonic!836
2022-09-24 14:01:40 +00:00
birdbird
943496e65f Merge branch 'renovate/kotlinxguava' into 'develop'
Update dependency org.jetbrains.kotlinx:kotlinx-coroutines-guava to v1.6.4

See merge request ultrasonic/ultrasonic!824
2022-09-24 13:59:43 +00:00
Renovate Bot
2b7a3b0488 Update dependency org.jetbrains.kotlinx:kotlinx-coroutines-guava to v1.6.4 2022-09-24 13:59:43 +00:00
Renovate Bot
2a9360680f Update dependency androidx.annotation:annotation to v1.5.0 2022-09-24 08:32:59 +00:00
Renovate Bot
8f57ee8927 Update navigation to v2.5.2 2022-09-24 08:32:57 +00:00
birdbird
008a07b438 Merge branch 'renovate/androidxcore' into 'develop'
Update dependency androidx.core:core-ktx to v1.9.0

See merge request ultrasonic/ultrasonic!829
2022-09-24 08:08:10 +00:00
Renovate Bot
d5bb78cec1 Update dependency androidx.core:core-ktx to v1.9.0 2022-09-24 08:08:10 +00:00
Renovate Bot
0ff9f1d084 Update dependency org.jlleitschuh.gradle:ktlint-gradle to v11 2022-09-21 15:33:21 +00:00
Renovate Bot
62e93530f3 Update dependency com.jakewharton.timber:timber to v5 2022-09-21 15:33:18 +00:00
birdbird
3e5ed0ab89 Merge branch 'renovate/cimg-python-3.x' into 'develop'
Update cimg/python Docker tag to v3.10

See merge request ultrasonic/ultrasonic!828
2022-09-21 15:23:43 +00:00
birdbird
e112b27cac Merge branch 'renovate/ktlintgradle' into 'develop'
Update dependency org.jlleitschuh.gradle:ktlint-gradle to v10.3.0

See merge request ultrasonic/ultrasonic!833
2022-09-21 15:22:47 +00:00
birdbird
3051cd0d29 Merge branch 'renovate/junit5-monorepo' into 'develop'
Update dependency org.junit.vintage:junit-vintage-engine to v5.9.1

See merge request ultrasonic/ultrasonic!834
2022-09-21 08:08:24 +00:00
Renovate Bot
3c80e8d6cc Update dependency org.junit.vintage:junit-vintage-engine to v5.9.1 2022-09-20 20:32:55 +00:00
Nite
97ebed3d7a Merge branch 'refactor_downloader' into 'develop'
Refactor DownloadService

Closes #815 and #790

See merge request ultrasonic/ultrasonic!814
2022-09-20 20:07:00 +00:00
Nite
2b5c777bd2 Refactor DownloadService 2022-09-20 20:07:00 +00:00
Renovate Bot
969c656b1f Update dependency org.jlleitschuh.gradle:ktlint-gradle to v10.3.0 2022-09-20 19:33:07 +00:00
birdbird
c859bf7d29 Merge branch 'renovate/cimg-android-2022.x' into 'develop'
Update cimg/android Docker tag to v2022.09.2

See merge request ultrasonic/ultrasonic!827
2022-09-20 19:02:31 +00:00
Nite
700cbbec4e Merge branch 'fix_itemtouchhelper' into 'develop'
Fix ItemTouchHelper usage in the PlayerFragment

Closes #809

See merge request ultrasonic/ultrasonic!815
2022-09-20 17:51:54 +00:00
Nite
bcf56375c6 Fix ItemTouchHelper usage in the PlayerFragment 2022-09-20 17:51:53 +00:00
Renovate Bot
e7379c8bf8 Update cimg/python Docker tag to v3.10 2022-09-20 12:33:08 +00:00
Renovate Bot
a9f8ad0bc0 Update cimg/android Docker tag to v2022.09.2 2022-09-20 12:33:06 +00:00
Óscar García Amor
acb25c06e3 Fix extends in renovate.json 2022-09-20 10:39:59 +00:00
Renovate Bot
ce83758418 Merge branch 'renovate/jackson' into 'develop'
fix(deps): update dependency com.fasterxml.jackson.module:jackson-module-kotlin to v2.13.4

See merge request ultrasonic/ultrasonic!822
2022-09-20 10:33:39 +00:00
Renovate Bot
d37c615492 fix(deps): update dependency com.fasterxml.jackson.module:jackson-module-kotlin to v2.13.4 2022-09-20 10:22:01 +00:00
Óscar García Amor
9970c97b59 Add minimal renovate.json 2022-09-20 10:19:07 +00:00
birdbird
9cbdb88b54 Merge branch 'PerformanceFixes' into 'develop'
Fix swap, remove dupe ALPHA const

See merge request ultrasonic/ultrasonic!819
2022-09-18 17:17:17 +00:00
birdbird
ad72edf836 Fix swap, remove dupe ALPHA const 2022-09-18 17:17:17 +00:00
birdbird
2ef7c651d2 Merge branch 'PerformanceFixes' into 'develop'
Performance fixes

See merge request ultrasonic/ultrasonic!818
2022-09-18 16:15:10 +00:00
birdbird
8ebc0c67f9 Performance fixes 2022-09-18 16:15:10 +00:00
Nite
6addee8068 Merge branch 'typography' into 'develop'
Use material typography, cleanup themes

See merge request ultrasonic/ultrasonic!816
2022-09-18 08:12:37 +00:00
birdbird
9f0d8a63d9 Use material typography, cleanup themes 2022-09-18 08:12:37 +00:00
birdbird
f95d603369 Merge branch 'themed-icons' into 'develop'
Add monochrome icon

See merge request ultrasonic/ultrasonic!817
2022-09-17 19:46:19 +00:00
Sandelinos
86bb9b0588 Add monochrome icon 2022-09-17 19:46:19 +00:00
Nite
8a093befbf Merge branch 'fix_jukebox' into 'develop'
Fix Jukebox handling

Closes #798

See merge request ultrasonic/ultrasonic!813
2022-09-16 16:14:33 +00:00
Nite
ce1534d00c Fix Jukebox handling 2022-09-16 16:14:32 +00:00
birdbird
43891f72a2 Merge branch 'pref' into 'develop'
Fix ListPreference lookups

Closes #799

See merge request ultrasonic/ultrasonic!808
2022-09-15 18:52:48 +00:00
birdbird
32ab251081 Fix ListPreference lookups 2022-09-15 18:52:48 +00:00
Nite
37c92a5608 Merge branch 'fix_scrobble' into 'develop'
Fixed scrobbling

Closes #801

See merge request ultrasonic/ultrasonic!812
2022-08-30 15:15:58 +00:00
Nite
8e4bf0fce0 Merge branch 'update_libs' into 'develop'
Updated versions of the used libraries

See merge request ultrasonic/ultrasonic!811
2022-08-30 14:46:09 +00:00
Nite
74bf995ed6
Fixed scrobbling 2022-08-30 16:20:05 +02:00
Nite
61955cb2ea
Updated versions of the used libraries 2022-08-30 09:42:21 +02:00
birdbird
e16f964238 Merge branch 'ldap' into 'develop'
Reword the force plain text password setting

See merge request ultrasonic/ultrasonic!810
2022-08-24 20:32:50 +00:00
birdbird
636b9c6737 Reword the force plain text password setting 2022-08-24 20:32:50 +00:00
birdbird
bf9ee81d55 Merge branch 'm3' into 'develop'
Make the app more material

See merge request ultrasonic/ultrasonic!807
2022-08-24 11:57:26 +00:00
Óscar García Amor
4d67899c35 Make the app more material 2022-08-24 11:57:26 +00:00
birdbird
e1927cda44 Merge branch 'jetifier' into 'develop'
Disable jetifier, update Picasso

See merge request ultrasonic/ultrasonic!809
2022-08-19 06:21:39 +00:00
Nite
fa688b0a3e Merge branch 'track_states' into 'develop'
Updated track state display to use spinner

See merge request ultrasonic/ultrasonic!803
2022-08-18 14:44:49 +00:00
Nite
2118837210 Updated track state display to use spinner 2022-08-18 14:44:49 +00:00
tzugen
15a382904a
Disable jetifier, update Picasso 2022-08-18 15:39:44 +02:00
birdbird
1a354765f9 Merge branch 'safeArgs2' into 'develop'
Finish SafeArgs

Closes #510

See merge request ultrasonic/ultrasonic!802
2022-08-18 13:20:07 +00:00
birdbird
592191f18d Finish SafeArgs 2022-08-18 13:20:06 +00:00
birdbird
9d9177f274 Merge branch 'eq' into 'develop'
Modernize EQ

Closes #794

See merge request ultrasonic/ultrasonic!806
2022-08-13 06:51:10 +00:00
birdbird
e1741e9a83 Modernize EQ 2022-08-13 06:51:10 +00:00
birdbird
8c15b0394a Merge branch 'allowBackups' into 'develop'
Allow Backups

Closes #795

See merge request ultrasonic/ultrasonic!805
2022-08-11 11:29:33 +00:00
tzugen
a83ca334b6
Allow Backups 2022-08-11 08:19:18 +02:00
birdbird
6e9ae10e15 Merge branch 'cleanVisual' into 'develop'
RM Visualizer

See merge request ultrasonic/ultrasonic!804
2022-08-10 10:41:54 +00:00
birdbird
7256cc7d12 RM Visualizer 2022-08-10 10:41:53 +00:00
Óscar García Amor
9cb77c0e67
Bump version to 4.0.0 2022-08-09 10:18:21 +02:00
Óscar García Amor
c7f1eddbbc
Update translations 2022-08-09 10:18:21 +02:00
Óscar García Amor
d2254daa6d Merge branch 'server-buttons-margin' into 'develop'
Add margin to buttons on server edit

See merge request ultrasonic/ultrasonic!801
2022-08-08 16:35:59 +00:00
Óscar García Amor
2888b4d22c Add margin to buttons on server edit 2022-08-08 16:35:58 +00:00
birdbird
fbda2980a5 Merge branch 'fix_download_status' into 'develop'
Fixed updating button states in TrackCollectionFragment according to track states

Closes #787 and #785

See merge request ultrasonic/ultrasonic!800
2022-08-08 14:01:43 +00:00
Nite
f6f524f5a9 Fixed updating button states in TrackCollectionFragment according to track states 2022-08-08 14:01:43 +00:00
Nite
4be7769cb5 Merge branch 'ready/safearg-2' into 'develop'
Migrate to use SafeArgs

See merge request ultrasonic/ultrasonic!797
2022-08-04 12:35:53 +00:00
birdbird
a4919ef6e9 Migrate to use SafeArgs 2022-08-04 12:35:53 +00:00
Nite
f7b50d072d Merge branch 'beta2' into 'develop'
Upgrade to Media3 Beta2

See merge request ultrasonic/ultrasonic!799
2022-08-03 16:02:44 +00:00
birdbird
23e5847073 Upgrade to Media3 Beta2 2022-08-03 16:02:44 +00:00
Nite
d32cd66ce4 Merge branch 'dontClearPlaylist' into 'develop'
Dont clear playlist

See merge request ultrasonic/ultrasonic!796
2022-08-01 15:00:39 +00:00
birdbird
bdcf385b26 Dont clear playlist 2022-08-01 15:00:39 +00:00
birdbird
6f6d9fd839 Merge branch 'cacheFix' into 'develop'
Cache fix

See merge request ultrasonic/ultrasonic!798
2022-07-31 22:34:12 +00:00
birdbird
55969d15b8 Cache fix 2022-07-31 22:34:12 +00:00
birdbird
7bc6adb3f5 Merge branch 'moreOfflineAlbums' into 'develop'
Use AlbumType class instead of string, enable more Album types in Offline mode

See merge request ultrasonic/ultrasonic!795
2022-07-30 16:25:40 +00:00
tzugen
447ab96c7b
Use AlbumType class instead of string, enable more Album types in Offline mode 2022-07-30 18:20:32 +02:00
birdbird
f86f0dfa96 Merge branch 'albumKey' into 'develop'
Make sure that Album has set the correct path when being stored in OfflineDB.

See merge request ultrasonic/ultrasonic!794
2022-07-30 16:13:45 +00:00
birdbird
518af5f685 Make sure that Album has set the correct path when being stored in OfflineDB. 2022-07-30 16:13:45 +00:00
birdbird
2c25941410 Merge branch 'clickTarget' into 'develop'
Add AlbumCover as click target

See merge request ultrasonic/ultrasonic!793
2022-07-30 13:01:29 +00:00
tzugen
6b57bfd4d4
Add AlbumCover as click target 2022-07-30 14:55:18 +02:00
birdbird
782463e4d4 Merge branch 'deprec' into 'develop'
Take care of deprecation

See merge request ultrasonic/ultrasonic!792
2022-07-30 06:25:14 +00:00
tzugen
755c83a6cb
Take care of deprecation 2022-07-29 20:31:31 +02:00
birdbird
d33bfdf28e Merge branch 'FixAndroidAuto' into 'develop'
Fixed retrieving MediaItems with the AutoMediaBrowser

Closes #756

See merge request ultrasonic/ultrasonic!790
2022-07-29 17:59:34 +00:00
Nite
413626ac5c Fixed retrieving MediaItems with the AutoMediaBrowser 2022-07-29 17:59:34 +00:00
Nite
f6a270c1e8 Merge branch 'disable_http2' into 'develop'
Disabled Http2 in OkHttp

See merge request ultrasonic/ultrasonic!791
2022-07-29 13:40:41 +00:00
Nite
d7e938ac36
Disabled Http2 in OkHttp 2022-07-29 15:25:24 +02:00
Óscar García Amor
8d0ff385af [skip ci] Add missing step to check in MR 2022-07-24 17:57:08 +00:00
Óscar García Amor
1c9b38af47 [skip ci] Remove GitHub reference 2022-07-24 17:50:41 +00:00
Óscar García Amor
da35e60d77
[skip ci] Add a MR template that remembers contribution steps 2022-07-20 10:27:30 +02:00
Óscar García Amor
f6ed5a4ff8
Remember to contributors that should use their own branches
[skip ci] To avoid that when an unauthenticated user sends us a merge
request we have to manually select the pipeline stages to be executed or
not, we remind them to create their own branches.
2022-07-15 09:51:01 +02:00
birdbird
d6c8e05d4c Merge branch 'develop' into 'develop'
added confirmation for Unpin/Deletion

See merge request ultrasonic/ultrasonic!787
2022-07-14 13:45:34 +00:00
l0l67
d91d908cbb added confirmation for Unpin/Deletion 2022-07-14 13:45:33 +00:00
birdbird
74ddd7be3e Merge branch 'seek' into 'develop'
Some more polishes

See merge request ultrasonic/ultrasonic!789
2022-07-14 09:08:02 +00:00
birdbird
9402e69033 Some more polishes 2022-07-14 09:08:02 +00:00
Óscar García Amor
f8b66c97d7 Run Check and Assemble CI stages in any forked branch 2022-07-13 07:42:14 +00:00
birdbird
63a52e5aa6 Correct delete button 2022-07-12 19:28:39 +00:00
birdbird
34c2fbc5dd Merge branch 'refactor' into 'develop'
Refactor use of attrs to tint images

See merge request ultrasonic/ultrasonic!788
2022-07-12 13:00:03 +00:00
birdbird
9bf6cabfbc Refactor use of attrs to tint images 2022-07-12 13:00:03 +00:00
Óscar García Amor
9c637e6f69 Don't try run steps that require passwords in forks 2022-07-11 18:22:03 +00:00
birdbird
cfe16356c9 Merge branch 'apo' into 'develop'
Use string references for the setting keys. Also make parallel downloads configurable

See merge request ultrasonic/ultrasonic!785
2022-07-11 08:53:41 +00:00
birdbird
0c64bd51a6 Use string references for the setting keys. Also make parallel downloads configurable 2022-07-11 08:53:41 +00:00
birdbird
fbeacf0246 Merge branch 'move' into 'develop'
Move PlaybackState to Kotlin directory

See merge request ultrasonic/ultrasonic!784
2022-07-10 11:02:21 +00:00
tzugen
cb0462ed33
Move PlaybackState to Kotlin directory 2022-07-10 12:51:32 +02:00
birdbird
86d764a46a Merge branch 'ui' into 'develop'
Use fill_parent in landscape view

See merge request ultrasonic/ultrasonic!783
2022-07-10 10:44:40 +00:00
birdbird
052a84226c Use fill_parent in landscape view 2022-07-10 10:44:25 +00:00
birdbird
84025e8384 Merge branch 'lifecycle' into 'develop'
Cleanup lifecycle handling, fix #776

Closes #776

See merge request ultrasonic/ultrasonic!782
2022-07-10 10:41:47 +00:00
tzugen
0f9bc690f3
Cleanup lifecycle handling, fix #776 2022-07-09 20:09:36 +02:00
tzugen
3232658dec Merge branch 'albumart' into 'develop'
Add artwork URI to metadata

Closes #768

See merge request ultrasonic/ultrasonic!774
2022-07-09 17:04:30 +00:00
Óscar
c64e745c7a Merge branch 'improve-ci' into 'develop'
Improve CI times using CircleCI for regular commits

Closes #774

See merge request ultrasonic/ultrasonic!781
2022-07-09 12:37:37 +00:00
tzugen
8ecf7f468e Merge branch 'save-shuffle' into 'develop'
Save shuffle

See merge request ultrasonic/ultrasonic!777
2022-07-09 12:30:51 +00:00
tzugen
6fbf660e14 Save shuffle 2022-07-09 12:30:50 +00:00
Óscar García Amor
37b08d18a4
Improve CI times using CircleCI for regular commits 2022-07-09 14:25:41 +02:00
tzugen
7d5b29b49e
Simplify 2022-07-09 12:44:19 +02:00
tzugen
0ce65d36d1
Implement basic bitmap loader 2022-07-09 12:44:19 +02:00
tzugen
4413a31213
Formatting 2022-07-09 12:44:19 +02:00
tzugen
7ec36096ef
Make some methods non-nullable 2022-07-09 12:44:19 +02:00
tzugen
08f8b03680
Add artwork URI to metadata 2022-07-09 12:44:19 +02:00
tzugen
8b080d1062 Merge branch 'cache2' into 'develop'
Try to cache docker image2

See merge request ultrasonic/ultrasonic!780
2022-07-09 06:10:56 +00:00
tzugen
28063f5584 Try to cache docker image2 2022-07-09 05:58:06 +00:00
tzugen
a9aa931f60 Merge branch 'dhdhd' into 'develop'
Update .gitlab-ci.yml file

See merge request ultrasonic/ultrasonic!778
2022-07-08 13:32:35 +00:00
tzugen
9741131ca6 Update .gitlab-ci.yml file 2022-07-08 13:31:56 +00:00
Óscar
59bc89fd53 Update .gitlab-ci.yml file 2022-07-08 11:04:08 +00:00
Óscar
78b6069fcc Merge branch 'gitlab' into 'develop'
Migrate to GitLab

See merge request ultrasonic/ultrasonic!776
2022-07-08 10:32:57 +00:00
Óscar García Amor
4f2211dab8
Migrate to GitLab 2022-07-08 12:03:47 +02:00
birdbird
695b2df63f
Merge pull request #750 from ultrasonic/offline/trackDao
Finish offline ID3 support
2022-07-08 09:20:40 +02:00
tzugen
798d795e81
Add Album list support in Offline 2022-07-07 19:20:40 +02:00
tzugen
ecfce59e0f
Add clearer warning to ID3 offline setting 2022-07-07 18:53:36 +02:00
tzugen
de0cb7713b
Improve offline support for Compilations 2022-07-06 15:35:34 +02:00
tzugen
78bfab3753
Conditionally hide offline Id3 Setting 2022-07-06 12:26:48 +02:00
tzugen
b955d77152
Make Id3 offline dependent on Id3 2022-07-06 11:16:53 +02:00
tzugen
b11694d6a2
Fix logic whether to showArtistPicture 2022-07-06 11:16:52 +02:00
tzugen
31a1fdace1
Formatting 2022-07-06 11:16:52 +02:00
tzugen
5b03b632fd
Fix three tests. 2022-07-06 11:16:52 +02:00
tzugen
152b1d261a
Fix two tests. 2022-07-06 11:16:52 +02:00
tzugen
53a1a5545a
Formatting.
Disable line length check in detekt. It's being guarded by KtLint already.
2022-07-06 11:16:52 +02:00
tzugen
ad54db5bcb
Make Ids composite of Item Id + Server Id 2022-07-06 11:16:52 +02:00
tzugen
177329abcf
Add Migration 2022-07-06 11:16:52 +02:00
tzugen
241e51015f
Clean & formatting
Update room 2.4.0 -> 2.4.2
2022-07-06 11:16:52 +02:00
tzugen
60dbe70ca5
Add code to Downloader 2022-07-06 11:16:52 +02:00
tzugen
8490f7115d
Add Offline support for tracks 2022-07-06 11:16:52 +02:00
tzugen
ee67f4c744
Add track Dao 2022-07-06 11:16:52 +02:00
tzugen
3a3bd10fdb
Add AlbumDao, rename getArtist to getAlbumsOfArtist 2022-07-06 11:16:52 +02:00
birdbird
3445576dc9
Merge pull request #775 from ultrasonic/seekBar
Add more values to preload count
2022-07-06 10:46:56 +02:00
tzugen
8c40f662a1
Add more values to preload count 2022-07-06 08:49:29 +02:00
birdbird
6c6227ce41
Merge pull request #770 from Maxmystere/notification/add-rating
Add song rating to notification
2022-07-05 19:31:18 +02:00
tzugen
240a2fa8f6
Fix a bug that the musicService was incorrectly cached... 2022-07-05 19:21:07 +02:00
tzugen
7de775dc26
Formatting 2022-07-05 18:38:26 +02:00
birdbird
d034fc9c71
Update AutoMediaBrowserCallback.kt 2022-07-05 18:34:24 +02:00
birdbird
05ada9297d
Update MediaNotificationProvider.kt 2022-07-05 18:18:02 +02:00
Maxence G
aa6c037b20
Remove useless request 2022-07-04 18:55:07 +02:00
Maxence G
b8c924be27
MainThreadExecutor to Kotlin 2022-07-04 18:42:14 +02:00
Maxence G
0929a6a1bd
Lint 2022-07-03 18:40:58 +02:00
Maxence G
fefee74a66
Use MainThreadExecutor 2022-07-03 18:38:29 +02:00
Maxence G
37e3ce09c1
Update notification on Rating change 2022-07-03 18:23:22 +02:00
Maxence G
16b3fcad32
Final lint 2022-07-02 21:58:45 +02:00
Maxence G
d6aebd9989
Lint 2022-07-02 21:51:28 +02:00
Maxence G
3f408600cb
Add const for custom SessionCommands
Improve rating call
2022-07-02 21:47:32 +02:00
Maxence G
9014b47b74
Add song rating to notification 2022-07-02 01:27:12 +02:00
tzugen
ac489ae8b9
Merge pull request #764 from ultrasonic/hmpr
Merge update build tools #755 by Holger Müller
2022-06-22 13:40:15 +02:00
tzugen
e7f8fa21cb
Merge update build tools #755 by Holger Müller
Squashed commit of the following:

commit 4491c65b1bfa8f507e9c998878254d61bc52f962
Merge: 51ff716f 77865a14
Author: tzugen <67737443+tzugen@users.noreply.github.com>
Date:   Tue Jun 21 20:50:05 2022 +0200

    Merge branch 'develop' into gradle-update

commit 51ff716ff5fc8aeb29bc557844747c0127ab1f78
Author: Holger Müller <github@euhm.de>
Date:   Tue Jun 21 20:38:52 2022 +0200

    fixed lint warning

commit 18c31a5704e7d92a04009e2f3ed8f8b9ca28b577
Author: Holger Müller <github@euhm.de>
Date:   Tue Jun 21 20:38:35 2022 +0200

    fixed lint warning

commit 603654c262ed86a66b4127513764cd252cdedfff
Author: Holger Müller <github@euhm.de>
Date:   Tue Jun 21 20:37:51 2022 +0200

    API is > lollipop ... target removed

commit b38a7211de0f206465640d39f8f3189695afbd38
Author: Holger Müller <github@euhm.de>
Date:   Tue Jun 21 20:37:07 2022 +0200

    new created after fixes

commit 4929a526f7e9154755cae2c16fdf431550ae2c2a
Author: tzugen <tzugen@riseup.net>
Date:   Tue Jun 21 10:43:16 2022 +0200

    Disable ObsoleteLintCustomCheck

commit d0c30f0b6b1d4de2f3c46a166a4f1058223ad3a8
Author: tzugen <tzugen@riseup.net>
Date:   Tue Jun 21 10:14:06 2022 +0200

    Update more libs

commit e2fa447bbfbd19119393297c19de0f3237e1ccd3
Merge: d4ead495 ff9c7b24
Author: tzugen <67737443+tzugen@users.noreply.github.com>
Date:   Tue Jun 21 09:47:03 2022 +0200

    Merge branch 'develop' into gradle-update

commit d4ead49548d11f51dd9c29478972dcd4553d352a
Merge: 2dac6a7e 9a73d72f
Author: Holger Müller <github@euhm.de>
Date:   Tue Jun 21 08:50:42 2022 +0200

    merged with develop branch

commit 2dac6a7e01e4ce5dc619426553ea08743bd9524e
Author: Holger Müller <github@euhm.de>
Date:   Mon Jun 20 21:45:22 2022 +0200

    update to android image tag 2022.06.1

commit f3dc259c390c256a66f96c3f003e34daf0fdea14
Author: Holger Müller <github@euhm.de>
Date:   Mon Jun 20 20:56:37 2022 +0200

    rebuild lint-baseline.xml

commit c71bc1212a8570f8ee99a80926c7b3b6036c672f
Author: Holger Müller <github@euhm.de>
Date:   Mon Jun 20 20:55:00 2022 +0200

    removed unneeded cast

commit eca136dabedab838e8a02be1a6fd740c4d0934ec
Author: Holger Müller <github@euhm.de>
Date:   Fri Jun 17 23:58:37 2022 +0200

    commit signed

commit 540f47633485cddeb4e68626532e54707a66bab8
Author: Holger Müller <github@euhm.de>
Date:   Fri Jun 17 23:40:59 2022 +0200

    commit signed

    Signed-off-by: Holger Müller <github@euhm.de>

commit 986bd013a49afc56ff8992634f2ce126339eecfc
Author: Holger Müller <github@euhm.de>
Date:   Fri Jun 17 23:27:20 2022 +0200

    push to latest gradle version, set targetSdk to 33

Signed-off-by: tzugen <tzugen@riseup.net>
2022-06-22 13:35:19 +02:00
tzugen
b1c3cabfef
Update README.md (#766) 2022-06-21 22:23:10 +02:00
tzugen
77865a143d
Enable schema export (needed for AutoMigration generator) (#757)
* Enable schema export (needed for AutoMigration generator)
* Add Schema folder to GIT
2022-06-21 10:07:03 +02:00
Óscar García Amor
ff9c7b2435
Merge pull request #761 from ultrasonic/fix_#759
Fix #759 , a crash when the artist name was empty.
2022-06-21 08:52:54 +02:00
Óscar García Amor
737563bf6b
Merge branch 'develop' into fix_#759 2022-06-21 08:24:52 +02:00
tzugen
9a73d72fa4
Merge pull request #762 from ultrasonic/tzugen-patch-1
Update CONTRIBUTING.md
2022-06-21 06:38:35 +02:00
tzugen
98ce519014
Merge branch 'develop' into tzugen-patch-1 2022-06-20 23:05:21 +02:00
tzugen
83fc54d332
Merge pull request #758 from Maxmystere/media3-beta01
Upgrade to media3-beta01
2022-06-20 23:04:02 +02:00
Maxence G
a2b9c6b9a3
Final final version good v3.2 2022-06-20 19:54:26 +02:00
Maxence G
5ae56d26c5
Merge branch 'media3-beta01' of github.com:Maxmystere/ultrasonic into media3-beta01 2022-06-20 19:50:15 +02:00
Maxence G
4efb6dcb58
Up lint 2022-06-20 19:49:17 +02:00
tzugen
8a90e98989
Update CONTRIBUTING.md 2022-06-20 19:35:46 +02:00
tzugen
46a8f4640d
Fix #759 , a crash when the artist name was empty. 2022-06-20 10:12:45 +02:00
tzugen
ab41966943
Readd comment 2022-06-20 09:49:49 +02:00
tzugen
00d7ce326c
Rm comment 2022-06-20 09:48:28 +02:00
Maxence G
bc4b0aa832
final fix checkstyle v2 2022-06-19 23:51:18 +02:00
Maxence G
23fd336ffd
Fix lint 2022-06-19 23:46:01 +02:00
Maxence G
b57a973510
Fix static analysis 2022-06-19 23:29:07 +02:00
Maxence G
8796006ced
Fix checkstyle 2022-06-19 23:24:23 +02:00
Maxence G
545b65921e
Put Previous/Play/Next in compact notification 2022-06-19 19:43:55 +02:00
Maxence G
cf367ead92
Add back notification icon 2022-06-19 18:40:04 +02:00
Maxence G
9961213f09
Upgrade to media3-beta01 2022-06-19 18:21:33 +02:00
tzugen
5deb7d4d58
Merge pull request #749 from ultrasonic/ready/removeJacoco
Remove Jacoco, closes #751
2022-06-18 22:37:12 +02:00
tzugen
5f31eaaffe
Merge branch 'develop' into ready/removeJacoco 2022-06-18 15:36:46 +02:00
tzugen
cad6477cd9
Merge pull request #754 from hmueller01/target-sdk-31
Target sdk 31 into develop
2022-06-17 18:14:22 +02:00
tzugen
b440821ea8
Tweak backup rules 2022-06-17 13:36:41 +02:00
Holger Müller
8663b9d50e
Target SDK 31 2022-06-17 13:27:30 +02:00
Óscar García Amor
2bae243be0
Merge branch 'develop' into ready/removeJacoco 2022-06-17 10:29:46 +02:00
Óscar García Amor
139e810186
Include beta tags on builds 2022-06-17 09:46:37 +02:00
tzugen
66443ba018
Remove Jacoco 2022-06-16 16:40:59 +02:00
tzugen
f8b78a47d2
Merge pull request #748 from ultrasonic/tzugen-patch-1
Typo
2022-06-16 16:31:04 +02:00
tzugen
4cda114f4c
Typo 2022-06-16 16:22:37 +02:00
tzugen
d8b5b774ee
Merge pull request #726 from ultrasonic/media3-flat
Implement Media3
2022-06-16 13:47:36 +02:00
tzugen
b6730f5a93
Reset widget on manual exit as well. 2022-06-08 10:02:04 +02:00
tzugen
87c160610f
Clear widget when service is being shutdown 2022-06-08 09:17:14 +02:00
tzugen
70f8b75019
Completely stop and release the player on dismissing the app. 2022-06-07 16:18:26 +02:00
tzugen
147d7cd46e
Fix reappearing notification 2022-06-07 16:00:51 +02:00
tzugen
59e37e62a6
Call stopForeground(yes) 2022-06-07 13:30:33 +02:00
tzugen
1e571e165c
Don't ecit the process, and reinit Koin on resume 2022-06-06 22:12:16 +02:00
tzugen
5e0dd14c4f
Shutdown service on exit button press 2022-05-31 20:53:58 +02:00
tzugen
53ae0cd232
Update copyright 2022-05-31 10:18:23 +02:00
tzugen
608f86ac5f
Always call prepare before starting playback,
otherwise resuming playback is difficult when the session was dismissed...
2022-05-30 16:24:24 +02:00
tzugen
669b51c0d2
Merge remote-tracking branch 'origin/develop' into media3-flat 2022-05-30 16:11:59 +02:00
tzugen
6e1478d896
Pause playback when swiping away... 2022-05-30 16:10:54 +02:00
Nite
d9e4b8b3d3
Merge pull request #737 from i-do-cpp/develop
Support HTTP basic authentication
2022-05-17 17:49:07 +02:00
Nite
f790e29add
Fixed AndroidManifest to receive Bluetooth events
Set parallel downloads to 2 so the third thread can stream for playback
2022-05-10 18:15:37 +02:00
Nite
faf07f2887
Fixed not closed connection in CachedDataSource 2022-05-06 18:51:12 +02:00
i-do-cpp
057644f592
Support HTTP basic authentication 2022-05-05 20:41:04 +02:00
tzugen
926081f84c
Add exported attributes, fix lint 2022-05-04 11:59:48 +02:00
tzugen
4a00494647
Readd Headphone plug and Bluetooth listeners 2022-05-04 11:52:45 +02:00
Nite
34e0178db3
Fixed Lint errors 2022-05-02 20:47:38 +02:00
Nite
cbe3992b01
Fixed Notification Ids to be different for Downloader and Player
Fixed multiple start of periodic CheckDownloads
2022-05-02 20:46:01 +02:00
Nite
46846bd5c9
Incremented max playlist size
Fixed DownloadService start
Minor fixes
2022-04-24 08:44:36 +02:00
tzugen
707339b88b
Try to fix the mess :) 2022-04-22 21:03:57 +02:00
tzugen
827654c0c1
Create lock before launching the coroutine,
return always a copy of the list and not the real one.
2022-04-21 20:24:43 +02:00
tzugen
1d236aa6e3
RM unused PlayerState.kt 2022-04-21 14:52:11 +02:00
tzugen
9cdba9a27a
Ensure main thread usage in Rx subscription. 2022-04-21 14:42:24 +02:00
tzugen
7ba599f58c
Remove throttle again, causes calls from wrong thread... 2022-04-21 14:39:16 +02:00
tzugen
2e1e627b7a
- Set Wake mode flag according to Offline status
- Use Rx to trigger CheckDownloads()
- Fix #680 by listening to PositionDiscontinuity
- Throttle RxEvents
2022-04-21 10:45:37 +02:00
tzugen
d550eabf88
Always call prepare on adding items 2022-04-21 10:12:05 +02:00
tzugen
dda86b42c7
Fix prefs 2022-04-20 22:54:59 +02:00
tzugen
b6e890b26c
Cleanup 2022-04-20 22:07:50 +02:00
tzugen
c2ac1d436f
Use previous values for channel id 2022-04-20 21:56:30 +02:00
tzugen
2aaa3c2119
Fix de(serilization) 2022-04-20 21:40:22 +02:00
tzugen
5d4aff1f21
Cleanup restore 2022-04-20 20:58:10 +02:00
tzugen
6115ac995f
Remove legacyPlayerState 2022-04-20 20:58:10 +02:00
tzugen
647435fe55
launch restore on Main Thread 2022-04-20 20:57:51 +02:00
tzugen
81d24f6cbb
Cleanup MediaPlayerLifecycleSupport.kt 2022-04-20 17:06:30 +02:00
tzugen
69c78f4c37
Enable StrictMode logging, rm unused prefs 2022-04-20 13:15:22 +02:00
tzugen
3691428a68
Squashed commit of the following:
commit 7a8f20ade7d2522c1281b63a31c3e9630df12553
Author: Holger Müller <github@euhm.de>
Date:   Fri Apr 8 23:21:15 2022 +0200

    make build working with target sdk 31

commit 5890c32b7eb91621ce628ac6d900cb00a1481d71
Author: Holger Müller <github@euhm.de>
Date:   Fri Apr 8 22:57:23 2022 +0200

    make build working with target sdk 31

commit 1c7c4839b3eed5eef8298c2ddce22812e14d6329
Merge: 48b0cdea 92ef78a3
Author: Holger Müller <github@euhm.de>
Date:   Fri Apr 8 21:55:14 2022 +0200

    Merge remote-tracking branch 'upstream/media3-flat' into media3-flat

commit 48b0cdea83433cc29760972c522a497f812d6d30
Merge: 9101980c 3ca25ed1
Author: Holger Müller <github@euhm.de>
Date:   Fri Apr 8 19:58:55 2022 +0200

    Merge remote-tracking branch 'upstream/media3-flat' into media3-flat

commit 9101980cb6d8972ee6e49b58737b36c4ac36e495
Merge: 515690ab 97798446
Author: Holger Müller <github@euhm.de>
Date:   Fri Apr 8 17:07:54 2022 +0200

    Merge remote-tracking branch 'upstream/media3-flat' into media3-flat

commit 515690abaccd5405709b1fe877a9ef9c9bbf3e21
Author: Holger Müller <github@euhm.de>
Date:   Thu Apr 7 08:55:42 2022 +0200

    made button off mode better visible
2022-04-17 06:58:39 +02:00
tzugen
788538ee6a
Squashed commit of the following:
commit c7d9af4529bd9bfba49c46208819d7ef53542cd4
Author: Holger Müller <github@euhm.de>
Date:   Sat Apr 16 17:56:41 2022 +0200

    fixed CI failure

commit 59e18bc5c0264a4a41ead2d819142458c8053ee8
Author: Holger Müller <github@euhm.de>
Date:   Sat Apr 16 17:42:49 2022 +0200

    removed unused dataSourceFactory, commented debug output
2022-04-17 06:55:24 +02:00
tzugen
762aeec5d3
Cleanup 2022-04-16 21:20:10 +02:00
tzugen
a3a0c7f41d
Minor 2022-04-16 11:23:05 +02:00
tzugen
1564379bd1
Fix a bunch of problems with the DataSources 2022-04-16 00:04:52 +02:00
tzugen
7d33770fd6
Add some more logging calls 2022-04-12 17:12:17 +02:00
tzugen
728afad00c
Merge remote-tracking branch 'origin/develop' into media3-flat 2022-04-12 17:04:35 +02:00
Óscar García Amor
f121e297df
Fix publish github signed apk CI step (again) 2022-04-11 11:58:57 +02:00
Óscar García Amor
3f2cfb131a
Fix publish github signed apk CI step 2022-04-11 11:40:01 +02:00
Óscar García Amor
b8b4b81726
Fix sign release apk CI step 2022-04-11 11:27:02 +02:00
Óscar García Amor
383089a409
Improve CI pipeline 2022-04-11 11:07:29 +02:00
Óscar García Amor
8d8a5f05ea
Bump version to 3.2.0 2022-04-11 10:12:52 +02:00
Óscar García Amor
46a2e5d67b
Update translations 2022-04-11 09:50:17 +02:00
tzugen
92ef78a36a
Move alpha value to const val. 2022-04-08 21:28:14 +02:00
tzugen
e5021959c3
Fix a small bug in togglePlayPause() 2022-04-08 21:24:04 +02:00
tzugen
3ca25ed1c6
Rework ActiveServer handling.
Remove blocking call on setting the server.
Implement offline server display more cleanly.
Reconfigure the SourceFactory when the active server has changed
2022-04-08 18:08:56 +02:00
tzugen
6da83db9df
Set memory to 3.2g 2022-04-08 18:07:13 +02:00
tzugen
9779844620
Solve more simple... 2022-04-07 15:29:24 +02:00
tzugen
f936ad690c
Remove GC logging 2022-04-07 15:27:52 +02:00
tzugen
5230ce011d
Make full body logging an optional debug setting. 2022-04-07 15:15:08 +02:00
Holger Müller
a98c9e2ffd
fixed copy paste error with repeat button 2022-04-06 21:05:44 +02:00
tzugen
0128a8b29d
Fix memory settings 2022-04-06 21:00:27 +02:00
tzugen
41f5520f1f
Remove unused resources & update lint baseline 2022-04-05 22:52:02 +02:00
tzugen
fd34199c27
Remove unused resources 2022-04-05 22:45:51 +02:00
tzugen
bb77216eff
Format 2022-04-05 22:33:04 +02:00
tzugen
e1f4ee15d5
Fix Widget 2022-04-05 22:24:06 +02:00
tzugen
d0959ffcb5
AppWidget to Kotlin 2022-04-05 21:56:25 +02:00
tzugen
4c22c8b41b
Formating / detekt 2022-04-05 21:56:13 +02:00
tzugen
ba1a1c5538
Use grayed out shuffle and repeat buttons.
Fix removing and resorting playlist.
2022-04-05 21:41:27 +02:00
tzugen
7742f67796
Add pref switch for HW offload 2022-04-05 20:58:11 +02:00
tzugen
1a69507e34
Remove a bunch of now unused prefs 2022-04-05 10:21:46 +02:00
tzugen
46fb7664c3
Fix insertAfterCurrent, Fix getUri 2022-04-05 10:10:24 +02:00
tzugen
dd65a12b53
Migrate AutoMediaBrowser 2022-04-05 00:05:52 +02:00
tzugen
2f7f47783a
Enable HW playback for better performance 2022-04-05 00:05:52 +02:00
tzugen
b1c2d020b5
Fix a bug in MetadataParser (unrelated to media3) 2022-04-04 18:27:59 +02:00
tzugen
5dc9fda7a4
Detekt fixes 2022-04-04 18:18:52 +02:00
tzugen
1313fb6c0c
Split Cache into dedicated datasource 2022-04-04 17:59:12 +02:00
tzugen
5966dd7299
Remove gapless setting 2022-04-04 17:43:02 +02:00
tzugen
1703f02aad
Remove unused file 2022-04-04 00:01:26 +02:00
tzugen
922022ab03
Switch to Media3 2022-04-03 23:59:18 +02:00
tzugen
bfc11f9924
Don't manage ID manually, but use autoGenerate to ensure uniqueness
(across the lifetime of the db)
2022-04-03 23:54:52 +02:00
tzugen
e77b5abd3e
Merge pull request #719 from ultrasonic/AlbumTrackCachePrepare
Add migration path for coming DB change
2022-03-31 12:20:27 +02:00
tzugen
988bf62acf
try was missing a catch block. 2022-03-30 16:16:59 +02:00
tzugen
1a46f7e2c6
Make it clear which ID the OfflineServer has (-1)
Also provide migration path to future version
2022-03-28 23:57:37 +02:00
tzugen
1d88c585c4
Remove migration function from 2020.
All regular users will have run the migration by now.
2022-03-28 23:57:37 +02:00
tzugen
287169649a
Merge pull request #722 from ultrasonic/ready/OnlyRename
Cleanup terminology surrounding entry vs track vs song.
2022-03-28 23:56:22 +02:00
tzugen
020f67d5e6
Merge branch 'develop' into ready/OnlyRename 2022-03-28 23:06:21 +02:00
Óscar García Amor
fcc57ae316
[skip ci] Replace Airsonic with Airsonic-Advanced 2022-03-28 15:39:52 +02:00
tzugen
0fd17bfe8c
Merge pull request #721 from ultrasonic/ready/cleanupPref
Cleanup an unused preference
2022-03-28 13:20:20 +02:00
tzugen
0c016bff41
Remove unused strings 2022-03-27 20:14:18 +02:00
tzugen
12435ed9ec
Cleanup an unused preference 2022-03-27 20:09:49 +02:00
tzugen
c2226ba202
Fix older detekt issues in DownloadFile and regenerate Baselinefile 2022-03-27 16:40:09 +02:00
tzugen
892b441c0d
Move Track and Album to their own files 2022-03-27 16:39:35 +02:00
tzugen
e53da92dac
Unify terminology also by renaming DownloadFile.song -> DownloadFile.track 2022-03-27 16:39:35 +02:00
tzugen
2de59b2206
Rename MusicDirectory.Entry to Track to make more clear what it is 2022-03-27 16:39:35 +02:00
tzugen
34c13d7908
Merge pull request #711 from ultrasonic/shareStyles
Don't exclude the whole .idea folder
2022-03-27 15:41:14 +02:00
tzugen
88918bd839
Keep the whole .idea directory ignored. 2022-03-27 15:24:33 +02:00
tzugen
f49063664b
Add weak warning for code which is not formatted according to the official style guide.
This only run in newly added/modified files.
2022-03-27 15:22:43 +02:00
tzugen
126efd35c6
Include official kotlin code style 2022-03-27 15:22:43 +02:00
tzugen
a6a052781d
Don't exclude the whole .idea folder
https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
2022-03-27 15:22:43 +02:00
tzugen
107b01fd91
Merge pull request #710 from hmueller01/detailed-media-info
Add detailed song information to Now Playing
2022-03-23 13:06:22 +01:00
tzugen
d05ac1489e
Merge branch 'develop' into detailed-media-info 2022-03-23 11:48:04 +01:00
Holger Müller
fc94d28862
satisfy CI checker
Signed-off-by: Holger Müller <github@euhm.de>
2022-03-22 08:50:35 +01:00
Holger Müller
8bec74e66a
replaced visibility by isVisible thanks to @tzugen
Signed-off-by: Holger Müller <github@euhm.de>
2022-03-22 08:26:24 +01:00
Holger Müller
acf6c5a681
removed untranslatable string from all languages
Signed-off-by: Holger Müller <github@euhm.de>
2022-03-22 08:09:53 +01:00
tzugen
81a21ce8b7
Merge pull request #708 from hmueller01/config-text-update
updated settings.download_transition
2022-03-21 23:40:43 +01:00
Holger Müller
cf86101de2
updated settings.download_transition 2022-03-21 22:54:41 +01:00
Nite
5a44fcfe29
Merge pull request #713 from ultrasonic/update_circleci_img
Update CircleCi Image, it started to throw a warning:
2022-03-21 19:27:40 +01:00
Nite
2aa5174fbd
Merge branch 'develop' into update_circleci_img 2022-03-21 19:09:25 +01:00
Nite
cf7cef9831
Merge pull request #653 from ultrasonic/draft/okhttp
Update OkHttp to 4.9.1
2022-03-21 19:07:50 +01:00
Nite
423957d954
Merge branch 'develop' into draft/okhttp 2022-03-21 18:51:00 +01:00
Holger Müller
0944bd2217
removed unused import to satisfy CI checker
Signed-off-by: Holger Müller <github@euhm.de>
2022-03-21 18:43:10 +01:00
Holger Müller
7b750c692c
shorten onCurrentChanged() to 60 lines to not fail CI LongMethod
Signed-off-by: Holger Müller <github@euhm.de>
2022-03-21 18:38:27 +01:00
Holger Müller
c247e930c4
reworks requested by @ogarcia
Signed-off-by: Holger Müller <github@euhm.de>
2022-03-21 18:04:55 +01:00
tzugen
44d68a71da
Merge pull request #712 from ultrasonic/addLocaleChooser
Add locale chooser
2022-03-21 11:23:10 +01:00
tzugen
7a51c271ba
Merge branch 'develop' into addLocaleChooser 2022-03-21 10:00:28 +01:00
Óscar García Amor
4d91068535
Merge pull request #714 from ultrasonic/wordingAlert
Reword alert for better help
2022-03-21 09:56:25 +01:00
tzugen
fe3b713241
Tweak wording 2022-03-21 09:47:46 +01:00
Holger Müller
2f5704548c
implemented @tzugen way to show the song details
Signed-off-by: Holger Müller <github@euhm.de>
2022-03-20 22:05:59 +01:00
tzugen
17850980e1
Remove traditional german variant 2022-03-20 13:35:11 +01:00
tzugen
34d2b45d71
Add Res Config 2022-03-20 13:12:47 +01:00
tzugen
555ef5b7ff
Differentiate chinese variants 2022-03-20 13:10:40 +01:00
tzugen
c269243a0d
Complete traditional strings 2022-03-20 09:14:47 +01:00
tzugen
2d8b93301f
Add traditional german variant 2022-03-20 09:09:14 +01:00
tzugen
e4a41de3ef
Reword alert for better help 2022-03-20 07:57:50 +01:00
tzugen
f0447105d2
Fix methods in integration tests 2022-03-19 18:39:13 +01:00
tzugen
65c4f2b100
Update CircleCi Image, it started to throw a warning:
https://discuss.circleci.com/t/legacy-convenience-image-deprecation/41034
2022-03-19 17:44:12 +01:00
tzugen
f6f9683a9c
Migrate some old calls 2022-03-19 17:39:59 +01:00
tzugen
c2d62e8688
Disable language split in bundle 2022-03-19 17:36:46 +01:00
tzugen
e153565086
Update Okhttp, Jackson and retrofit 2022-03-19 17:07:16 +01:00
tzugen
f30a582c7b
Add locale chooser 2022-03-19 17:00:16 +01:00
Holger Müller
cc5f29ca98
fixed failed ultrasonic:ktlintMainSourceSetCheck
Signed-off-by: Holger Müller <github@euhm.de>
2022-03-19 14:51:39 +01:00
Holger Müller
8f18192c36
fixed failed ultrasonic:ktlintMainSourceSetCheck
Signed-off-by: Holger Müller <github@euhm.de>
2022-03-19 14:38:10 +01:00
Holger Müller
ae2055e324
add detailed song information to Now Playing
Signed-off-by: Holger Müller <github@euhm.de>
2022-03-18 20:46:38 +01:00
Nite
dee4675715
Merge pull request #706 from hmueller01/fix-debug-file-size2
fixed output of debug file size (in MB)
2022-03-15 12:26:46 +01:00
Nite
e8c31db90f
Merge branch 'develop' into fix-debug-file-size2 2022-03-15 11:33:44 +01:00
Nite
34fb63c783
Merge pull request #707 from nitehu/fix/search2-result-artist
Fixed Search result to return Artist correctly when ID3 tags are turned off
2022-03-15 11:32:55 +01:00
Nite
9ee03aae2f
Merge branch 'develop' into fix/search2-result-artist 2022-03-15 11:08:24 +01:00
Nite
ebfc06c423
Fixed tests 2022-03-15 10:52:22 +01:00
Nite
0587f4d837
Merge pull request #705 from hmueller01/strings-update
updated english language
2022-03-15 10:39:41 +01:00
Nite
6bfd06c6a0
Updated Search2 Artist result to use Index instead of Artist
(As needed for listing the Artist's albums afterwards)
2022-03-15 10:31:38 +01:00
Óscar García Amor
6442bae882
Merge branch 'develop' into strings-update 2022-03-15 09:15:40 +01:00
Nite
c81c685800
Merge pull request #699 from omgcem/fix-context-menu-track
Updated references to context_menu_track to correctly identify events
2022-03-15 09:11:27 +01:00
Holger Müller
5941e5ab87
fixed output of debug file size (in MB) 2022-03-12 15:40:21 +01:00
Holger Müller
cf52d76698
updated english language 2022-03-12 15:35:45 +01:00
Cem Eren
273ac8f9b8
Reused existing functions for track actions
Updated existing functions with additional parameter so they can be used
by context menu but added default value function so that existing calls
on buttons can remain without parameters being passed in.
2022-03-11 19:35:18 +01:00
Nite
465c211017
Merge branch 'develop' into fix-context-menu-track 2022-03-09 16:57:31 +01:00
Nite
4fbedc3d2b
Merge pull request #695 from ultrasonic/improve-template
Improve issue template adding server info
2022-03-09 16:56:55 +01:00
Cem Eren
0961f56a7d
Corrected style violation 2022-03-06 00:19:25 +01:00
Cem Eren
eb0fa67431
Updated references to context_menu_track to correctly identify events
Additionally updated event handler to correctly play, queue, pin and
download songs now that events are triggering correctly.
2022-03-05 00:10:20 +01:00
Óscar García Amor
3d65c0a90c
Improve issue template adding server info 2022-02-25 08:44:05 +01:00
Nite
7dd479c0d2
Merge pull request #691 from blastrock/fix-play-all
TrackCollectionFragment: fix play all button
2022-02-20 13:46:32 +01:00
Nite
b5bfd87fcc
Merge branch 'develop' into fix-play-all 2022-02-19 21:30:36 +01:00
Philippe Daouadi
d03b633eeb
TrackCollectionFragment: fix play all button
The button would not work because the entries are actually of the Album
type instead of Entry.

Signed-off-by: Philippe Daouadi <philippe@ud2.org>
2022-02-19 18:30:59 +01:00
Nite
4ee4b70e09
Merge pull request #692 from nitehu/hide-keyboard
Fixed Search and Edit Server to hide the keyboard when navigating away
2022-02-19 14:32:47 +01:00
Nite
8675f25668
Fixed Search and Edit Server to hide the keyboard when navigating away 2022-02-19 13:54:25 +01:00
Nite
00dc87d5df
Merge pull request #690 from nitehu/fix-about
Made About text scrollable, fixed title
2022-02-19 11:45:43 +01:00
Nite
b7d1e4acf6
Made About text scrollable, fixed title 2022-02-19 11:26:13 +01:00
Óscar García Amor
baa0c92c7a
Bump version to 3.1.1 2022-02-17 08:34:15 +01:00
Nite
7c9d51f758
Merge pull request #689 from nitehu/update-gradle
Updated Gradle to fix R8 bug with Kotlin 1.6
2022-02-16 19:20:11 +01:00
Nite
9bf7e99abd
Fixed Lint 2022-02-16 19:04:27 +01:00
Nite
b5e606455e
Updated Gradle to fix R8 bug with Kotlin 1.6 2022-02-16 18:33:07 +01:00
Óscar García Amor
e2ddb35ce3
Bump version to 3.1.0 2022-02-15 09:50:25 +01:00
Óscar García Amor
9581a17bd9
Update translations 2022-02-15 09:17:08 +01:00
Óscar García Amor
3fbf47dedf
Mark URL strings from about screen as not translatable 2022-02-15 08:42:39 +01:00
Óscar García Amor
87aea4847c
Merge pull request #684 from nitehu/redesign-about
Redesigned the About fragment - removed WebView
2022-02-14 09:11:30 +01:00
Nite
f210a6e363
Redesigned the About fragment - removed WebView 2022-02-13 19:42:34 +01:00
Nite
a9ee09bc2f
Merge pull request #665 from ultrasonic/dependabot/gradle/org.jetbrains.kotlinx-kotlinx-coroutines-android-1.6.0-native-mt
Bump kotlinx-coroutines-android from 1.5.2-native-mt to 1.6.0-native-mt
2022-02-08 20:19:17 +01:00
Nite
bf96f36cb4
Merge branch 'develop' into dependabot/gradle/org.jetbrains.kotlinx-kotlinx-coroutines-android-1.6.0-native-mt 2022-02-08 19:57:01 +01:00
Nite
da69fb9f1f
Merge pull request #648 from ultrasonic/dependabot/gradle/versions.kotlin-1.6.10
Bump versions.kotlin from 1.5.31 to 1.6.10
2022-02-08 19:30:18 +01:00
Nite
5962cc2add
Merge branch 'develop' into dependabot/gradle/versions.kotlin-1.6.10
Added temporary fix for Koin bug
2022-02-08 18:18:58 +01:00
Nite
0d4b400105
Merge pull request #630 from ultrasonic/ready/LRUCache
Convert LRUCache to Kotlin
2022-02-05 13:29:10 +01:00
Nite
ca9ba68a5e
Merge branch 'develop' into ready/LRUCache 2022-02-05 11:54:38 +01:00
Nite
d00a30940e
Merge pull request #678 from nitehu/revert-to-server-color
Add back server coloring feature
2022-02-05 11:24:37 +01:00
Nite
586bc51a9c
Revert "Merge pull request #667 from ultrasonic/patchBranch"
This reverts commit 41a462708d4a696d988d67f79d59f9424d3b0a05, reversing
changes made to fd239e8e72a1361321f1f268d90e3474a2f2685e.
2022-02-05 11:06:20 +01:00
Óscar García Amor
a53d5378bf
Bump version to 3.0.1 2022-02-04 09:30:53 +01:00
Óscar García Amor
4778d18fb9
Update translations 2022-02-04 09:00:35 +01:00
Óscar García Amor
2ff944d77d
Merge branch 'develop' into ready/LRUCache 2022-02-04 08:47:42 +01:00
Nite
462719ccd1
Merge pull request #671 from ultrasonic/dependabot/gradle/versions.mockito-4.3.1
Bump versions.mockito from 4.1.0 to 4.3.1
2022-02-01 17:50:12 +01:00
Nite
e39f232732
Merge branch 'develop' into dependabot/gradle/org.jetbrains.kotlinx-kotlinx-coroutines-android-1.6.0-native-mt 2022-02-01 17:21:54 +01:00
dependabot[bot]
ca89d4b55e
Bump versions.mockito from 4.1.0 to 4.3.1
Bumps `versions.mockito` from 4.1.0 to 4.3.1.

Updates `mockito-core` from 4.1.0 to 4.3.1
- [Release notes](https://github.com/mockito/mockito/releases)
- [Commits](https://github.com/mockito/mockito/compare/v4.1.0...v4.3.1)

Updates `mockito-inline` from 4.1.0 to 4.3.1
- [Release notes](https://github.com/mockito/mockito/releases)
- [Commits](https://github.com/mockito/mockito/compare/v4.1.0...v4.3.1)

---
updated-dependencies:
- dependency-name: org.mockito:mockito-core
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: org.mockito:mockito-inline
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-01 11:01:45 +00:00
Óscar García Amor
3558479278
Improve generation of signed apk in CI 2022-01-19 09:39:26 +01:00
dependabot[bot]
c66ea1c437
Bump kotlinx-coroutines-android from 1.5.2-native-mt to 1.6.0-native-mt
Bumps [kotlinx-coroutines-android](https://github.com/Kotlin/kotlinx.coroutines) from 1.5.2-native-mt to 1.6.0-native-mt.
- [Release notes](https://github.com/Kotlin/kotlinx.coroutines/releases)
- [Changelog](https://github.com/Kotlin/kotlinx.coroutines/blob/master/CHANGES.md)
- [Commits](https://github.com/Kotlin/kotlinx.coroutines/commits)

---
updated-dependencies:
- dependency-name: org.jetbrains.kotlinx:kotlinx-coroutines-android
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-18 10:37:26 +00:00
Óscar García Amor
23d0783164
Bump version to 3.0.0 2022-01-18 11:36:39 +01:00
Óscar García Amor
22c9db59c3
Ignore Unused Quantity 2022-01-18 11:23:19 +01:00
Óscar García Amor
121bcde18a
Update translations 2022-01-18 10:55:58 +01:00
Óscar García Amor
41a462708d
Merge pull request #667 from ultrasonic/patchBranch
Deactivate custom color and set DB to version 3
2022-01-18 10:53:17 +01:00
Nite
5e24c3ab40
Fixed text visibility 2022-01-14 19:36:05 +01:00
tzugen
f68b46678a
Deactivate custom color and set DB to version 3 2022-01-13 19:22:44 +01:00
tzugen
fd239e8e72
Merge pull request #660 from ultrasonic/develop_migrations
Fix database migrations
2022-01-12 07:17:40 +01:00
tzugen
10892f7527
Merge branch 'develop' into develop_migrations 2022-01-11 09:12:36 +01:00
Óscar García Amor
e2a6a32b76
Merge pull request #659 from ultrasonic/ic_empty
More tiny and pretty ic_empty icon
2021-12-27 12:36:21 +01:00
Óscar García Amor
0dd666415d
Merge branch 'develop' into ic_empty 2021-12-27 12:18:13 +01:00
Óscar García Amor
8f43f69a66
Don't push translations from master 2021-12-27 11:16:14 +01:00
Óscar García Amor
193fe5ac3a
Add missing database migrations 2021-12-24 20:00:10 +01:00
Óscar García Amor
3588bb9380
Merge pull request #657 from ultrasonic/mainScroll
Scrolling / Database
2021-12-24 18:18:51 +01:00
Óscar García Amor
95b78a3c11
More tiny and pretty ic_empty icon 2021-12-24 17:18:57 +01:00
tzugen
9f5bc85cf2
Fallback to destructive migration on downgrade 2021-12-23 10:26:04 +01:00
tzugen
5a02467ee8
Use binding 2021-12-22 13:36:47 +01:00
tzugen
4a996f8edc
Fix Scroll in MainFragment 2021-12-22 13:26:58 +01:00
tzugen
8d5675f461
Merge pull request #656 from ultrasonic/randomReload
Don't clear random list when appending
2021-12-22 12:42:55 +01:00
tzugen
a5e8daa912
Don't clear random list when appending 2021-12-21 23:44:18 +01:00
tzugen
c2b23c4001
Merge pull request #655 from ultrasonic/fixIndex1
Create a correctly typed list from getMusicDirectory()
2021-12-21 23:20:44 +01:00
tzugen
10b83805a9
Create a correctly typed list from getMusicDirectory() 2021-12-21 13:31:58 +01:00
Óscar García Amor
fbf5a63396
Avoid lint errors if a language has an unused quantity 2021-12-21 10:42:54 +01:00
Óscar García Amor
bb370bfc44
Fix lint errors 2021-12-21 10:27:11 +01:00
Óscar García Amor
2153650d8b
Update translations 2021-12-21 09:26:42 +01:00
tzugen
987fbbe02a
Bump cache version 2021-12-20 22:39:20 +01:00
tzugen
b958dcabe4
Move versions file to gradle dir 2021-12-20 22:15:07 +01:00
tzugen
d66de5955b
Merge pull request #652 from nitehu/fix/isUri
Updated custom cache location handling to remove isUri
2021-12-20 22:02:36 +01:00
tzugen
1eca5a756e
Use new toml file for version declaration 2021-12-20 21:59:57 +01:00
tzugen
dd92d00be5
Update Gradle and Gradle Plugin 2021-12-20 20:44:24 +01:00
tzugen
7531a4d4aa
Suppress some warnings 2021-12-20 20:20:08 +01:00
tzugen
82f45bd5dd
Set compileSdk to 31 2021-12-20 19:49:44 +01:00
tzugen
c0ef964a3e
Run KtlintFormat 2021-12-20 19:41:55 +01:00
Nite
34e232a43a
Fixed default for cache directory selector 2021-12-20 19:39:44 +01:00
tzugen
65347a20fa
Update room 2021-12-20 19:39:20 +01:00
tzugen
7f42ed6a37
Update ktlint as well 2021-12-20 19:37:04 +01:00
dependabot[bot]
95f37ba2e2
Bump versions.kotlin from 1.5.31 to 1.6.10
Bumps `versions.kotlin` from 1.5.31 to 1.6.10.

Updates `kotlin-gradle-plugin` from 1.5.31 to 1.6.10
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/v1.6.10/ChangeLog.md)
- [Commits](https://github.com/JetBrains/kotlin/compare/v1.5.31...v1.6.10)

Updates `kotlin-stdlib` from 1.5.31 to 1.6.10
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/v1.6.10/ChangeLog.md)
- [Commits](https://github.com/JetBrains/kotlin/compare/v1.5.31...v1.6.10)

Updates `kotlin-reflect` from 1.5.31 to 1.6.10
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/v1.6.10/ChangeLog.md)
- [Commits](https://github.com/JetBrains/kotlin/compare/v1.5.31...v1.6.10)

Updates `kotlin-test-junit` from 1.5.31 to 1.6.10
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/v1.6.10/ChangeLog.md)
- [Commits](https://github.com/JetBrains/kotlin/compare/v1.5.31...v1.6.10)

---
updated-dependencies:
- dependency-name: org.jetbrains.kotlin:kotlin-gradle-plugin
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: org.jetbrains.kotlin:kotlin-stdlib
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: org.jetbrains.kotlin:kotlin-reflect
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: org.jetbrains.kotlin:kotlin-test-junit
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-12-20 17:51:46 +00:00
tzugen
fa434342d9
Covert LRUCache to Kotlin 2021-12-20 18:45:04 +01:00
Nite
17e49ff49e
Updated custom cache location handling to remove isUri
Fixed DownloadFileCache contained DownloadFiles with old cache path
2021-12-20 13:15:45 +01:00
Nite
adf72d6460
Merge pull request #649 from ultrasonic/ready/dialogs
Unify error dialog handling
2021-12-20 09:52:51 +01:00
Nite
505405e87f
Fixed comment 2021-12-20 09:33:50 +01:00
Nite
a3ad17692b
Merge branch 'develop' into ready/dialogs 2021-12-20 09:22:39 +01:00
Nite
5c3e2f6e37
Merge pull request #642 from ultrasonic/ready/removeMergeAdapter
Remove MergeAdapter and SackOfViewsAdapter
2021-12-20 09:22:04 +01:00
Nite
941fbd907f
Merge branch 'develop' into ready/removeMergeAdapter 2021-12-20 08:56:31 +01:00
Nite
095cf4ef4a
Merge pull request #641 from ultrasonic/ready/removeFeatureStorage
Remove feature storage
2021-12-20 08:56:00 +01:00
tzugen
3be480a9a2
Add error message to cache location picker
Fixes #643
2021-12-18 18:19:15 +01:00
tzugen
5bfa0044ab
Introduce prepopulated Info and Error Dialog.Builders,
and thereby unify dialog handling across the code base
2021-12-18 18:13:43 +01:00
tzugen
6b1fc7575a
Use material icons for info and error dialogs 2021-12-18 16:43:51 +01:00
tzugen
6fcea86097
Remove feature storage 2021-12-18 15:02:53 +01:00
tzugen
28d5e5043f
Remove MergeAdapter and SackOfViewsAdapter 2021-12-18 14:55:18 +01:00
tzugen
eb2aeabd5d
Merge pull request #615 from ultrasonic/api30
Update the File code to use Storage Access Framework in order to support API 30
2021-12-18 14:53:44 +01:00
tzugen
a0da791b28
Minor fixes 2021-12-18 14:33:04 +01:00
tzugen
f4554ff29e
Fix messed up indentation in StreamProxy 2021-12-16 19:02:33 +01:00
tzugen
9acc5121a4
Regenerate lint baseline 2021-12-16 18:55:35 +01:00
Nite
107146c8d9
Minor cleanup, added comments 2021-12-16 14:18:54 +01:00
Nite
d51544f927
Added lazy initialization of DownloadFile status for better SAF performance
Minor fixes
2021-12-15 17:44:19 +01:00
Nite
66e7732ec2
Removed remaining DocumentFile uses
Fixed lint issues
2021-12-12 17:06:11 +01:00
Nite
fa4214a0ac
Moved from DocumentFile to DocumentsContract
Added separate handling for the old java File paths
2021-12-12 13:00:53 +01:00
Nite
34c5ced32e
Refactored to use DocumentFile instead of FSAF 2021-12-10 21:28:46 +01:00
Nite
90638e5fd7
Merge branch 'develop' into api30 2021-12-10 11:00:59 +01:00
tzugen
6730713763
Merge pull request #640 from ultrasonic/dependabot/gradle/io.gitlab.arturbosch.detekt-detekt-gradle-plugin-1.19.0
Bump detekt-gradle-plugin from 1.18.1 to 1.19.0
2021-12-09 20:02:23 +01:00
dependabot[bot]
38fa4964f8
Bump detekt-gradle-plugin from 1.18.1 to 1.19.0
Bumps [detekt-gradle-plugin](https://github.com/detekt/detekt) from 1.18.1 to 1.19.0.
- [Release notes](https://github.com/detekt/detekt/releases)
- [Commits](https://github.com/detekt/detekt/compare/v1.18.1...v1.19.0)

---
updated-dependencies:
- dependency-name: io.gitlab.arturbosch.detekt:detekt-gradle-plugin
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-12-09 18:53:14 +00:00
tzugen
b85230c056
Merge pull request #638 from ultrasonic/dependabot/gradle/versions.mockito-4.1.0
Bump versions.mockito from 4.0.0 to 4.1.0
2021-12-09 19:50:32 +01:00
dependabot[bot]
fb85fb4e82
Bump versions.mockito from 4.0.0 to 4.1.0
Bumps `versions.mockito` from 4.0.0 to 4.1.0.

Updates `mockito-core` from 4.0.0 to 4.1.0
- [Release notes](https://github.com/mockito/mockito/releases)
- [Commits](https://github.com/mockito/mockito/compare/v4.0.0...v4.1.0)

Updates `mockito-inline` from 4.0.0 to 4.1.0
- [Release notes](https://github.com/mockito/mockito/releases)
- [Commits](https://github.com/mockito/mockito/compare/v4.0.0...v4.1.0)

---
updated-dependencies:
- dependency-name: org.mockito:mockito-core
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: org.mockito:mockito-inline
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-12-09 18:07:14 +00:00
Nite
8c716da213
Merge pull request #635 from ultrasonic/draft/refactor-lists
Completely overhaul list display
2021-12-09 19:06:26 +01:00
tzugen
80e587c1aa
Add scrollbar to playlist view,
implement SectionedAdapter for Artists
2021-12-08 17:52:31 +01:00
tzugen
e337177715
Style fixes 2021-12-07 00:06:41 +01:00
tzugen
d8cdc81424
Increase touch area of drag handler.
Also use new tintable color for drag drawable
2021-12-07 00:04:53 +01:00
tzugen
351ad914e7
Fix constraints in track details 2021-12-06 23:49:09 +01:00
Nite
0d24c87eef
- Fixed track item layout when track number is missing
- Fixed Rx unsubscribing
- Fixed drag handle usage in playlist
2021-12-06 19:23:22 +01:00
tzugen
de04f4cbe6
Fix the alignment of the status text,
add transparency when dragging a song,
remove wrong context menu
2021-12-05 21:29:32 +01:00
tzugen
026aa79572
Remove special casing of SongsForGenre and thereby fix it.
Also prevent jumping in the random albums list and
don't refresh the album list on back navigation
2021-12-05 21:07:08 +01:00
tzugen
6daa17efd5
Show folder header in Artist list 2021-12-05 14:05:42 +01:00
tzugen
f2948cd3db
Various fixes & cleanups 2021-12-02 13:20:08 +01:00
tzugen
2ac1ea3f89
Shorten INTENT Constants names 2021-11-30 21:23:54 +01:00
tzugen
f1e789ea9b
Fixed search, put compareTo method into Interface 2021-11-30 21:21:04 +01:00
tzugen
bdac092eff
Make SearchResults expandable,
finish music folder support,
change Service interface of AlbumList to return listOf(Album)
2021-11-30 00:47:03 +01:00
tzugen
aa33d7c882
Cleanup nested functions on OfflineMusicService and make it return the correct MusicDirectory type 2021-11-29 20:14:11 +01:00
tzugen
775f56c6fa
Fix header glitch 2021-11-29 19:00:28 +01:00
tzugen
2f0ff384d0
Various fixes
* Work on folder selector,
* Make current play queue drag&droppable
* Fix album view in offline mode
2021-11-29 15:09:51 +01:00
tzugen
82d90a6aee
Fix context menus.
Also cleanup files, rename layouts
2021-11-28 19:13:25 +01:00
tzugen
b33fe2d451
Add nice looking empty list view
Also fix shouldRetry() in the Downloader
2021-11-28 19:13:25 +01:00
tzugen
4e37a2483c
Add an MusicDirectory.Album model to represent the APIAlbum model
It became necessary in order to have different types for Tracks vs Albums,
instead of just differentiating by isDirectory: Boolean.

Also:
* Fix Album display in SearchFragment.kt
* Use same ids in all lists
2021-11-28 19:13:24 +01:00
tzugen
5dfb66eec2
Implement singular selection for Bookmarks 2021-11-28 19:13:24 +01:00
tzugen
ad793e27a5
Remove viewRefresh setting 2021-11-28 19:13:24 +01:00
tzugen
2086a6cac5
Unify play next and play last icons,
style fixes
2021-11-28 19:13:24 +01:00
tzugen
eeb2d13d96
Delete a bunch of now-unused classes
Also run KtLint
2021-11-28 19:13:24 +01:00
tzugen
f8a87f7c85
BookmarksFragment is now based on TrackCollectionFragment
Also start SearchFragment.kt
2021-11-28 19:13:24 +01:00
tzugen
7640f4c4aa
Start migration of Album and Artist 2021-11-25 18:43:50 +01:00
tzugen
d243ae1b44
Use RecycleView inside PlayerFragment 2021-11-25 18:43:46 +01:00
tzugen
6277ee73c0
Simplify and fix download status display 2021-11-25 18:43:46 +01:00
tzugen
7a2dbf65d9
Fix jumping downloads in Download view 2021-11-25 18:43:31 +01:00
tzugen
19d014709f
Don't create DownloadFile instances unnecessarily 2021-11-25 16:53:25 +01:00
tzugen
d0e39efc50
Migrate DownloadsFragment to new system 2021-11-25 16:53:25 +01:00
tzugen
e81b1ef8c2
Add a HeaderView binder 2021-11-25 16:53:25 +01:00
tzugen
5f716f5008
Use MultiTypeAdapter as a backend for RecyclerView stuff 2021-11-25 16:53:22 +01:00
Nite
5cf914f555
Added file caches to speed up SAF
Updated settings page with default music cache path reset
Fixed a bunch of bugs
2021-11-23 20:22:31 +01:00
Nite
5c7cde2349
Merged develop into api30 2021-11-19 20:34:03 +01:00
Nite
3f570636dd
Merge changes 2021-11-19 19:09:27 +01:00
Nite
1d0bb944e1
Implemented Storage Access Framework as Music Cache 2021-11-19 18:43:52 +01:00
Nite
5fac1b74a3
Merge pull request #629 from ultrasonic/ready/rm-viewflipper
Remove MyViewFlipper.java
2021-11-18 21:13:12 +01:00
Nite
d84a0a3929
Merge branch 'develop' into ready/rm-viewflipper 2021-11-18 20:30:20 +01:00
Nite
f3ac843a9c
Merge pull request #628 from ultrasonic/ready/rm-silentbackground
Remove Silentbackground Task
2021-11-18 20:27:41 +01:00
tzugen
cddbe72752
Remove network communication from main thread 2021-11-18 19:54:49 +01:00
tzugen
744282f10a
Prevent overlap in very long song titles 2021-11-18 19:07:35 +01:00
tzugen
51d6a23208
Provide Scope differently 2021-11-18 19:07:35 +01:00
tzugen
a327a5b390
Update detekt-baseline 2021-11-18 19:07:35 +01:00
tzugen
36b581e3c1
Rename UncaughtExceptionHandler 2021-11-18 19:07:35 +01:00
tzugen
1ed9360bc7
CommunicationError to Object with static methods 2021-11-18 19:07:34 +01:00
tzugen
ed152fa52a
Remove SilentBackgroundTask.kt 2021-11-18 19:07:34 +01:00
Nite
45e9728e0f
Merge pull request #626 from ultrasonic/cachecleaner
Migrate CacheCleaner to Coroutine
2021-11-18 18:17:30 +01:00
tzugen
b1cb70764c
Remove MyViewFlipper.java
It was a workaround for a bug in Android 2, which is fixed in Android 3 and later.
2021-11-16 20:00:27 +01:00
tzugen
00cd4fce44
Migrate CacheCleaner to Coroutine 2021-11-16 18:01:04 +01:00
tzugen
97eb753413
Merge pull request #622 from nitehu/refactor-events
Refactor events
2021-11-16 15:23:13 +01:00
tzugen
00781ba7de
Add a comment 2021-11-16 14:56:39 +01:00
Nite
d6f908b80c
Merge branch 'develop' into refactor-events 2021-11-15 18:20:56 +01:00
Nite
e019ec788d
Fixed subscription 2021-11-15 18:20:26 +01:00
tzugen
f73457298d
Move file methods to FileUtil.kt 2021-11-13 18:16:05 +01:00
tzugen
c9e276dc76
API 30 2021-11-13 18:16:03 +01:00
Nite
28ef67a210
Merge pull request #625 from ultrasonic/style
Small style fixes
2021-11-10 18:27:36 +01:00
tzugen
bb36116d70
Add .ifNotNull extension function as a more readable alternative to ?.let 2021-11-09 22:20:41 +01:00
tzugen
8830d76497
Make public playlist immutable (only Downloader can touch it)
Remove external usage of playlist_revision
2021-11-09 20:46:44 +01:00
tzugen
61f23fa948
Update lint 2021-11-09 18:45:00 +01:00
tzugen
92adcf47bd
Tweak drop shadow 2021-11-09 18:09:50 +01:00
tzugen
7e3cb19bac
Visually align song details.
* Also cleanup unused layout and color files
2021-11-09 18:09:50 +01:00
tzugen
dc312d4592
Update dependencies.gradle 2021-11-09 18:09:50 +01:00
dependabot[bot]
435376b48b
Bump lifecycle-viewmodel-ktx from 2.2.0 to 2.4.0
Bumps lifecycle-viewmodel-ktx from 2.2.0 to 2.4.0.

---
updated-dependencies:
- dependency-name: androidx.lifecycle:lifecycle-viewmodel-ktx
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-09 18:09:50 +01:00
Nite
69825b28bb
Merged player state and track changes into a single event 2021-11-08 20:38:05 +01:00
Nite
66df5b1daf
Merge branch 'develop' into refactor-events 2021-11-05 19:26:45 +01:00
Nite
38979bf9d4
Merge pull request #617 from ultrasonic/dependabot/gradle/androidx.lifecycle-lifecycle-viewmodel-ktx-2.4.0
Bump lifecycle-viewmodel-ktx from 2.2.0 to 2.3.0
2021-11-05 19:23:55 +01:00
Nite
68549992f4
Merge branch 'develop' into dependabot/gradle/androidx.lifecycle-lifecycle-viewmodel-ktx-2.4.0 2021-11-05 19:09:35 +01:00
Nite
2e482e02a2
Merge pull request #618 from ultrasonic/dependabot/gradle/androidx.core-core-ktx-1.7.0
Bump core-ktx from 1.5.0 to 1.6.0
2021-11-05 19:09:11 +01:00
Nite
bf18c43d73
Merge branch 'develop' into dependabot/gradle/androidx.core-core-ktx-1.7.0 2021-11-05 18:43:24 +01:00
Nite
7fe4845305
Merge pull request #619 from ultrasonic/dependabot/gradle/org.mockito.kotlin-mockito-kotlin-4.0.0
Bump mockito-kotlin from 3.2.0 to 4.0.0
2021-11-05 18:31:36 +01:00
dependabot[bot]
c29b8ebe0e
Bump mockito-kotlin from 3.2.0 to 4.0.0
Bumps [mockito-kotlin](https://github.com/mockito/mockito-kotlin) from 3.2.0 to 4.0.0.
- [Release notes](https://github.com/mockito/mockito-kotlin/releases)
- [Commits](https://github.com/mockito/mockito-kotlin/compare/3.2.0...4.0.0)

---
updated-dependencies:
- dependency-name: org.mockito.kotlin:mockito-kotlin
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-05 17:16:07 +00:00
Nite
3bacabe480
Merge pull request #623 from ultrasonic/network
Use modern network APIs
2021-11-05 18:15:16 +01:00
tzugen
aac73cd6d7
Further cleanup maxBitrate function 2021-11-03 12:59:06 +01:00
tzugen
a66d07ae84
Use modern network APIs 2021-11-03 12:23:53 +01:00
Nite
210ae35ee0
Merge pull request #620 from ultrasonic/cc
CacheCleaner to Kotlin
2021-11-02 22:29:57 +01:00
Nite
4e3102f131
Fixed condition for directory listing
Minor cleanup
2021-11-02 22:19:09 +01:00
Nite
eba42b82dc
Merge branch 'develop' into cc 2021-11-02 21:33:53 +01:00
Nite
a34fc809d9
Merge pull request #616 from ultrasonic/rm-globalscope
Remove global scope use
2021-11-02 21:32:21 +01:00
Nite
ffb2d59886
Updated Events to ReactiveX
Minor fixes
2021-11-02 17:45:01 +01:00
tzugen
a6e76e9d53
Ktlint 2021-11-02 09:07:38 +01:00
tzugen
c4e2c786d1
Fix flags 2021-11-02 09:05:51 +01:00
tzugen
050161bbb0
API 30 2021-11-01 17:10:46 +01:00
tzugen
f085a8ab65
Transform CacheCleaner to Kotlin 2021-11-01 14:26:32 +01:00
tzugen
dfb3561965
Remove custom Pair implementation 2021-11-01 14:20:57 +01:00
tzugen
8c99c84a90
Default arguments 2021-11-01 14:14:12 +01:00
tzugen
4fb4ab18da
Unused argument 2021-11-01 14:13:25 +01:00
tzugen
e6624ada9a
Unnecesary null-check 2021-11-01 14:12:35 +01:00
tzugen
a58e541ccc
Update dependencies.gradle 2021-11-01 13:05:26 +01:00
tzugen
416bc57eea
1.6.0 2021-11-01 12:28:04 +01:00
dependabot[bot]
34c3936513
Bump core-ktx from 1.5.0 to 1.7.0
Bumps core-ktx from 1.5.0 to 1.7.0.

---
updated-dependencies:
- dependency-name: androidx.core:core-ktx
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-01 11:03:00 +00:00
dependabot[bot]
aece29559e
Bump lifecycle-viewmodel-ktx from 2.2.0 to 2.4.0
Bumps lifecycle-viewmodel-ktx from 2.2.0 to 2.4.0.

---
updated-dependencies:
- dependency-name: androidx.lifecycle:lifecycle-viewmodel-ktx
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-01 11:02:54 +00:00
tzugen
e32b3461c9
Remove global scope use 2021-10-31 19:18:20 +01:00
Nite
fec2d78d30
Merge branch 'develop' into refactor-events 2021-10-31 17:20:03 +01:00
Nite
7ed91db250
Merge pull request #612 from ultrasonic/prefs
Cleanup a bunch of preference setters and getter by using the new utility class
2021-10-31 17:10:38 +01:00
Nite
7c43d01f8e
Fixed nullable parameters 2021-10-31 16:54:37 +01:00
Nite
5eaf9cccb1
Started refactoring events to ReactiveX 2021-10-31 15:22:15 +01:00
tzugen
bd23f54783
Remove Build switches for Lollipop 2021-10-30 16:07:47 +02:00
tzugen
5fe1921ca5
Cleanup issues 2021-10-30 15:59:51 +02:00
tzugen
e5f7ca6310
Convert SettingsFragment to Kotlin 2021-10-30 15:40:43 +02:00
tzugen
4d42c0d9d2
Use lambdas in SettingsFragment, remove Consumer class. 2021-10-30 15:28:53 +02:00
tzugen
e19d43d6b3
Better wording 2021-10-30 15:16:17 +02:00
tzugen
2d9a212b5c
Cleanup a bunch of preference setters and getters by using the new utility class 2021-10-30 15:14:15 +02:00
Nite
f0c02f5551
Merge pull request #611 from ultrasonic/downloader-ld
Rename DownloadQueueSerializer to PlaybackstateSerializer
2021-10-28 17:16:24 +02:00
tzugen
7c956566a0
Merge branch 'develop' into downloader-ld 2021-10-28 11:44:22 +02:00
Nite
ada780ab25
Merge pull request #599 from nitehu/navigation-servers
Moved server selector and settings to the Navigation menu
2021-10-28 10:38:35 +02:00
Nite
70e42fb443
Fixed default foreground color 2021-10-28 10:00:23 +02:00
tzugen
c83a9778fc
Tweak layout 2021-10-28 09:36:46 +02:00
Nite
6636d6a558
Minor fixes 2021-10-28 07:38:43 +02:00
Nite
7ccb9d055c
Fixed lint 2021-10-28 07:30:31 +02:00
Nite
9782e18b6e
Updated looks of navigation header 2021-10-28 07:28:31 +02:00
tzugen
eb2e6ada0a
Tweaked selected color, added circle to offline icon 2021-10-25 20:16:19 +02:00
Nite
cef1153f89
Merge branch 'develop' into navigation-servers 2021-10-24 22:34:56 +02:00
tzugen
fea515a526
Replace consumer use with a lambda 2021-10-23 16:54:00 +02:00
tzugen
c44257f569
Fix a minor warning 2021-10-23 16:49:56 +02:00
tzugen
939cd8583c
Semantically rename DownloadQueueSerializer to PlaybackStateSerializer 2021-10-23 16:39:58 +02:00
tzugen
7d2923230c
Merge pull request #604 from ultrasonic/downloader-ld
Implement a Download view
2021-10-23 16:31:42 +02:00
tzugen
ece53f7687
Add a comment 2021-10-23 16:13:05 +02:00
Nite
2847a51674
Fixed autoplay
Fixed uncaught exception
Fixed playlist loading from file
2021-10-23 16:09:49 +02:00
tzugen
24092ce465
Remove unneccessary call to checkDownloads() which were interferring with AutoPlay somehow. 2021-10-23 15:58:33 +02:00
tzugen
6f676d20b0
Update baseline to remove closed issues 2021-10-23 15:58:33 +02:00
tzugen
1d5b335f97
Add Download Fragment which show active downloads 2021-10-23 15:58:32 +02:00
tzugen
9bc19ec044
Semantic rename 2021-10-23 15:58:32 +02:00
tzugen
0bcf51a409
Implement LiveData in Downloader.kt
Minor: Also remove a suppress comment
2021-10-23 15:58:32 +02:00
Nite
f58c361e4e
Fixed navigation on welcome screen
Fixed navigation after selecting new server
Fixed color for new server
Fixed typo
2021-10-21 17:55:19 +02:00
Nite
949e7e58ba
Merge branch 'develop' into navigation-servers 2021-10-20 19:48:41 +02:00
Nite
77a2dcf935
Merge pull request #595 from ultrasonic/dependabot/gradle/versions.mockito-4.0.0
Bump versions.mockito from 3.12.4 to 4.0.0
2021-10-20 19:45:51 +02:00
dependabot[bot]
974099630a
Bump versions.mockito from 3.12.4 to 4.0.0
Bumps `versions.mockito` from 3.12.4 to 4.0.0.

Updates `mockito-core` from 3.12.4 to 4.0.0
- [Release notes](https://github.com/mockito/mockito/releases)
- [Commits](https://github.com/mockito/mockito/compare/v3.12.4...v4.0.0)

Updates `mockito-inline` from 3.12.4 to 4.0.0
- [Release notes](https://github.com/mockito/mockito/releases)
- [Commits](https://github.com/mockito/mockito/compare/v3.12.4...v4.0.0)

---
updated-dependencies:
- dependency-name: org.mockito:mockito-core
  dependency-type: direct:production
  update-type: version-update:semver-major
- dependency-name: org.mockito:mockito-inline
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-20 17:09:12 +00:00
Nite
2197959507
Merge pull request #607 from ultrasonic/pref_delegate
Use delegate for Settings, reduces Boilerplate code
2021-10-20 19:07:39 +02:00
tzugen
62bade916f
Use delegate for Settings, reduces Boilerplate code 2021-10-18 17:32:12 +02:00
Nite
ccf39661ab
Cleaned up warnings in FilePickerAdapter 2021-10-15 16:35:27 +02:00
Nite
7c66bc7ec8
Implemented navigation header coloring based on selected server 2021-10-15 16:26:06 +02:00
Nite
477f6f5d7c
Merge remote-tracking branch 'remotes/upstream/develop' into navigation-servers 2021-10-15 13:52:50 +02:00
Nite
784c65f96d
Merge pull request #600 from ultrasonic/permission_failed
Migrate Permission utitlity to Kotlin, increase min SDK to 17
2021-10-14 21:35:51 +02:00
Nite
16b2a99631
Fixed lint errors 2021-10-14 20:26:21 +02:00
Nite
427034053c
Merge branch 'develop' into permission_failed 2021-10-14 19:45:44 +02:00
Nite
6905c68898
Merge pull request #603 from ultrasonic/gradle72
Update Gradle and ktlint
2021-10-14 18:05:01 +02:00
Nite
2b40577d4b
Merge branch 'develop' into gradle72 2021-10-14 17:43:13 +02:00
Nite
23cca33d5a
Started implementing server colors 2021-10-14 17:17:32 +02:00
Óscar García Amor
62986ca79d
Fix lint errors 2021-10-14 10:02:22 +02:00
Óscar García Amor
e2cff64e4e
Bump version to 2.24.0 2021-10-14 09:35:57 +02:00
Óscar García Amor
704f78366a
Merge branch 'master' into develop 2021-10-14 09:19:39 +02:00
Óscar García Amor
e426081d1d
Update translations 2021-10-14 09:04:08 +02:00
tzugen
bc43cc6874
Update Gradle config to remove deprecated attrs.
Deactivate xml reporting (not used currently)
2021-10-13 19:06:42 +02:00
tzugen
83f4ecb15a
Prepare a number of layouts for RTL and thereby fix a lot of lint messages 2021-10-13 18:51:11 +02:00
tzugen
fbdf6d846b
Cleanup dead code paths 2021-10-13 18:51:11 +02:00
tzugen
d1e636f553
Fix some new lint issues 2021-10-13 18:51:11 +02:00
tzugen
d7cd68c39e
Makes more sense to update to 17 instead of 16. 2021-10-13 18:51:11 +02:00
tzugen
b892b7b8d3
Migrate PermissionUtil to Kotlin
- Set min SDK to 16 (was 14), because READ_EXTERNAL_STORAGE is minimum 16
- Add new shortcut to Settings.kt class
- Use showDialog util function
2021-10-13 18:51:04 +02:00
tzugen
5c9b149bec
Update Gradle and ktlint 2021-10-13 18:48:56 +02:00
tzugen
ec4f57b5b6
Merge pull request #602 from ultrasonic/fix_npe
Fix NPE
2021-10-13 18:45:41 +02:00
tzugen
87c2e44ab8
Fix NPE 2021-10-13 15:10:06 +02:00
tzugen
910a05d49d
Merge pull request #596 from nitehu/feature/share-on-server
Added option whether to create a share on the server when sharing songs
2021-10-13 15:05:16 +02:00
Nite
b44e0517ce
Updated Settings for sharing 2021-10-12 21:09:19 +02:00
Nite
5a3eb6482a
Added option whether to create a share on the server when sharing songs 2021-10-12 21:09:19 +02:00
Nite
7a6f993602
Merge pull request #594 from nitehu/playback_complete
Added PlaybackComplete intent when a song playback is completed
2021-10-12 17:10:58 +02:00
Nite
2f98bf9ae0
Merge branch 'develop' into playback_complete 2021-10-12 16:47:59 +02:00
tzugen
855f111cb2
Merge pull request #593 from nitehu/fix/album_list
Fixed album lists
2021-10-12 15:36:52 +02:00
tzugen
aea2e6baef
Style fix 2021-10-12 15:16:40 +02:00
Nite
eff1a714e2
Fixed album lists in landscape mode
Fixed starring on album lists
Fixed reading starred state on the Subsonic API
2021-10-12 15:16:40 +02:00
Nite
f752307a38
Changed navigation header colors 2021-10-11 19:43:01 +02:00
Nite
86f2aa1656
Fixed lint 2021-10-11 17:43:17 +02:00
Nite
256f785d39
Updated navigation header style 2021-10-11 17:31:32 +02:00
Nite
62150b77d3
Removed strings 2021-10-10 15:03:57 +02:00
Nite
652f85b070
Removed unused strings 2021-10-10 14:41:16 +02:00
Nite
381e29b2d1
Fixed lint issues 2021-10-10 14:15:03 +02:00
Nite
4b4853374c
Moved server selector to the navigation menu 2021-10-10 14:03:53 +02:00
Óscar García Amor
7091967fa5
Merge pull request #592 from ultrasonic/dependabot-q
Run dependabot monthly
2021-10-08 08:39:47 +02:00
Óscar García Amor
c3df5ead37
Merge branch 'develop' into dependabot-q 2021-10-08 08:27:35 +02:00
Nite
a3128c5f7f
Fixed lint 2021-10-07 18:02:23 +02:00
Nite
221f218856
Added PlaybackComplete intent when a song playback is completed 2021-10-07 17:51:19 +02:00
Nite
ed59136fa6
Merge pull request #588 from ultrasonic/dependabot/gradle/androidx.constraintlayout-constraintlayout-2.1.1
Bump constraintlayout from 2.1.0 to 2.1.1
2021-10-04 18:55:43 +02:00
dependabot[bot]
0da22ef75b
Bump constraintlayout from 2.1.0 to 2.1.1
Bumps [constraintlayout](https://github.com/androidx/constraintlayout) from 2.1.0 to 2.1.1.
- [Release notes](https://github.com/androidx/constraintlayout/releases)
- [Commits](https://github.com/androidx/constraintlayout/commits)

---
updated-dependencies:
- dependency-name: androidx.constraintlayout:constraintlayout
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-04 16:45:36 +00:00
tzugen
6b24e0ae4b
Run dependabot monthly
Now that our dependencies are up-to-date,
run dependabot only once per month, and also ignore patch releases,
in order to avoid frequent PRs that all require a review by us.
2021-10-04 18:45:33 +02:00
Nite
90e269525e
Merge pull request #587 from ultrasonic/dependabot/gradle/org.junit.vintage-junit-vintage-engine-5.8.1
Bump junit-vintage-engine from 5.8.0 to 5.8.1
2021-10-04 18:45:02 +02:00
dependabot[bot]
1d26d9ba3a
Bump junit-vintage-engine from 5.8.0 to 5.8.1
Bumps [junit-vintage-engine](https://github.com/junit-team/junit5) from 5.8.0 to 5.8.1.
- [Release notes](https://github.com/junit-team/junit5/releases)
- [Commits](https://github.com/junit-team/junit5/compare/r5.8.0...r5.8.1)

---
updated-dependencies:
- dependency-name: org.junit.vintage:junit-vintage-engine
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-04 15:45:21 +00:00
Nite
d89ae50ef4
Merge pull request #586 from ultrasonic/dependabot/gradle/versions.kotlin-1.5.31
Bump versions.kotlin from 1.5.30 to 1.5.31
2021-10-04 17:44:47 +02:00
dependabot[bot]
e77a8e67a8
Bump versions.kotlin from 1.5.30 to 1.5.31
Bumps `versions.kotlin` from 1.5.30 to 1.5.31.

Updates `kotlin-gradle-plugin` from 1.5.30 to 1.5.31
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/v1.5.31/ChangeLog.md)
- [Commits](https://github.com/JetBrains/kotlin/compare/v1.5.30...v1.5.31)

Updates `kotlin-stdlib` from 1.5.30 to 1.5.31
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/v1.5.31/ChangeLog.md)
- [Commits](https://github.com/JetBrains/kotlin/compare/v1.5.30...v1.5.31)

Updates `kotlin-reflect` from 1.5.30 to 1.5.31
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/v1.5.31/ChangeLog.md)
- [Commits](https://github.com/JetBrains/kotlin/compare/v1.5.30...v1.5.31)

Updates `kotlin-test-junit` from 1.5.30 to 1.5.31
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/v1.5.31/ChangeLog.md)
- [Commits](https://github.com/JetBrains/kotlin/compare/v1.5.30...v1.5.31)

---
updated-dependencies:
- dependency-name: org.jetbrains.kotlin:kotlin-gradle-plugin
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.jetbrains.kotlin:kotlin-stdlib
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.jetbrains.kotlin:kotlin-reflect
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.jetbrains.kotlin:kotlin-test-junit
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-04 15:34:50 +00:00
tzugen
a7a895af96
Merge pull request #583 from ultrasonic/download-metadata
Download metadata
2021-10-04 15:06:21 +02:00
tzugen
35a0dd761d
Fix a bug where newly added Artists were not cached correctly 2021-10-04 11:20:52 +02:00
Nite
fda746905d
Merged changes from develop 2021-09-24 21:12:02 +02:00
Nite
2237b476dc
Merge pull request #585 from nitehu/fix/avrcp_compatibility
Added setting to disable Now Playing List sending for incompatible bluetooth devices
2021-09-24 20:29:43 +02:00
Nite
b640805559
Moved settings related properties from Util to their own class 2021-09-24 18:20:53 +02:00
Nite
d4ce10ebfa
fixed lint error 2021-09-23 16:00:20 +02:00
Nite
be49145aa8
Created different notification when Ultrasonic is only downloading files
Fixed null check
2021-09-23 15:51:53 +02:00
Nite
01aa1fe887
Moved kotlin files to their place 2021-09-21 15:20:56 +02:00
Nite
77f857b1c6
Added setting to disable Now Playing List sending for incompatible bluetooth devices 2021-09-17 16:45:33 +02:00
tzugen
02129a8fd0
Remove unused strings 2021-09-15 21:34:48 +02:00
tzugen
ecc7e870f1
Save Artists in Offline database 2021-09-15 20:51:42 +02:00
tzugen
28097bf325
Optimize Imageloader to not create empty MusicDirectory.Entries 2021-09-15 20:46:05 +02:00
tzugen
611539be55
Handle WifiLock in Download manager class, instead of creating an individual lock per task.
Also only stop the executor when done.
2021-09-15 20:46:05 +02:00
tzugen
5ff4d21abc
Merge FileUtil functions into a single class. 2021-09-15 20:46:05 +02:00
tzugen
ec49775d7e
Convert FileUtil to Kotlin 2021-09-15 20:46:05 +02:00
tzugen
c48c41284e
Migrate Constants to Kotlin, update a copyright notice. 2021-09-15 20:46:05 +02:00
tzugen
ba745a5f9a
Run download task inside service 2021-09-15 20:46:05 +02:00
Nite
8ab903c7d2
Merge pull request #582 from ultrasonic/dependabot/gradle/org.junit.vintage-junit-vintage-engine-5.8.0
Bump junit-vintage-engine from 5.7.1 to 5.8.0
2021-09-15 19:09:48 +02:00
dependabot[bot]
ac3635a8f4
Bump junit-vintage-engine from 5.7.1 to 5.8.0
Bumps [junit-vintage-engine](https://github.com/junit-team/junit5) from 5.7.1 to 5.8.0.
- [Release notes](https://github.com/junit-team/junit5/releases)
- [Commits](https://github.com/junit-team/junit5/compare/r5.7.1...r5.8.0)

---
updated-dependencies:
- dependency-name: org.junit.vintage:junit-vintage-engine
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-09-15 14:32:46 +00:00
Nite
546039fd5e
Merge pull request #574 from ultrasonic/dependabot/gradle/org.jetbrains.kotlinx-kotlinx-coroutines-android-1.5.2-native-mt
Bump kotlinx-coroutines-android from 1.5.1-native-mt to 1.5.2-native-mt
2021-09-15 16:31:15 +02:00
dependabot[bot]
86a772f115
Bump kotlinx-coroutines-android from 1.5.1-native-mt to 1.5.2-native-mt
Bumps [kotlinx-coroutines-android](https://github.com/Kotlin/kotlinx.coroutines) from 1.5.1-native-mt to 1.5.2-native-mt.
- [Release notes](https://github.com/Kotlin/kotlinx.coroutines/releases)
- [Changelog](https://github.com/Kotlin/kotlinx.coroutines/blob/master/CHANGES.md)
- [Commits](https://github.com/Kotlin/kotlinx.coroutines/commits)

---
updated-dependencies:
- dependency-name: org.jetbrains.kotlinx:kotlinx-coroutines-android
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-09-15 14:12:46 +00:00
Nite
d3c7fcf7e7
Merge pull request #573 from ultrasonic/dependabot/gradle/io.gitlab.arturbosch.detekt-detekt-gradle-plugin-1.18.1
Bump detekt-gradle-plugin from 1.18.0 to 1.18.1
2021-09-15 16:03:40 +02:00
Nite
1f5de82004
Merge branch 'develop' into dependabot/gradle/io.gitlab.arturbosch.detekt-detekt-gradle-plugin-1.18.1 2021-09-15 15:35:59 +02:00
Óscar García Amor
a64fe47353
Bump version to 2.23.1 2021-09-13 11:09:50 +02:00
Óscar García Amor
8928980bae
Update translations 2021-09-13 11:04:29 +02:00
tzugen
950691daab
Merge pull request #572 from nitehu/changeDragHandle
Moved drag handle to the left in the Now Playing list
2021-09-12 09:27:32 +02:00
Nite
ee1e4548e3
Fixed lint errors 2021-09-12 09:18:49 +02:00
Nite
07f334a7fd
Moved drag handle to the left in the Now Playing list
Updated drag handle to the dotted version
2021-09-12 09:18:49 +02:00
Nite
5ef3ced111
Fixed media session null checks 2021-09-12 08:54:08 +02:00
Óscar García Amor
4ce5cfcb8e
Merge pull request #578 from nitehu/readme
Added link to the wiki for enabling Ultrasonic with Android Auto
2021-09-10 12:40:47 +02:00
Nite
25fd2f4772
Added link to the wiki for enabling Ultrasonic with Android Auto 2021-09-10 12:04:37 +02:00
dependabot[bot]
008520fbd0
Bump detekt-gradle-plugin from 1.18.0 to 1.18.1
Bumps [detekt-gradle-plugin](https://github.com/detekt/detekt) from 1.18.0 to 1.18.1.
- [Release notes](https://github.com/detekt/detekt/releases)
- [Commits](https://github.com/detekt/detekt/compare/v1.18.0...v1.18.1)

---
updated-dependencies:
- dependency-name: io.gitlab.arturbosch.detekt:detekt-gradle-plugin
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-09-06 11:05:46 +00:00
Nite
225bb78263
Merge pull request #571 from nitehu/fix/MediaSessionNull
Fixed media session null checks
2021-09-05 09:59:37 +02:00
Nite
84d28178bf
Fixed media session null checks 2021-09-05 09:34:38 +02:00
Nite
f29db522d4
Merge pull request #567 from ultrasonic/semanticDownloadView
Use semantically correct API endpoint when streaming/downloading.
2021-09-03 20:26:58 +02:00
Nite
9f1315b6dc
Merge branch 'develop' into semanticDownloadView 2021-09-01 18:19:55 +02:00
Nite
9f02ee95a4
Merge pull request #568 from ultrasonic/downloader
Rework Downloader
2021-09-01 18:14:58 +02:00
tzugen
d08a38ea1c
Small fixes 2021-08-28 11:43:33 +02:00
tzugen
ad81f3bf6d
Use semantically correct API endpoint when streaming/downloading.
Fixes #257
2021-08-28 11:39:32 +02:00
tzugen
594e94eea7
Finish 2021-08-28 11:29:47 +02:00
tzugen
f9aac1ca43
Add parallel downloading, better priority handling 2021-08-28 11:29:47 +02:00
tzugen
b8eddb2d24
Rename .java to .kt 2021-08-28 11:29:47 +02:00
tzugen
e0df24182e
Add nullability annotation 2021-08-28 11:29:47 +02:00
tzugen
029f0fa4da
Merge pull request #559 from Maxmystere/Improve-Offline-Support
Add better offline Support
2021-08-27 12:08:14 +02:00
tzugen
662cb1728b
Fix a number of minor warnings in Util.kt 2021-08-27 11:50:31 +02:00
tzugen
e8baea6195
Convert MainFragment to Kotlin 2021-08-26 22:58:40 +02:00
tzugen
e00137a635
Rename .java to .kt 2021-08-26 22:58:39 +02:00
tzugen
d83cf0917c
Fix compiler warning 2021-08-26 22:58:39 +02:00
Maxence G (Hello-Fluffy)
0a2e7358fa
Fix CI 2021-08-26 22:58:39 +02:00
Maxence G (Hello-Fluffy)
7eb3d01ae8
Limit GetSongs if length is too short 2021-08-26 22:58:39 +02:00
Maxence G (Hello-Fluffy)
a23e5ff794
Add better offline Support 2021-08-26 22:58:39 +02:00
tzugen
6aa3124ee9
Merge pull request #565 from ultrasonic/dependabot/gradle/versions.kotlin-1.5.30
Bump versions.kotlin from 1.5.21 to 1.5.30
2021-08-26 20:59:07 +02:00
dependabot[bot]
413707e482
Bump versions.kotlin from 1.5.21 to 1.5.30
Bumps `versions.kotlin` from 1.5.21 to 1.5.30.

Updates `kotlin-gradle-plugin` from 1.5.21 to 1.5.30
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md)
- [Commits](https://github.com/JetBrains/kotlin/compare/v1.5.21...v1.5.30)

Updates `kotlin-stdlib` from 1.5.21 to 1.5.30
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md)
- [Commits](https://github.com/JetBrains/kotlin/compare/v1.5.21...v1.5.30)

Updates `kotlin-reflect` from 1.5.21 to 1.5.30
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md)
- [Commits](https://github.com/JetBrains/kotlin/compare/v1.5.21...v1.5.30)

Updates `kotlin-test-junit` from 1.5.21 to 1.5.30
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md)
- [Commits](https://github.com/JetBrains/kotlin/compare/v1.5.21...v1.5.30)

---
updated-dependencies:
- dependency-name: org.jetbrains.kotlin:kotlin-gradle-plugin
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.jetbrains.kotlin:kotlin-stdlib
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.jetbrains.kotlin:kotlin-reflect
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.jetbrains.kotlin:kotlin-test-junit
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-08-26 17:51:07 +00:00
tzugen
e753d95ed3
Merge pull request #564 from ultrasonic/translations
Translations
2021-08-26 19:04:40 +02:00
tzugen
0579bd9754
Merge remote-tracking branch 'origin/master' into develop 2021-08-26 18:54:33 +02:00
Nite
bb1451b800
Merge pull request #563 from ultrasonic/dependabot/gradle/versions.mockito-3.12.4
Bump versions.mockito from 3.11.2 to 3.12.4
2021-08-26 16:50:15 +02:00
dependabot[bot]
01be4c7148
Bump versions.mockito from 3.11.2 to 3.12.4
Bumps `versions.mockito` from 3.11.2 to 3.12.4.

Updates `mockito-core` from 3.11.2 to 3.12.4
- [Release notes](https://github.com/mockito/mockito/releases)
- [Commits](https://github.com/mockito/mockito/compare/v3.11.2...v3.12.4)

Updates `mockito-inline` from 3.11.2 to 3.12.4
- [Release notes](https://github.com/mockito/mockito/releases)
- [Commits](https://github.com/mockito/mockito/compare/v3.11.2...v3.12.4)

---
updated-dependencies:
- dependency-name: org.mockito:mockito-core
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: org.mockito:mockito-inline
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-08-26 14:15:03 +00:00
Nite
cb51c0b723
Merge pull request #551 from ultrasonic/dependabot/gradle/androidx.constraintlayout-constraintlayout-2.1.0
Bump constraintlayout from 2.0.4 to 2.1.0
2021-08-26 16:13:25 +02:00
tzugen
0a39891b93
Break up CI steps and only build release (and not debug) in last steps 2021-08-26 12:07:00 +02:00
tzugen
7e82efddad
Break up CI steps and only build release (and not debug) in last steps 2021-08-26 11:58:20 +02:00
Óscar García Amor
6202484df7
Bump version to 2.23.0 2021-08-26 11:04:21 +02:00
Óscar García Amor
4a10b76067
Update translations 2021-08-26 10:29:20 +02:00
dependabot[bot]
9ea0246032
Bump constraintlayout from 2.0.4 to 2.1.0
Bumps [constraintlayout](https://github.com/androidx/constraintlayout) from 2.0.4 to 2.1.0.
- [Release notes](https://github.com/androidx/constraintlayout/releases)
- [Commits](https://github.com/androidx/constraintlayout/compare/2.0.4...2.1.0)

---
updated-dependencies:
- dependency-name: androidx.constraintlayout:constraintlayout
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-08-25 14:29:08 +00:00
Nite
bd34345c12
Merge pull request #558 from ultrasonic/video-cleanup
Video call can be static
2021-08-25 16:28:22 +02:00
Nite
2655a4a606
Merge branch 'develop' into video-cleanup 2021-08-25 14:27:05 +02:00
tzugen
059f6d8f32
Merge pull request #537 from SaintDubious/AndroidAuto2
Added Android Auto support
2021-08-20 21:07:45 +02:00
tzugen
27971cb426
Merge remote-tracking branch 'origin/develop' into AndroidAuto2 2021-08-20 20:57:00 +02:00
tzugen
a051d4d040
Clean up Util.kt after conversion
(currentSong was assigned but never actually used)
2021-08-20 20:53:17 +02:00
tzugen
8b15c9a57f
Merge pull request #556 from ultrasonic/dependabot/gradle/io.gitlab.arturbosch.detekt-detekt-gradle-plugin-1.18.0
Bump detekt-gradle-plugin from 1.17.1 to 1.18.0
2021-08-18 11:23:21 +02:00
tzugen
54f39be7ca
Video call can be static 2021-08-18 09:09:08 +02:00
tzugen
3afb86c22c
Video call can be static 2021-08-18 09:07:57 +02:00
dependabot[bot]
d01030b61d
Bump detekt-gradle-plugin from 1.17.1 to 1.18.0
Bumps [detekt-gradle-plugin](https://github.com/detekt/detekt) from 1.17.1 to 1.18.0.
- [Release notes](https://github.com/detekt/detekt/releases)
- [Commits](https://github.com/detekt/detekt/compare/v1.17.1...v1.18.0)

---
updated-dependencies:
- dependency-name: io.gitlab.arturbosch.detekt:detekt-gradle-plugin
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-08-16 11:04:34 +00:00
Nite
fc2e4b7ae4
Merge branch 'develop' into AndroidAuto2 2021-08-02 10:41:38 +02:00
Nite
6e6cf3a86a
Merge pull request #546 from ultrasonic/dependabot/gradle/versions.kotlin-1.5.21
Bump versions.kotlin from 1.5.20 to 1.5.21
2021-08-02 10:01:34 +02:00
dependabot[bot]
43a806a699
Bump versions.kotlin from 1.5.20 to 1.5.21
Bumps `versions.kotlin` from 1.5.20 to 1.5.21.

Updates `kotlin-gradle-plugin` from 1.5.20 to 1.5.21
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md)
- [Commits](https://github.com/JetBrains/kotlin/compare/v1.5.20...v1.5.21)

Updates `kotlin-stdlib` from 1.5.20 to 1.5.21
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md)
- [Commits](https://github.com/JetBrains/kotlin/compare/v1.5.20...v1.5.21)

Updates `kotlin-reflect` from 1.5.20 to 1.5.21
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md)
- [Commits](https://github.com/JetBrains/kotlin/compare/v1.5.20...v1.5.21)

Updates `kotlin-test-junit` from 1.5.20 to 1.5.21
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md)
- [Commits](https://github.com/JetBrains/kotlin/compare/v1.5.20...v1.5.21)

---
updated-dependencies:
- dependency-name: org.jetbrains.kotlin:kotlin-gradle-plugin
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.jetbrains.kotlin:kotlin-stdlib
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.jetbrains.kotlin:kotlin-reflect
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.jetbrains.kotlin:kotlin-test-junit
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-08-02 07:03:36 +00:00
Nite
c64420c11f
Merge pull request #545 from ultrasonic/dependabot/gradle/org.jetbrains.kotlinx-kotlinx-coroutines-android-1.5.1-native-mt
Bump kotlinx-coroutines-android from 1.5.0-native-mt to 1.5.1-native-mt
2021-08-02 09:02:45 +02:00
dependabot[bot]
adca273d3f
Bump kotlinx-coroutines-android from 1.5.0-native-mt to 1.5.1-native-mt
Bumps [kotlinx-coroutines-android](https://github.com/Kotlin/kotlinx.coroutines) from 1.5.0-native-mt to 1.5.1-native-mt.
- [Release notes](https://github.com/Kotlin/kotlinx.coroutines/releases)
- [Changelog](https://github.com/Kotlin/kotlinx.coroutines/blob/master/CHANGES.md)
- [Commits](https://github.com/Kotlin/kotlinx.coroutines/commits)

---
updated-dependencies:
- dependency-name: org.jetbrains.kotlinx:kotlinx-coroutines-android
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-08-02 06:32:43 +00:00
Nite
2703a4f35b
Merge pull request #543 from ultrasonic/dependabot/gradle/versions.kluent-1.68
Bump versions.kluent from 1.64 to 1.68
2021-08-02 08:31:49 +02:00
Nite
9546bdeab5
Fixed playing single track in empty playlist 2021-07-19 15:31:52 +02:00
James Wells
961c726da8
restore previous code 2021-07-18 16:14:43 -04:00
Nite
c9f2050c46
Suppress detekt LongMethod 2021-07-18 13:23:20 +02:00
Nite
982639d2c7
Fixed lint errors
Added comments
2021-07-18 13:17:29 +02:00
Nite
cf05d3c781
Implemented Media Browsing 2021-07-18 11:33:39 +02:00
Nite
f50d6f13f4
Started implementing Media Browser
Added root menus, playlists and artists
2021-07-16 17:29:21 +02:00
Nite
635ea2f55e
Merge branch 'develop' into AndroidAuto2 2021-07-16 07:39:33 +02:00
Nite
51dbdfb39a
Implemented track detail display in the playlist
Fixed playback position disappearing when paused
2021-07-14 16:09:52 +02:00
Nite
56af9e4bf2
Moved MediaSession handling to its own class
Fixed queue and position handling on Now Playing screen
2021-07-13 19:25:37 +02:00
Nite
83c6b76d0a
Updated Android Auto to use MediaPlayerService separately
Added some missing features found in the docs
2021-07-12 16:13:34 +02:00
dependabot[bot]
ba323fa9ac
Bump versions.kluent from 1.64 to 1.68
Bumps `versions.kluent` from 1.64 to 1.68.

Updates `kluent` from 1.64 to 1.68
- [Release notes](https://github.com/MarkusAmshove/Kluent/releases)
- [Changelog](https://github.com/MarkusAmshove/Kluent/blob/master/CHANGELOG.md)
- [Commits](https://github.com/MarkusAmshove/Kluent/commits)

Updates `kluent-android` from 1.64 to 1.68
- [Release notes](https://github.com/MarkusAmshove/Kluent/releases)
- [Changelog](https://github.com/MarkusAmshove/Kluent/blob/master/CHANGELOG.md)
- [Commits](https://github.com/MarkusAmshove/Kluent/commits)

---
updated-dependencies:
- dependency-name: org.amshove.kluent:kluent
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: org.amshove.kluent:kluent-android
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-07-12 11:05:39 +00:00
Nite
ea3b055288
Merge pull request #541 from ultrasonic/dependabot/gradle/com.karumi-dexter-6.2.3
Bump dexter from 6.2.2 to 6.2.3
2021-07-09 14:05:43 +02:00
dependabot[bot]
6558f871ca
Bump dexter from 6.2.2 to 6.2.3
Bumps [dexter](https://github.com/karumi/Dexter) from 6.2.2 to 6.2.3.
- [Release notes](https://github.com/karumi/Dexter/releases)
- [Commits](https://github.com/karumi/Dexter/compare/6.2.2...6.2.3)

---
updated-dependencies:
- dependency-name: com.karumi:dexter
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-07-09 11:22:42 +00:00
Nite
ee76c661a1
Merge pull request #540 from ultrasonic/dependabot/gradle/com.google.android.material-material-1.4.0
Bump material from 1.3.0 to 1.4.0
2021-07-09 13:21:48 +02:00
dependabot[bot]
808eafc85d
Bump material from 1.3.0 to 1.4.0
Bumps [material](https://github.com/material-components/material-components-android) from 1.3.0 to 1.4.0.
- [Release notes](https://github.com/material-components/material-components-android/releases)
- [Commits](https://github.com/material-components/material-components-android/compare/1.3.0...1.4.0)

---
updated-dependencies:
- dependency-name: com.google.android.material:material
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-07-09 09:56:48 +00:00
Nite
649a702ebb
Merge pull request #539 from ultrasonic/dependabot/gradle/org.robolectric-robolectric-4.6.1
Bump robolectric from 4.5.1 to 4.6.1
2021-07-09 11:56:04 +02:00
dependabot[bot]
090d7f8ab7
Bump robolectric from 4.5.1 to 4.6.1
Bumps [robolectric](https://github.com/robolectric/robolectric) from 4.5.1 to 4.6.1.
- [Release notes](https://github.com/robolectric/robolectric/releases)
- [Commits](https://github.com/robolectric/robolectric/compare/robolectric-4.5.1...robolectric-4.6.1)

---
updated-dependencies:
- dependency-name: org.robolectric:robolectric
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-07-09 09:23:02 +00:00
Nite
1938b3bb4b
Merge pull request #538 from ultrasonic/dependabot/gradle/com.android.tools.build-gradle-4.2.2
Bump gradle from 4.2.0 to 4.2.2
2021-07-09 11:22:25 +02:00
dependabot[bot]
e60ac32c3f
Bump gradle from 4.2.0 to 4.2.2
Bumps gradle from 4.2.0 to 4.2.2.

---
updated-dependencies:
- dependency-name: com.android.tools.build:gradle
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-07-09 07:18:46 +00:00
Nite
6791f0631a
Merge pull request #534 from ultrasonic/dependabot/gradle/versions.kotlin-1.5.20
Bump versions.kotlin from 1.5.10 to 1.5.20
2021-07-09 09:17:52 +02:00
James Wells
db0669098c
Another Attempt at Auto 2021-07-04 16:42:18 -04:00
James Wells
04de4544ee
merge develop 2021-07-04 15:41:56 -04:00
dependabot[bot]
62189dce5c
Bump versions.kotlin from 1.5.10 to 1.5.20
Bumps `versions.kotlin` from 1.5.10 to 1.5.20.

Updates `kotlin-gradle-plugin` from 1.5.10 to 1.5.20
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/v1.5.20/ChangeLog.md)
- [Commits](https://github.com/JetBrains/kotlin/compare/v1.5.10...v1.5.20)

Updates `kotlin-stdlib` from 1.5.10 to 1.5.20
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/v1.5.20/ChangeLog.md)
- [Commits](https://github.com/JetBrains/kotlin/compare/v1.5.10...v1.5.20)

Updates `kotlin-reflect` from 1.5.10 to 1.5.20
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/v1.5.20/ChangeLog.md)
- [Commits](https://github.com/JetBrains/kotlin/compare/v1.5.10...v1.5.20)

Updates `kotlin-test-junit` from 1.5.10 to 1.5.20
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/v1.5.20/ChangeLog.md)
- [Commits](https://github.com/JetBrains/kotlin/compare/v1.5.10...v1.5.20)

---
updated-dependencies:
- dependency-name: org.jetbrains.kotlin:kotlin-gradle-plugin
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.jetbrains.kotlin:kotlin-stdlib
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.jetbrains.kotlin:kotlin-reflect
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.jetbrains.kotlin:kotlin-test-junit
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-29 16:55:34 +00:00
tzugen
69c9739db0
Merge pull request #445 from tzugen/database-4
Implement a room database for better offline support
2021-06-29 18:54:53 +02:00
tzugen
b546f2c2fb
The Tests actually caught an error :)
If shortcuts were set, these were added as duplicates to the list.
2021-06-29 18:01:26 +02:00
tzugen
fe9b2f9700
Update Baseline file 2021-06-29 18:01:26 +02:00
tzugen
dbdb59bbff
Add a Room database for Artists, Indexes and MusicFolders.
* There is one database for each Server
* Index items are saved with a "musicFolderId" prop, which makes it possible to filter the database by musicFolder without necessarily having to query the server for it.
* Databases for new Servers are created on the fly
* If the user removes a server, the respective database is deleted.
2021-06-29 18:01:26 +02:00
tzugen
fa94cd24da
Export schema 2021-06-29 18:01:26 +02:00
tzugen
c99c4478f2
Remove file storage code from RESTAPI class 2021-06-29 18:01:26 +02:00
tzugen
67f2d1f9a8
Merge pull request #535 from ultrasonic/dependabot/gradle/versions.mockito-3.11.2
Bump versions.mockito from 3.11.0 to 3.11.2
2021-06-29 13:46:44 +02:00
dependabot[bot]
f15891cbdd
Bump versions.mockito from 3.11.0 to 3.11.2
Bumps `versions.mockito` from 3.11.0 to 3.11.2.

Updates `mockito-core` from 3.11.0 to 3.11.2
- [Release notes](https://github.com/mockito/mockito/releases)
- [Commits](https://github.com/mockito/mockito/compare/v3.11.0...v3.11.2)

Updates `mockito-inline` from 3.11.0 to 3.11.2
- [Release notes](https://github.com/mockito/mockito/releases)
- [Commits](https://github.com/mockito/mockito/compare/v3.11.0...v3.11.2)

---
updated-dependencies:
- dependency-name: org.mockito:mockito-core
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.mockito:mockito-inline
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-29 09:52:14 +00:00
James Wells
4ff167e497
merge develop 2021-06-22 20:08:49 -04:00
James Wells
793c4a6ca7
working version 2021-06-19 00:05:19 -04:00
James Wells
3853fce818
Merge branch 'develop' into AndroidAuto 2021-06-18 22:52:56 -04:00
James Wells
8855d19113
Merge branch 'develop' into AndroidAuto 2021-06-10 19:19:29 -04:00
James Wells
e95b2ce09c
refactored a bit, and some cleanup 2021-06-06 18:28:46 -04:00
James Wells
be4ffc2c7e
Merge branch 'develop' into AndroidAuto 2021-06-06 16:36:33 -04:00
James Wells
e666498f13
Initial Test of Android Auto 2021-05-28 20:40:00 -04:00
796 changed files with 32461 additions and 34549 deletions

View File

@ -1,140 +0,0 @@
version: 3
jobs:
build:
docker:
- image: circleci/android:api-29
working_directory: ~/ultrasonic
environment:
JVM_OPTS: -Xmx3200m
steps:
- checkout
- restore_cache:
keys:
- v1-ultrasonic-{{ .Branch }}-{{ checksum "dependencies.gradle" }}
- v1-ultrasonic-{{ .Branch }}
- v1-ultrasonic
- run:
name: configure gradle.properties for CI building
command: |
sed -i '/^org.gradle.jvmargs/d' gradle.properties
sed -i 's/^org.gradle.daemon=true/org.gradle.daemon=false/g' gradle.properties
- run:
name: checkstyle
command: ./gradlew -Pqc ktlintCheck
- run:
name: static analysis
command: ./gradlew -Pqc detekt
- run:
name: build
command: ./gradlew assembleDebug
- run:
name: unit-tests
command: |
./gradlew ciTest testDebugUnitTest
./gradlew jacocoFullReport
- run:
name: lint
command: ./gradlew :ultrasonic:lintRelease
- run:
name: assemble release build
command: ./gradlew build assembleRelease
- save_cache:
paths:
- ~/.gradle
key: v1-ultrasonic-{{ .Branch }}-{{ checksum "dependencies.gradle" }}
- store_artifacts:
path: ultrasonic/build/reports
destination: reports
- store_artifacts:
path: subsonic-api/build/reports
destination: reports
- store_artifacts:
path: build/reports/jacoco/jacocoFullReport/
push_translations:
docker:
- image: circleci/python:3.6
working_directory: ~/ultrasonic
steps:
- checkout
- run:
name: install transifex client
command: |
python -m venv ~/venv
. ~/venv/bin/activate
pip install transifex-client
- run:
name: configure transifex client
command: echo $'[https://www.transifex.com]\nhostname = https://www.transifex.com\nusername = api\npassword = '"${TRANSIFEX_PASSWORD}"$'\n' > ~/.transifexrc
- run:
name: push changes in translation files
command: |
. ~/venv/bin/activate
tx push -s
generate_signed_apk:
docker:
- image: circleci/android:api-28
working_directory: ~/ultrasonic
steps:
- checkout
- restore_cache:
keys:
- v1-ultrasonic-{{ .Branch }}-{{ checksum "dependencies.gradle" }}
- v1-ultrasonic-{{ .Branch }}
- v1-ultrasonic
- run:
name: decrypt ultrasonic-keystore
command: openssl aes-256-cbc -K ${ULTRASONIC_KEYSTORE_KEY} -iv ${ULTRASONIC_KEYSTORE_IV} -in ultrasonic-keystore.enc -out ultrasonic-keystore -d
- run:
name: build release apk
command: ./gradlew build assembleRelease
- run:
name: sign release apk
command: |
mkdir -p /tmp/ultrasonic-release
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore ~/ultrasonic/ultrasonic-keystore -storepass ${ULTRASONIC_KEYSTORE_STOREPASS} -keypass ${ULTRASONIC_KEYSTORE_KEYPASS} ultrasonic/build/outputs/apk/release/ultrasonic-release-unsigned.apk ultrasonic
jarsigner -verify ultrasonic/build/outputs/apk/release/ultrasonic-release-unsigned.apk
${ANDROID_HOME}/build-tools/27.0.0/zipalign -v 4 ultrasonic/build/outputs/apk/release/ultrasonic-release-unsigned.apk /tmp/ultrasonic-release/ultrasonic-${CIRCLE_TAG}.apk
- persist_to_workspace:
root: /tmp/ultrasonic-release
paths:
- ultrasonic-*.apk
publish_github_signed_apk:
docker:
- image: circleci/golang
steps:
- attach_workspace:
at: /tmp/ultrasonic-release
- run:
name: install ghr
command: go get -v github.com/tcnksm/ghr
- run:
name: publish release on github tag
command: ghr -u ${CIRCLE_PROJECT_USERNAME} -r ${CIRCLE_PROJECT_REPONAME} ${CIRCLE_TAG} /tmp/ultrasonic-release
workflows:
version: 2
build_and_push_translations:
jobs:
- build
- push_translations:
requires:
- build
filters:
branches:
only:
- develop
- master
- generate_signed_apk:
filters:
tags:
only: /^[0-9]+(\.[0-9]+)*/
branches:
ignore: /.*/
- publish_github_signed_apk:
requires:
- generate_signed_apk
filters:
tags:
only: /^[0-9]+(\.[0-9]+)*/
branches:
ignore: /.*/

2
.editorconfig Normal file
View File

@ -0,0 +1,2 @@
[*.{kt,kts}]
ktlint_code_style = android_studio

View File

@ -1,11 +0,0 @@
# To get started with Dependabot version updates, you'll need to specify which
# package ecosystems to update and where the package manifests are located.
# Please see the documentation for all configuration options:
# https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
version: 2
updates:
- package-ecosystem: "gradle" # See documentation for possible values
directory: "/" # Location of package manifests
schedule:
interval: "weekly"

2
.gitignore vendored
View File

@ -18,6 +18,7 @@ out/
# Gradle files
.gradle/
.kotlin/
build/
# Local configuration file (sdk path, etc)
@ -39,6 +40,7 @@ captures/
*.iml
.idea/
# Keystore files
*.jks

151
.gitlab-ci.yml Normal file
View File

@ -0,0 +1,151 @@
default:
image: registry.gitlab.com/ultrasonic/ci-android:1.2.0
cache: &global_cache
key:
files:
- gradle/wrapper/gradle-wrapper.properties
paths:
- .gradle/
variables:
CACHE_FALLBACK_KEY: develop-protected
MEMORY_CONFIG: "-Xmx3200m -Xms256m -XX:MaxMetaspaceSize=1g"
MEMORY_CONFIG_DEBUG: "-Xmx3200m -Xms256m -XX:MaxMetaspaceSize=1g -verbose:gc -Xlog:gc*"
JVM_OPTS: ${MEMORY_CONFIG}
JAVA_TOOL_OPTIONS: ${MEMORY_CONFIG}
GRADLE_OPTS: ${MEMORY_CONFIG}
PACKAGE_REGISTRY_URL: "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/Ultrasonic/${CI_COMMIT_TAG}"
PACKAGE_APK: "ultrasonic-${CI_COMMIT_TAG}.apk"
PACKAGE_APK_IDSIG: "ultrasonic-${CI_COMMIT_TAG}.apk.idsig"
GRADLE_USER_HOME: "$CI_PROJECT_DIR/.gradle"
# The project id of https://gitlab.com/ultrasonic/ultrasonic/
ROOT_PROJECT_ID: 37671564
stages:
- Check
- Build
- Sign APK
- Publish
- Release
Check Style:
stage: Check
script: ./gradlew -Pqc ktlintCheck
cache:
# inherit all global cache settings
<<: *global_cache
policy: pull
rules:
- if: $CI_COMMIT_REF_NAME == "develop" || $CI_COMMIT_REF_NAME == "master" || $CI_COMMIT_TAG || $CI_PROJECT_ID != $ROOT_PROJECT_ID
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
Static Analysis:
stage: Check
script: ./gradlew -Pqc detekt
cache:
# inherit all global cache settings
<<: *global_cache
policy: pull
rules:
- if: $CI_COMMIT_REF_NAME == "develop" || $CI_COMMIT_REF_NAME == "master" || $CI_COMMIT_TAG || $CI_PROJECT_ID != $ROOT_PROJECT_ID
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
Lint:
stage: Check
script: ./gradlew :ultrasonic:lintRelease
cache:
# inherit all global cache settings
<<: *global_cache
policy: pull-push
rules:
- if: $CI_COMMIT_REF_NAME == "develop" || $CI_COMMIT_REF_NAME == "master" || $CI_COMMIT_TAG || $CI_PROJECT_ID != $ROOT_PROJECT_ID
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
Unit Tests:
stage: Check
script: ./gradlew ciTest testDebugUnitTest
cache:
# inherit all global cache settings
<<: *global_cache
policy: pull-push
rules:
- if: $CI_COMMIT_REF_NAME == "develop" || $CI_COMMIT_REF_NAME == "master" || $CI_COMMIT_TAG || $CI_PROJECT_ID != $ROOT_PROJECT_ID
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
Assemble Release:
stage: Build
script:
- sed -i 's/applicationId \"org.moire.ultrasonic\"/applicationId "org.moire.ultrasonic.gitlab"/' ultrasonic/build.gradle
- ./gradlew assembleRelease
artifacts:
name: ultrasonic-release-unsigned-${CI_COMMIT_SHA}
paths:
- ultrasonic/build/outputs/apk/release/ultrasonic-release-unsigned.apk
rules:
- if: $CI_COMMIT_REF_NAME == "develop" || $CI_COMMIT_REF_NAME == "master" || $CI_COMMIT_TAG || $CI_PROJECT_ID != $ROOT_PROJECT_ID
# We generate a signed package for each commit to develop as well as when making a release.
# Since the develop signed apk are not persistent they can be downloaded for around 3 weeks before Gitlab deletes them.
Generate Signed APK:
stage: Sign APK
# We don't need the gradle cache here
cache: []
script:
- openssl aes-256-cbc -K ${ULTRASONIC_KEYSTORE_KEY} -iv ${ULTRASONIC_KEYSTORE_IV} -in ultrasonic-keystore.enc -out ultrasonic-keystore -d
- mkdir -p ${CI_PROJECT_DIR}/ultrasonic-release
- ${ANDROID_HOME}/build-tools/*/zipalign -v 4 ultrasonic/build/outputs/apk/release/ultrasonic-release-unsigned.apk ${CI_PROJECT_DIR}/ultrasonic-release/${PACKAGE_APK}
- ${ANDROID_HOME}/build-tools/*/apksigner sign --verbose --ks ${CI_PROJECT_DIR}/ultrasonic-keystore --ks-pass pass:${ULTRASONIC_KEYSTORE_STOREPASS} --key-pass pass:${ULTRASONIC_KEYSTORE_KEYPASS} ${CI_PROJECT_DIR}/ultrasonic-release/${PACKAGE_APK}
- ${ANDROID_HOME}/build-tools/*/apksigner verify --verbose ${CI_PROJECT_DIR}/ultrasonic-release/${PACKAGE_APK}
artifacts:
name: $PACKAGE_APK
paths:
- ultrasonic-release/
rules:
# Run when releasing a new tag
- if: $CI_COMMIT_TAG && $CI_PROJECT_ID == $ROOT_PROJECT_ID
# Or when adding a new commit to develop (but never inside merge events)
- if: $CI_COMMIT_REF_NAME == "develop" && $CI_PROJECT_ID == $ROOT_PROJECT_ID && $CI_PIPELINE_SOURCE != "merge_request_event"
variables:
PACKAGE_APK: ultrasonic-${CI_COMMIT_SHA}.apk
Publish Signed APK:
stage: Publish
image: curlimages/curl:latest
script:
- |
curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file ultrasonic-release/${PACKAGE_APK} "${PACKAGE_REGISTRY_URL}/${PACKAGE_APK}"
- |
curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file ultrasonic-release/${PACKAGE_APK_IDSIG} "${PACKAGE_REGISTRY_URL}/${PACKAGE_APK_IDSIG}"
rules:
- if: $CI_COMMIT_TAG && $CI_PROJECT_ID == $ROOT_PROJECT_ID
Release:
stage: Release
image: registry.gitlab.com/gitlab-org/release-cli:latest
script: |
release-cli create --name "Release ${CI_COMMIT_TAG}" --tag-name ${CI_COMMIT_TAG} \
--assets-link "{\"name\":\"${PACKAGE_APK}\",\"url\":\"${PACKAGE_REGISTRY_URL}/${PACKAGE_APK}\"}" \
--assets-link "{\"name\":\"${PACKAGE_APK_IDSIG}\",\"url\":\"${PACKAGE_REGISTRY_URL}/${PACKAGE_APK_IDSIG}\"}"
rules:
- if: $CI_COMMIT_TAG && $CI_PROJECT_ID == $ROOT_PROJECT_ID
RoboTest:
stage: Release
image: gcr.io/google.com/cloudsdktool/google-cloud-cli:latest
# We don't need the gradle cache here
cache: []
script:
- curl --silent "https://gitlab.com/gitlab-org/incubation-engineering/mobile-devops/download-secure-files/-/raw/main/installer" | bash
- gcloud auth activate-service-account --key-file .secure_files/firebase-key.json
- gcloud firebase test android run --project ultrasonic-61089 --type robo --app ultrasonic-release/${PACKAGE_APK} --robo-directives click:button1= --device model=Nexus6,version=21,locale=en,orientation=portrait --device model=Pixel3,version=28,locale=fr,orientation=landscape
rules:
# Run when releasing a new tag
- if: $CI_COMMIT_TAG && $CI_PROJECT_ID == $ROOT_PROJECT_ID
# or when requested by using [ROBO] inside the commit message and merging to develop
# Would be nice to be able to run it in a MR as well, but currently not possible
# Because it would not have access to the protected keys.
- if: $CI_COMMIT_MESSAGE =~ /^\[ROBO\].*/ && $CI_PROJECT_ID == $ROOT_PROJECT_ID && $CI_COMMIT_REF_NAME == "develop" && $CI_PIPELINE_SOURCE != "merge_request_event"
variables:
PACKAGE_APK: ultrasonic-${CI_COMMIT_SHA}.apk

View File

@ -0,0 +1,35 @@
## Problem description
Describe your problem here. Describe what you want to happen, and what
happens if you try to do it. If you have a stack trace or any logs, please
format them using Markdown triple backquote notation.
### Steps to reproduce
Describe how somebody else could observe the same behavior you do. Don't
share here any logins and passwords!
### Please provide a log!
Many issues are hard to reproduce without a log file. Please enable logging by opening the setting and scrolling to the bottom.
There you will find an option to activate loging and to export the file. Please note that the log might contain personal information,
such as the name of the tracks you listened to. If you don't want to post it publicly, let us know, and we will find a way.
## System information
### Ultrasonic client
* **Ultrasonic version**: *version of the app*
* **Android version**: *Version of Android OS on the device*
* **Device info**: *Device manufacturer, model*
### Server
* **Server name**: *Airsonic, Ampache, Supysonic...*
* **Server version**: *version of server software*
* **Protocol used**: *http or https (self certificate, letsencrypt...)*
## Additional notes
Include any extra notes here. Otherwise you may remove this section.

View File

@ -0,0 +1,32 @@
## Motivation
Describe here what motivated you to make this enhancement request. What is
currently happening and what would you like to improve. If you have a stack
trace or any logs, please format them using Markdown triple backquote
notation.
### Proposal
Tell us in detail what you propose. How you want to achieve what you would
like to improve.
## System information
Include this section only if you consider that is relevant to this ticket,
otherwise you may remove it.
### Ultrasonic client
* **Ultrasonic version**: *version of the app*
* **Android version**: *Version of Android OS on the device*
* **Device info**: *Device manufacturer, model*
### Server
* **Server name**: *Airsonic, Ampache, Supysonic...*
* **Server version**: *version of server software*
* **Protocol used**: *http or https (self certificate, letsencrypt...)*
## Additional notes
Include any extra notes here. Otherwise you may remove this section.

View File

@ -0,0 +1,27 @@
## Proposal
Describe your proposed feature request here. Use this template only to
request a new feature that does not exist in Ultrasonic. If you are
requesting an enhancement to a current feature, please use the enhancement
template.
## System information
Include this section only if you consider that is relevant to this ticket,
otherwise you may remove it.
### Ultrasonic client
* **Ultrasonic version**: *version of the app*
* **Android version**: *Version of Android OS on the device*
* **Device info**: *Device manufacturer, model*
### Server
* **Server name**: *Airsonic, Ampache, Supysonic...*
* **Server version**: *version of server software*
* **Protocol used**: *http or https (self certificate, letsencrypt...)*
## Additional notes
Include any extra notes here. Otherwise you may remove this section.

View File

@ -0,0 +1,12 @@
<!-- Please describe your changes here -->
----------------------------------------------------------------------------
- [ ] I have opened an issue where I discuss the change I wish to make.
- [ ] I ran `./gradlew -Pqc ktlintCheck`, `./gradlew -Pqc detekt` and
`./gradlew :ultrasonic:lintRelease` and no problems found. See
[CONTRIBUTING](CONTRIBUTING.md) for further information.
- [ ] All commits [are
signed](https://docs.gitlab.com/ee/user/project/repository/gpg_signed_commits/).
- [ ] I agree to release my code and all other changes of this MR under the
[GNU GPLv3](LICENSE) license.

View File

@ -0,0 +1,10 @@
#### Before merge:
- [ ] MR is targetting the master branch
- [ ] **Squash commits must be disabled!**
- [ ] RoboTests (5 physical, 10 virtual) on a Release apk return no errors
- [ ] Release notes present
#### After merge
- [ ] ``git fetch``
- [ ] Create an annotated and signed tag: ``git tag -sa``
- [ ] Push the tag to git:``git push --tags``

6
.gitlab/renovate.json Normal file
View File

@ -0,0 +1,6 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": ["config:base"],
"baseBranches": [ "develop" ],
"labels": [ "housekeeping", "dependencies" ]
}

123
.idea/codeStyles/Project.xml generated Normal file
View File

@ -0,0 +1,123 @@
<component name="ProjectCodeStyleConfiguration">
<code_scheme name="Project" version="173">
<JetCodeStyleSettings>
<option name="CODE_STYLE_DEFAULTS" value="KOTLIN_OFFICIAL" />
</JetCodeStyleSettings>
<codeStyleSettings language="XML">
<option name="FORCE_REARRANGE_MODE" value="1" />
<indentOptions>
<option name="CONTINUATION_INDENT_SIZE" value="4" />
</indentOptions>
<arrangement>
<rules>
<section>
<rule>
<match>
<AND>
<NAME>xmlns:android</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>^$</XML_NAMESPACE>
</AND>
</match>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>xmlns:.*</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>^$</XML_NAMESPACE>
</AND>
</match>
<order>BY_NAME</order>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>.*:id</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
</AND>
</match>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>.*:name</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
</AND>
</match>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>name</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>^$</XML_NAMESPACE>
</AND>
</match>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>style</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>^$</XML_NAMESPACE>
</AND>
</match>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>.*</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>^$</XML_NAMESPACE>
</AND>
</match>
<order>BY_NAME</order>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>.*</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
</AND>
</match>
<order>ANDROID_ATTRIBUTE_ORDER</order>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>.*</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>.*</XML_NAMESPACE>
</AND>
</match>
<order>BY_NAME</order>
</rule>
</section>
</rules>
</arrangement>
</codeStyleSettings>
<codeStyleSettings language="kotlin">
<option name="CODE_STYLE_DEFAULTS" value="KOTLIN_OFFICIAL" />
</codeStyleSettings>
</code_scheme>
</component>

5
.idea/codeStyles/codeStyleConfig.xml generated Normal file
View File

@ -0,0 +1,5 @@
<component name="ProjectCodeStyleConfiguration">
<state>
<option name="USE_PER_PROJECT_SETTINGS" value="true" />
</state>
</component>

6
.idea/compiler.xml generated Normal file
View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="CompilerConfiguration">
<bytecodeTargetLevel target="21" />
</component>
</project>

6
.idea/copyright/Default.xml generated Normal file
View File

@ -0,0 +1,6 @@
<component name="CopyrightManager">
<copyright>
<option name="notice" value="&amp;#36;file.fileName&#10;Copyright (C) 2009-&amp;#36;today.year Ultrasonic developers&#10;&#10;Distributed under terms of the GNU GPLv3 license." />
<option name="myName" value="Default" />
</copyright>
</component>

7
.idea/copyright/profiles_settings.xml generated Normal file
View File

@ -0,0 +1,7 @@
<component name="CopyrightManager">
<settings default="Default">
<LanguageOptions name="Kotlin">
<option name="fileTypeOverride" value="3" />
</LanguageOptions>
</settings>
</component>

View File

@ -0,0 +1,8 @@
<component name="InspectionProjectProfileManager">
<profile version="1.0">
<option name="myName" value="Project Default" />
<inspection_tool class="Reformat" enabled="false" level="WEAK WARNING" enabled_by_default="false">
<option name="processChangedFilesOnly" value="true" />
</inspection_tool>
</profile>
</component>

6
.idea/vcs.xml generated Normal file
View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$" vcs="Git" />
</component>
</project>

View File

@ -1,10 +0,0 @@
[main]
host = https://www.transifex.com
lang_map = nl_NL:nl,pl_PL:pl,fr_CA:fr-rCA,pt_BR:pt-rBR,pt_PT:pt,zh_CN:zh-rCN,zh_HK:zh-rHK,zh_TW:zh-rTW,da_DK:da-rDK,de_DE:de,tr_TR:tr,fr_FR:fr,es_ES:es,hu_HU:hu,sv_SE:sv-rSE,bg_BG:bg,el_GR:el,kn_IN:kn-rIN,cs_CZ:cs,sr:sr,he:iw,id:in,lt_LT:lt,km_KH:km-rKH,th_TH:th,ru_RU:ru,it_IT:it
[ultrasonic.app]
file_filter = ultrasonic/src/main/res/values-<lang>/strings.xml
source_file = ultrasonic/src/main/res/values/strings.xml
source_lang = en
type = ANDROID

View File

@ -1,35 +1,83 @@
# Contributing
Ultrasonic development is a community project, and contributions are welcomed.
Ultrasonic development is a community project, and contributions are
welcomed.
First, see if your issue havent been yet reported [here](https://github.com/ultrasonic/ultrasonic/issues),
then, please, first discuss the change you wish to make via [a new issue](https://github.com/ultrasonic/ultrasonic/issues/new).
First, see if your issue havent been yet reported
[here](https://gitlab.com/ultrasonic/ultrasonic/issues), then, please, first
discuss the change you wish to make via [a new
issue](https://gitlab.com/ultrasonic/ultrasonic/issues/new).
## Contributing Translations
Interested in help to translate Ultrasonic? You can contribute in our
[Transifex team](https://www.transifex.com/ultrasonic/ultrasonic/).
[Weblate team](https://hosted.weblate.org/projects/ultrasonic/).
## Contributing Code
By default Pull Request should be opened against **develop** branch, PR against **master** branch should be used only
for critical bugfixes.
By default, merge requests should be opened against the **develop** branch
from your own branch, MR against the **master** branch should only be used
for critical bug fixes.
### Here are a few guidelines you should follow before submitting:
1. **License Acceptance:** All contributions must be licensed as [GNU GPLv3](LICENSE) to be accepted.
Use `git commit --signoff` to acknowledge this.
2. **App is migrating to [Kotlin](https://kotlinlang.org/) programming language:** new Pull Requests
should be written in this programming language.
3. **No Breakage:** New features or changes to existing ones must not degrade the user experience.
4. **Coding standards:** best-practices should be followed, comment generously, and avoid "clever" algorithms.
Refactoring existing messes is great, but watch out for breakage.
5. **No large PR:** Try to limit the scope of PR only to the related issue, so it will be easier to review
and test.
1. **License Acceptance:** All contributions must be licensed as [GNU
GPLv3](LICENSE) to be accepted. Use `git commit --signoff` to acknowledge
this.
2. **No Breakage**: New features or changes to existing ones must not
degrade the user experience.
3. **Coding standards**: best-practices should be followed, comment
generously, and avoid "clever" algorithms. Refactoring existing messes is
great, but watch out for breakage.
4. **No large PR**: Try to limit the scope of PR only to the related issue,
so it will be easier to review and test.
5. **Make your own branch**: When you send us a merge request, please do it
from your own branch. Avoid using the `develop` branch.
### Pull Request Process
### Merge request process
1. Ensure [all commits are signed-off](https://docs.github.com/en/free-pro-team@latest/github/authenticating-to-github/about-commit-signature-verification).
2. Check tests for the new code are added.
3. Check code style is passing.
4. Check code static analysis is passing.
On each merge request GitLab runs a number of checks to make sure there are
no problems.
Take special note of point five of the previous paragraph. Do not use the
`develop` branch, make your own. Not following this step will cause your
merge request to be rejected without even checking it.
#### Signed commits
Commits must be signed. [See here how to set it
up](https://docs.gitlab.com/ee/user/project/repository/gpg_signed_commits/).
#### KtLint
This programm checks if the source code is formatted correctly. You can run
it yourself locally with
```
./gradlew -Pqc ktlintFormat
```
Running this command will fix common problems and will notify you of
problems it couldn't fix automatically.
#### Detekt
Detekt is a static analyser. It helps to find potential bugs in our code.
You can run it yourself locally with
```
./gradlew -Pqc detekt
```
There is a "baseline" file, in which errors which have been in the code base
before are noted. Sometimes it is necessary to regenerate this file by
running:
```
./gradlew -Pqc detektBaseline
```
#### Lint
Lint looks for general problems in the code or unused resources etc. You can
run it with
```
./gradlew -Pqc lintRelease
```
If there is a need to regenerate the baseline, remove
`ultrasonic/lint-baseline.xml` and rerun the command.

View File

@ -1,20 +0,0 @@
## Problem description
Describe your problem here. Describe what you want to happen, and what happens
if you try to do it. If you have a stack trace or any logs, please format them using
github triple backquote notation
### Steps to reproduce
Describe how somebody else could observe the same behavior you do. Don't share here any logins and
passwords!
## System information
* **Ultrasonic version**: *version of the app*
* **Android version**: *Version of Android OS on the device*
* **Device info**: *Device manufacturer, model*
## Additional notes
Include any extra notes here. Otherwise you may remove this section.

View File

@ -1,14 +1,14 @@
# Ultrasonic
[![Build Status](https://circleci.com/gh/ultrasonic/ultrasonic/tree/develop.svg?style=shield&circle-token=:circle-token)](https://circleci.com/gh/ultrasonic)
[![Codecov branch](https://img.shields.io/codecov/c/github/ultrasonic/ultrasonic/develop.svg)]()
[![ktlint](https://img.shields.io/badge/code%20style-%E2%9D%A4-FF4081.svg)](https://ktlint.github.io/)
Ultrasonic is free and open-source music streaming Android client for [Subsonic](http://www.subsonic.org/) [API](http://www.subsonic.org/pages/api.jsp) (version 1.7.0 or higher) compatible servers.
Ultrasonic is free and open-source music streaming Android client for
[Subsonic][subsonic] [API][subapi] (version 1.7.0 or higher) compatible
servers.
## Help wanted
We currently don't have that much time to spend developing Subsonic, so any
contributions or active developers are always welcomed.
Have a look at [CONTRIBUTING](CONTRIBUTING.md) to get started.
## Download
@ -16,22 +16,20 @@ App is available to download at following stores:
[<img src="https://play.google.com/intl/en_us/badges/images/generic/en-play-badge.png" alt="Get it on Google Play" height="70">](https://play.google.com/store/apps/details?id=org.moire.ultrasonic)
[<img src="https://f-droid.org/badge/get-it-on.png" alt="Get it on F-Droid" height="70">](https://f-droid.org/packages/org.moire.ultrasonic/)
[<img src="https://ultrasonic.github.io/assets/img/get-it-on-github.png" alt="Get it on GitHub" height="70">](https://github.com/ultrasonic/ultrasonic/releases)
[<img src="https://ultrasonic.gitlab.io/assets/img/get-it-on-gitlab.png" alt="Get it on GitLab" height="70">](https://gitlab.com/ultrasonic/ultrasonic/-/releases)
**Warning**: All three versions (Google Play, F-Droid and the APKs) are not
compatible (not signed by the same key)! You must uninstall one to install
the other, which will delete all your data.
If you want to use the version downloaded from F-Droid or from GitLab with
**Android Auto**, you must enable Unknown Sources as it is described in
[this wiki page][wikiaa].
## Bugs and issues
First, see if your issue havent been yet reported [here](https://github.com/ultrasonic/ultrasonic/issues),
otherwise open [a new issue](https://github.com/ultrasonic/ultrasonic/issues/new).
### Known (not our) bugs
If you are using *Madsonic 5.1.X* several sections of Ultrasonic will not
work. This is caused by bad implementation of Subsonic API by Madsonic. For
more info about this you can read [this bug](https://github.com/ultrasonic/ultrasonic/issues/129).
First, see if your issue havent been yet reported [here][issues], otherwise
open [a new issue][newissue].
## Contributing
@ -39,16 +37,28 @@ See [CONTRIBUTING](CONTRIBUTING.md).
## Supported (tested) Subsonic API implementations
- [Subsonic](http://www.subsonic.org/pages/index.jsp)
- [Airsonic](https://github.com/airsonic/airsonic)
- [Supysonic](https://github.com/spl0k/supysonic)
- [Ampache](https://ampache.org/)
- [Subsonic][subsonic]
- [Airsonic-Advanced][airsonic]
- [Supysonic][supysonic]
- [Ampache][ampache]
Other *Subsonic API* implementations should work as well as long as they follow API
[documentation](http://www.subsonic.org/pages/api.jsp).
Other *Subsonic API* implementations should work as well as long as they
follow API [documentation][subapi].
## License
This software is licensed under the terms of the GNU General Public License version 3 (GPLv3).
This software is licensed under the terms of the GNU General Public License
version 3 (GPLv3).
Full text of the license is available in the [LICENSE](LICENSE) file and [online](https://opensource.org/licenses/gpl-3.0.html).
Full text of the license is available in the [LICENSE](LICENSE) file and
[online][gpl3].
[wikiaa]: https://gitlab.com/ultrasonic/ultrasonic/-/wikis/Using-Ultrasonic-with-Android-Auto
[issues]: https://gitlab.com/ultrasonic/ultrasonic/-/issues
[newissue]: https://gitlab.com/ultrasonic/ultrasonic/-/issues/new
[subsonic]: http://www.subsonic.org/
[subapi]: http://www.subsonic.org/pages/api.jsp
[airsonic]: https://github.com/airsonic-advanced/airsonic-advanced
[supysonic]: https://github.com/spl0k/supysonic
[ampache]: https://ampache.org/
[gpl3]: https://opensource.org/licenses/gpl-3.0.html

View File

@ -1,6 +1,8 @@
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
apply from: 'dependencies.gradle'
apply from: 'gradle/versions.gradle'
ext.bootstrap = [
kotlinModule : "${project.rootDir}/gradle_scripts/kotlin-module-bootstrap.gradle",
@ -10,14 +12,15 @@ buildscript {
repositories {
google()
mavenCentral()
maven { url "https://plugins.gradle.org/m2/" }
gradlePluginPortal()
maven { url = "https://plugins.gradle.org/m2/" }
}
dependencies {
classpath gradlePlugins.gradle
classpath gradlePlugins.kotlin
classpath gradlePlugins.ktlintGradle
classpath gradlePlugins.detekt
classpath gradlePlugins.jacoco
classpath libs.gradle
classpath libs.kotlin
classpath libs.ktlintGradle
classpath libs.detekt
classpath libs.navigationSafeArgs
}
}
@ -26,27 +29,32 @@ allprojects {
buildscript {
repositories {
mavenCentral()
gradlePluginPortal()
google()
}
}
repositories {
mavenCentral()
gradlePluginPortal()
google()
maven { url 'https://jitpack.io' }
}
// Set Kotlin JVM target to the same for all subprojects
tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).all {
tasks.withType(KotlinCompile).configureEach {
kotlinOptions {
jvmTarget = "1.8"
jvmTarget = "21"
}
}
tasks.withType(JavaCompile).tap {
configureEach {
options.compilerArgs.add("-Xlint:deprecation")
}
}
}
apply from: 'gradle_scripts/jacoco.gradle'
wrapper {
gradleVersion(versions.gradle)
distributionType("all")
}
gradleVersion = libs.versions.gradle.get()
distributionType = "all"
}

View File

@ -2,14 +2,11 @@ build:
maxIssues: 0
weights:
complexity: 2
formatting: 1
LongParameterList: 1
comments: 1
potential-bugs:
active: true
DuplicateCaseInWhenExpression:
active: true
EqualsWithHashCodeExist:
active: true
ExplicitGarbageCollectionCall:
@ -42,41 +39,39 @@ empty-blocks:
complexity:
active: true
TooManyFunctions:
thresholdInFiles: 20
thresholdInClasses: 20
thresholdInFiles: 25
thresholdInClasses: 25
thresholdInInterfaces: 20
thresholdInObjects: 30
LabeledExpression:
active: false
formatting:
autoCorrect: true
active: false
style:
active: true
NewLineAtEndOfFile:
active: true
ForbiddenComment:
active: true
values: 'FIXME:,STOPSHIP:'
comments:
- reason: 'Forbidden FIXME todo marker in comment, please fix the problem.'
value: 'FIXME:'
- reason: 'Forbidden STOPSHIP todo marker in comment, please address the problem before shipping the code.'
value: 'STOPSHIP:'
WildcardImport:
active: true
MaxLineLength:
active: true
maxLineLength: 120
excludePackageStatements: false
excludeImportStatements: false
active: false
MagicNumber:
# 100 common in percentage, 1000 in milliseconds
ignoreNumbers: ['-1', '0', '1', '2', '100', '1000']
ignoreNumbers: ['-1', '0', '1', '2', '5', '10', '100', '256', '512', '1000', '1024', '4096']
ignoreEnums: true
ignorePropertyDeclaration: true
UnnecessaryAbstractClass:
active: false
ReturnCount:
max: 3
max: 5
ForbiddenImport:
imports: ['android.app.AlertDialog']
comments:
active: true

View File

@ -1,12 +0,0 @@
apply from: bootstrap.kotlinModule
dependencies {
api project(':core:domain')
api other.twitterSerial
testImplementation testing.kotlinJunit
testImplementation testing.mockito
testImplementation testing.mockitoInline
testImplementation testing.mockitoKotlin
testImplementation testing.kluent
}

View File

@ -1,14 +0,0 @@
package org.moire.ultrasonic.cache
import java.io.File
/**
* Provides access to generic directories:
* - for temporary caches
* - for permanent data storage
*/
interface Directories {
fun getInternalCacheDir(): File
fun getInternalDataDir(): File
fun getExternalCacheDir(): File?
}

View File

@ -1,75 +0,0 @@
package org.moire.ultrasonic.cache
import com.twitter.serial.serializer.SerializationContext
import com.twitter.serial.serializer.Serializer
import com.twitter.serial.stream.Serial
import com.twitter.serial.stream.bytebuffer.ByteBufferSerial
import java.io.File
typealias DomainEntitySerializer<T> = Serializer<T>
internal const val STORAGE_DIR_NAME = "persistent_storage"
/**
* Provides access to permanent file based storage.
*
* [serverId] is currently active server. Should be unique per server so stored data will not
* interfere with other server data.
*
* Look at [org.moire.ultrasonic.cache.serializers] package for available [DomainEntitySerializer]s.
*/
class PermanentFileStorage(
private val directories: Directories,
private val serverId: String,
private val debug: Boolean = false
) {
private val serializationContext = object : SerializationContext {
override fun isDebug(): Boolean = debug
override fun isRelease(): Boolean = !debug
}
private val serializer: Serial = ByteBufferSerial(serializationContext)
/**
* Stores given [objectToStore] using [name] as a key and [objectSerializer] as serializer.
*/
fun <T> store(
name: String,
objectToStore: T,
objectSerializer: DomainEntitySerializer<T>
) {
val storeFile = getFile(name)
if (!storeFile.exists()) storeFile.createNewFile()
storeFile.writeBytes(serializer.toByteArray(objectToStore, objectSerializer))
}
/**
* Loads object with [name] key using [objectDeserializer] deserializer.
*/
fun <T> load(
name: String,
objectDeserializer: DomainEntitySerializer<T>
): T? {
val storeFile = getFile(name)
if (!storeFile.exists()) return null
return serializer.fromByteArray(storeFile.readBytes(), objectDeserializer)
}
/**
* Clear all files in storage.
*/
fun clearAll() {
val storageDir = getStorageDir()
storageDir.listFiles().forEach { it.deleteRecursively() }
}
private fun getFile(name: String) = File(getStorageDir(), "$name.ser")
private fun getStorageDir(): File {
val mainDir = File(directories.getInternalDataDir(), STORAGE_DIR_NAME)
val serverDir = File(mainDir, serverId)
if (!serverDir.exists()) serverDir.mkdirs()
return serverDir
}
}

View File

@ -1,65 +0,0 @@
@file:JvmMultifileClass
@file:JvmName("DomainSerializers")
package org.moire.ultrasonic.cache.serializers
import com.twitter.serial.serializer.CollectionSerializers
import com.twitter.serial.serializer.ObjectSerializer
import com.twitter.serial.serializer.SerializationContext
import com.twitter.serial.stream.SerializerDefs
import com.twitter.serial.stream.SerializerInput
import com.twitter.serial.stream.SerializerOutput
import org.moire.ultrasonic.cache.DomainEntitySerializer
import org.moire.ultrasonic.domain.Artist
private const val SERIALIZER_VERSION = 1
private val artistSerializer get() = object : ObjectSerializer<Artist>(SERIALIZER_VERSION) {
override fun serializeObject(
context: SerializationContext,
output: SerializerOutput<out SerializerOutput<*>>,
item: Artist
) {
output.writeString(item.id)
.writeString(item.name)
.writeString(item.index)
.writeString(item.coverArt)
.apply {
val albumCount = item.albumCount
if (albumCount != null) writeLong(albumCount) else writeNull()
}
.writeInt(item.closeness)
}
override fun deserializeObject(
context: SerializationContext,
input: SerializerInput,
versionNumber: Int
): Artist? {
if (versionNumber != SERIALIZER_VERSION) return null
val id = input.readString()
val name = input.readString()
val index = input.readString()
val coverArt = input.readString()
val albumCount = if (input.peekType() == SerializerDefs.TYPE_NULL) {
input.readNull()
null
} else {
input.readLong()
}
val closeness = input.readInt()
return Artist(id, name, index, coverArt, albumCount, closeness)
}
}
/**
* Serializer/deserializer for [Artist] domain entity.
*/
fun getArtistsSerializer(): DomainEntitySerializer<Artist> = artistSerializer
private val artistListSerializer = CollectionSerializers.getListSerializer(artistSerializer)
/**
* Serializer/deserializer for list of [Artist] domain entities.
*/
fun getArtistListSerializer(): DomainEntitySerializer<List<Artist>> = artistListSerializer

View File

@ -1,51 +0,0 @@
@file:JvmMultifileClass
@file:JvmName("DomainSerializers")
package org.moire.ultrasonic.cache.serializers
import com.twitter.serial.serializer.ObjectSerializer
import com.twitter.serial.serializer.SerializationContext
import com.twitter.serial.stream.SerializerInput
import com.twitter.serial.stream.SerializerOutput
import org.moire.ultrasonic.cache.DomainEntitySerializer
import org.moire.ultrasonic.domain.Artist
import org.moire.ultrasonic.domain.Indexes
private const val SERIALIZATION_VERSION = 1
private val indexesSerializer get() = object : ObjectSerializer<Indexes>(SERIALIZATION_VERSION) {
override fun serializeObject(
context: SerializationContext,
output: SerializerOutput<out SerializerOutput<*>>,
item: Indexes
) {
val artistListSerializer = getArtistListSerializer()
output.writeLong(item.lastModified)
.writeString(item.ignoredArticles)
.writeObject<MutableList<Artist>>(context, item.shortcuts, artistListSerializer)
.writeObject<MutableList<Artist>>(context, item.artists, artistListSerializer)
}
@Suppress("ReturnCount")
override fun deserializeObject(
context: SerializationContext,
input: SerializerInput,
versionNumber: Int
): Indexes? {
if (versionNumber != SERIALIZATION_VERSION) return null
val artistListDeserializer = getArtistListSerializer()
val lastModified = input.readLong()
val ignoredArticles = input.readString() ?: return null
val shortcutsList = input.readObject(context, artistListDeserializer) ?: return null
val artistsList = input.readObject(context, artistListDeserializer) ?: return null
return Indexes(
lastModified, ignoredArticles, shortcutsList.toMutableList(),
artistsList.toMutableList()
)
}
}
/**
* Get serializer/deserializer for [Indexes] entity.
*/
fun getIndexesSerializer(): DomainEntitySerializer<Indexes> = indexesSerializer

View File

@ -1,51 +0,0 @@
@file:JvmMultifileClass
@file:JvmName("DomainSerializers")
package org.moire.ultrasonic.cache.serializers
import com.twitter.serial.serializer.CollectionSerializers
import com.twitter.serial.serializer.ObjectSerializer
import com.twitter.serial.serializer.SerializationContext
import com.twitter.serial.stream.SerializerInput
import com.twitter.serial.stream.SerializerOutput
import org.moire.ultrasonic.cache.DomainEntitySerializer
import org.moire.ultrasonic.domain.MusicFolder
private const val SERIALIZATION_VERSION = 1
private val musicFolderSerializer = object : ObjectSerializer<MusicFolder>(SERIALIZATION_VERSION) {
override fun serializeObject(
context: SerializationContext,
output: SerializerOutput<out SerializerOutput<*>>,
item: MusicFolder
) {
output.writeString(item.id).writeString(item.name)
}
@Suppress("ReturnCount")
override fun deserializeObject(
context: SerializationContext,
input: SerializerInput,
versionNumber: Int
): MusicFolder? {
if (versionNumber != SERIALIZATION_VERSION) return null
val id = input.readString() ?: return null
val name = input.readString() ?: return null
return MusicFolder(id, name)
}
}
/**
* Serializer/deserializer for [MusicFolder] domain entity.
*/
fun getMusicFolderSerializer(): DomainEntitySerializer<MusicFolder> = musicFolderSerializer
private val musicFolderListSerializer =
CollectionSerializers.getListSerializer(musicFolderSerializer)
/**
* Serializer/deserializer for [List] of [MusicFolder] items.
*/
fun getMusicFolderListSerializer(): DomainEntitySerializer<List<MusicFolder>> =
musicFolderListSerializer

View File

@ -1,42 +0,0 @@
package org.moire.ultrasonic.cache
import com.twitter.serial.util.SerializationUtils
import java.io.File
import org.amshove.kluent.`it returns`
import org.junit.Before
import org.junit.Rule
import org.junit.rules.TemporaryFolder
import org.mockito.kotlin.mock
internal const val INTERNAL_DATA_FOLDER = "data"
internal const val INTERNAL_CACHE_FOLDER = "cache"
internal const val EXTERNAL_CACHE_FOLDER = "external_cache"
/**
* Base test class that inits the storage
*/
abstract class BaseStorageTest {
@get:Rule val tempFileRule = TemporaryFolder()
protected lateinit var mockDirectories: Directories
protected lateinit var storage: PermanentFileStorage
open val serverId: String = ""
@Before
fun setUp() {
mockDirectories = mock<Directories> {
on { getInternalDataDir() } `it returns` tempFileRule.newFolder(INTERNAL_DATA_FOLDER)
on { getInternalCacheDir() } `it returns` tempFileRule.newFolder(INTERNAL_CACHE_FOLDER)
on { getExternalCacheDir() } `it returns` tempFileRule.newFolder(EXTERNAL_CACHE_FOLDER)
}
storage = PermanentFileStorage(mockDirectories, serverId, true)
}
protected val storageDir get() = File(mockDirectories.getInternalDataDir(), STORAGE_DIR_NAME)
protected fun validateSerializedData(index: Int = 0) {
val serializedFileBytes = storageDir.listFiles()[index].readBytes()
SerializationUtils.validateSerializedData(serializedFileBytes)
}
}

View File

@ -1,80 +0,0 @@
package org.moire.ultrasonic.cache
import java.io.File
import org.amshove.kluent.`should be equal to`
import org.amshove.kluent.`should contain`
import org.junit.Test
import org.moire.ultrasonic.cache.serializers.getMusicFolderSerializer
import org.moire.ultrasonic.domain.MusicFolder
/**
* Integration test for [PermanentFileStorage].
*/
class PermanentFileStorageTest : BaseStorageTest() {
override val serverId: String
get() = "some-server-id"
@Test
fun `Should create storage dir if it is not exist`() {
val item = MusicFolder("1", "2")
storage.store("test", item, getMusicFolderSerializer())
storageDir.exists() `should be equal to` true
getServerStorageDir().exists() `should be equal to` true
}
@Test
fun `Should serialize to file`() {
val item = MusicFolder("1", "23")
val name = "some-name"
storage.store(name, item, getMusicFolderSerializer())
val storageFiles = getServerStorageDir().listFiles()
storageFiles.size `should be equal to` 1
storageFiles[0].name `should contain` name
}
@Test
fun `Should deserialize stored object`() {
val item = MusicFolder("some", "nice")
val name = "some-name"
storage.store(name, item, getMusicFolderSerializer())
val loadedItem = storage.load(name, getMusicFolderSerializer())
loadedItem `should be equal to` item
}
@Test
fun `Should overwrite existing stored object`() {
val name = "some-nice-name"
val item1 = MusicFolder("1", "1")
val item2 = MusicFolder("2", "2")
storage.store(name, item1, getMusicFolderSerializer())
storage.store(name, item2, getMusicFolderSerializer())
val loadedItem = storage.load(name, getMusicFolderSerializer())
loadedItem `should be equal to` item2
}
@Test
fun `Should clear all files when clearAll is called`() {
storage.store("name1", MusicFolder("1", "1"), getMusicFolderSerializer())
storage.store("name2", MusicFolder("2", "2"), getMusicFolderSerializer())
storage.clearAll()
getServerStorageDir().listFiles().size `should be equal to` 0
}
@Test
fun `Should return null if serialized file not available`() {
val loadedItem = storage.load("some-name", getMusicFolderSerializer())
loadedItem `should be equal to` null
}
private fun getServerStorageDir() = File(storageDir, serverId)
}

View File

@ -1,57 +0,0 @@
package org.moire.ultrasonic.cache.serializers
import org.amshove.kluent.`should be equal to`
import org.junit.Test
import org.moire.ultrasonic.cache.BaseStorageTest
import org.moire.ultrasonic.domain.Artist
/**
* [Artist] serializers test.
*/
class ArtistSerializerTest : BaseStorageTest() {
@Test
fun `Should correctly serialize Artist object`() {
val item = Artist("id", "name", "index", "coverArt", 1, 0)
storage.store("some-name", item, getArtistsSerializer())
validateSerializedData()
}
@Test
fun `Should correctly deserialize Artist object`() {
val itemName = "some-name"
val item = Artist("id", "name", "index", "coverArt", null, 0)
storage.store(itemName, item, getArtistsSerializer())
val loadedItem = storage.load(itemName, getArtistsSerializer())
loadedItem `should be equal to` item
}
@Test
fun `Should correctly serialize list of Artists`() {
val itemsList = listOf(
Artist(id = "1"),
Artist(id = "2", name = "some")
)
storage.store("some-name", itemsList, getArtistListSerializer())
validateSerializedData()
}
@Test
fun `Should correctly deserialize list of Artists`() {
val name = "some-name"
val itemsList = listOf(
Artist(id = "1"),
Artist(id = "2", name = "some")
)
storage.store(name, itemsList, getArtistListSerializer())
val loadedItems = storage.load(name, getArtistListSerializer())
loadedItems `should be equal to` itemsList
}
}

View File

@ -1,38 +0,0 @@
package org.moire.ultrasonic.cache.serializers
import org.amshove.kluent.`should be equal to`
import org.junit.Test
import org.moire.ultrasonic.cache.BaseStorageTest
import org.moire.ultrasonic.domain.Artist
import org.moire.ultrasonic.domain.Indexes
/**
* Test [Indexes] domain entity serializer.
*/
class IndexesSerializerTest : BaseStorageTest() {
@Test
fun `Should correctly serialize Indexes object`() {
val item = Indexes(
220L, "", mutableListOf(Artist("12")),
mutableListOf(Artist("233", "some"))
)
storage.store("some-name", item, getIndexesSerializer())
validateSerializedData()
}
@Test
fun `Should correctly deserialize Indexes object`() {
val name = "some-name"
val item = Indexes(
220L, "", mutableListOf(Artist("12")),
mutableListOf(Artist("233", "some"))
)
storage.store(name, item, getIndexesSerializer())
val loadedItem = storage.load(name, getIndexesSerializer())
loadedItem `should be equal to` item
}
}

View File

@ -1,57 +0,0 @@
package org.moire.ultrasonic.cache.serializers
import org.amshove.kluent.`should be equal to`
import org.junit.Test
import org.moire.ultrasonic.cache.BaseStorageTest
import org.moire.ultrasonic.domain.MusicFolder
/**
* [MusicFolder] serializers test.
*/
class MusicFolderSerializerTest : BaseStorageTest() {
@Test
fun `Should correctly serialize MusicFolder object`() {
val item = MusicFolder("Music", "Folder")
storage.store("some-name", item, getMusicFolderSerializer())
validateSerializedData()
}
@Test
fun `Should correctly deserialize MusicFolder object`() {
val name = "name"
val item = MusicFolder("some", "none")
storage.store(name, item, getMusicFolderSerializer())
val loadedItem = storage.load(name, getMusicFolderSerializer())
loadedItem `should be equal to` item
}
@Test
fun `Should correctly serialize list of MusicFolders objects`() {
val itemsList = listOf(
MusicFolder("1", "1"),
MusicFolder("2", "2")
)
storage.store("some-name", itemsList, getMusicFolderListSerializer())
validateSerializedData()
}
@Test
fun `Should correctly deserialize list of MusicFolder objects`() {
val name = "some-name"
val itemsList = listOf(
MusicFolder("1", "1"),
MusicFolder("2", "2")
)
storage.store(name, itemsList, getMusicFolderListSerializer())
val loadedItem = storage.load(name, getMusicFolderListSerializer())
loadedItem `should be equal to` itemsList
}
}

View File

@ -1,7 +1,20 @@
apply from: bootstrap.kotlinModule
ext {
jacocoExclude = [
'**/domain/**'
]
plugins {
alias libs.plugins.ksp
}
apply from: bootstrap.androidModule
dependencies {
implementation libs.core
implementation libs.roomRuntime
implementation libs.roomKtx
ksp libs.room
}
android {
namespace = 'org.moire.ultrasonic.subsonic.domain'
compileOptions {
sourceCompatibility JavaVersion.VERSION_21
targetCompatibility JavaVersion.VERSION_21
}
}

View File

@ -0,0 +1,3 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
</manifest>

View File

@ -0,0 +1,38 @@
/*
* Album.kt
* Copyright (C) 2009-2022 Ultrasonic developers
*
* Distributed under terms of the GNU GPLv3 license.
*/
package org.moire.ultrasonic.domain
import androidx.room.ColumnInfo
import androidx.room.Entity
import java.util.Date
@Entity(tableName = "albums", primaryKeys = ["id", "serverId"])
data class Album(
override var id: String,
@ColumnInfo(defaultValue = "-1")
override var serverId: Int = -1,
override var parent: String? = null,
override var album: String? = null,
override var title: String? = null,
override val name: String? = null,
override var discNumber: Int? = 0,
override var coverArt: String? = null,
override var songCount: Long? = null,
override var created: Date? = null,
override var artist: String? = null,
override var artistId: String? = null,
override var duration: Int? = 0,
override var year: Int? = 0,
override var genre: String? = null,
override var starred: Boolean = false,
override var path: String? = null,
override var closeness: Int = 0
) : MusicDirectory.Child() {
override var isDirectory = true
override var isVideo = false
}

View File

@ -1,30 +1,23 @@
/*
* Artist.kt
* Copyright (C) 2009-2022 Ultrasonic developers
*
* Distributed under terms of the GNU GPLv3 license.
*/
package org.moire.ultrasonic.domain
import java.io.Serializable
import androidx.room.ColumnInfo
import androidx.room.Entity
@Entity(tableName = "artists", primaryKeys = ["id", "serverId"])
data class Artist(
override var id: String? = null,
override var id: String,
@ColumnInfo(defaultValue = "-1")
override var serverId: Int = -1,
override var name: String? = null,
var index: String? = null,
var coverArt: String? = null,
var albumCount: Long? = null,
var closeness: Int = 0
) : Serializable, GenericEntry(), Comparable<Artist> {
companion object {
private const val serialVersionUID = -5790532593784846982L
}
override fun compareTo(other: Artist): Int {
when {
this.closeness == other.closeness -> {
return 0
}
this.closeness > other.closeness -> {
return -1
}
else -> {
return 1
}
}
}
}
override var index: String? = null,
override var coverArt: String? = null,
override var albumCount: Long? = null,
override var closeness: Int = 0
) : ArtistOrIndex(id, serverId)

View File

@ -0,0 +1,45 @@
/*
* ArtistOrIndex.kt
* Copyright (C) 2009-2022 Ultrasonic developers
*
* Distributed under terms of the GNU GPLv3 license.
*/
package org.moire.ultrasonic.domain
import androidx.room.Ignore
@Suppress("LongParameterList")
abstract class ArtistOrIndex(
@Ignore
override var id: String,
@Ignore
open var serverId: Int,
@Ignore
override var name: String? = null,
@Ignore
open var index: String? = null,
@Ignore
open var coverArt: String? = null,
@Ignore
open var albumCount: Long? = null,
@Ignore
open var closeness: Int = 0
) : GenericEntry() {
fun compareTo(other: ArtistOrIndex): Int {
return when {
this.closeness == other.closeness -> {
0
}
this.closeness > other.closeness -> {
-1
}
else -> {
1
}
}
}
override fun compareTo(other: Identifiable) = compareTo(other as ArtistOrIndex)
}

View File

@ -2,7 +2,6 @@ package org.moire.ultrasonic.domain
import java.io.Serializable
import java.util.Date
import org.moire.ultrasonic.domain.MusicDirectory.Entry
data class Bookmark(
val position: Int = 0,
@ -10,7 +9,7 @@ data class Bookmark(
val comment: String,
val created: Date? = null,
val changed: Date? = null,
val entry: Entry
val track: Track
) : Serializable {
companion object {
private const val serialVersionUID = 8988990025189807803L

View File

@ -1,19 +0,0 @@
package org.moire.ultrasonic.domain
abstract class GenericEntry {
// TODO: Should be non-null!
abstract val id: String?
open val name: String? = null
// These are just a formality and will never be called,
// because Kotlin data classes will have autogenerated equals() and hashCode() functions
override operator fun equals(other: Any?): Boolean {
return this === other
}
override fun hashCode(): Int {
var result = id?.hashCode() ?: 0
result = 31 * result + (name?.hashCode() ?: 0)
return result
}
}

View File

@ -1,10 +1,13 @@
package org.moire.ultrasonic.domain
import androidx.room.Entity
import androidx.room.PrimaryKey
import java.io.Serializable
@Entity
data class Genre(
val name: String,
val index: String
@PrimaryKey val index: String,
val name: String
) : Serializable {
companion object {
private const val serialVersionUID = -3943025175219134028L

View File

@ -0,0 +1,19 @@
package org.moire.ultrasonic.domain
import androidx.room.Ignore
abstract class GenericEntry : Identifiable {
@Ignore
open val name: String? = null
}
interface Identifiable : Comparable<Identifiable> {
val id: String
val longId: Long
get() = id.hashCode().toLong()
override fun compareTo(other: Identifiable): Int {
return longId.compareTo(other.longId)
}
}

View File

@ -0,0 +1,24 @@
/*
* Index.kt
* Copyright (C) 2009-2022 Ultrasonic developers
*
* Distributed under terms of the GNU GPLv3 license.
*/
package org.moire.ultrasonic.domain
import androidx.room.ColumnInfo
import androidx.room.Entity
@Entity(tableName = "indexes", primaryKeys = ["id", "serverId"])
data class Index(
override var id: String,
@ColumnInfo(defaultValue = "-1")
override var serverId: Int = -1,
override var name: String? = null,
override var index: String? = null,
override var coverArt: String? = null,
override var albumCount: Long? = null,
override var closeness: Int = 0,
var musicFolderId: String? = null
) : ArtistOrIndex(id, serverId)

View File

@ -1,14 +0,0 @@
package org.moire.ultrasonic.domain
import java.io.Serializable
data class Indexes(
val lastModified: Long,
val ignoredArticles: String,
val shortcuts: MutableList<Artist> = mutableListOf(),
val artists: MutableList<Artist> = mutableListOf()
) : Serializable {
companion object {
private const val serialVersionUID = 8156117238598414701L
}
}

View File

@ -1,92 +1,58 @@
/*
* MusicDirectory.kt
* Copyright (C) 2009-2022 Ultrasonic developers
*
* Distributed under terms of the GNU GPLv3 license.
*/
package org.moire.ultrasonic.domain
import java.io.Serializable
import java.util.Date
class MusicDirectory {
class MusicDirectory : ArrayList<MusicDirectory.Child>() {
var name: String? = null
private val children = mutableListOf<Entry>()
fun addAll(entries: Collection<Entry>) {
children.addAll(entries)
}
fun addFirst(child: Entry) {
children.add(0, child)
}
fun addChild(child: Entry) {
children.add(child)
}
fun findChild(id: String): Entry? = children.lastOrNull { it.id == id }
fun getAllChild(): List<Entry> = children.toList()
@JvmOverloads
fun getChildren(
includeDirs: Boolean = true,
includeFiles: Boolean = true
): List<Entry> {
fun getChildren(includeDirs: Boolean = true, includeFiles: Boolean = true): List<Child> {
if (includeDirs && includeFiles) {
return children
return toList()
}
return children.filter { it.isDirectory && includeDirs || !it.isDirectory && includeFiles }
return filter { it.isDirectory && includeDirs || !it.isDirectory && includeFiles }
}
data class Entry(
override var id: String,
var parent: String? = null,
var isDirectory: Boolean = false,
var title: String? = null,
var album: String? = null,
var albumId: String? = null,
var artist: String? = null,
var artistId: String? = null,
var track: Int? = 0,
var year: Int? = 0,
var genre: String? = null,
var contentType: String? = null,
var suffix: String? = null,
var transcodedContentType: String? = null,
var transcodedSuffix: String? = null,
var coverArt: String? = null,
var size: Long? = null,
var songCount: Long? = null,
var duration: Int? = null,
var bitRate: Int? = null,
var path: String? = null,
var isVideo: Boolean = false,
var starred: Boolean = false,
var discNumber: Int? = null,
var type: String? = null,
var created: Date? = null,
var closeness: Int = 0,
var bookmarkPosition: Int = 0,
var userRating: Int? = null,
var averageRating: Float? = null
) : Serializable, GenericEntry(), Comparable<Entry> {
fun setDuration(duration: Long) {
this.duration = duration.toInt()
fun getTracks(): List<Track> {
return mapNotNull {
it as? Track
}
}
companion object {
private const val serialVersionUID = -3339106650010798108L
fun getAlbums(): List<Album> {
return mapNotNull {
it as? Album
}
}
override fun compareTo(other: Entry): Int {
when {
this.closeness == other.closeness -> {
return 0
}
this.closeness > other.closeness -> {
return -1
}
else -> {
return 1
}
}
}
abstract class Child : GenericEntry() {
abstract override var id: String
abstract var serverId: Int
abstract var parent: String?
abstract var isDirectory: Boolean
abstract var album: String?
abstract var title: String?
abstract override val name: String?
abstract var discNumber: Int?
abstract var coverArt: String?
abstract var songCount: Long?
abstract var created: Date?
abstract var artist: String?
abstract var artistId: String?
abstract var duration: Int?
abstract var year: Int?
abstract var genre: String?
abstract var starred: Boolean
abstract var path: String?
abstract var closeness: Int
abstract var isVideo: Boolean
}
}

View File

@ -1,9 +1,22 @@
/*
* MusicFolder.kt
* Copyright (C) 2009-2022 Ultrasonic developers
*
* Distributed under terms of the GNU GPLv3 license.
*/
package org.moire.ultrasonic.domain
import androidx.room.ColumnInfo
import androidx.room.Entity
/**
* Represents a top level directory in which music or other media is stored.
*/
@Entity(tableName = "music_folders", primaryKeys = ["id", "serverId"])
data class MusicFolder(
override val id: String,
override val name: String
override val name: String,
@ColumnInfo(defaultValue = "-1")
var serverId: Int
) : GenericEntry()

View File

@ -1,12 +0,0 @@
package org.moire.ultrasonic.domain
enum class PlayerState {
IDLE,
DOWNLOADING,
PREPARING,
PREPARED,
STARTED,
STOPPED,
PAUSED,
COMPLETED
}

View File

@ -14,4 +14,8 @@ data class Playlist @JvmOverloads constructor(
companion object {
private const val serialVersionUID = -4160515427075433798L
}
override fun toString(): String {
return name
}
}

View File

@ -12,4 +12,6 @@ data class PodcastsChannel(
companion object {
private const val serialVersionUID = -4160515427075433798L
}
override fun toString(): String = title.toString()
}

View File

@ -1,15 +0,0 @@
package org.moire.ultrasonic.domain
enum class RepeatMode {
OFF {
override operator fun next(): RepeatMode = ALL
},
ALL {
override operator fun next(): RepeatMode = SINGLE
},
SINGLE {
override operator fun next(): RepeatMode = OFF
};
abstract operator fun next(): RepeatMode
}

View File

@ -1,12 +1,10 @@
package org.moire.ultrasonic.domain
import org.moire.ultrasonic.domain.MusicDirectory.Entry
/**
* The result of a search. Contains matching artists, albums and songs.
*/
data class SearchResult(
val artists: List<Artist>,
val albums: List<Entry>,
val songs: List<Entry>
val artists: List<ArtistOrIndex> = listOf(),
val albums: List<Album> = listOf(),
val songs: List<Track> = listOf()
)

View File

@ -1,10 +1,9 @@
package org.moire.ultrasonic.domain
import java.io.Serializable
import org.moire.ultrasonic.domain.MusicDirectory.Entry
data class Share(
override var id: String? = null,
override var id: String,
var url: String? = null,
var description: String? = null,
var username: String? = null,
@ -12,17 +11,22 @@ data class Share(
var lastVisited: String? = null,
var expires: String? = null,
var visitCount: Long? = null,
private val entries: MutableList<Entry> = mutableListOf()
private val tracks: MutableList<Track> = mutableListOf()
) : Serializable, GenericEntry() {
override val name: String?
get() = url?.let { urlPattern.matcher(url).replaceFirst("$1") }
get() {
if (url != null) {
return urlPattern.matcher(url!!).replaceFirst("$1")
}
return null
}
fun getEntries(): List<Entry> {
return entries.toList()
fun getEntries(): List<Track> {
return tracks.toList()
}
fun addEntry(entry: Entry) {
entries.add(entry)
fun addEntry(track: Track) {
tracks.add(track)
}
companion object {

View File

@ -0,0 +1,74 @@
/*
* Track.kt
* Copyright (C) 2009-2022 Ultrasonic developers
*
* Distributed under terms of the GNU GPLv3 license.
*/
package org.moire.ultrasonic.domain
import androidx.room.ColumnInfo
import androidx.room.Entity
import java.io.Serializable
import java.util.Date
@Entity(tableName = "tracks", primaryKeys = ["id", "serverId"])
data class Track(
override var id: String,
@ColumnInfo(defaultValue = "-1")
override var serverId: Int = -1,
override var parent: String? = null,
override var isDirectory: Boolean = false,
override var title: String? = null,
override var album: String? = null,
var albumId: String? = null,
override var artist: String? = null,
override var artistId: String? = null,
var track: Int? = null,
override var year: Int? = null,
override var genre: String? = null,
var contentType: String? = null,
var suffix: String? = null,
var transcodedContentType: String? = null,
var transcodedSuffix: String? = null,
override var coverArt: String? = null,
var size: Long? = null,
override var songCount: Long? = null,
override var duration: Int? = null,
var bitRate: Int? = null,
override var path: String? = null,
override var isVideo: Boolean = false,
override var starred: Boolean = false,
override var discNumber: Int? = null,
var type: String? = null,
override var created: Date? = null,
override var closeness: Int = 0,
var bookmarkPosition: Int = 0,
var userRating: Int? = null,
var averageRating: Float? = null,
override var name: String? = null
) : Serializable, MusicDirectory.Child() {
fun setDuration(duration: Long) {
this.duration = duration.toInt()
}
companion object {
private const val serialVersionUID = -3339106650010798108L
}
fun compareTo(other: Track): Int {
return when {
this.closeness == other.closeness -> {
0
}
this.closeness > other.closeness -> {
-1
}
else -> {
1
}
}
}
override fun compareTo(other: Identifiable) = compareTo(other as Track)
}

View File

@ -1,30 +1,29 @@
plugins {
alias libs.plugins.ksp
}
apply from: bootstrap.kotlinModule
dependencies {
api other.retrofit
api other.jacksonConverter
api other.koinCore
java {
sourceCompatibility = JavaVersion.VERSION_21
targetCompatibility = JavaVersion.VERSION_21
}
implementation(other.jacksonKotlin) {
dependencies {
api libs.retrofit
api libs.jacksonConverter
api libs.koinCore
implementation(libs.jacksonKotlin) {
exclude module: 'kotlin-reflect'
}
implementation other.kotlinReflect // for jackson kotlin, but to use the same version
implementation other.okhttpLogging
implementation other.timber
implementation libs.kotlinReflect // for jackson kotlin, but to use the same version
implementation libs.okhttpLogging
testImplementation testing.kotlinJunit
testImplementation testing.mockito
testImplementation testing.mockitoInline
testImplementation testing.mockitoKotlin
testImplementation testing.kluent
testImplementation testing.mockWebServer
testImplementation testing.apacheCodecs
}
ext {
// Excluding data classes
jacocoExclude = [
'**/models/**',
'**/di/**'
]
testImplementation libs.kotlinJunit
testImplementation libs.mockito
testImplementation libs.mockitoKotlin
testImplementation libs.kluent
testImplementation libs.mockWebServer
testImplementation libs.apacheCodecs
}

View File

@ -8,7 +8,8 @@ import java.util.Locale
import java.util.TimeZone
import okhttp3.mockwebserver.MockResponse
import okhttp3.mockwebserver.MockWebServer
import okio.Okio
import okio.buffer
import okio.source
import org.amshove.kluent.`should be`
import org.amshove.kluent.`should contain`
import org.amshove.kluent.`should not be`
@ -40,12 +41,12 @@ fun MockWebServer.enqueueResponse(resourceName: String) {
}
fun Any.loadJsonResponse(name: String): String {
val source = Okio.buffer(Okio.source(javaClass.classLoader.getResourceAsStream(name)))
val source = javaClass.classLoader.getResourceAsStream(name)!!.source().buffer()
return source.readString(Charset.forName("UTF-8"))
}
fun Any.loadResourceStream(name: String): InputStream {
val source = Okio.buffer(Okio.source(javaClass.classLoader.getResourceAsStream(name)))
val source = javaClass.classLoader.getResourceAsStream(name)!!.source().buffer()
return source.inputStream()
}

View File

@ -8,7 +8,8 @@ import org.moire.ultrasonic.api.subsonic.rules.MockWebServerRule
* Base class for integration tests for [SubsonicAPIClient] class.
*/
abstract class SubsonicAPIClientTest {
@JvmField @Rule val mockWebServerRule = MockWebServerRule()
@JvmField @Rule
val mockWebServerRule = MockWebServerRule()
protected lateinit var config: SubsonicClientConfiguration
protected lateinit var client: SubsonicAPIClient

View File

@ -2,9 +2,9 @@ package org.moire.ultrasonic.api.subsonic
import org.amshove.kluent.`should be equal to`
import org.junit.Test
import org.moire.ultrasonic.api.subsonic.models.Album
import org.moire.ultrasonic.api.subsonic.models.AlbumListType
import org.moire.ultrasonic.api.subsonic.models.AlbumListType.BY_GENRE
import org.moire.ultrasonic.api.subsonic.models.MusicDirectoryChild
/**
* Integration tests for [SubsonicAPIDefinition] for getAlbumList call.
@ -28,8 +28,8 @@ class SubsonicApiGetAlbumListRequestTest : SubsonicAPIClientTest() {
assertResponseSuccessful(response)
with(response.body()!!.albumList) {
size `should be equal to` 2
this[1] `should be equal to` MusicDirectoryChild(
id = "9997", parent = "9996", isDir = true,
this[1] `should be equal to` Album(
id = "9997", parent = "9996",
title = "Endless Forms Most Beautiful", album = "Endless Forms Most Beautiful",
artist = "Nightwish", year = 2015, genre = "Symphonic Metal",
coverArt = "9997", playCount = 11,

View File

@ -1,8 +1,8 @@
package org.moire.ultrasonic.api.subsonic
import okhttp3.mockwebserver.MockResponse
import org.amshove.kluent.`should be equal to`
import org.amshove.kluent.`should be`
import org.amshove.kluent.`should be equal to`
import org.amshove.kluent.`should not be`
import org.junit.Test

View File

@ -1,8 +1,8 @@
package org.moire.ultrasonic.api.subsonic
import okhttp3.mockwebserver.MockResponse
import org.amshove.kluent.`should be equal to`
import org.amshove.kluent.`should be`
import org.amshove.kluent.`should be equal to`
import org.amshove.kluent.`should not be`
import org.junit.Test

View File

@ -1,7 +1,7 @@
package org.moire.ultrasonic.api.subsonic
import org.amshove.kluent.`should be equal to`
import org.amshove.kluent.`should be`
import org.amshove.kluent.`should be equal to`
import org.amshove.kluent.`should not be`
import org.junit.Test
import org.moire.ultrasonic.api.subsonic.models.MusicDirectory

View File

@ -3,6 +3,7 @@ package org.moire.ultrasonic.api.subsonic
import org.amshove.kluent.`should be equal to`
import org.amshove.kluent.`should not be`
import org.junit.Test
import org.moire.ultrasonic.api.subsonic.models.Album
import org.moire.ultrasonic.api.subsonic.models.Artist
import org.moire.ultrasonic.api.subsonic.models.MusicDirectoryChild
import org.moire.ultrasonic.api.subsonic.models.SearchTwoResult
@ -32,9 +33,8 @@ class SubsonicApiSearchTwoTest : SubsonicAPIClientTest() {
artistList.size `should be equal to` 1
artistList[0] `should be equal to` Artist(id = "522", name = "The Prodigy")
albumList.size `should be equal to` 1
albumList[0] `should be equal to` MusicDirectoryChild(
id = "8867", parent = "522",
isDir = true, title = "Always Outnumbered, Never Outgunned",
albumList[0] `should be equal to` Album(
id = "8867", parent = "522", title = "Always Outnumbered, Never Outgunned",
album = "Always Outnumbered, Never Outgunned", artist = "The Prodigy",
year = 2004, genre = "Electronic", coverArt = "8867", playCount = 0,
created = parseDate("2016-10-23T20:57:27.000Z")

View File

@ -1,8 +1,8 @@
package org.moire.ultrasonic.api.subsonic
import okhttp3.mockwebserver.MockResponse
import org.amshove.kluent.`should be equal to`
import org.amshove.kluent.`should be`
import org.amshove.kluent.`should be equal to`
import org.amshove.kluent.`should not be`
import org.junit.Test

View File

@ -11,7 +11,8 @@ import org.moire.ultrasonic.api.subsonic.rules.MockWebServerRule
* Base class for testing [okhttp3.Interceptor] implementations.
*/
abstract class BaseInterceptorTest {
@Rule @JvmField val mockWebServerRule = MockWebServerRule()
@Rule @JvmField
val mockWebServerRule = MockWebServerRule()
lateinit var client: OkHttpClient

View File

@ -1,3 +1,10 @@
/*
* ApiVersionCheckWrapper.kt
* Copyright (C) 2009-2022 Ultrasonic developers
*
* Distributed under terms of the GNU GPLv3 license.
*/
package org.moire.ultrasonic.api.subsonic
import okhttp3.ResponseBody
@ -85,7 +92,13 @@ internal class ApiVersionCheckWrapper(
checkVersion(V1_4_0)
checkParamVersion(musicFolderId, V1_12_0)
return api.search2(
query, artistCount, artistOffset, albumCount, albumOffset, songCount, musicFolderId
query,
artistCount,
artistOffset,
albumCount,
albumOffset,
songCount,
musicFolderId
)
}
@ -101,7 +114,13 @@ internal class ApiVersionCheckWrapper(
checkVersion(V1_8_0)
checkParamVersion(musicFolderId, V1_12_0)
return api.search3(
query, artistCount, artistOffset, albumCount, albumOffset, songCount, musicFolderId
query,
artistCount,
artistOffset,
albumCount,
albumOffset,
songCount,
musicFolderId
)
}
@ -221,7 +240,13 @@ internal class ApiVersionCheckWrapper(
checkParamVersion(estimateContentLength, V1_8_0)
checkParamVersion(converted, V1_14_0)
return api.stream(
id, maxBitRate, format, timeOffset, videoSize, estimateContentLength, converted
id,
maxBitRate,
format,
timeOffset,
videoSize,
estimateContentLength,
converted
)
}
@ -328,8 +353,9 @@ internal class ApiVersionCheckWrapper(
private fun checkVersion(expectedVersion: SubsonicAPIVersions) {
// If it is true, it is probably the first call with this server
if (!isRealProtocolVersion) return
if (currentApiVersion < expectedVersion)
if (currentApiVersion < expectedVersion) {
throw ApiNotSupportedException(currentApiVersion)
}
}
private fun checkParamVersion(param: Any?, expectedVersion: SubsonicAPIVersions) {

View File

@ -17,8 +17,8 @@ fun Response<out ResponseBody>.toStreamResponse(): StreamResponse {
val contentType = responseBody?.contentType()
if (
contentType != null &&
contentType.type().equals("application", true) &&
contentType.subtype().equals("json", true)
contentType.type.equals("application", true) &&
contentType.subtype.equals("json", true)
) {
val error = SubsonicAPIClient.jacksonMapper.readValue<SubsonicResponse>(
responseBody.byteStream()
@ -40,11 +40,11 @@ fun Response<out ResponseBody>.toStreamResponse(): StreamResponse {
* It creates Exceptions from the results returned by the Subsonic API
*/
@Suppress("ThrowsCount")
fun <T : SubsonicResponse> Response<out T>.throwOnFailure(): Response<out T> {
fun <T : SubsonicResponse> Response<T>.throwOnFailure(): Response<T> {
val response = this
if (response.isSuccessful && response.body()!!.status === SubsonicResponse.Status.OK) {
return this as Response<T>
return this
}
if (!response.isSuccessful) {
throw IOException("Server error, code: " + response.code())

View File

@ -8,6 +8,7 @@ import java.security.cert.X509Certificate
import java.util.concurrent.TimeUnit.MILLISECONDS
import javax.net.ssl.SSLContext
import javax.net.ssl.X509TrustManager
import okhttp3.Credentials
import okhttp3.OkHttpClient
import okhttp3.ResponseBody
import okhttp3.logging.HttpLoggingInterceptor
@ -43,7 +44,7 @@ class SubsonicAPIClient(
config.minimalProtocolVersion,
PasswordHexInterceptor(config.password),
PasswordMD5Interceptor(config.password),
config.enableLdapUserSupport
config.forcePlainTextPassword
)
var onProtocolChange: (SubsonicAPIVersions) -> Unit = {}
@ -63,17 +64,30 @@ class SubsonicAPIClient(
}
val okHttpClient: OkHttpClient = baseOkClient.newBuilder()
// Disable HTTP2 because OkHttp with Exoplayer causes a bug. See https://github.com/square/okhttp/issues/6749
.readTimeout(READ_TIMEOUT, MILLISECONDS)
.apply { if (config.allowSelfSignedCertificate) allowSelfSignedCertificates() }
.addInterceptor { chain ->
// Adds default request params
val originalRequest = chain.request()
val newUrl = originalRequest.url().newBuilder()
val newUrl = originalRequest.url.newBuilder()
.addQueryParameter("u", config.username)
.addQueryParameter("c", config.clientID)
.addQueryParameter("f", "json")
.build()
chain.proceed(originalRequest.newBuilder().url(newUrl).build())
val newRequestBuilder = originalRequest.newBuilder().url(newUrl)
if (originalRequest.url.username.isNotEmpty() &&
originalRequest.url.password.isNotEmpty()
) {
newRequestBuilder.addHeader(
"Authorization",
Credentials.basic(
originalRequest.url.username,
originalRequest.url.password
)
)
}
chain.proceed(newRequestBuilder.build())
}
.addInterceptor(versionInterceptor)
.addInterceptor(proxyPasswordInterceptor)
@ -81,10 +95,12 @@ class SubsonicAPIClient(
.apply { if (config.debug) addLogging() }
.build()
val baseUrl = "${config.baseUrl}/rest/"
// Create the Retrofit instance, and register a special converter factory
// It will update our protocol version to the correct version, once we made a successful call
val retrofit: Retrofit = Retrofit.Builder()
.baseUrl("${config.baseUrl}/rest/")
private val retrofit: Retrofit = Retrofit.Builder()
.baseUrl(baseUrl)
.client(okHttpClient)
.addConverterFactory(
VersionAwareJacksonConverterFactory.create(
@ -109,17 +125,19 @@ class SubsonicAPIClient(
private fun OkHttpClient.Builder.addLogging() {
val loggingInterceptor = HttpLoggingInterceptor(okLogger)
loggingInterceptor.level = HttpLoggingInterceptor.Level.BODY
loggingInterceptor.level = HttpLoggingInterceptor.Level.HEADERS
this.addInterceptor(loggingInterceptor)
}
@SuppressWarnings("TrustAllX509TrustManager", "EmptyFunctionBlock")
@Suppress("CustomX509TrustManager", "TrustAllX509TrustManager")
private fun OkHttpClient.Builder.allowSelfSignedCertificates() {
val trustManager = object : X509TrustManager {
override fun checkClientTrusted(p0: Array<out X509Certificate>?, p1: String?) {}
override fun checkServerTrusted(p0: Array<out X509Certificate>?, p1: String?) {}
override fun getAcceptedIssuers(): Array<X509Certificate> = emptyArray()
}
val trustManager =
object : X509TrustManager {
override fun checkClientTrusted(p0: Array<out X509Certificate>?, p1: String?) {}
override fun checkServerTrusted(p0: Array<out X509Certificate>?, p1: String?) {}
override fun getAcceptedIssuers(): Array<X509Certificate> = emptyArray()
}
val sslContext = SSLContext.getInstance("SSL")
sslContext.init(null, arrayOf(trustManager), SecureRandom())
@ -136,11 +154,17 @@ class SubsonicAPIClient(
return call.toStreamResponse()
}
val isOffline by lazy {
config.baseUrl == OFFLINE_DB_URL
}
companion object {
val jacksonMapper: ObjectMapper = ObjectMapper()
.configure(DeserializationFeature.UNWRAP_ROOT_VALUE, true)
.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false)
.configure(DeserializationFeature.ACCEPT_SINGLE_VALUE_AS_ARRAY, true)
.registerModule(KotlinModule())
.registerModule(KotlinModule.Builder().build())
const val OFFLINE_DB_URL = "http://localhost"
}
}

View File

@ -1,3 +1,10 @@
/*
* SubsonicAPIDefinition.kt
* Copyright (C) 2009-2022 Ultrasonic developers
*
* Distributed under terms of the GNU GPLv3 license.
*/
package org.moire.ultrasonic.api.subsonic
import okhttp3.ResponseBody
@ -47,6 +54,9 @@ interface SubsonicAPIDefinition {
@GET("ping.view")
fun ping(): Call<SubsonicResponse>
@GET("ping.view")
suspend fun pingSuspend(): SubsonicResponse
@GET("getLicense.view")
fun getLicense(): Call<LicenseResponse>
@ -80,10 +90,7 @@ interface SubsonicAPIDefinition {
): Call<SubsonicResponse>
@GET("setRating.view")
fun setRating(
@Query("id") id: String,
@Query("rating") rating: Int
): Call<SubsonicResponse>
fun setRating(@Query("id") id: String, @Query("rating") rating: Int): Call<SubsonicResponse>
@GET("getArtist.view")
fun getArtist(@Query("id") id: String): Call<GetArtistResponse>
@ -148,8 +155,7 @@ interface SubsonicAPIDefinition {
@Query("public") public: Boolean? = null,
@Query("songIdToAdd") songIdsToAdd: List<String>? = null,
@Query("songIndexToRemove") songIndexesToRemove: List<Int>? = null
):
Call<SubsonicResponse>
): Call<SubsonicResponse>
@GET("getPodcasts.view")
fun getPodcasts(
@ -157,6 +163,12 @@ interface SubsonicAPIDefinition {
@Query("id") id: String? = null
): Call<GetPodcastsResponse>
@GET("getPodcasts.view")
suspend fun getPodcastsSuspend(
@Query("includeEpisodes") includeEpisodes: Boolean? = null,
@Query("id") id: String? = null
): GetPodcastsResponse
@GET("getLyrics.view")
fun getLyrics(
@Query("artist") artist: String? = null,
@ -211,10 +223,7 @@ interface SubsonicAPIDefinition {
@Streaming
@GET("getCoverArt.view")
fun getCoverArt(
@Query("id") id: String,
@Query("size") size: Long? = null
): Call<ResponseBody>
fun getCoverArt(@Query("id") id: String, @Query("size") size: Long? = null): Call<ResponseBody>
@Streaming
@GET("stream.view")
@ -229,6 +238,19 @@ interface SubsonicAPIDefinition {
@Header("Range") offset: Long? = null
): Call<ResponseBody>
@Streaming
@GET("download.view")
fun download(
@Query("id") id: String,
@Query("maxBitRate") maxBitRate: Int? = null,
@Query("format") format: String? = null,
@Query("timeOffset") timeOffset: Int? = null,
@Query("size") videoSize: String? = null,
@Query("estimateContentLength") estimateContentLength: Boolean? = null,
@Query("converted") converted: Boolean? = null,
@Header("Range") offset: Long? = null
): Call<ResponseBody>
@GET("jukeboxControl.view")
fun jukeboxControl(
@Query("action") action: JukeboxAction,
@ -241,6 +263,9 @@ interface SubsonicAPIDefinition {
@GET("getShares.view")
fun getShares(): Call<SharesResponse>
@GET("getShares.view")
suspend fun getSharesSuspend(): SharesResponse
@GET("createShare.view")
fun createShare(
@Query("id") idsToShare: List<String>,
@ -272,15 +297,24 @@ interface SubsonicAPIDefinition {
@GET("getUser.view")
fun getUser(@Query("username") username: String): Call<GetUserResponse>
@GET("getUser.view")
suspend fun getUserSuspend(@Query("username") username: String): GetUserResponse
@GET("getChatMessages.view")
fun getChatMessages(@Query("since") since: Long? = null): Call<ChatMessagesResponse>
@GET("getChatMessages.view")
suspend fun getChatMessagesSuspend(@Query("since") since: Long? = null): ChatMessagesResponse
@GET("addChatMessage.view")
fun addChatMessage(@Query("message") message: String): Call<SubsonicResponse>
@GET("getBookmarks.view")
fun getBookmarks(): Call<BookmarksResponse>
@GET("getBookmarks.view")
suspend fun getBookmarksSuspend(): BookmarksResponse
@GET("createBookmark.view")
fun createBookmark(
@Query("id") id: String,
@ -294,6 +328,9 @@ interface SubsonicAPIDefinition {
@GET("getVideos.view")
fun getVideos(): Call<VideosResponse>
@GET("getVideos.view")
suspend fun getVideosSuspend(): VideosResponse
@GET("getAvatar.view")
fun getAvatar(@Query("username") username: String): Call<ResponseBody>
}

View File

@ -29,20 +29,25 @@ enum class SubsonicAPIVersions(val subsonicVersions: String, val restApiVersion:
V1_13_0("5.3", "1.13.0"),
V1_14_0("6.0", "1.14.0"),
V1_15_0("6.1", "1.15.0"),
V1_16_0("6.1.2", "1.16.0");
V1_16_0("6.1.2", "1.16.0")
;
companion object {
@JvmStatic @Throws(IllegalArgumentException::class)
@JvmStatic
@Throws(IllegalArgumentException::class)
fun getClosestKnownClientApiVersion(apiVersion: String): SubsonicAPIVersions {
val versionComponents = apiVersion.split(".")
if (versionComponents.size < 2)
throw IllegalArgumentException("Unknown api version $apiVersion")
require(versionComponents.size >= 2) { "Unknown api version $apiVersion" }
try {
val majorVersion = versionComponents[0].toInt()
val minorVersion = versionComponents[1].toInt()
val patchVersion = if (versionComponents.size > 2) versionComponents[2].toInt()
else 0
val patchVersion = if (versionComponents.size > 2) {
versionComponents[2].toInt()
} else {
0
}
when (majorVersion) {
1 -> when {

View File

@ -10,7 +10,7 @@ data class SubsonicClientConfiguration(
val minimalProtocolVersion: SubsonicAPIVersions,
val clientID: String,
val allowSelfSignedCertificate: Boolean = false,
val enableLdapUserSupport: Boolean = false,
val forcePlainTextPassword: Boolean = false,
val debug: Boolean = false,
val isRealProtocolVersion: Boolean = false
)

View File

@ -35,7 +35,7 @@ class VersionAwareJacksonConverterFactory(
type: Type,
annotations: Array<Annotation>,
retrofit: Retrofit
): Converter<ResponseBody, *>? {
): Converter<ResponseBody, *> {
val javaType: JavaType = mapper!!.typeFactory.constructType(type)
val reader: ObjectReader? = mapper!!.readerFor(javaType)
return VersionAwareResponseBodyConverter<Any>(notifier, reader!!)
@ -48,7 +48,10 @@ class VersionAwareJacksonConverterFactory(
retrofit: Retrofit
): Converter<*, RequestBody>? {
return jacksonConverterFactory?.requestBodyConverter(
type, parameterAnnotations, methodAnnotations, retrofit
type,
parameterAnnotations,
methodAnnotations,
retrofit
)
}
@ -63,7 +66,7 @@ class VersionAwareJacksonConverterFactory(
}
}
class VersionAwareResponseBodyConverter<T> (
class VersionAwareResponseBodyConverter<T>(
private val notifier: (SubsonicAPIVersions) -> Unit = {},
private val adapter: ObjectReader
) : Converter<ResponseBody, T> {

View File

@ -18,7 +18,7 @@ class PasswordHexInterceptor(private val password: String) : Interceptor {
override fun intercept(chain: Chain): Response {
val originalRequest = chain.request()
val updatedUrl = originalRequest.url().newBuilder()
val updatedUrl = originalRequest.url.newBuilder()
.addEncodedQueryParameter("p", passwordHex).build()
return chain.proceed(originalRequest.newBuilder().url(updatedUrl).build())
}

View File

@ -21,7 +21,7 @@ class PasswordMD5Interceptor(private val password: String) : Interceptor {
override fun intercept(chain: Chain): Response {
val originalRequest = chain.request()
val salt = getSalt()
val updatedUrl = originalRequest.url().newBuilder()
val updatedUrl = originalRequest.url.newBuilder()
.addQueryParameter("t", getPasswordMD5Hash(salt))
.addQueryParameter("s", salt)
.build()

View File

@ -6,6 +6,7 @@ import okhttp3.Interceptor.Chain
import okhttp3.Response
internal const val SOCKET_READ_TIMEOUT_DOWNLOAD = 30 * 1000
// Allow 20 seconds extra timeout pear MB offset.
internal const val TIMEOUT_MILLIS_PER_OFFSET_BYTE = 0.02
@ -19,7 +20,7 @@ internal const val TIMEOUT_MILLIS_PER_OFFSET_BYTE = 0.02
internal class RangeHeaderInterceptor : Interceptor {
override fun intercept(chain: Chain): Response {
val originalRequest = chain.request()
val headers = originalRequest.headers()
val headers = originalRequest.headers
return if (headers.names().contains("Range")) {
val offsetValue = headers["Range"] ?: "0"
val offset = "bytes=$offsetValue-"

View File

@ -18,7 +18,7 @@ internal class VersionInterceptor(
val newRequest = originalRequest.newBuilder()
.url(
originalRequest
.url()
.url
.newBuilder()
.addQueryParameter("v", protocolVersion.restApiVersion)
.build()

View File

@ -5,14 +5,20 @@ import java.util.Calendar
data class Album(
val id: String = "",
val name: String = "",
val parent: String = "",
val album: String = "",
val title: String? = null,
val name: String? = null,
val discNumber: Int = 0,
val coverArt: String = "",
val songCount: Int = 0,
val created: Calendar? = null,
val artist: String = "",
val artistId: String = "",
val songCount: Int = 0,
val duration: Int = 0,
val created: Calendar? = null,
val year: Int = 0,
val genre: String = "",
@JsonProperty("song") val songList: List<MusicDirectoryChild> = emptyList()
val playCount: Int = 0,
@JsonProperty("song") val songList: List<MusicDirectoryChild> = emptyList(),
@JsonProperty("starred") val starredDate: String = ""
)

View File

@ -1,3 +1,10 @@
/*
* AlbumListOrderType.kt
* Copyright (C) 2009-2022 Ultrasonic developers
*
* Distributed under terms of the GNU GPLv3 license.
*/
package org.moire.ultrasonic.api.subsonic.models
/**
@ -16,7 +23,8 @@ enum class AlbumListType(val typeName: String) {
SORTED_BY_ARTIST("alphabeticalByArtist"),
STARRED("starred"),
BY_YEAR("byYear"),
BY_GENRE("byGenre");
BY_GENRE("byGenre")
;
override fun toString(): String {
return typeName

View File

@ -16,7 +16,8 @@ enum class JukeboxAction(val action: String) {
CLEAR("clear"),
REMOVE("remove"),
SHUFFLE("shuffle"),
SET_GAIN("setGain");
SET_GAIN("setGain")
;
override fun toString(): String {
return action

View File

@ -4,6 +4,6 @@ import com.fasterxml.jackson.annotation.JsonProperty
data class SearchTwoResult(
@JsonProperty("artist") val artistList: List<Artist> = emptyList(),
@JsonProperty("album") val albumList: List<MusicDirectoryChild> = emptyList(),
@JsonProperty("album") val albumList: List<Album> = emptyList(),
@JsonProperty("song") val songList: List<MusicDirectoryChild> = emptyList()
)

View File

@ -10,7 +10,8 @@ class BookmarksResponse(
version: SubsonicAPIVersions,
error: SubsonicError?
) : SubsonicResponse(status, version, error) {
@JsonProperty("bookmarks") private val bookmarksWrapper = BookmarkWrapper()
@JsonProperty("bookmarks")
private val bookmarksWrapper = BookmarkWrapper()
val bookmarkList: List<Bookmark> get() = bookmarksWrapper.bookmarkList
}

View File

@ -10,7 +10,8 @@ class ChatMessagesResponse(
version: SubsonicAPIVersions,
error: SubsonicError?
) : SubsonicResponse(status, version, error) {
@JsonProperty("chatMessages") private val wrapper = ChatMessagesWrapper()
@JsonProperty("chatMessages")
private val wrapper = ChatMessagesWrapper()
val chatMessages: List<ChatMessage> get() = wrapper.messagesList
}

View File

@ -10,7 +10,8 @@ class GenresResponse(
version: SubsonicAPIVersions,
error: SubsonicError?
) : SubsonicResponse(status, version, error) {
@JsonProperty("genres") private val genresWrapper = GenresWrapper()
@JsonProperty("genres")
private val genresWrapper = GenresWrapper()
val genresList: List<Genre> get() = genresWrapper.genresList
}

View File

@ -11,7 +11,8 @@ class GetAlbumList2Response(
version: SubsonicAPIVersions,
error: SubsonicError?
) : SubsonicResponse(status, version, error) {
@JsonProperty("albumList2") private val albumWrapper2 = AlbumWrapper2()
@JsonProperty("albumList2")
private val albumWrapper2 = AlbumWrapper2()
val albumList: List<Album>
get() = albumWrapper2.albumList

View File

@ -3,19 +3,20 @@ package org.moire.ultrasonic.api.subsonic.response
import com.fasterxml.jackson.annotation.JsonProperty
import org.moire.ultrasonic.api.subsonic.SubsonicAPIVersions
import org.moire.ultrasonic.api.subsonic.SubsonicError
import org.moire.ultrasonic.api.subsonic.models.MusicDirectoryChild
import org.moire.ultrasonic.api.subsonic.models.Album
class GetAlbumListResponse(
status: Status,
version: SubsonicAPIVersions,
error: SubsonicError?
) : SubsonicResponse(status, version, error) {
@JsonProperty("albumList") private val albumWrapper = AlbumWrapper()
@JsonProperty("albumList")
private val albumWrapper = AlbumWrapper()
val albumList: List<MusicDirectoryChild>
val albumList: List<Album>
get() = albumWrapper.albumList
}
private class AlbumWrapper(
@JsonProperty("album") val albumList: List<MusicDirectoryChild> = emptyList()
@JsonProperty("album") val albumList: List<Album> = emptyList()
)

View File

@ -10,7 +10,8 @@ class GetPodcastsResponse(
version: SubsonicAPIVersions,
error: SubsonicError?
) : SubsonicResponse(status, version, error) {
@JsonProperty("podcasts") private val channelsWrapper = PodcastChannelWrapper()
@JsonProperty("podcasts")
private val channelsWrapper = PodcastChannelWrapper()
val podcastChannels: List<PodcastChannel>
get() = channelsWrapper.channelsList

View File

@ -10,7 +10,8 @@ class GetRandomSongsResponse(
version: SubsonicAPIVersions,
error: SubsonicError?
) : SubsonicResponse(status, version, error) {
@JsonProperty("randomSongs") private val songsWrapper = RandomSongsWrapper()
@JsonProperty("randomSongs")
private val songsWrapper = RandomSongsWrapper()
val songsList
get() = songsWrapper.songsList

View File

@ -10,7 +10,8 @@ class GetSongsByGenreResponse(
version: SubsonicAPIVersions,
error: SubsonicError?
) : SubsonicResponse(status, version, error) {
@JsonProperty("songsByGenre") private val songsByGenreList = SongsByGenreWrapper()
@JsonProperty("songsByGenre")
private val songsByGenreList = SongsByGenreWrapper()
val songsList get() = songsByGenreList.songsList
}

View File

@ -11,11 +11,13 @@ class JukeboxResponse(
error: SubsonicError?,
var jukebox: JukeboxStatus = JukeboxStatus()
) : SubsonicResponse(status, version, error) {
@JsonSetter("jukeboxStatus") fun setJukeboxStatus(jukebox: JukeboxStatus) {
@JsonSetter("jukeboxStatus")
fun setJukeboxStatus(jukebox: JukeboxStatus) {
this.jukebox = jukebox
}
@JsonSetter("jukeboxPlaylist") fun setJukeboxPlaylist(jukebox: JukeboxStatus) {
@JsonSetter("jukeboxPlaylist")
fun setJukeboxPlaylist(jukebox: JukeboxStatus) {
this.jukebox = jukebox
}
}

View File

@ -10,7 +10,8 @@ class MusicFoldersResponse(
version: SubsonicAPIVersions,
error: SubsonicError?
) : SubsonicResponse(status, version, error) {
@JsonProperty("musicFolders") private val wrapper = MusicFoldersWrapper()
@JsonProperty("musicFolders")
private val wrapper = MusicFoldersWrapper()
val musicFolders get() = wrapper.musicFolders
}

View File

@ -10,7 +10,8 @@ class SharesResponse(
version: SubsonicAPIVersions,
error: SubsonicError?
) : SubsonicResponse(status, version, error) {
@JsonProperty("shares") private val wrappedShares = SharesWrapper()
@JsonProperty("shares")
private val wrappedShares = SharesWrapper()
val shares get() = wrappedShares.share
}

View File

@ -20,12 +20,13 @@ open class SubsonicResponse(
) {
@JsonDeserialize(using = Status.Companion.StatusJsonDeserializer::class)
enum class Status(val jsonValue: String) {
OK("ok"), ERROR("failed");
OK("ok"),
ERROR("failed");
companion object {
fun getStatusFromJson(jsonValue: String) = values()
.filter { it.jsonValue == jsonValue }.firstOrNull()
?: throw IllegalArgumentException("Unknown status value: $jsonValue")
fun getStatusFromJson(jsonValue: String) =
values().firstOrNull { it.jsonValue == jsonValue }
?: throw IllegalArgumentException("Unknown status value: $jsonValue")
class StatusJsonDeserializer : JsonDeserializer<Status>() {
override fun deserialize(p: JsonParser, ctxt: DeserializationContext?): Status {

View File

@ -10,7 +10,8 @@ class VideosResponse(
version: SubsonicAPIVersions,
error: SubsonicError?
) : SubsonicResponse(status, version, error) {
@JsonProperty("videos") private val videosWrapper = VideosWrapper()
@JsonProperty("videos")
private val videosWrapper = VideosWrapper()
val videosList: List<MusicDirectoryChild> get() = videosWrapper.videosList
}

View File

@ -18,7 +18,9 @@ class ProxyPasswordInterceptorTest {
private val proxyInterceptor = ProxyPasswordInterceptor(
V1_12_0,
mockPasswordHexInterceptor, mockPasswordMd5Interceptor, false
mockPasswordHexInterceptor,
mockPasswordMd5Interceptor,
false
)
@Test
@ -40,8 +42,10 @@ class ProxyPasswordInterceptorTest {
@Test
fun `Should use hex password if forceHex is true`() {
val interceptor = ProxyPasswordInterceptor(
V1_16_0, mockPasswordHexInterceptor,
mockPasswordMd5Interceptor, true
V1_16_0,
mockPasswordHexInterceptor,
mockPasswordMd5Interceptor,
true
)
interceptor.intercept(mockChain)

View File

@ -1,5 +1,6 @@
package org.moire.ultrasonic.api.subsonic.models
import java.util.Locale
import org.amshove.kluent.`should be equal to`
import org.amshove.kluent.`should throw`
import org.junit.Test
@ -10,7 +11,7 @@ import org.junit.Test
class AlbumListTypeTest {
@Test
fun `Should create type from string ignoring case`() {
val type = AlbumListType.SORTED_BY_NAME.typeName.toLowerCase()
val type = AlbumListType.SORTED_BY_NAME.typeName.lowercase(Locale.ROOT)
val albumListType = AlbumListType.fromName(type)
@ -35,6 +36,7 @@ class AlbumListTypeTest {
@Test
fun `Should return type name for toString call`() {
AlbumListType.STARRED.typeName `should be equal to` AlbumListType.STARRED.toString()
AlbumListType.STARRED.typeName `should be equal to`
AlbumListType.STARRED.toString()
}
}

View File

@ -1,108 +0,0 @@
ext.versions = [
minSdk : 14,
targetSdk : 29,
compileSdk : 29,
// You need to run ./gradlew wrapper after updating the version
gradle : '7.0',
navigation : "2.3.5",
gradlePlugin : "4.2.0",
androidxcore : "1.5.0",
ktlint : "0.37.1",
ktlintGradle : "9.2.1",
detekt : "1.17.1",
jacoco : "0.8.7",
preferences : "1.1.1",
media : "1.3.1",
androidSupport : "28.0.0",
androidLegacySupport : "1.0.0",
androidSupportDesign : "1.3.0",
constraintLayout : "2.0.4",
multidex : "2.0.1",
room : "2.3.0",
kotlin : "1.5.10",
kotlinxCoroutines : "1.5.0-native-mt",
viewModelKtx : "2.2.0",
retrofit : "2.6.4",
jackson : "2.9.5",
okhttp : "3.12.13",
twitterSerial : "0.1.6",
koin : "3.0.2",
picasso : "2.71828",
sortListView : "1.0.1",
junit4 : "4.13.2",
junit5 : "5.7.1",
mockito : "3.11.0",
mockitoKotlin : "3.2.0",
kluent : "1.64",
apacheCodecs : "1.15",
robolectric : "4.5.1",
dexter : "6.2.2",
timber : "4.7.1",
fastScroll : "2.0.1",
]
ext.gradlePlugins = [
gradle : "com.android.tools.build:gradle:$versions.gradlePlugin",
kotlin : "org.jetbrains.kotlin:kotlin-gradle-plugin:$versions.kotlin",
ktlintGradle : "org.jlleitschuh.gradle:ktlint-gradle:$versions.ktlintGradle",
detekt : "io.gitlab.arturbosch.detekt:detekt-gradle-plugin:$versions.detekt",
jacoco : "org.jacoco:org.jacoco.core:$versions.jacoco",
]
ext.androidSupport = [
core : "androidx.core:core-ktx:$versions.androidxcore",
support : "androidx.legacy:legacy-support-v4:$versions.androidLegacySupport",
design : "com.google.android.material:material:$versions.androidSupportDesign",
annotations : "com.android.support:support-annotations:$versions.androidSupport",
multidex : "androidx.multidex:multidex:$versions.multidex",
constraintLayout : "androidx.constraintlayout:constraintlayout:$versions.constraintLayout",
room : "androidx.room:room-compiler:$versions.room",
roomRuntime : "androidx.room:room-runtime:$versions.room",
roomKtx : "androidx.room:room-ktx:$versions.room",
viewModelKtx : "androidx.lifecycle:lifecycle-viewmodel-ktx:$versions.viewModelKtx",
navigationFragment : "androidx.navigation:navigation-fragment:$versions.navigation",
navigationUi : "androidx.navigation:navigation-ui:$versions.navigation",
navigationFragmentKtx : "androidx.navigation:navigation-fragment-ktx:$versions.navigation",
navigationUiKtx : "androidx.navigation:navigation-ui-ktx:$versions.navigation",
navigationFeature : "androidx.navigation:navigation-dynamic-features-fragment:$versions.navigation",
preferences : "androidx.preference:preference:$versions.preferences",
media : "androidx.media:media:$versions.media",
]
ext.other = [
kotlinStdlib : "org.jetbrains.kotlin:kotlin-stdlib:$versions.kotlin",
kotlinReflect : "org.jetbrains.kotlin:kotlin-reflect:$versions.kotlin",
kotlinxCoroutines : "org.jetbrains.kotlinx:kotlinx-coroutines-android:$versions.kotlinxCoroutines",
retrofit : "com.squareup.retrofit2:retrofit:$versions.retrofit",
gsonConverter : "com.squareup.retrofit2:converter-gson:$versions.retrofit",
jacksonConverter : "com.squareup.retrofit2:converter-jackson:$versions.retrofit",
jacksonKotlin : "com.fasterxml.jackson.module:jackson-module-kotlin:$versions.jackson",
okhttpLogging : "com.squareup.okhttp3:logging-interceptor:$versions.okhttp",
twitterSerial : "com.twitter.serial:serial:$versions.twitterSerial",
koinCore : "io.insert-koin:koin-core:$versions.koin",
koinAndroid : "io.insert-koin:koin-android:$versions.koin",
koinViewModel : "io.insert-koin:koin-android-viewmodel:$versions.koin",
picasso : "com.squareup.picasso:picasso:$versions.picasso",
dexter : "com.karumi:dexter:$versions.dexter",
timber : "com.jakewharton.timber:timber:$versions.timber",
fastScroll : "com.simplecityapps:recyclerview-fastscroll:$versions.fastScroll",
sortListView : "com.github.tzugen:drag-sort-listview:$versions.sortListView",
]
ext.testing = [
junit : "junit:junit:$versions.junit4",
junitVintage : "org.junit.vintage:junit-vintage-engine:$versions.junit5",
kotlinJunit : "org.jetbrains.kotlin:kotlin-test-junit:$versions.kotlin",
mockitoKotlin : "org.mockito.kotlin:mockito-kotlin:$versions.mockitoKotlin",
mockito : "org.mockito:mockito-core:$versions.mockito",
mockitoInline : "org.mockito:mockito-inline:$versions.mockito",
kluent : "org.amshove.kluent:kluent:$versions.kluent",
kluentAndroid : "org.amshove.kluent:kluent-android:$versions.kluent",
mockWebServer : "com.squareup.okhttp3:mockwebserver:$versions.okhttp",
apacheCodecs : "commons-codec:commons-codec:$versions.apacheCodecs",
robolectric : "org.robolectric:robolectric:$versions.robolectric"
]

View File

@ -1,86 +0,0 @@
<?xml version="1.0" ?>
<SmellBaseline>
<ManuallySuppressedIssues></ManuallySuppressedIssues>
<CurrentIssues>
<ID>ComplexCondition:DownloadHandler.kt$DownloadHandler.&lt;no name provided&gt;$!append &amp;&amp; !playNext &amp;&amp; !unpin &amp;&amp; !background</ID>
<ID>ComplexCondition:FilePickerAdapter.kt$FilePickerAdapter$currentDirectory.absolutePath == "/" || currentDirectory.absolutePath == "/storage" || currentDirectory.absolutePath == "/storage/emulated" || currentDirectory.absolutePath == "/mnt"</ID>
<ID>ComplexCondition:LocalMediaPlayer.kt$LocalMediaPlayer$Util.getGaplessPlaybackPreference() &amp;&amp; Build.VERSION.SDK_INT &gt;= Build.VERSION_CODES.JELLY_BEAN &amp;&amp; ( playerState === PlayerState.STARTED || playerState === PlayerState.PAUSED )</ID>
<ID>ComplexMethod:DownloadFile.kt$DownloadFile.DownloadTask$override fun execute()</ID>
<ID>ComplexMethod:FilePickerAdapter.kt$FilePickerAdapter$private fun fileLister(currentDirectory: File)</ID>
<ID>ComplexMethod:SongView.kt$SongView$fun setSong(song: MusicDirectory.Entry, checkable: Boolean, draggable: Boolean)</ID>
<ID>ComplexMethod:TrackCollectionFragment.kt$TrackCollectionFragment$private fun enableButtons()</ID>
<ID>ComplexMethod:TrackCollectionFragment.kt$TrackCollectionFragment$private fun updateInterfaceWithEntries(musicDirectory: MusicDirectory)</ID>
<ID>EmptyFunctionBlock:SongView.kt$SongView${}</ID>
<ID>FunctionNaming:ThemeChangedEventDistributor.kt$ThemeChangedEventDistributor$fun RaiseThemeChangedEvent()</ID>
<ID>ImplicitDefaultLocale:DownloadFile.kt$DownloadFile$String.format("DownloadFile (%s)", song)</ID>
<ID>ImplicitDefaultLocale:DownloadFile.kt$DownloadFile.DownloadTask$String.format("Download of '%s' was cancelled", song)</ID>
<ID>ImplicitDefaultLocale:DownloadFile.kt$DownloadFile.DownloadTask$String.format("DownloadTask (%s)", song)</ID>
<ID>ImplicitDefaultLocale:EditServerFragment.kt$EditServerFragment.&lt;no name provided&gt;$String.format( "%s %s", resources.getString(R.string.settings_connection_failure), getErrorMessage(error) )</ID>
<ID>ImplicitDefaultLocale:FileLoggerTree.kt$FileLoggerTree$String.format("Failed to write log to %s", file)</ID>
<ID>ImplicitDefaultLocale:FileLoggerTree.kt$FileLoggerTree$String.format("Log file rotated, logging into file %s", file?.name)</ID>
<ID>ImplicitDefaultLocale:FileLoggerTree.kt$FileLoggerTree$String.format("Logging into file %s", file?.name)</ID>
<ID>ImplicitDefaultLocale:LocalMediaPlayer.kt$LocalMediaPlayer.BufferTask$String.format("BufferTask (%s)", downloadFile)</ID>
<ID>ImplicitDefaultLocale:LocalMediaPlayer.kt$LocalMediaPlayer.CheckCompletionTask$String.format("CheckCompletionTask (%s)", downloadFile)</ID>
<ID>ImplicitDefaultLocale:ShareHandler.kt$ShareHandler$String.format("%d:%s", timeSpanAmount, timeSpanType)</ID>
<ID>ImplicitDefaultLocale:ShareHandler.kt$ShareHandler.&lt;no name provided&gt;$String.format("%s\n\n%s", Util.getShareGreeting(), result.url)</ID>
<ID>ImplicitDefaultLocale:SongView.kt$SongView$String.format("%02d.", trackNumber)</ID>
<ID>ImplicitDefaultLocale:SongView.kt$SongView$String.format("%s ", bitRate)</ID>
<ID>ImplicitDefaultLocale:SongView.kt$SongView$String.format("%s &gt; %s", suffix, transcodedSuffix)</ID>
<ID>LargeClass:TrackCollectionFragment.kt$TrackCollectionFragment : Fragment</ID>
<ID>LongMethod:DownloadFile.kt$DownloadFile.DownloadTask$override fun execute()</ID>
<ID>LongMethod:EditServerFragment.kt$EditServerFragment$override fun onViewCreated(view: View, savedInstanceState: Bundle?)</ID>
<ID>LongMethod:FilePickerAdapter.kt$FilePickerAdapter$private fun fileLister(currentDirectory: File)</ID>
<ID>LongMethod:LocalMediaPlayer.kt$LocalMediaPlayer$@Synchronized private fun doPlay(downloadFile: DownloadFile, position: Int, start: Boolean)</ID>
<ID>LongMethod:MediaPlayerService.kt$MediaPlayerService$private fun updateMediaSession(currentPlaying: DownloadFile?, playerState: PlayerState)</ID>
<ID>LongMethod:NavigationActivity.kt$NavigationActivity$override fun onCreate(savedInstanceState: Bundle?)</ID>
<ID>LongMethod:ShareHandler.kt$ShareHandler$private fun showDialog( fragment: Fragment, shareDetails: ShareDetails, swipe: SwipeRefreshLayout?, cancellationToken: CancellationToken )</ID>
<ID>LongMethod:SongView.kt$SongView$fun setSong(song: MusicDirectory.Entry, checkable: Boolean, draggable: Boolean)</ID>
<ID>LongMethod:TrackCollectionFragment.kt$TrackCollectionFragment$override fun onContextItemSelected(menuItem: MenuItem): Boolean</ID>
<ID>LongMethod:TrackCollectionFragment.kt$TrackCollectionFragment$override fun onViewCreated(view: View, savedInstanceState: Bundle?)</ID>
<ID>LongMethod:TrackCollectionFragment.kt$TrackCollectionFragment$private fun updateDisplay(refresh: Boolean)</ID>
<ID>LongMethod:TrackCollectionFragment.kt$TrackCollectionFragment$private fun updateInterfaceWithEntries(musicDirectory: MusicDirectory)</ID>
<ID>LongParameterList:ServerRowAdapter.kt$ServerRowAdapter$( private var context: Context, private var data: Array&lt;ServerSetting&gt;, private val model: ServerSettingsModel, private val activeServerProvider: ActiveServerProvider, private val manageMode: Boolean, private val serverDeletedCallback: ((Int) -&gt; Unit), private val serverEditRequestedCallback: ((Int) -&gt; Unit) )</ID>
<ID>MagicNumber:ActiveServerProvider.kt$ActiveServerProvider$8192</ID>
<ID>MagicNumber:DownloadFile.kt$DownloadFile.DownloadTask$10</ID>
<ID>MagicNumber:DownloadFile.kt$DownloadFile.DownloadTask$60</ID>
<ID>MagicNumber:LocalMediaPlayer.kt$LocalMediaPlayer.&lt;no name provided&gt;$60000</ID>
<ID>MagicNumber:LocalMediaPlayer.kt$LocalMediaPlayer.BufferTask$100000</ID>
<ID>MagicNumber:LocalMediaPlayer.kt$LocalMediaPlayer.BufferTask$1024L</ID>
<ID>MagicNumber:LocalMediaPlayer.kt$LocalMediaPlayer.BufferTask$8</ID>
<ID>MagicNumber:LocalMediaPlayer.kt$LocalMediaPlayer.BufferTask$86400L</ID>
<ID>MagicNumber:LocalMediaPlayer.kt$LocalMediaPlayer.BufferTask$8L</ID>
<ID>MagicNumber:LocalMediaPlayer.kt$LocalMediaPlayer.CheckCompletionTask$5000L</ID>
<ID>MagicNumber:LocalMediaPlayer.kt$LocalMediaPlayer.PositionCache$50L</ID>
<ID>MagicNumber:MediaPlayerService.kt$MediaPlayerService$256</ID>
<ID>MagicNumber:MediaPlayerService.kt$MediaPlayerService$3</ID>
<ID>MagicNumber:MediaPlayerService.kt$MediaPlayerService$4</ID>
<ID>MagicNumber:RESTMusicService.kt$RESTMusicService$206</ID>
<ID>MagicNumber:SongView.kt$SongView$3</ID>
<ID>MagicNumber:SongView.kt$SongView$4</ID>
<ID>MagicNumber:SongView.kt$SongView$60</ID>
<ID>MagicNumber:TrackCollectionFragment.kt$TrackCollectionFragment$10</ID>
<ID>NestedBlockDepth:DownloadFile.kt$DownloadFile.DownloadTask$override fun execute()</ID>
<ID>NestedBlockDepth:DownloadHandler.kt$DownloadHandler$private fun downloadRecursively( fragment: Fragment, id: String, name: String?, isShare: Boolean, isDirectory: Boolean, save: Boolean, append: Boolean, autoPlay: Boolean, shuffle: Boolean, background: Boolean, playNext: Boolean, unpin: Boolean, isArtist: Boolean )</ID>
<ID>NestedBlockDepth:MediaPlayerService.kt$MediaPlayerService$private fun setupOnSongCompletedHandler()</ID>
<ID>ReturnCount:CommunicationErrorHandler.kt$CommunicationErrorHandler.Companion$fun getErrorMessage(error: Throwable, context: Context): String</ID>
<ID>ReturnCount:ServerRowAdapter.kt$ServerRowAdapter$ private fun popupMenuItemClick(menuItem: MenuItem, position: Int): Boolean</ID>
<ID>ReturnCount:TrackCollectionFragment.kt$TrackCollectionFragment$override fun onContextItemSelected(menuItem: MenuItem): Boolean</ID>
<ID>TooGenericExceptionCaught:DownloadFile.kt$DownloadFile$e: Exception</ID>
<ID>TooGenericExceptionCaught:FileLoggerTree.kt$FileLoggerTree$x: Throwable</ID>
<ID>TooGenericExceptionCaught:LocalMediaPlayer.kt$LocalMediaPlayer$ex: Exception</ID>
<ID>TooGenericExceptionCaught:LocalMediaPlayer.kt$LocalMediaPlayer$exception: Throwable</ID>
<ID>TooGenericExceptionCaught:LocalMediaPlayer.kt$LocalMediaPlayer$x: Exception</ID>
<ID>TooGenericExceptionCaught:LocalMediaPlayer.kt$LocalMediaPlayer.PositionCache$e: Exception</ID>
<ID>TooGenericExceptionCaught:MediaPlayerService.kt$MediaPlayerService$e: Exception</ID>
<ID>TooGenericExceptionCaught:SongView.kt$SongView$e: Exception</ID>
<ID>TooGenericExceptionCaught:SubsonicUncaughtExceptionHandler.kt$SubsonicUncaughtExceptionHandler$x: Throwable</ID>
<ID>TooGenericExceptionCaught:VideoPlayer.kt$VideoPlayer$e: Exception</ID>
<ID>TooGenericExceptionThrown:DownloadFile.kt$DownloadFile.DownloadTask$throw Exception(String.format("Download of '%s' was cancelled", song))</ID>
<ID>TooManyFunctions:LocalMediaPlayer.kt$LocalMediaPlayer</ID>
<ID>TooManyFunctions:MediaPlayerService.kt$MediaPlayerService : Service</ID>
<ID>TooManyFunctions:RESTMusicService.kt$RESTMusicService : MusicService</ID>
<ID>TooManyFunctions:TrackCollectionFragment.kt$TrackCollectionFragment : Fragment</ID>
<ID>UtilityClassWithPublicConstructor:CommunicationErrorHandler.kt$CommunicationErrorHandler</ID>
<ID>UtilityClassWithPublicConstructor:FragmentTitle.kt$FragmentTitle</ID>
</CurrentIssues>
</SmellBaseline>

View File

@ -0,0 +1,3 @@
Others
- #671: Bump versions.mockito from 4.1.0 to 4.3.1.
- Update translations.

View File

@ -0,0 +1,3 @@
Enhancements
- #683: Rewrite the about and remove the webview.
- #685: Server coloring feature.

View File

@ -0,0 +1,2 @@
Bug fixes
- #688: Connection failure.

Some files were not shown because too many files have changed in this diff Show More