Compare commits

...

4182 Commits

Author SHA1 Message Date
William Faray
1b98029ba0 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (589 of 589 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pt_BR/
2026-04-14 15:26:16 +00:00
Maxiligamer
5def949cff Translated using Weblate (Finnish)
Currently translated at 100.0% (589 of 589 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fi/
2026-04-14 11:51:25 +00:00
Keylhan
6a89de66c3 Translated using Weblate (French)
Currently translated at 100.0% (589 of 589 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fr/
2026-04-13 19:49:49 +00:00
renovate[bot]
7986ad4112 Update android.gradle to v9.1.1 2026-04-13 19:09:25 +02:00
Translation expert
2881600b57 Translated using Weblate (Arabic)
Currently translated at 100.0% (589 of 589 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ar/
2026-04-12 20:32:19 +00:00
David Arist
c661b11c32 Translated using Weblate (Slovenian)
Currently translated at 100.0% (589 of 589 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sl/
2026-04-12 18:28:46 +00:00
David Arist
1f9b50f66d Translated using Weblate (Slovenian)
Currently translated at 99.4% (586 of 589 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sl/
2026-04-12 16:48:17 +00:00
Niels van Velzen
b825b4cc8e Enable new AGP DSL 2026-04-12 11:10:09 +02:00
renovate[bot]
57f0075a66 Update aboutlibraries to v14 2026-04-12 11:10:09 +02:00
renovate[bot]
ece02d19fe Update dependency org.jetbrains.kotlinx:kotlinx-serialization-json to v1.11.0 2026-04-12 10:56:03 +02:00
renovate[bot]
9e91e92ec4 Update actions/upload-artifact action to v7.0.1 2026-04-12 10:55:51 +02:00
renovate[bot]
22421d9f46 Update koin to v4.2.1 2026-04-12 10:55:39 +02:00
renovate[bot]
a3cfc160d6 Update dependency androidx.navigation3:navigation3-ui to v1.1.0 2026-04-12 10:55:20 +02:00
Mykolas Mickus
efeb432672 Translated using Weblate (Lithuanian)
Currently translated at 95.0% (560 of 589 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/lt/
2026-04-11 08:54:35 +00:00
UncleNet41
403f1f24da Translated using Weblate (Italian)
Currently translated at 100.0% (589 of 589 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/it/
2026-04-10 14:28:03 +00:00
Franco Castillo
cb6f1b3747 Translated using Weblate (Spanish (Argentina))
Currently translated at 100.0% (589 of 589 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es_AR/
2026-04-10 02:29:10 +00:00
Alejandro Delgado Folgado
d301a675a4 Translated using Weblate (Spanish)
Currently translated at 100.0% (589 of 589 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es/
2026-04-08 13:26:16 +00:00
Andi Chandler
d87947266a Translated using Weblate (English (United Kingdom))
Currently translated at 100.0% (589 of 589 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/en_GB/
2026-04-08 00:26:15 +00:00
Fjuro
d0f5974f86 Translated using Weblate (Czech)
Currently translated at 100.0% (589 of 589 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/cs/
2026-04-07 21:26:16 +00:00
Dzmitry Zubialevich
ccf3c85788 Translated using Weblate (Belarusian)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/be/
2026-04-07 08:26:17 +00:00
Dzmitry Zubialevich
e34647548b Translated using Weblate (Belarusian)
Currently translated at 100.0% (589 of 589 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/be/
2026-04-07 08:26:16 +00:00
Niels van Velzen
eaf2411a99 Fix missing focus in new player UI (#5513)
* Fix missing focus in new player UI

* Update app/src/main/java/org/jellyfin/androidtv/ui/base/BaseScreen.kt

Co-authored-by: Bill Thornton <thornbill@users.noreply.github.com>

---------

Co-authored-by: Bill Thornton <thornbill@users.noreply.github.com>
2026-04-06 08:44:37 -04:00
renovate[bot]
25dd7515cb Update dependency org.jellyfin.sdk:jellyfin-core to v1.8.8 2026-04-06 12:29:24 +02:00
Gallyam Biktashev
afb55fc06c Translated using Weblate (Russian)
Currently translated at 100.0% (589 of 589 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ru/
2026-04-06 10:27:22 +00:00
Gargotaire
bacbea0b59 Translated using Weblate (Catalan)
Currently translated at 100.0% (589 of 589 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ca/
2026-04-06 09:33:58 +00:00
kscop-n1
cdcd528bcc Translated using Weblate (Ukrainian)
Currently translated at 100.0% (589 of 589 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/uk/
2026-04-06 09:33:57 +00:00
Lofuuzi
a8cd75aec3 Translated using Weblate (Cantonese (Traditional Han script))
Currently translated at 100.0% (589 of 589 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/yue_Hant/
2026-04-06 07:50:10 +00:00
Pavel Miniutka
cac4958a0b Translated using Weblate (Belarusian)
Currently translated at 100.0% (589 of 589 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/be/
2026-04-06 07:50:09 +00:00
Niels van Velzen
19cbfcda3e Fix interaction tracking in popover composable 2026-04-06 07:36:38 +02:00
Kityn
dd7f64d1e0 Translated using Weblate (Polish)
Currently translated at 100.0% (589 of 589 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pl/
2026-04-06 00:54:39 +00:00
Daniel Aleksander Martinsen
d4c0af73c3 Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (589 of 589 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nb_NO/
2026-04-05 23:26:15 +00:00
Lofuuzi
5ab2e91ae8 Translated using Weblate (Cantonese (Traditional Han script))
Currently translated at 100.0% (589 of 589 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/yue_Hant/
2026-04-05 18:26:16 +00:00
Bas
62c7a65365 Translated using Weblate (Dutch)
Currently translated at 100.0% (589 of 589 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nl/
2026-04-05 18:26:16 +00:00
Addi90
c2391f85e4 Translated using Weblate (German)
Currently translated at 100.0% (589 of 589 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/de/
2026-04-05 18:26:15 +00:00
renovate[bot]
d1691499a9 Update kotest to v6.1.11 2026-04-05 18:10:53 +02:00
Weblate
fa2fd94a6e Update translation files
Updated by "Cleanup translation files" hook in Weblate.

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/
2026-04-05 15:56:24 +00:00
Lofuuzi
59e918a144 Translated using Weblate (Cantonese (Traditional Han script))
Currently translated at 100.0% (588 of 588 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/yue_Hant/
2026-04-05 15:56:23 +00:00
Akhil
de74f641ce Add ability to unblur backdrops (#5216)
* Add preference for enabling background blur on backdrops

* value for strings.xml for enabling backdrop blur feature

* Respect preference option for enabling backdrop blur feature

* update new customization screen

* Added Enum for backdrop state

* Added a new screen for CustomizationBackdrops

* Combined backdrop enabled and blur into a single behavior

modified type to enum , removed checkbox, instead added a subroute, updated BackgroundService to reflect new type values

* rename pref variable and run migration

* Misc fixes

---------

Co-authored-by: Niels van Velzen <git@ndat.nl>
2026-04-05 17:56:17 +02:00
Lofuuzi
48b5d262bc Translated using Weblate (Cantonese (Traditional Han script))
Currently translated at 97.7% (575 of 588 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/yue_Hant/
2026-04-05 15:40:53 +00:00
Lofuuzi
6fe5a96045 Translated using Weblate (Cantonese (Traditional Han script))
Currently translated at 97.2% (572 of 588 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/yue_Hant/
2026-04-05 15:40:37 +00:00
Lofuuzi
9307bb8d81 Translated using Weblate (Cantonese (Traditional Han script))
Currently translated at 93.5% (550 of 588 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/yue_Hant/
2026-04-05 15:38:03 +00:00
Lofuuzi
0e0aa4bd26 Translated using Weblate (Cantonese (Traditional Han script))
Currently translated at 48.9% (288 of 588 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/yue_Hant/
2026-04-05 08:26:20 +00:00
Lofuuzi
7e2300e5fa Translated using Weblate (Cantonese (Traditional Han script))
Currently translated at 16.3% (96 of 588 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/yue_Hant/
2026-04-05 05:37:27 +00:00
Lofuuzi
a50663a33c Translated using Weblate (Cantonese (Traditional Han script))
Currently translated at 16.1% (95 of 588 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/yue_Hant/
2026-04-04 13:26:16 +00:00
Lofuuzi
1a3d8d8cb0 Translated using Weblate (Cantonese (Traditional Han script))
Currently translated at 14.1% (83 of 588 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/yue_Hant/
2026-04-04 10:50:16 +00:00
Lofuuzi
d6453b7224 Translated using Weblate (Cantonese (Traditional Han script))
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/yue_Hant/
2026-04-03 11:26:19 +00:00
Lofuuzi
1d2a0842a6 Translated using Weblate (Cantonese (Traditional Han script))
Currently translated at 5.6% (33 of 588 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/yue_Hant/
2026-04-03 11:26:18 +00:00
Dzmitry Zubialevich
cea16ea8d0 Translated using Weblate (Belarusian)
Currently translated at 100.0% (588 of 588 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/be/
2026-04-03 11:26:17 +00:00
Niels van Velzen
8415802188 Move in-app screensaver cancellation into compose 2026-04-03 10:07:26 +02:00
Niels van Velzen
c7d8790e17 Use new interaction tracking API in MainActivity 2026-04-03 10:07:26 +02:00
Niels van Velzen
cafd225074 Support interaction tracking within dialogs 2026-04-03 10:07:26 +02:00
Niels van Velzen
74e24efcbf Add new InteractionTracker API to compose to allow for user interaction detection 2026-04-03 10:07:26 +02:00
Niels van Velzen
7600b4a27a Avoid nested composition local providers in JellyfinTheme 2026-04-03 10:07:26 +02:00
Lofuuzi
613ba0ef8b Added translation using Weblate (Cantonese (Traditional Han script)) 2026-04-02 12:37:49 +00:00
renovate[bot]
2242d15a7a Update dependency org.jellyfin.sdk:jellyfin-core to v1.8.7 2026-04-02 00:09:32 +02:00
renovate[bot]
193fa73799 Update kotest to v6.1.10 2026-04-01 11:46:18 +02:00
newton181
af80f41aac Translated using Weblate (Spanish (Latin America))
Currently translated at 93.0% (547 of 588 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es_419/
2026-03-31 22:26:15 +00:00
Jens van Almsick
3e8e059ab2 Change heading from 'Refresh Switching' to 'Resume Preroll' 2026-03-31 16:46:27 +02:00
Niels van Velzen
0fca5d77fe Remove redundant JellyfinTheme usages 2026-03-29 22:08:50 +02:00
Niels van Velzen
b9f8757123 Refactor MainActivity to use compose as basis 2026-03-29 22:08:50 +02:00
Niels van Velzen
72ff0cfae8 Cleanup navigation destinations 2026-03-28 21:55:37 +01:00
Niels van Velzen
1f8cfa0f30 Fix dismissing in-app screensaver with remote 2026-03-28 15:32:38 +01:00
renovate[bot]
64f3bdac41 Update github/codeql-action action to v4.35.1 2026-03-27 19:53:10 +01:00
renovate[bot]
8eaaa39c24 Update androidx.media3 to v1.10.0 2026-03-27 19:48:03 +01:00
renovate[bot]
cbb230a588 Update github/codeql-action action to v4.35.0 2026-03-27 19:47:47 +01:00
renovate[bot]
489780f4ae Update kotest to v6.1.9 2026-03-27 19:47:36 +01:00
Gatis Rīders
b861f7372c Translated using Weblate (Latvian)
Currently translated at 99.1% (583 of 588 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/lv/
2026-03-27 16:26:15 +00:00
gitlepus
f8aa323580 Translated using Weblate (Croatian)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/hr/
2026-03-27 13:26:15 +00:00
renovate[bot]
ab6c32825c Update androidx.compose to v1.10.6 2026-03-25 20:21:07 +01:00
renovate[bot]
b9aabaacec Update dependency androidx.work:work-runtime to v2.11.2 2026-03-25 20:20:49 +01:00
UncleNet41
b8c9b079ee Translated using Weblate (Italian)
Currently translated at 100.0% (588 of 588 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/it/
2026-03-24 19:47:20 +00:00
renovate[bot]
9436e6966a Update kotest to v6.1.8 2026-03-24 19:43:38 +01:00
deepak r
eb6e931a22 Translated using Weblate (Tamil)
Currently translated at 94.7% (557 of 588 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ta/
2026-03-24 18:41:11 +00:00
Denislav Denev
a3f4b112b8 Translated using Weblate (Bulgarian)
Currently translated at 79.0% (465 of 588 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/bg/
2026-03-20 23:17:19 +00:00
renovate[bot]
5bae1198dc Update Gradle to v9.4.1 2026-03-19 20:43:37 +01:00
renovate[bot]
38d0ee6bce Update koin to v4.2.0 2026-03-19 20:43:26 +01:00
Winoox
5d395978a7 Translated using Weblate (Bulgarian)
Currently translated at 78.7% (463 of 588 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/bg/
2026-03-16 23:26:15 +00:00
renovate[bot]
02ec11135c Update androidx.media3 to v1.9.3 2026-03-16 21:02:50 +01:00
renovate[bot]
df0ff6eaa1 Update github/codeql-action action to v4.33.0 2026-03-16 15:26:52 +01:00
renovate[bot]
58a1449766 Update Kotlin to v2.3.20 2026-03-16 15:26:34 +01:00
Dimitar \"Topper\" Maznekov
d07a5d0fc4 Translated using Weblate (Bulgarian)
Currently translated at 76.1% (448 of 588 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/bg/
2026-03-16 08:40:21 +00:00
renovate[bot]
924463bff9 Update kotest to v6.1.7 2026-03-15 14:11:42 +01:00
Andreas Olsson
67c7d7c0d0 Translated using Weblate (Swedish)
Currently translated at 100.0% (588 of 588 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sv/
2026-03-15 10:26:14 +00:00
Andreas Olsson
db9695d702 Translated using Weblate (Swedish)
Currently translated at 98.8% (581 of 588 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sv/
2026-03-15 00:26:14 +00:00
lednurb
10d599d5df Translated using Weblate (Dutch)
Currently translated at 100.0% (588 of 588 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nl/
2026-03-12 19:26:14 +00:00
jasoncoder666
aff07fcbd7 Translated using Weblate (Greek)
Currently translated at 96.0% (565 of 588 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/el/
2026-03-12 16:26:14 +00:00
renovate[bot]
d8b072383d Update dependency androidx.core:core-ktx to v1.18.0 2026-03-12 08:10:40 +01:00
aniara001
c5de74cf33 Translated using Weblate (Swedish)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/sv/
2026-03-11 22:26:14 +00:00
Bas
e7f51dba01 Translated using Weblate (Dutch)
Currently translated at 100.0% (588 of 588 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nl/
2026-03-11 20:08:38 +00:00
lednurb
456bb619bc Translated using Weblate (Dutch)
Currently translated at 100.0% (588 of 588 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nl/
2026-03-11 20:08:38 +00:00
renovate[bot]
2de7bd876a Update kotest to v6.1.6 2026-03-11 20:43:51 +01:00
renovate[bot]
7f0fbba0d2 Update androidx.compose to v1.10.5 2026-03-11 20:43:34 +01:00
renovate[bot]
829a88761f Update androidx.activity to v1.13.0 2026-03-11 20:43:24 +01:00
Antoni Encarnacion Marte
a054d9430e Translated using Weblate (Spanish (Dominican Republic))
Currently translated at 10.8% (64 of 588 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es_DO/
2026-03-11 03:38:25 +00:00
nextlooper42
cab17b8bee Translated using Weblate (Slovak)
Currently translated at 100.0% (588 of 588 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sk/
2026-03-10 11:26:14 +00:00
nextlooper42
b87d26d2ed Translated using Weblate (Slovak)
Currently translated at 96.4% (567 of 588 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sk/
2026-03-10 08:49:06 +00:00
Denislav Denev
e4952e6eba Translated using Weblate (Bulgarian)
Currently translated at 76.0% (447 of 588 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/bg/
2026-03-10 02:26:21 +00:00
Weblate
26c78157d9 Update translation files
Updated by "Remove blank strings" hook in Weblate.

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/
2026-03-09 20:03:59 +00:00
Denislav Denev
8edf76c5dd Translated using Weblate (Bulgarian)
Currently translated at 53.2% (313 of 588 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/bg/
2026-03-09 20:03:57 +00:00
Pavel Miniutka
83183892fd Translated using Weblate (Belarusian)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/be/
2026-03-09 08:26:13 +00:00
Bryan
5b8c76c531 Translated using Weblate (Afrikaans)
Currently translated at 10.3% (61 of 588 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/af/
2026-03-07 17:26:14 +00:00
queeup
56b16b37c5 Translated using Weblate (Turkish)
Currently translated at 100.0% (588 of 588 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/tr/
2026-03-07 00:26:13 +00:00
makoto
ba4b57ef93 Translated using Weblate (Japanese)
Currently translated at 100.0% (588 of 588 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ja/
2026-03-06 11:26:14 +00:00
renovate[bot]
4ba1bbc946 Update github/codeql-action action to v4.32.6 2026-03-06 11:56:32 +01:00
Niels van Velzen
aa964647b5 Support Advanced SubStation Alpha direct play 2026-03-05 21:27:48 +01:00
renovate[bot]
e3062edc91 Update android.gradle to v9.1.0 2026-03-04 19:13:44 +01:00
renovate[bot]
2a54faee98 Update Gradle to v9.4.0 2026-03-04 13:39:42 +01:00
Niels van Velzen
3f0d4bdbfc Add next media preloading 2026-03-03 14:07:45 +01:00
Niels van Velzen
4308f46f4d Add timed event blocks and support for negative positions 2026-03-02 19:56:15 +01:00
renovate[bot]
861e00ad1a Update github/codeql-action action to v4.32.5 2026-03-02 19:55:54 +01:00
Niels van Velzen
947ab42e33 Refactor PlayerBackendEventListener to abstract class 2026-03-01 18:04:16 +01:00
renovate[bot]
22f3bafcab Update actions/upload-artifact action to v7 2026-02-27 20:55:01 +01:00
Niels van Velzen
62153f648a Add initial media segment support 2026-02-27 20:53:57 +01:00
Niels van Velzen
6a03b75eb2 Add timed event API 2026-02-27 20:53:57 +01:00
Niels van Velzen
333c8b9630 Move lyrics plugin into own package 2026-02-27 20:53:57 +01:00
Pavel Miniutka
3c9fe12ddc Translated using Weblate (Belarusian)
Currently translated at 100.0% (588 of 588 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/be/
2026-02-27 13:03:05 +00:00
Pavel Miniutka
26a83a6bc4 Translated using Weblate (Belarusian)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/be/
2026-02-26 09:26:13 +00:00
Pavel Miniutka
978177c48b Translated using Weblate (Belarusian)
Currently translated at 100.0% (588 of 588 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/be/
2026-02-26 09:26:13 +00:00
renovate[bot]
afa7d42fa4 Update kotest to v6.1.4 2026-02-25 21:59:06 +01:00
renovate[bot]
5c804a65d3 Update androidx.compose to v1.10.4 2026-02-25 21:58:45 +01:00
renovate[bot]
b15581c8a4 Update coil to v3.4.0 2026-02-24 22:22:38 +01:00
renovate[bot]
fcd3b2dcd6 Update android.gradle to v9.0.1 2026-02-24 13:18:02 +01:00
Dzmitry Zubialevich
c1d1b52fc0 Translated using Weblate (Belarusian)
Currently translated at 100.0% (588 of 588 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/be/
2026-02-24 11:09:39 +00:00
renovate[bot]
d6e32b1075 Update gradle/actions action to v5.0.2 2026-02-24 10:32:50 +01:00
renovate[bot]
df610b2ec4 Update github/codeql-action action to v4.32.4 2026-02-20 16:51:07 +01:00
John Doe
c0c2a08572 Translated using Weblate (Finnish)
Currently translated at 100.0% (588 of 588 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fi/
2026-02-18 14:31:09 +00:00
John Doe
fcff716b28 Translated using Weblate (Finnish)
Currently translated at 100.0% (588 of 588 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fi/
2026-02-18 14:02:23 +00:00
John Doe
fce6998218 Translated using Weblate (Finnish)
Currently translated at 99.6% (586 of 588 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fi/
2026-02-18 13:28:23 +00:00
renovate[bot]
fc62714955 Update CI dependencies 2026-02-17 15:41:48 +01:00
Dzmitry Zubialevich
f0a8604acc Translated using Weblate (Belarusian)
Currently translated at 98.9% (582 of 588 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/be/
2026-02-16 10:25:23 +00:00
Gargotaire
bd5b10e040 Translated using Weblate (Catalan)
Currently translated at 100.0% (588 of 588 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ca/
2026-02-14 21:53:54 +00:00
WizardOfYendor1
f6af0b8075 Fix recording from playback overlay by passing programId to timer defaults 2026-02-12 21:43:39 +01:00
Galaterro
ca715d4c10 Show additional parts for episodes 2026-02-12 21:41:15 +01:00
renovate[bot]
967d690139 Update dependency androidx.navigation3:navigation3-ui to v1.0.1 2026-02-11 21:43:26 +01:00
renovate[bot]
53e8a80592 Update androidx.compose to v1.10.3 2026-02-11 21:25:02 +01:00
renovate[bot]
8bb34428f8 Update androidx.activity to v1.12.4 2026-02-11 21:24:42 +01:00
skalthoff
3ab0ae4cf9 Fix non-enum preferences not persisting to server
The generic rememberPreference() overload for non-enum types (Int,
String, etc.) updates the local in-memory cache but never calls
commit() on the AsyncPreferenceStore. This means preferences like
skipForwardLength and skipBackLength are never sent to the server
via the DisplayPreferences API, silently reverting on app restart.

Add the same commit() call that the enum overload already has.
2026-02-11 09:10:50 +01:00
Pavel Miniutka
421ba3704c Translated using Weblate (Belarusian)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/be/
2026-02-10 11:05:56 +00:00
Pavel Miniutka
9f2ea8434f Translated using Weblate (Belarusian)
Currently translated at 95.0% (559 of 588 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/be/
2026-02-10 11:05:56 +00:00
無情天
ad46a348ad Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (588 of 588 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/zh_Hans/
2026-02-06 21:58:34 +00:00
Niels van Velzen
02f9405c40 Remove unused NumberSpinnerView 2026-02-06 22:43:40 +01:00
Niels van Velzen
a368382262 Check for playAccess in BaseItemDto.canPlay extension 2026-02-06 22:43:35 +01:00
Niels van Velzen
6c7af50a34 Fix item names not showing when showCardInfoOverlay is set 2026-02-06 19:22:58 +01:00
renovate[bot]
8976dc302a Update github/codeql-action action to v4.32.2 2026-02-06 11:53:42 +01:00
renovate[bot]
c24ab17b10 Update androidx.media3 to v1.9.2 2026-02-06 11:53:18 +01:00
Jonas Engen Larsen
4ae28b1f2c Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (588 of 588 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nb_NO/
2026-02-05 23:03:32 +00:00
renovate[bot]
c14e504d8b Update kotest to v6.1.3 2026-02-05 17:52:08 +01:00
renovate[bot]
cf507e8385 Update Kotlin to v2.3.10 2026-02-05 17:46:51 +01:00
Augusto
faaec6a999 Translated using Weblate (Spanish (Argentina))
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/es_AR/
2026-02-04 04:05:55 +00:00
JagerSprinkles
3d7f252664 Correct video start delay setting not showing decimal values in settings (#5376) 2026-02-03 13:02:21 +00:00
Niels van Velzen
d41f992b62 Add media type API to set proper content type in audio attributes 2026-02-03 09:00:05 +01:00
Niels van Velzen
7acfc41498 Specify audio attributes in VideoManager 2026-02-02 20:32:57 +01:00
renovate[bot]
067f227983 Update github/codeql-action action to v4.32.1 2026-02-02 20:23:11 +01:00
Flavian Kathurima
b844bf3165 Translated using Weblate (Swahili)
Currently translated at 100.0% (588 of 588 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sw/
2026-02-02 09:06:00 +00:00
Niels van Velzen
0935cc473b Specify JDK version for CI in .tools-versions file 2026-02-01 22:26:11 +01:00
Augusto
ebfa4bba7f Translated using Weblate (Spanish (Argentina))
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/es_AR/
2026-02-01 17:05:56 +00:00
Augusto
2b9280f3ef Translated using Weblate (Spanish (Argentina))
Currently translated at 100.0% (588 of 588 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es_AR/
2026-02-01 17:05:56 +00:00
Flavian Kathurima
258e20f605 Translated using Weblate (Swahili)
Currently translated at 85.8% (505 of 588 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sw/
2026-02-01 09:05:57 +00:00
Weblate
5fa51d489d Update translation files
Updated by "Cleanup translation files" hook in Weblate.

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/
2026-01-31 16:08:00 +00:00
Niels van Velzen
ed0e470a40 Remove unused defaultRatingType setting 2026-01-31 17:07:56 +01:00
Flavian Kathurima
62d68a8485 Translated using Weblate (Swahili)
Currently translated at 68.6% (406 of 591 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sw/
2026-01-31 10:05:56 +00:00
KWeasley
d1d45906cf Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (591 of 591 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pt_BR/
2026-01-30 01:05:55 +00:00
KWeasley
c83d7c62f1 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (591 of 591 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pt_BR/
2026-01-29 22:48:43 +00:00
KWeasley
8822076391 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (591 of 591 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pt_BR/
2026-01-29 21:09:32 +00:00
KWeasley
fd9ab5d431 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (591 of 591 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pt_BR/
2026-01-29 20:43:39 +00:00
millallo
d4ff5983a3 Translated using Weblate (Italian)
Currently translated at 98.6% (583 of 591 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/it/
2026-01-29 20:43:38 +00:00
renovate[bot]
f60a72909d Update Gradle to v9.3.1 2026-01-29 16:30:34 +01:00
Saman Miran
1ef40b614a Remove drop shadows from BrowseGridFragment (#5370) 2026-01-29 15:18:17 +00:00
renovate[bot]
e25acfadd6 Update kotest to v6.1.2 2026-01-29 16:17:30 +01:00
renovate[bot]
92148e9da8 Update dependency io.mockk:mockk to v1.14.9 2026-01-29 16:17:22 +01:00
renovate[bot]
4f700ba9d3 Update CI dependencies 2026-01-29 16:17:06 +01:00
renovate[bot]
69b3fa48be Update androidx.compose to v1.10.2 2026-01-29 16:16:56 +01:00
renovate[bot]
59c1ef00d5 Update dependency androidx.activity:activity to v1.12.3 2026-01-29 16:16:47 +01:00
renovate[bot]
860bfa529e Update dependency androidx.work:work-runtime to v2.11.1 2026-01-29 16:16:37 +01:00
Flavian Kathurima
51cec68bc9 Translated using Weblate (Swahili)
Currently translated at 60.9% (360 of 591 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sw/
2026-01-29 09:40:48 +00:00
Flavian Kathurima
a8d18f70ad Translated using Weblate (Swahili)
Currently translated at 53.4% (316 of 591 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sw/
2026-01-29 08:05:55 +00:00
Jonas Engen Larsen
da0ebbc5ce Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (591 of 591 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nb_NO/
2026-01-29 08:05:54 +00:00
Niels van Velzen
a91e9f9ad3 Update badge styling in ItemCardBaseItemOverlay 2026-01-28 08:29:17 +01:00
Niels van Velzen
153ca1662f Update progress styling in NowPlayingView 2026-01-27 17:06:34 +01:00
renovate[bot]
eb1ef2f295 Update androidx.media3 to v1.9.1 2026-01-26 12:47:58 +01:00
renovate[bot]
aa54863603 Update CI dependencies 2026-01-25 21:46:32 +01:00
renovate[bot]
51ce9dece4 Update kotest to v6.1.1 2026-01-25 21:46:20 +01:00
Gabriel S
0bdcccf29b Translated using Weblate (Romanian)
Currently translated at 100.0% (591 of 591 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ro/
2026-01-25 18:38:49 +00:00
queeup
7100b26c83 Translated using Weblate (Turkish)
Currently translated at 100.0% (591 of 591 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/tr/
2026-01-25 10:57:19 +00:00
Jógvan Olsen
da38f75a0f Added translation using Weblate (Faroese) 2026-01-25 09:38:32 +00:00
queeup
44682144c8 Translated using Weblate (Turkish)
Currently translated at 100.0% (591 of 591 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/tr/
2026-01-24 23:43:17 +00:00
Niels van Velzen
035a115dc9 Add media toasts to new video player 2026-01-24 18:55:47 +01:00
Andi Chandler
2480b05007 Translated using Weblate (English (United Kingdom))
Currently translated at 100.0% (591 of 591 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/en_GB/
2026-01-24 04:05:54 +00:00
Deniz ŞAHİN
9184f106a7 Translated using Weblate (Turkish)
Currently translated at 100.0% (591 of 591 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/tr/
2026-01-22 13:40:48 +00:00
rimasx
fc1f469661 Translated using Weblate (Estonian)
Currently translated at 99.8% (590 of 591 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/et/
2026-01-22 12:33:49 +00:00
renovate[bot]
e7ee94ab82 Update dependency org.jetbrains.kotlinx:kotlinx-serialization-json to v1.10.0 2026-01-21 21:36:08 +01:00
markrieder
24aac6a392 Translated using Weblate (Slovak)
Currently translated at 96.4% (570 of 591 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sk/
2026-01-21 18:05:54 +00:00
Flavian Kathurima
430f0ff689 Translated using Weblate (Swahili)
Currently translated at 51.4% (304 of 591 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sw/
2026-01-20 09:05:55 +00:00
renovate[bot]
3e7e9618c7 Update kotest to v6.1.0 2026-01-20 09:32:22 +01:00
renovate[bot]
5e9bfd4744 Update dependency org.jellyfin.sdk:jellyfin-core to v1.8.6 2026-01-20 09:31:55 +01:00
Flavian Kathurima
9a1a55160a Translated using Weblate (Swahili)
Currently translated at 44.5% (263 of 591 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sw/
2026-01-20 06:56:23 +00:00
Flavian Kathurima
6f0bc196ba Translated using Weblate (Swahili)
Currently translated at 34.5% (204 of 591 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sw/
2026-01-19 13:05:54 +00:00
Flavian Kathurima
96cd70d5a8 Translated using Weblate (Swahili)
Currently translated at 32.1% (190 of 591 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sw/
2026-01-19 10:05:54 +00:00
Niels van Velzen
6ad07f274f Recreate LegacyImageCardView with compose (#5343)
* Recreate LegacyImageCardView with compose

* Fix wrong aspect ratio used for Live TV cards

* Update app/src/main/java/org/jellyfin/androidtv/ui/presentation/CardPresenter.kt
2026-01-19 08:17:35 +00:00
Niels van Velzen
913beda916 Increase amount of cached MediaItems to 10 2026-01-17 17:57:57 +01:00
hoanghuy309
e39877b6f5 Translated using Weblate (Vietnamese)
Currently translated at 100.0% (591 of 591 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/vi/
2026-01-17 16:21:03 +00:00
Niels van Velzen
346c21c0b4 Migrate to AGP9 2026-01-17 13:27:28 +01:00
renovate[bot]
60e58e9fdb Update dependency com.android.tools.build:gradle to v9 2026-01-17 13:27:28 +01:00
renovate[bot]
99fb7d38aa Update Gradle to v9.3.0 2026-01-16 19:20:34 +01:00
Tal Sarid
8ac778d39f Translated using Weblate (Hebrew)
Currently translated at 100.0% (591 of 591 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/he/
2026-01-16 16:05:55 +00:00
Flavian Kathurima
e77593265b Translated using Weblate (Swahili)
Currently translated at 24.3% (144 of 591 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sw/
2026-01-16 11:03:10 +00:00
Flavian Kathurima
eab61bd3a3 Translated using Weblate (Swahili)
Currently translated at 24.1% (143 of 591 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sw/
2026-01-16 08:05:54 +00:00
Flavian Kathurima
2c885a2ba7 Translated using Weblate (Swahili)
Currently translated at 17.2% (102 of 591 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sw/
2026-01-15 11:05:53 +00:00
Flavian Kathurima
9234073344 Translated using Weblate (Swahili)
Currently translated at 16.4% (97 of 591 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sw/
2026-01-15 08:43:44 +00:00
Flavian Kathurima
5d5ffc79ce Translated using Weblate (Swahili)
Currently translated at 8.4% (50 of 591 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sw/
2026-01-15 07:55:29 +00:00
Flavian Kathurima
63a6dca0e2 Translated using Weblate (Swahili)
Currently translated at 1.6% (10 of 591 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sw/
2026-01-15 06:52:32 +00:00
Flavian Kathurima
5189e2931a Translated using Weblate (Swahili)
Currently translated at 1.1% (7 of 591 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sw/
2026-01-15 06:43:03 +00:00
Flavian Kathurima
0eb848c2f2 Translated using Weblate (Swahili)
Currently translated at 0.5% (3 of 591 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sw/
2026-01-15 06:34:27 +00:00
renovate[bot]
e6a20cb47e Update github/codeql-action action to v4.31.10 2026-01-14 20:57:26 +01:00
renovate[bot]
84476439e7 Update androidx.compose to v1.10.1 2026-01-14 20:52:08 +01:00
Urbán Zoltán
a654d2af68 Translated using Weblate (Hungarian)
Currently translated at 94.4% (558 of 591 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/hu/
2026-01-13 19:32:47 +00:00
Thadah D. Denyse
875ca123bb Translated using Weblate (Basque)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/eu/
2026-01-12 13:05:53 +00:00
Translation expert
341f031660 Translated using Weblate (Arabic)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/ar/
2026-01-12 13:05:53 +00:00
nenadsuperzmaj
14920a506e Translated using Weblate (Serbian)
Currently translated at 100.0% (591 of 591 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sr/
2026-01-12 10:05:54 +00:00
Gallyam Biktashev
690977498c Translated using Weblate (Russian)
Currently translated at 100.0% (591 of 591 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ru/
2026-01-12 10:05:53 +00:00
Translation expert
6998e6cdbb Translated using Weblate (Arabic)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/ar/
2026-01-12 01:14:00 +00:00
Marcos Soares
74535c7c03 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (591 of 591 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pt_BR/
2026-01-10 23:05:53 +00:00
Harvey
25babf42c8 Fix issue playing multiple items remotely (#5017)
* Fix issue starting multiple items remotely

* Use separate code path for starting playback from SocketHandler.onPlayMessage

---------

Co-authored-by: Niels van Velzen <git@ndat.nl>
2026-01-10 11:13:02 +00:00
Tal Sarid
ce2023a4b1 Show placeholder thumbnail while Trickplay thumbnail loads (#4946) 2026-01-10 11:56:52 +01:00
Kityn
4466b2fd69 Translated using Weblate (Polish)
Currently translated at 100.0% (591 of 591 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pl/
2026-01-09 21:50:47 +00:00
Dan Tsivinsky
1d6c9a81fc Translated using Weblate (Russian)
Currently translated at 99.6% (589 of 591 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ru/
2026-01-09 16:05:53 +00:00
vlatka-sinisa
a11ef51851 Translated using Weblate (Croatian)
Currently translated at 100.0% (591 of 591 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/hr/
2026-01-08 23:05:54 +00:00
Weblate
a056ac1e25 Update translation files
Updated by "Remove blank strings" hook in Weblate.

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/
2026-01-08 10:05:55 +00:00
John Doe
05de9bf84b Translated using Weblate (Finnish)
Currently translated at 99.4% (588 of 591 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fi/
2026-01-08 10:05:53 +00:00
Translation expert
dcd536cd19 Translated using Weblate (Arabic)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/ar/
2026-01-08 01:20:46 +00:00
Gallyam Biktashev
bb239f548c Translated using Weblate (Russian)
Currently translated at 98.8% (584 of 591 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ru/
2026-01-05 18:54:05 +00:00
mihlau
143be2f4f2 Translated using Weblate (Romanian)
Currently translated at 99.3% (587 of 591 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ro/
2026-01-05 18:54:04 +00:00
mihlau
5312958e3b Translated using Weblate (English (United Kingdom))
Currently translated at 99.3% (587 of 591 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/en_GB/
2026-01-05 18:54:04 +00:00
Gargotaire
f1590c69be Translated using Weblate (Catalan)
Currently translated at 99.8% (590 of 591 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ca/
2026-01-05 14:26:06 +00:00
Thunderstrike116
3cb86e356b Translated using Weblate (Greek)
Currently translated at 93.0% (550 of 591 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/el/
2026-01-05 13:05:53 +00:00
kscop-n1
bb150ba8bf Translated using Weblate (Ukrainian)
Currently translated at 100.0% (591 of 591 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/uk/
2026-01-05 10:46:02 +00:00
takyaO
21d0072d7d Translated using Weblate (Japanese)
Currently translated at 94.9% (561 of 591 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ja/
2026-01-05 10:46:02 +00:00
Translation expert
df494a9392 Translated using Weblate (Arabic)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/ar/
2026-01-05 08:05:52 +00:00
Gabriel S
8d64f1ba63 Translated using Weblate (Romanian)
Currently translated at 96.2% (569 of 591 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ro/
2026-01-05 08:05:52 +00:00
Antonio Toledo
72ca9cdc66 Translated using Weblate (Spanish)
Currently translated at 100.0% (591 of 591 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es/
2026-01-04 22:05:53 +00:00
Fjuro
96d247c2b5 Translated using Weblate (Czech)
Currently translated at 100.0% (591 of 591 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/cs/
2026-01-04 22:05:52 +00:00
Enzo GIOIELLI
a45f5ce626 Translated using Weblate (French)
Currently translated at 100.0% (591 of 591 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fr/
2026-01-04 00:49:19 +00:00
Niels van Velzen
c69c0ab23d Use space tokens in settings UI 2026-01-03 23:04:42 +01:00
Niels van Velzen
75b5f62e6b Use color tokens for settings UI 2026-01-03 18:52:43 +01:00
Niels van Velzen
5ae1347ec0 Update color tokens 2026-01-03 18:52:43 +01:00
Niels van Velzen
59a36bacf1 Support layout direction in ToolbarLayout 2026-01-03 18:52:29 +01:00
Niels van Velzen
9b321a1b17 Show progress and duration in video player 2026-01-03 16:51:29 +01:00
Niels van Velzen
638bd222fd Remove old preference UI 2026-01-03 14:33:03 +01:00
無情天
9c312645b3 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (591 of 591 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/zh_Hans/
2026-01-03 05:05:53 +00:00
Niels van Velzen
84cdc00115 Migrate advanced playback settings to compose 2026-01-02 23:58:19 +01:00
Finn Möbius
40f4af82bc Translated using Weblate (German)
Currently translated at 100.0% (591 of 591 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/de/
2026-01-02 17:05:52 +00:00
Niels van Velzen
a01d539b92 Fix 720 and 420 Kbit/s bitrate options not working 2026-01-02 14:49:28 +01:00
AfmanS
f87302d15f Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (591 of 591 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pt_PT/
2026-01-02 13:05:53 +00:00
Niels van Velzen
7c8020ba30 Add shared transitions to RouterContent 2026-01-02 08:36:16 +01:00
Niels van Velzen
068880e780 Fix initial focus on visibility change in DialogBase 2026-01-01 18:29:43 +01:00
Niels van Velzen
2af5ea8c28 Use DialogBase for InAppScreensaver 2026-01-01 18:29:35 +01:00
Niels van Velzen
4f67eeb0d2 Animate settings dialog 2026-01-01 18:05:20 +01:00
Niels van Velzen
875f094ff2 Use sliding transition for settings navigation 2026-01-01 18:05:20 +01:00
Lionel Morin
0f5f1b23fc Translated using Weblate (French)
Currently translated at 99.6% (589 of 591 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fr/
2026-01-01 00:05:52 +00:00
Kityn
a3f5928349 Translated using Weblate (Polish)
Currently translated at 100.0% (591 of 591 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pl/
2025-12-31 19:05:53 +00:00
Bas
105f86b16b Translated using Weblate (Dutch)
Currently translated at 100.0% (591 of 591 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nl/
2025-12-31 16:06:00 +00:00
tan
b26b04bddc Translated using Weblate (Thai)
Currently translated at 36.7% (217 of 591 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/th/
2025-12-31 16:05:59 +00:00
Translation expert
6d1c48b696 Translated using Weblate (Arabic)
Currently translated at 100.0% (591 of 591 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ar/
2025-12-31 16:05:57 +00:00
Niels van Velzen
2912b830b5 Add explanation about branches to README 2025-12-31 14:56:15 +01:00
Niels van Velzen
ebec491592 Migrate live tv guide settings to compose 2025-12-31 14:56:05 +01:00
Niels van Velzen
00125664ac Migrate library display settings to compose 2025-12-31 11:50:38 +01:00
Niels van Velzen
d38627cb24 Support defaultRouteParameters in ProvideRouter 2025-12-31 11:50:38 +01:00
Niels van Velzen
540a3855b4 Fix rememberPreference not saving for AsyncPreferenceStore 2025-12-30 21:08:29 +01:00
Niels van Velzen
c1f78e5c66 Remove unused server/user preferences UI 2025-12-30 21:08:00 +01:00
Niels van Velzen
cff7ed0d74 Use ListMessage for errors 2025-12-30 21:08:00 +01:00
Niels van Velzen
07f89b2ac2 Don't overwrite displayPreferencesId in ItemRowAdapterHelper.retrieveUserViews 2025-12-30 20:59:12 +01:00
Niels van Velzen
c3ce0bdc4b Migrate home settings to compose 2025-12-30 15:50:09 +01:00
Niels van Velzen
139c8e6202 Migrate libraries settings to compose 2025-12-30 08:56:49 +01:00
Niels van Velzen
0e0f330bc0 Migrate customization settings to compose 2025-12-30 08:56:49 +01:00
Fjuro
022ca79fc8 Translated using Weblate (Czech)
Currently translated at 100.0% (590 of 590 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/cs/
2025-12-30 03:05:52 +00:00
l00d3r
52bde656d0 Translated using Weblate (Estonian)
Currently translated at 99.6% (588 of 590 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/et/
2025-12-29 19:05:52 +00:00
kscop-n1
9ce1487056 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (590 of 590 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/uk/
2025-12-29 16:05:52 +00:00
Niels van Velzen
5d086b4ca3 Remove profile picture from ClockUserView 2025-12-29 15:45:09 +01:00
Niels van Velzen
184b966491 Add design tokens 2025-12-29 14:40:05 +01:00
renovate[bot]
695bf20d27 Update dependency org.jellyfin.media3:media3-ffmpeg-decoder to v1.9.0+1 2025-12-29 12:14:27 +01:00
ilker
e41e2874b2 Translated using Weblate (Turkish)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/tr/
2025-12-29 11:05:54 +00:00
Gargotaire
df51fc0fea Translated using Weblate (Catalan)
Currently translated at 100.0% (590 of 590 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ca/
2025-12-29 11:05:54 +00:00
ilker
42d7078e5c Translated using Weblate (Turkish)
Currently translated at 100.0% (590 of 590 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/tr/
2025-12-29 11:05:53 +00:00
Thunderstrike116
2c3066b624 Translated using Weblate (Greek)
Currently translated at 93.0% (549 of 590 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/el/
2025-12-29 11:05:52 +00:00
alxhu
76647acd33 Translated using Weblate (German)
Currently translated at 100.0% (590 of 590 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/de/
2025-12-29 07:18:19 +00:00
Translation expert
88ac61fe0b Translated using Weblate (Arabic)
Currently translated at 100.0% (590 of 590 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ar/
2025-12-28 23:05:54 +00:00
無情天
b0cd5db981 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (590 of 590 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/zh_Hans/
2025-12-28 23:05:54 +00:00
Yofi-FR
d481842b13 Translated using Weblate (French)
Currently translated at 99.8% (589 of 590 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fr/
2025-12-28 23:05:53 +00:00
Spillutvikler
d0678c3982 Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (590 of 590 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nb_NO/
2025-12-28 15:05:53 +00:00
Niels van Velzen
81d84e47aa Run build workflow on release branches 2025-12-28 15:30:27 +01:00
Niels van Velzen
df94aadb19 Remove premieresEnabled and mediaManagementEnabled preferences 2025-12-28 15:16:21 +01:00
Niels van Velzen
d05836f755 Migrate screensaver customization settings to compose 2025-12-28 12:14:40 +01:00
Niels van Velzen
f0d4a97e12 Remove shortcut preferences 2025-12-28 12:13:11 +01:00
Kityn
45d0ee8b7d Translated using Weblate (Polish)
Currently translated at 100.0% (590 of 590 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pl/
2025-12-28 09:05:52 +00:00
rimasx
ae22ecc1fd Translated using Weblate (Estonian)
Currently translated at 99.4% (587 of 590 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/et/
2025-12-28 06:05:52 +00:00
Niels van Velzen
7bf042f389 Update README build instructions 2025-12-27 20:19:35 +01:00
Bas
a91ae41bb6 Translated using Weblate (Dutch)
Currently translated at 100.0% (590 of 590 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nl/
2025-12-27 19:05:52 +00:00
Niels van Velzen
64763edf4d Allow selecting external video player app 2025-12-27 16:20:35 +01:00
Fjuro
eeb3e95283 Translated using Weblate (Czech)
Currently translated at 100.0% (586 of 586 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/cs/
2025-12-27 13:05:53 +00:00
Translation expert
f012168d66 Translated using Weblate (Arabic)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/ar/
2025-12-27 00:05:52 +00:00
Translation expert
a29926b0c4 Translated using Weblate (Arabic)
Currently translated at 100.0% (586 of 586 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ar/
2025-12-27 00:05:52 +00:00
無情天
cae30bdacc Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (586 of 586 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/zh_Hans/
2025-12-26 18:05:52 +00:00
rimasx
3768ac9728 Translated using Weblate (Estonian)
Currently translated at 99.1% (581 of 586 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/et/
2025-12-26 14:05:53 +00:00
koffevar
f2ec78235d Translated using Weblate (Russian)
Currently translated at 99.4% (583 of 586 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ru/
2025-12-26 11:05:52 +00:00
User X
fe04c050f1 Translated using Weblate (German)
Currently translated at 100.0% (586 of 586 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/de/
2025-12-25 17:05:52 +00:00
Kityn
3a8ca61cdc Translated using Weblate (Polish)
Currently translated at 100.0% (586 of 586 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pl/
2025-12-25 09:05:52 +00:00
Bas
30e43e12e7 Translated using Weblate (Dutch)
Currently translated at 100.0% (586 of 586 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nl/
2025-12-24 18:30:27 +00:00
DeDuplicate
b46dba52f8 Translated using Weblate (Hebrew)
Currently translated at 100.0% (572 of 572 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/he/
2025-12-24 17:58:43 +00:00
Niels van Velzen
3fbc3a35ca Migrate subtitle customization settings to compose 2025-12-24 18:58:39 +01:00
Niels van Velzen
1c30542802 Add FMP4 support for transcodes 2025-12-24 15:18:47 +01:00
Niels van Velzen
9f328d0281 Fix AVC high 10 reporting as main 10 in device profile 2025-12-24 15:18:40 +01:00
Translation expert
c5c98b4513 Translated using Weblate (Arabic)
Currently translated at 99.4% (569 of 572 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ar/
2025-12-23 23:19:12 +00:00
Fjuro
0e0f6c601c Translated using Weblate (Czech)
Currently translated at 100.0% (572 of 572 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/cs/
2025-12-23 15:05:52 +00:00
takyaO
4bf92183d2 Translated using Weblate (Japanese)
Currently translated at 98.6% (564 of 572 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ja/
2025-12-23 08:05:51 +00:00
Niels van Velzen
15bd5a247c Remove value override from RangeControl 2025-12-23 07:27:29 +01:00
Gallyam Biktashev
29dacd490a Translated using Weblate (Russian)
Currently translated at 100.0% (572 of 572 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ru/
2025-12-22 19:47:08 +00:00
Niels van Velzen
4158b701c6 Fix range control calculation when minimum is not 0 2025-12-22 15:50:55 +01:00
Gargotaire
4fc21f94bf Translated using Weblate (Catalan)
Currently translated at 100.0% (572 of 572 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ca/
2025-12-22 13:05:52 +00:00
Weblate
8dd9545b47 Update translation files
Updated by "Remove blank strings" hook in Weblate.

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/
2025-12-22 10:05:55 +00:00
nenadsuperzmaj
3eea008374 Translated using Weblate (Swahili)
Currently translated at 0.3% (2 of 572 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sw/
2025-12-22 10:05:54 +00:00
nenadsuperzmaj
d600fcac38 Translated using Weblate (Serbian)
Currently translated at 100.0% (572 of 572 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sr/
2025-12-22 10:05:53 +00:00
Maltavius
16f394afa6 Translated using Weblate (Swedish)
Currently translated at 98.9% (566 of 572 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sv/
2025-12-22 10:05:53 +00:00
Thunderstrike116
e6d8d8671c Translated using Weblate (Greek)
Currently translated at 92.6% (530 of 572 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/el/
2025-12-22 10:05:52 +00:00
alxhu
2d5f5966e6 Translated using Weblate (German)
Currently translated at 100.0% (572 of 572 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/de/
2025-12-22 10:05:51 +00:00
Andi Chandler
69209bb842 Translated using Weblate (English (United Kingdom))
Currently translated at 100.0% (572 of 572 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/en_GB/
2025-12-21 21:05:52 +00:00
Niels van Velzen
af62319d11 Use dedicated screen for about section in settings 2025-12-21 15:31:32 +01:00
Bas
beb08e071b Translated using Weblate (Dutch)
Currently translated at 100.0% (572 of 572 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nl/
2025-12-20 16:55:09 +00:00
renovate[bot]
629719d75a Update aboutlibraries to v13.2.1 2025-12-20 15:15:26 +01:00
Modac
a32f58d4e0 Translated using Weblate (German)
Currently translated at 99.3% (568 of 572 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/de/
2025-12-19 12:55:09 +00:00
jomi
096516b819 Translated using Weblate (Spanish)
Currently translated at 99.6% (570 of 572 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es/
2025-12-19 06:55:09 +00:00
Gabriel S
8a20f864de Translated using Weblate (Romanian)
Currently translated at 100.0% (572 of 572 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ro/
2025-12-18 14:55:09 +00:00
Kityn
d9fd231034 Translated using Weblate (Polish)
Currently translated at 100.0% (572 of 572 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pl/
2025-12-18 08:55:08 +00:00
無情天
022cc909f9 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (572 of 572 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/zh_Hans/
2025-12-18 01:55:08 +00:00
無情天
fa97921c31 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (572 of 572 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/zh_Hans/
2025-12-17 23:22:26 +00:00
renovate[bot]
133f189d5c Update Kotlin to v2.3.0 2025-12-17 22:18:53 +01:00
Niels van Velzen
ca57f2e103 Migrate playback settings to compose 2025-12-17 22:17:52 +01:00
renovate[bot]
036ca2bafa Update androidx.media3 to v1.9.0 2025-12-17 22:17:40 +01:00
renovate[bot]
7e0a1529f7 Update androidx.activity to v1.12.2 2025-12-17 22:16:48 +01:00
Niels van Velzen
d38d742cf5 Remove brief descriptions from settings screens 2025-12-17 13:10:47 +01:00
Niels van Velzen
ae52b479e0 Add RangeControl composable and use color tokens for Seekbar 2025-12-17 13:10:34 +01:00
Niels van Velzen
43b41ad4d5 Add footer to ListItemContent 2025-12-17 13:10:20 +01:00
Niels van Velzen
eee0942272 Add ListControl as base for ListButton 2025-12-17 13:10:20 +01:00
DeDuplicate
8bf581dae3 Translated using Weblate (Hebrew (Israel))
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/he_IL/
2025-12-17 09:55:08 +00:00
DeDuplicate
f7698e205c Translated using Weblate (Hebrew)
Currently translated at 100.0% (563 of 563 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/he/
2025-12-17 09:55:08 +00:00
renovate[bot]
964e8eb065 Update github/codeql-action action to v4.31.9 2025-12-16 21:34:42 +01:00
Chris
700220bc07 Translated using Weblate (Swedish)
Currently translated at 100.0% (563 of 563 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sv/
2025-12-16 10:55:08 +00:00
renovate[bot]
888bfaa05b Update dependency org.jellyfin.sdk:jellyfin-core to v1.8.5 2025-12-16 11:21:27 +01:00
rimasx
46dcc32a38 Translated using Weblate (Estonian)
Currently translated at 100.0% (563 of 563 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/et/
2025-12-15 10:10:59 +00:00
alxhu
701d4b2826 Translated using Weblate (German)
Currently translated at 100.0% (563 of 563 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/de/
2025-12-15 10:10:59 +00:00
Translation expert
9c64544a0e Translated using Weblate (Arabic)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/ar/
2025-12-14 23:55:09 +00:00
Translation expert
1247475cbf Translated using Weblate (Arabic)
Currently translated at 100.0% (563 of 563 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ar/
2025-12-14 23:55:08 +00:00
Merlin Anne Garcia
cb8b690a69 Translated using Weblate (French)
Currently translated at 100.0% (563 of 563 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fr/
2025-12-14 23:55:08 +00:00
Jesus Oziel Duran Gonzalez
1a69f77a14 Translated using Weblate (Spanish (Mexico))
Currently translated at 95.0% (535 of 563 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es_MX/
2025-12-14 23:55:08 +00:00
tobster093
ac89159455 Fix Live TV direct play stability (#5229) 2025-12-14 22:27:33 +01:00
Niels van Velzen
24218f9717 Add ProfilePicture composable 2025-12-14 13:30:44 +01:00
Niels van Velzen
d714d58fef Add SettingsColumn composable and clean up formatting 2025-12-14 13:30:44 +01:00
Niels van Velzen
c6e0badbae Add and use checkbox 2025-12-14 13:30:44 +01:00
renovate[bot]
507127c842 Update actions/upload-artifact action to v6 2025-12-13 16:51:37 +01:00
renovate[bot]
72d5b209f3 Update github/codeql-action action to v4.31.8 2025-12-13 16:51:18 +01:00
queeup
dc781ea86f Translated using Weblate (Turkish)
Currently translated at 100.0% (563 of 563 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/tr/
2025-12-13 00:55:07 +00:00
Niels van Velzen
66cafdd3c8 Disallow seeking when duration is unknown 2025-12-12 09:21:44 +01:00
Niels van Velzen
25161f11db Use AAC over HLS for music transcoding 2025-12-12 09:21:36 +01:00
rimasx
3c97433a34 Translated using Weblate (Estonian)
Currently translated at 100.0% (563 of 563 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/et/
2025-12-11 14:55:07 +00:00
renovate[bot]
d5783740f7 Update dependency com.android.tools.build:gradle to v8.13.2 2025-12-11 09:23:22 +01:00
Niels van Velzen
a145a437a8 Remove account manager migration 2025-12-11 08:30:28 +01:00
Niels van Velzen
385c6483f3 Use new settings from login screen 2025-12-11 08:30:06 +01:00
Andi Chandler
e339290b53 Translated using Weblate (English (United Kingdom))
Currently translated at 100.0% (563 of 563 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/en_GB/
2025-12-09 13:55:07 +00:00
Gargotaire
4dbad2ddc3 Translated using Weblate (Catalan)
Currently translated at 100.0% (563 of 563 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ca/
2025-12-09 07:49:19 +00:00
Niels van Velzen
1b4d09a37d Migrate server/user settings to compose 2025-12-09 07:46:12 +01:00
takyaO
73a8945830 Translated using Weblate (Japanese)
Currently translated at 100.0% (563 of 563 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ja/
2025-12-09 03:50:16 +00:00
無情天
58714986ae Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (563 of 563 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/zh_Hans/
2025-12-08 23:55:07 +00:00
Gianluigi
e4a9b0dc78 Translated using Weblate (Italian)
Currently translated at 99.6% (561 of 563 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/it/
2025-12-08 16:55:07 +00:00
Resistive
7584e54ed6 Translated using Weblate (Russian)
Currently translated at 100.0% (563 of 563 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ru/
2025-12-08 12:20:43 +00:00
Fabrizio Mansilla
b44ac842c9 Translated using Weblate (Spanish (Latin America))
Currently translated at 97.5% (549 of 563 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es_419/
2025-12-08 09:55:11 +00:00
Fabrizio Mansilla
b96f934b49 Translated using Weblate (Spanish (Argentina))
Currently translated at 99.6% (561 of 563 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es_AR/
2025-12-08 09:55:11 +00:00
kscop-n1
49f386f59d Translated using Weblate (Ukrainian)
Currently translated at 100.0% (563 of 563 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/uk/
2025-12-08 09:55:08 +00:00
Fabrizio Mansilla
74fde37643 Translated using Weblate (Spanish)
Currently translated at 100.0% (563 of 563 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es/
2025-12-08 09:55:07 +00:00
Thunderstrike116
dcc28101e1 Translated using Weblate (Greek)
Currently translated at 92.7% (522 of 563 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/el/
2025-12-08 09:55:07 +00:00
Kityn
b22b611c22 Translated using Weblate (Polish)
Currently translated at 100.0% (563 of 563 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pl/
2025-12-08 06:32:08 +00:00
Bas
2b41879dfa Translated using Weblate (Dutch)
Currently translated at 100.0% (563 of 563 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nl/
2025-12-07 23:55:08 +00:00
Fjuro
54ea9bf805 Translated using Weblate (Czech)
Currently translated at 100.0% (563 of 563 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/cs/
2025-12-07 23:55:07 +00:00
Niels van Velzen
1868d8eb53 Migrate authentication settings to compose 2025-12-07 22:37:00 +01:00
renovate[bot]
759cc88e61 Update dependency io.mockk:mockk to v1.14.7 2025-12-07 22:16:15 +01:00
Niels van Velzen
a6811b462e Migrate licenses to compose 2025-12-07 16:50:21 +01:00
Niels van Velzen
a2fc550adc Add initial parameter support to router 2025-12-07 16:50:21 +01:00
Niels van Velzen
4461ff1776 Use mutableLongState in SettingsDeveloperScreen 2025-12-07 16:50:21 +01:00
Niels van Velzen
c3a2bb5120 Migrate developer settings to compose 2025-12-07 11:02:20 +01:00
renovate[bot]
5cac1a155e Update github/codeql-action action to v4.31.7 2025-12-06 17:48:56 +01:00
rimasx
ffcfacd893 Translated using Weblate (Estonian)
Currently translated at 100.0% (562 of 562 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/et/
2025-12-06 14:55:08 +00:00
Lionel Morin
98489f603a Translated using Weblate (French)
Currently translated at 100.0% (562 of 562 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fr/
2025-12-04 19:56:13 +00:00
Gargotaire
72d67b5e03 Translated using Weblate (Catalan)
Currently translated at 100.0% (562 of 562 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ca/
2025-12-04 16:01:16 +00:00
Niels van Velzen
d69d6a29bb Migrate telemetry settings to compose 2025-12-04 09:58:10 +01:00
renovate[bot]
e240769daf Update actions/setup-java action to v5.1.0 2025-12-04 07:34:32 +01:00
renovate[bot]
20ccff5514 Update androidx.compose to v1.10.0 2025-12-03 22:17:29 +01:00
Weblate
ff22b8d666 Update translation files
Updated by "Remove blank strings" hook in Weblate.

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/
2025-12-03 20:55:11 +00:00
Fabrizio Mansilla
08930ce9a9 Translated using Weblate (Spanish (Argentina))
Currently translated at 96.0% (540 of 562 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es_AR/
2025-12-03 20:55:09 +00:00
Fabrizio Mansilla
740de57703 Translated using Weblate (Spanish)
Currently translated at 100.0% (562 of 562 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es/
2025-12-03 20:55:07 +00:00
renovate[bot]
805bf966e2 Update androidx.activity to v1.12.1 2025-12-03 21:43:57 +01:00
renovate[bot]
fea336522d Update actions/stale action to v10.1.1 2025-12-03 09:13:25 +01:00
Damontecres
6674239bae Add VC-1 to device direct play profile
Adds direct play support for VC-1 video codec on devices with a builtin decoder
2025-12-02 22:48:49 +01:00
renovate[bot]
a0957534a9 Update actions/checkout action to v6.0.1 2025-12-02 21:00:14 +01:00
Niels van Velzen
1c75688935 Use android plugin for AboutLibraries generation 2025-12-02 16:33:17 +01:00
Niels van Velzen
1b0c5bf47b Use compose dialog for DialogBase 2025-12-02 16:26:04 +01:00
Niels van Velzen
ffb74649e6 Add navigation support to settings 2025-12-02 16:25:56 +01:00
Prasanth Baskar
357374d698 Translated using Weblate (Tamil)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/ta/
2025-12-02 02:07:07 +00:00
Prasanth Baskar
d6a70bab64 Translated using Weblate (Tamil)
Currently translated at 100.0% (562 of 562 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ta/
2025-12-02 02:07:06 +00:00
rimasx
0fbe21882f Translated using Weblate (Estonian)
Currently translated at 99.6% (560 of 562 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/et/
2025-12-01 22:08:57 +00:00
kscop-n1
3f4366c876 Translated using Weblate (Ukrainian)
Currently translated at 99.8% (561 of 562 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/uk/
2025-12-01 19:46:37 +00:00
刘汉源
d35a1d328d Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (562 of 562 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/zh_Hans/
2025-12-01 19:46:37 +00:00
AfmanS
f3597cd8ce Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (562 of 562 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pt_PT/
2025-12-01 19:46:36 +00:00
rimasx
f41f61ebb6 Translated using Weblate (Estonian)
Currently translated at 99.6% (560 of 562 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/et/
2025-12-01 15:55:07 +00:00
rimasx
dd3378b66e Translated using Weblate (Estonian)
Currently translated at 99.6% (560 of 562 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/et/
2025-12-01 12:46:22 +00:00
renovate[bot]
98838ed123 Update dependency org.jellyfin.sdk:jellyfin-core to v1.8.4 2025-12-01 12:36:44 +01:00
renovate[bot]
59047e11f8 Update github/codeql-action action to v4.31.6 2025-12-01 12:36:37 +01:00
renovate[bot]
c851c0bb71 Update kotest to v6.0.7 2025-12-01 12:36:27 +01:00
Gallyam Biktashev
47d45b4dc9 Translated using Weblate (Russian)
Currently translated at 100.0% (562 of 562 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ru/
2025-12-01 10:55:08 +00:00
Thunderstrike116
d62035bb58 Translated using Weblate (Greek)
Currently translated at 92.7% (521 of 562 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/el/
2025-12-01 10:55:08 +00:00
lasse_g
a8cf6310b4 Translated using Weblate (German)
Currently translated at 100.0% (562 of 562 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/de/
2025-12-01 10:55:07 +00:00
nenadsuperzmaj
5272d851c1 Translated using Weblate (Serbian)
Currently translated at 100.0% (562 of 562 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sr/
2025-12-01 07:54:58 +00:00
nextlooper42
b8a5525f14 Translated using Weblate (Slovak)
Currently translated at 100.0% (562 of 562 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sk/
2025-12-01 07:54:57 +00:00
Gargotaire
de961044ff Translated using Weblate (Catalan)
Currently translated at 100.0% (562 of 562 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ca/
2025-12-01 07:21:12 +00:00
takyaO
bd95c13f50 Translated using Weblate (Japanese)
Currently translated at 100.0% (562 of 562 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ja/
2025-12-01 07:21:12 +00:00
Fabien
f4ed78a611 Translated using Weblate (French)
Currently translated at 99.8% (561 of 562 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fr/
2025-12-01 07:21:12 +00:00
Fjuro
04abc96882 Translated using Weblate (Czech)
Currently translated at 100.0% (562 of 562 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/cs/
2025-11-30 23:55:07 +00:00
Kityn
3bfff95465 Translated using Weblate (Polish)
Currently translated at 100.0% (562 of 562 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pl/
2025-11-30 14:46:51 +00:00
Kityn
d98b8acf22 Translated using Weblate (Polish)
Currently translated at 99.8% (561 of 562 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pl/
2025-11-30 14:41:18 +00:00
Bas
81cb9f04ad Translated using Weblate (Dutch)
Currently translated at 100.0% (562 of 562 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nl/
2025-11-30 14:41:17 +00:00
Niels van Velzen
f8ee6de28f Add new settings UI 2025-11-30 15:32:24 +01:00
rimasx
d80032fb7f Translated using Weblate (Estonian)
Currently translated at 100.0% (560 of 560 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/et/
2025-11-30 14:15:35 +00:00
rimasx
f490064bec Translated using Weblate (Estonian)
Currently translated at 100.0% (560 of 560 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/et/
2025-11-30 06:19:51 +00:00
rimasx
4b3fe53bda Translated using Weblate (Estonian)
Currently translated at 100.0% (560 of 560 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/et/
2025-11-30 06:07:52 +00:00
rimasx
98128190d6 Translated using Weblate (Estonian)
Currently translated at 100.0% (560 of 560 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/et/
2025-11-29 21:46:45 +00:00
rimasx
248fe58381 Translated using Weblate (Estonian)
Currently translated at 100.0% (560 of 560 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/et/
2025-11-29 16:05:44 +00:00
Jens van Almsick
66573c399f utilize group id for track selection
group ids always start at 0 so we don't need the ```indexStartsAtOne```
parameter anymore
2025-11-29 15:48:28 +01:00
Jens van Almsick
a1e6b17faf clear audio stream index on item start 2025-11-29 15:48:28 +01:00
Niels van Velzen
07e3809227 Fix tinting in account switcher button fallback icon 2025-11-29 15:15:04 +01:00
renovate[bot]
f9e7e735e8 Update appleboy/ssh-action action to v1.2.4 2025-11-29 14:39:54 +01:00
renovate[bot]
f394d17f37 Update github/codeql-action action to v4.31.5 2025-11-27 21:59:13 +01:00
renovate[bot]
72d98710a9 Update kotest to v6.0.5 2025-11-27 21:58:32 +01:00
renovate[bot]
bb0096905f Update actions/checkout action to v6 2025-11-27 21:58:15 +01:00
clams4shoes
da71c6f6a0 Add AV1 detection support for older Android versions (#5186)
* Fix AV1 support on Fire OS

* Use API checks instead of reflection
2025-11-27 21:57:43 +01:00
Douglas Newman
7e95582f89 Fix Vimu Player Integration (#5187)
* fix activity result status code handling for vimu

* Fixup

---------

Co-authored-by: Niels van Velzen <git@ndat.nl>
2025-11-26 22:08:44 +01:00
Niels van Velzen
50e21994da Update issue templates 2025-11-23 11:08:32 +01:00
José Benigno
009fe70ed3 Translated using Weblate (Galician)
Currently translated at 13.3% (75 of 560 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/gl/
2025-11-23 00:55:07 +00:00
José Benigno
6c3d289169 Translated using Weblate (Galician)
Currently translated at 11.0% (62 of 560 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/gl/
2025-11-22 16:55:09 +00:00
Oatavandi
a5328eecb0 Translated using Weblate (Tamil)
Currently translated at 100.0% (560 of 560 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ta/
2025-11-21 18:55:06 +00:00
Gabriel S
cd1e323616 Translated using Weblate (Romanian)
Currently translated at 100.0% (560 of 560 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ro/
2025-11-21 13:55:11 +00:00
Gabriel S
3929512331 Translated using Weblate (Romanian)
Currently translated at 100.0% (560 of 560 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ro/
2025-11-21 10:55:07 +00:00
Gabriel S
73cdfda7af Translated using Weblate (Romanian)
Currently translated at 100.0% (560 of 560 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ro/
2025-11-21 07:58:57 +00:00
Gabriel S
0337f27942 Translated using Weblate (Romanian)
Currently translated at 100.0% (560 of 560 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ro/
2025-11-21 00:55:08 +00:00
renovate[bot]
44ff6ebbbf Update androidx.activity to v1.12.0 2025-11-20 09:10:23 +01:00
renovate[bot]
35df230463 Update androidx.lifecycle to v2.10.0 2025-11-20 09:10:10 +01:00
renovate[bot]
d706f937c1 Update dependency androidx.window:window to v1.5.1 2025-11-19 19:49:45 +01:00
renovate[bot]
da950a1e07 Update androidx.compose to v1.9.5 2025-11-19 19:49:30 +01:00
renovate[bot]
07fc2d614a Update Gradle to v9.2.1 2025-11-17 19:11:35 +01:00
renovate[bot]
48357a6f81 Update actions/checkout action to v5.0.1 2025-11-17 19:01:33 +01:00
renovate[bot]
c663982ba0 Update dependency org.jellyfin.sdk:jellyfin-core to v1.8.3 2025-11-17 19:01:26 +01:00
Niels van Velzen
9d9adab416 Fix search input not set to single line 2025-11-17 18:03:41 +01:00
Niels van Velzen
04da7eb69e Do not clear audio stream index when starting item 2025-11-16 21:36:20 +01:00
Niels van Velzen
fd5ff1cdd9 Increase log level for useful debug log messages 2025-11-16 19:51:37 +01:00
Niels van Velzen
7bc34dce91 Use media source instead of item in switchAudioStream 2025-11-16 14:46:41 +01:00
Niels van Velzen
ceaaa51812 Use MediaSource runtime when available 2025-11-16 14:22:46 +01:00
Ivan Noleto
2e2d9ec9b4 Fix play all and shuffle album/artist playback (#5135) 2025-11-16 12:57:59 +01:00
renovate[bot]
9471d4adf4 Update github/codeql-action action to v4.31.3 2025-11-14 20:47:24 +01:00
Ivan Noleto
d3c84df367 Fix music playback sort order to match web client 2025-11-14 20:40:48 +01:00
Niels van Velzen
936e33903c Add badge composable 2025-11-13 20:47:45 +01:00
Niels van Velzen
a377834e35 Remove redundant TargetApi annotations 2025-11-13 19:41:12 +01:00
Niels van Velzen
eb362165b1 Fix getting supportedSampleRates on Fire OS throwing NullPointerException 2025-11-13 19:40:58 +01:00
renovate[bot]
93287746a8 Update dependency com.android.tools.build:gradle to v8.13.1 2025-11-11 17:06:24 +01:00
Niels van Velzen
4d8e432c67 Apply API model changes 2025-11-09 19:21:10 +01:00
Niels van Velzen
5c9b6c625c Update SDK to 1.8.2 2025-11-09 19:21:10 +01:00
Niels van Velzen
0e7f52fd42 Bump upcomingMinimumServerVersion to 10.11 2025-11-09 19:21:10 +01:00
Niels van Velzen
0d9abb9f17 Fix crash in FullDetailsFragmentHelper.resumePlayback 2025-11-09 16:58:41 +01:00
Niels van Velzen
36da60a1e2 Update pull request template 2025-11-08 22:54:09 +01:00
Niels van Velzen
a330cdcc26 Remove display Dolby Vision checks 2025-11-08 22:53:58 +01:00
Niels van Velzen
56ac9ca8ff Disable visibilityThreshold in rememberPlayerProgress 2025-11-08 22:53:49 +01:00
Niels van Velzen
1dba22557d Get audio duration from player instead of item metadata in AudioNowPlayingFragment 2025-11-08 22:53:49 +01:00
Frederik Boster
f748a566dd Fix low quality card images
To avoid low quality card images the scaling is moved to the server-side by requesting images with appropriate dimensions in all cases.

Fixes #4955
2025-11-08 11:44:42 +01:00
renovate[bot]
f5dfa010f8 Update appleboy/ssh-action action to v1.2.3 2025-11-08 11:03:40 +01:00
Niels van Velzen
55f3fd7b05 Infer subtitle format from media stream path for external players 2025-11-07 18:16:54 +01:00
Niels van Velzen
ffc6765cfe Avoid divide by zero in Seekbar 2025-11-06 20:31:01 +01:00
Translation expert
3be558ce91 Translated using Weblate (Arabic)
Currently translated at 99.8% (559 of 560 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ar/
2025-11-06 13:45:30 +00:00
Translation expert
d3130e38d1 Translated using Weblate (Arabic)
Currently translated at 99.6% (558 of 560 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ar/
2025-11-05 00:01:49 +00:00
Fjuro
25ba439e9c Translated using Weblate (Czech)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/cs/
2025-11-04 19:06:49 +00:00
Fjuro
76d92c3361 Translated using Weblate (Czech)
Currently translated at 100.0% (560 of 560 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/cs/
2025-11-04 19:06:49 +00:00
renovate[bot]
b07bc3062c Update dependency androidx.window:window to v1.5.0 2025-11-04 15:52:20 +01:00
renovate[bot]
f43dca4b76 Update dependency androidx.work:work-runtime to v2.11.0 2025-11-04 15:46:36 +01:00
Niels van Velzen
278cdb8e0f Require Android 6 at minimum (API 23) 2025-11-04 15:42:07 +01:00
Niels van Velzen
05180de3b4 Enable Proguard 2025-11-04 15:35:09 +01:00
renovate[bot]
d9c27d3849 Update aboutlibraries to v13 2025-11-04 15:34:26 +01:00
renovate[bot]
d5167884f0 Update Gradle to v9.2.0 2025-11-04 15:34:19 +01:00
renovate[bot]
fe8f180354 Update github/codeql-action action to v4.31.2 2025-11-04 15:34:11 +01:00
Jens van Almsick
a1dd6fcfd9 fix: clear only audio stream index on media item start
Before clearPlaybackSessionOptions() was called which also cleared the
subtitle index, but because baking in subs will restart the playback
this lead to an infinite loop.
2025-11-04 15:31:37 +01:00
Thadah D. Denyse
395db1ccf2 Translated using Weblate (Basque)
Currently translated at 50.0% (2 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/eu/
2025-11-03 14:51:53 +00:00
Translation expert
2d89bd4670 Translated using Weblate (Arabic)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/ar/
2025-11-02 20:32:12 +00:00
Translation expert
b3711228ab Translated using Weblate (Arabic)
Currently translated at 99.2% (556 of 560 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ar/
2025-11-02 20:32:10 +00:00
Niels van Velzen
3fe6ed6f7b Revert "fix: audio track selection on subsequent video media items"
This reverts commit 5c4ebcf7da.
2025-11-01 15:08:02 +01:00
Niels van Velzen
d105175395 Fix speechRecognizer not using BCP47 tag for language extra 2025-10-31 22:13:10 +01:00
Niels van Velzen
30f781741c Fix lyrics not synced on screensaver 2025-10-31 22:12:58 +01:00
Jens van Almsick
5c4ebcf7da fix: audio track selection on subsequent video media items 2025-10-31 19:05:31 +01:00
Themsamsam
b169bbc788 Translated using Weblate (Sinhala)
Currently translated at 50.0% (2 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/si/
2025-10-31 10:51:53 +00:00
Themsamsam
3f7f2292ae Translated using Weblate (Sinhala)
Currently translated at 0.5% (3 of 560 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/si/
2025-10-31 10:51:53 +00:00
Themsamsam
14c8cefa09 Added translation using Weblate (Sinhala) 2025-10-31 07:49:40 +00:00
Battseren Badral
411d3cc7af Translated using Weblate (Mongolian)
Currently translated at 31.7% (178 of 560 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/mn/
2025-10-29 22:51:54 +00:00
Klara T.
14abfaf6ec Translated using Weblate (Czech)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/cs/
2025-10-29 11:51:53 +00:00
Klara T.
e733fa8d41 Translated using Weblate (Czech)
Currently translated at 100.0% (560 of 560 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/cs/
2025-10-29 11:51:53 +00:00
Battseren Badral
681deaef99 Translated using Weblate (Mongolian)
Currently translated at 30.8% (173 of 560 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/mn/
2025-10-28 21:51:54 +00:00
Battseren Badral
e0dd8882ac Translated using Weblate (Mongolian)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/mn/
2025-10-28 18:53:57 +00:00
Battseren Badral
0cb1ea48c6 Translated using Weblate (Mongolian)
Currently translated at 27.6% (155 of 560 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/mn/
2025-10-28 18:53:56 +00:00
Gasper Mlinar
ddd5b2cff5 Translated using Weblate (Slovenian)
Currently translated at 100.0% (560 of 560 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sl/
2025-10-28 15:51:53 +00:00
HanaO00
3cc3cd6ac5 Translated using Weblate (French)
Currently translated at 100.0% (560 of 560 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fr/
2025-10-28 15:51:53 +00:00
Niels van Velzen
1e48a53a31 Refactor still watching behavior 2025-10-27 19:46:06 +01:00
kreaxv
2012867344 Translated using Weblate (Mongolian)
Currently translated at 15.3% (86 of 560 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/mn/
2025-10-27 11:51:52 +00:00
Niels van Velzen
b5f674530d Reset still watching state on confirmation 2025-10-26 14:13:06 +01:00
renovate[bot]
5ca541e2b0 Update actions/upload-artifact action to v5 2025-10-26 12:53:32 +01:00
renovate[bot]
36afe5a52f Update github/codeql-action action to v4.31.0 2025-10-26 12:53:19 +01:00
renovate[bot]
c698c737c6 Update Kotlin to v2.2.21 2025-10-26 12:53:08 +01:00
renovate[bot]
90e6d00fda Update androidx.compose to v1.9.4 2025-10-22 21:50:27 +02:00
Niels van Velzen
ef53924ccd Remove libass library 2025-10-19 20:42:40 +02:00
Niels van Velzen
3902d6ac93 Fix Live TV timers loaded on main thread 2025-10-19 20:40:50 +02:00
Niels van Velzen
2636e86afb Refactor audio night mode implementation 2025-10-19 20:40:43 +02:00
renovate[bot]
99b27aaac2 Update github/codeql-action action to v4.30.8 2025-10-17 18:44:01 +02:00
zhao-hw
adea5b2163 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (560 of 560 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/zh_Hans/
2025-10-17 14:51:26 +00:00
Bas
c87bf43dfc Translated using Weblate (Dutch)
Currently translated at 100.0% (560 of 560 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nl/
2025-10-17 14:51:26 +00:00
rimasx
c4f14e8afe Translated using Weblate (Estonian)
Currently translated at 100.0% (560 of 560 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/et/
2025-10-17 07:51:26 +00:00
Niels van Velzen
f9d5cb546d Add back lifecycle check in response callbacks 2025-10-16 22:12:25 +02:00
renovate[bot]
1708cfe69f Update kotest to v6.0.4 2025-10-16 21:58:48 +02:00
Niels van Velzen
2690754527 Flatten HDR codec profile conditions (#5021)
* Flatten HDR codec profile conditions

* Skip AV1/HEVC specific profile range condition codec profiles when same as display profile

* Address review feedback

* Use applyConditions to work around server behavior
2025-10-16 20:03:59 +02:00
linger
77500f9e0d Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 100.0% (560 of 560 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/zh_Hant/
2025-10-15 06:51:25 +00:00
Niels van Velzen
81d09a7036 Fix "shuffle all" not working for music album/artist 2025-10-14 14:05:16 +02:00
Niels van Velzen
3578b53676 Don't show exception message as toast 2025-10-14 14:05:01 +02:00
rimasx
eb17b5f057 Translated using Weblate (Estonian)
Currently translated at 100.0% (560 of 560 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/et/
2025-10-12 13:51:25 +00:00
Bas
feb32201fa Translated using Weblate (Dutch)
Currently translated at 100.0% (560 of 560 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nl/
2025-10-09 19:52:27 +00:00
renovate[bot]
67bbae0c60 Update androidx.compose to v1.9.3 2025-10-08 21:35:20 +02:00
Niels van Velzen
ab473d127d Revert "Add Google TV Streamer to modelsWithDoViHdr10PlusBug"
This reverts commit e340b7267a.
2025-10-08 15:29:45 +02:00
renovate[bot]
27fc47ca52 Update github/codeql-action action to v4 2025-10-07 17:53:12 +02:00
Niels van Velzen
9fb0cc5fa7 Fix direct play of external video sources like Live TV 2025-10-07 17:52:22 +02:00
Niels van Velzen
f61c8a533f Fix direct play and direct stream swapped in PlaybackController retry mechanic 2025-10-07 17:52:15 +02:00
renovate[bot]
7d9b6ebf78 Update actions/stale action to v10.1.0 2025-10-07 17:48:52 +02:00
Niels van Velzen
e340b7267a Add Google TV Streamer to modelsWithDoViHdr10PlusBug 2025-10-07 17:48:29 +02:00
Niels van Velzen
e5f502900a Add KnownDefects as registry for known device bugs 2025-10-07 17:48:29 +02:00
Andrew
4e6bb55ed9 Fix DoVi/HDR10+ playback on Fire TV devices
Adds more device identifiers to the profile report to help find
hardware commonalities behind cross-device issues.
2025-10-07 17:48:29 +02:00
rimasx
2a5af08fc8 Translated using Weblate (Estonian)
Currently translated at 99.4% (557 of 560 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/et/
2025-10-07 13:51:25 +00:00
rimasx
ca56a88435 Translated using Weblate (Estonian)
Currently translated at 99.1% (555 of 560 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/et/
2025-10-05 11:23:05 +00:00
rimasx
be8cae9acd Translated using Weblate (Estonian)
Currently translated at 94.2% (528 of 560 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/et/
2025-10-05 07:51:25 +00:00
Bas
a099462368 Translated using Weblate (Dutch)
Currently translated at 100.0% (560 of 560 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nl/
2025-10-04 21:51:25 +00:00
hoanghuy309
e6a5a79c99 Translated using Weblate (Vietnamese)
Currently translated at 100.0% (560 of 560 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/vi/
2025-10-04 09:06:00 +00:00
renovate[bot]
b0403351a1 Update dependency org.jellyfin.sdk:jellyfin-core to v1.7.1 2025-10-03 21:50:49 +02:00
Niels van Velzen
163d7b164c Paying the Bill 2025-10-03 21:46:32 +02:00
Niels van Velzen
8dc4e2c359 Only use 10.11 video range types on 10.11 servers 2025-10-03 21:46:32 +02:00
Niels van Velzen
8418be01a0 Keep track of current server in server repository 2025-10-03 21:46:32 +02:00
renovate[bot]
4ad6daeec0 Update github/codeql-action action to v3.30.6 2025-10-03 21:24:35 +02:00
Niels van Velzen
ac9ade8041 Remove disableDirectPlay option from device profile 2025-10-01 18:07:30 +02:00
Niels van Velzen
4d532f8060 Fix logo constraints in DreamContentLibraryShowcase 2025-10-01 16:11:32 +02:00
renovate[bot]
233ae5df64 Update dependency io.mockk:mockk to v1.14.6 2025-10-01 15:24:30 +02:00
renovate[bot]
910cf301c3 Update gradle/actions action to v5 2025-10-01 15:24:17 +02:00
renovate[bot]
75e269526d Update acra to v5.13.1 2025-10-01 15:12:33 +02:00
Bas
9a0402bb69 Translated using Weblate (Dutch)
Currently translated at 100.0% (560 of 560 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nl/
2025-09-30 19:51:24 +00:00
Hallvard Høyland Lavik
97ed08044b Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (560 of 560 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nb_NO/
2025-09-30 11:51:24 +00:00
renovate[bot]
dac1d35250 Update dependency org.jellyfin.sdk:jellyfin-core to v1.7.0 2025-09-27 11:49:20 +02:00
renovate[bot]
04794b8313 Update github/codeql-action action to v3.30.5 2025-09-27 11:39:48 +02:00
Gianluigi
54a2a06301 Translated using Weblate (Italian)
Currently translated at 100.0% (560 of 560 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/it/
2025-09-25 14:30:48 +00:00
renovate[bot]
f7fb767a48 Update dependency androidx.work:work-runtime to v2.10.5 2025-09-24 20:49:11 +02:00
renovate[bot]
cb589a8e73 Update androidx.compose to v1.9.2 2025-09-24 20:48:51 +02:00
Ricardo Verduguez
59d93c321e Translated using Weblate (Spanish)
Currently translated at 100.0% (560 of 560 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es/
2025-09-24 00:51:24 +00:00
Tal Sarid
c775603df4 Translated using Weblate (Hebrew)
Currently translated at 100.0% (560 of 560 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/he/
2025-09-22 10:51:23 +00:00
Niels van Velzen
55c806ff16 Update client name for crash reports 2025-09-21 16:18:47 +02:00
Andrew
4994a26986 Add codec HDR capabilities to device profile 2025-09-21 12:56:45 +02:00
queeup
987022cb6a Translated using Weblate (Turkish)
Currently translated at 100.0% (560 of 560 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/tr/
2025-09-21 09:40:35 +00:00
Tal Sarid
bc785e58d2 Translated using Weblate (Hebrew)
Currently translated at 100.0% (560 of 560 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/he/
2025-09-20 15:51:23 +00:00
renovate[bot]
b9b0d8c127 Update Gradle to v9.1.0 2025-09-19 22:47:39 +02:00
xxzp3
2dbef26bcf Translated using Weblate (Danish)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/da/
2025-09-19 14:51:24 +00:00
nenadsuperzmaj
ce6251e1a7 Translated using Weblate (Serbian)
Currently translated at 100.0% (560 of 560 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sr/
2025-09-19 14:51:23 +00:00
xxzp3
816a0eb778 Translated using Weblate (Danish)
Currently translated at 100.0% (560 of 560 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/da/
2025-09-19 14:51:23 +00:00
renovate[bot]
e17611170a Update androidx.lifecycle to v2.9.4 2025-09-17 22:19:12 +02:00
nenadsuperzmaj
5502434285 Translated using Weblate (Serbian)
Currently translated at 100.0% (560 of 560 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sr/
2025-09-17 12:51:24 +00:00
Tal Sarid
983e2888cf Made button row height adaptive to its content 2025-09-16 13:46:26 +02:00
gogu
2695e606cc Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (560 of 560 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/zh_Hans/
2025-09-14 03:19:55 +00:00
Tal Sarid
7bb1096da6 Translated using Weblate (Hebrew)
Currently translated at 100.0% (560 of 560 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/he/
2025-09-12 20:51:23 +00:00
Niels van Velzen
0abeca3020 Avoid stopping speech recognizer when not active 2025-09-11 22:48:33 +02:00
Bas
ba6f54936a Translated using Weblate (Dutch)
Currently translated at 100.0% (560 of 560 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nl/
2025-09-11 19:51:23 +00:00
renovate[bot]
f7beea91af Update Kotlin to v2.2.20 2025-09-11 17:19:31 +02:00
renovate[bot]
f0bdf54338 Update github/codeql-action action to v3.30.3 2025-09-11 17:19:09 +02:00
renovate[bot]
f2d4d99ecf Update androidx.activity to v1.11.0 2025-09-11 08:09:57 +02:00
Niels van Velzen
ee806deddb Improve focus switching between Compose and RowsSupportFragment 2025-09-10 23:01:55 +02:00
Tal Sarid
36ff60380f Disabled ImageRequest maxBitmapSize to avoid trickplay tile scaling and cropping issues 2025-09-10 21:13:05 +02:00
renovate[bot]
724867acff Update androidx.compose to v1.9.1 2025-09-10 21:11:23 +02:00
renovate[bot]
01a40dc620 Update dependency androidx.work:work-runtime to v2.10.4 2025-09-10 21:11:07 +02:00
Tal Sarid
e3a2f8fb93 Translated using Weblate (Hebrew)
Currently translated at 100.0% (560 of 560 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/he/
2025-09-10 16:44:19 +00:00
Tal Sarid
038ae65123 Translated using Weblate (Hebrew)
Currently translated at 100.0% (560 of 560 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/he/
2025-09-10 16:35:04 +00:00
Tal Sarid
8bfb70fad1 Translated using Weblate (Hebrew)
Currently translated at 100.0% (560 of 560 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/he/
2025-09-10 10:30:25 +00:00
Tal Sarid
c626cb9f15 Translated using Weblate (Hebrew)
Currently translated at 100.0% (560 of 560 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/he/
2025-09-10 10:25:06 +00:00
aricholm
f4a11790e0 Translated using Weblate (Hungarian)
Currently translated at 100.0% (560 of 560 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/hu/
2025-09-09 21:51:22 +00:00
Niels van Velzen
bd5f55a374 Fix switching between baked and non-baked subtitles 2025-09-09 22:57:05 +02:00
Niels van Velzen
dde1ecfb29 Fix voice search cancellation showing error toast 2025-09-09 18:30:16 +02:00
Niels van Velzen
0b5525f94b Disable BlurHash on low memory devices 2025-09-09 15:30:44 +02:00
renovate[bot]
d3d8586990 Update CI dependencies 2025-09-09 13:11:39 +02:00
Lucas
3fc8338e33 Translated using Weblate (Portuguese (Brazil))
Currently translated at 99.6% (558 of 560 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pt_BR/
2025-09-09 04:58:07 +00:00
renovate[bot]
1d206177a3 Update kotest to v6.0.3 2025-09-08 22:41:24 +02:00
Bas
4b6450ba10 Translated using Weblate (Dutch)
Currently translated at 100.0% (560 of 560 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nl/
2025-09-08 11:51:22 +00:00
z33k90
b864857c18 Translated using Weblate (Danish)
Currently translated at 100.0% (560 of 560 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/da/
2025-09-08 07:51:22 +00:00
Niels van Velzen
f0043526d8 Avoid NPE in JellyfinImage helpers 2025-09-05 22:54:21 +02:00
Niels van Velzen
6b0d74efed Remove duplicate hebrew translations 2025-09-05 22:31:30 +02:00
Niels van Velzen
3eb8f14c89 Fix some languages using wrong code 2025-09-05 22:12:57 +02:00
renovate[bot]
fa64bd487a Update github/codeql-action action to v3.30.1 2025-09-05 17:41:46 +02:00
Niels van Velzen
b38f31a947 Fix home navigation from rows to toolbar on older Android versions 2025-09-04 21:30:04 +02:00
Niels van Velzen
bd92af2f46 Fix compilation issues 2025-09-04 18:47:34 +02:00
renovate[bot]
91d25f8ab6 Update dependency org.jellyfin.sdk:jellyfin-core to v1.7.0-beta.6 2025-09-04 18:47:34 +02:00
renovate[bot]
481851041d Update actions/stale action to v10 2025-09-04 18:37:28 +02:00
HanaO00
06beb7f3f9 Translated using Weblate (French)
Currently translated at 100.0% (560 of 560 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fr/
2025-09-03 23:51:22 +00:00
renovate[bot]
601bbf7e98 Update kotest to v6.0.2 2025-09-03 21:37:43 +02:00
renovate[bot]
299c2cab90 Update dependency com.android.tools.build:gradle to v8.13.0 2025-09-03 21:33:04 +02:00
renovate[bot]
110e953947 Update github/codeql-action action to v3.30.0 2025-09-03 21:32:39 +02:00
renovate[bot]
be6e7c73de Update koin to v4.1.1 2025-09-03 21:32:34 +02:00
Filip Radić
85b3898a50 Translated using Weblate (Croatian)
Currently translated at 96.7% (542 of 560 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/hr/
2025-09-01 17:51:22 +00:00
Filip Radić
fddfeed271 Translated using Weblate (Croatian)
Currently translated at 95.8% (537 of 560 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/hr/
2025-09-01 12:51:22 +00:00
AfmanS
9c663a90f9 Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (560 of 560 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pt_PT/
2025-09-01 09:51:22 +00:00
Niels van Velzen
0087fb6a02 Use transparent buttons in player controls 2025-08-31 09:21:10 +02:00
Niels van Velzen
0490dc48d5 Use JellyfinTheme in full compose fragments 2025-08-31 09:20:56 +02:00
Gargotaire
679a211c85 Translated using Weblate (Catalan)
Currently translated at 100.0% (560 of 560 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ca/
2025-08-30 22:51:22 +00:00
Niels van Velzen
cee87dbc99 Rewrite picture viewer in compose 2025-08-30 14:56:56 +02:00
renovate[bot]
a825b2dac5 Update dependency com.android.tools.build:gradle to v8.12.2 2025-08-29 10:41:22 +02:00
Mark Street
c95041b7ee Trim whitespace from search query (#4885) 2025-08-28 21:21:51 +02:00
renovate[bot]
c69652e120 Update androidx.lifecycle to v2.9.3 2025-08-27 21:00:23 +02:00
Niels van Velzen
0b70ae1fa2 Fix navigation issues in AudioNowPlayingFragment 2025-08-27 09:07:30 +02:00
takyaO
4bce5f4ad7 Translated using Weblate (Japanese)
Currently translated at 100.0% (560 of 560 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ja/
2025-08-27 04:51:21 +00:00
takyaO
380a5ed51b Translated using Weblate (Japanese)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/ja/
2025-08-26 09:51:22 +00:00
takyaO
b15d200774 Translated using Weblate (Japanese)
Currently translated at 100.0% (560 of 560 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ja/
2025-08-26 09:51:22 +00:00
Gargotaire
0601036148 Translated using Weblate (Catalan)
Currently translated at 100.0% (560 of 560 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ca/
2025-08-25 22:13:32 +00:00
renovate[bot]
baed90aa2f Update dependency io.kotest:kotest-assertions-core to v6.0.1 2025-08-25 21:17:55 +02:00
Niels van Velzen
619757e1c8 Fix focus always forced to first queue item in AudioNowPlayingFragment 2025-08-25 21:17:24 +02:00
ReDFiRe
43bac2841d Translated using Weblate (Bulgarian)
Currently translated at 50.5% (283 of 560 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/bg/
2025-08-25 15:51:22 +00:00
Maltavius
b1cb69821d Translated using Weblate (Swedish)
Currently translated at 100.0% (560 of 560 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sv/
2025-08-25 12:51:21 +00:00
Tal Sarid
a305e5eb78 Translated using Weblate (Hebrew)
Currently translated at 100.0% (560 of 560 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/he/
2025-08-25 08:51:22 +00:00
Tal Sarid
5724ec718c Translated using Weblate (Hebrew (Israel))
Currently translated at 100.0% (560 of 560 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/he_IL/
2025-08-25 08:51:22 +00:00
Filip Radić
1e1a268340 Translated using Weblate (Croatian)
Currently translated at 95.3% (534 of 560 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/hr/
2025-08-25 08:51:22 +00:00
TothCsanad
1f349a9fb6 Translated using Weblate (Hungarian)
Currently translated at 100.0% (560 of 560 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/hu/
2025-08-25 08:51:22 +00:00
Gallyam Biktashev
5a47a9beaa Translated using Weblate (Russian)
Currently translated at 100.0% (560 of 560 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ru/
2025-08-25 08:51:21 +00:00
Sven
613f241547 Translated using Weblate (German)
Currently translated at 100.0% (560 of 560 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/de/
2025-08-25 08:51:21 +00:00
Andi Chandler
0bd4e3db89 Translated using Weblate (English (United Kingdom))
Currently translated at 100.0% (560 of 560 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/en_GB/
2025-08-25 00:43:27 +00:00
Tushar Joshi
e72b8ea413 Translated using Weblate (Hindi)
Currently translated at 100.0% (560 of 560 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/hi/
2025-08-24 20:42:55 +00:00
Niels van Velzen
3f0ea9c83b Refactor visibilityTimer into visibility state with support for popover 2025-08-24 21:11:53 +02:00
Niels van Velzen
6a16bb1063 Add previous/next entry buttons within "more options" menu in new video player 2025-08-24 21:11:53 +02:00
Niels van Velzen
61990e09ca Add popover composable 2025-08-24 21:11:53 +02:00
Niels van Velzen
1a80b8e264 Only show music entries in now screensaver now playing 2025-08-24 16:22:42 +02:00
Niels van Velzen
d04d3b9388 Fix seekbar getting stuck in seek mode 2025-08-24 16:22:32 +02:00
Niels van Velzen
ff46f2e7d6 Remove libass preference in non-development builds 2025-08-24 16:22:26 +02:00
renovate[bot]
49cfa77d0b Update kotest to v6 2025-08-24 15:44:50 +02:00
renovate[bot]
28743ddff2 Update github/codeql-action action to v3.29.11 2025-08-24 15:43:41 +02:00
renovate[bot]
324605c39e Update actions/setup-java action to v5 2025-08-24 15:43:31 +02:00
spurdl
81c8af6585 Translated using Weblate (Finnish)
Currently translated at 99.8% (559 of 560 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fi/
2025-08-22 20:07:47 +00:00
Fjuro
bc607f0f82 Translated using Weblate (Czech)
Currently translated at 100.0% (560 of 560 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/cs/
2025-08-22 11:51:21 +00:00
無情天
880dd1701b Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (560 of 560 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/zh_Hans/
2025-08-20 17:51:21 +00:00
nextlooper42
c619c469e0 Translated using Weblate (Slovak)
Currently translated at 100.0% (560 of 560 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sk/
2025-08-20 11:45:14 +00:00
myrad2267
65995edc5a Translated using Weblate (French)
Currently translated at 100.0% (560 of 560 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fr/
2025-08-20 04:51:21 +00:00
Kityn
44539c59f3 Translated using Weblate (Polish)
Currently translated at 100.0% (560 of 560 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pl/
2025-08-19 13:36:12 +00:00
Bas
cb7d7341fa Translated using Weblate (Dutch)
Currently translated at 100.0% (560 of 560 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nl/
2025-08-19 12:37:03 +00:00
renovate[bot]
8c2d22a965 Update github/codeql-action action to v3.29.10 2025-08-19 14:15:39 +02:00
Ruben Teixeira
48dff8ee2b Add preference for subtitle position offset (#4825) 2025-08-19 14:14:51 +02:00
renovate[bot]
66982ca241 Update dependency com.android.tools.build:gradle to v8.12.1 2025-08-18 19:45:37 +02:00
Niels van Velzen
0206159536 Fix scaling of profile pictures in UserCardView 2025-08-18 19:36:08 +02:00
Niels van Velzen
5391bcf1bd Add compose based video player 2025-08-17 08:48:38 +02:00
renovate[bot]
a0879c20a1 Update dependency org.jellyfin.sdk:jellyfin-core to v1.7.0-beta.5 2025-08-16 17:39:14 +02:00
Niels van Velzen
d9be6bcde4 Add display HDR capabilities to device profile 2025-08-16 16:56:50 +02:00
Niels van Velzen
ffdd28ee39 Add display information to playback report 2025-08-16 08:36:46 +02:00
Niels van Velzen
f22bd7cca4 Remove removed parameters from JellyfinImage for user image URLs 2025-08-14 17:58:54 +02:00
Niels van Velzen
f0c874778a Use JellyfinImage in AuthenticationRepository 2025-08-14 17:58:54 +02:00
renovate[bot]
d960fd5ff4 Update dependency org.jellyfin.sdk:jellyfin-core to v1.7.0-beta.4 2025-08-14 17:58:54 +02:00
renovate[bot]
7b7847b43d Update dependency androidx.core:core-ktx to v1.17.0 2025-08-14 11:06:27 +02:00
renovate[bot]
8ae56a42f1 Update Kotlin to v2.2.10 2025-08-14 10:52:41 +02:00
renovate[bot]
110082573f Update dependency io.github.peerless2012:ass-media to v0.3.0-rc03 2025-08-14 09:10:52 +02:00
renovate[bot]
243e40633d Update androidx.compose to v1.9.0 2025-08-14 09:10:35 +02:00
renovate[bot]
19f48287b4 Update dependency androidx.fragment:fragment-ktx to v1.8.9 2025-08-14 09:00:01 +02:00
Vladislav Trofimenko
2eab6be7c8 Translated using Weblate (Russian)
Currently translated at 100.0% (559 of 559 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ru/
2025-08-13 23:51:21 +00:00
renovate[bot]
f5ca880b93 Update github/codeql-action action to v3.29.9 2025-08-12 20:52:58 +02:00
renovate[bot]
a8b060e498 Update actions/checkout action to v5 2025-08-11 21:53:37 +02:00
TothCsanad
8e25f28287 Translated using Weblate (Hungarian)
Currently translated at 100.0% (559 of 559 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/hu/
2025-08-11 18:13:10 +00:00
TothCsanad
8300eb218d Translated using Weblate (Hungarian)
Currently translated at 100.0% (559 of 559 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/hu/
2025-08-11 15:47:36 +00:00
Fjuro
3255a8ba8b Translated using Weblate (Czech)
Currently translated at 100.0% (559 of 559 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/cs/
2025-08-10 19:51:20 +00:00
Niels van Velzen
5a4b7308ec Use new seekbar in DreamContentNowPlaying 2025-08-10 18:02:27 +02:00
Niels van Velzen
0641ba827c Use new seekbar in AudioNowPlayingFragment 2025-08-10 18:02:27 +02:00
Niels van Velzen
0296131026 Add new Seekbar composable 2025-08-10 18:02:27 +02:00
Niels van Velzen
cb3ba76876 Use toolbar clock in screensaver 2025-08-10 18:02:27 +02:00
Niels van Velzen
e7d6b7bd70 Fix division by zero issue in VideoSize.aspectRatio 2025-08-10 13:36:32 +02:00
Niels van Velzen
14a6ba6002 Fix warning logs in PlaySessionService 2025-08-10 13:36:32 +02:00
Niels van Velzen
8df9200bb0 Add scrubbing API 2025-08-10 13:36:32 +02:00
Andi Chandler
9a28bfb7ae Translated using Weblate (English (United Kingdom))
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/en_GB/
2025-08-10 01:51:38 +00:00
Andi Chandler
e797272c5c Translated using Weblate (English (United Kingdom))
Currently translated at 100.0% (559 of 559 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/en_GB/
2025-08-10 00:55:09 +00:00
Adithya Krishna
cf4413ddb0 Translated using Weblate (Malayalam)
Currently translated at 50.4% (282 of 559 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ml/
2025-08-09 15:01:24 +00:00
Adithya Krishna
fb7275e0e6 Translated using Weblate (Malayalam)
Currently translated at 38.4% (215 of 559 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ml/
2025-08-09 14:27:55 +00:00
Julio García
3bd6187c21 Translated using Weblate (Spanish)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/es/
2025-08-09 10:51:21 +00:00
Julio García
61309e0c51 Translated using Weblate (Spanish)
Currently translated at 100.0% (559 of 559 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es/
2025-08-09 10:51:21 +00:00
Tal Sarid
c3080d7bf2 Fix wrong Trickplay thumbnail displayed while seeking (#4819) 2025-08-08 19:21:36 +00:00
renovate[bot]
671d6974b6 Update github/codeql-action action to v3.29.8 2025-08-08 21:17:19 +02:00
newton181
13e859f01b Translated using Weblate (Spanish (Latin America))
Currently translated at 98.0% (548 of 559 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es_419/
2025-08-06 00:23:43 +00:00
renovate[bot]
96e34b019b Update gradle/actions action to v4.4.2 2025-08-05 14:29:43 +02:00
Niels van Velzen
323b412dca Target Android 16 (API 36) 2025-08-03 13:49:34 +02:00
Niels van Velzen
870f027715 Remove logo from screensaver 2025-08-03 13:48:27 +02:00
Ruben Teixeira
e4aec294e3 Finer subtitle size control (#4821) 2025-08-03 11:40:03 +02:00
renovate[bot]
03179b134c Update dependency gradle to v9 2025-08-03 11:31:05 +02:00
renovate[bot]
2579090d61 Update dependency com.android.tools.build:gradle to v8.12.0 2025-08-03 11:30:51 +02:00
Niels van Velzen
b4982babec Use audio API for audio playback 2025-08-03 09:57:02 +02:00
Adriano Vargas IFFAR
0d8d30055e Translated using Weblate (Portuguese)
Currently translated at 11.6% (65 of 559 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pt/
2025-08-01 03:26:13 +00:00
Niels van Velzen
83f95c9c74 Update app build script for Gradle 9 compatibility 2025-07-31 22:53:25 +02:00
renovate[bot]
e30e9928d1 Update androidx.media3 2025-07-31 22:53:10 +02:00
renovate[bot]
f0094f265d Update github/codeql-action action to v3.29.5 2025-07-31 19:32:30 +02:00
renovate[bot]
aa48a90dd3 Update dependency androidx.work:work-runtime to v2.10.3 2025-07-31 10:33:57 +02:00
Troj@
451a2e0558 Translated using Weblate (Belarusian)
Currently translated at 100.0% (559 of 559 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/be/
2025-07-29 11:40:25 +00:00
Troj@
8987c16d7c Translated using Weblate (Belarusian)
Currently translated at 98.3% (550 of 559 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/be/
2025-07-29 08:56:45 +00:00
Troj@
4b7e21268d Translated using Weblate (Belarusian)
Currently translated at 96.4% (539 of 559 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/be/
2025-07-29 08:23:20 +00:00
Troj@
e92dbb15b7 Translated using Weblate (Belarusian)
Currently translated at 94.4% (528 of 559 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/be/
2025-07-29 08:11:18 +00:00
Gargotaire
7212ad40d8 Translated using Weblate (Catalan)
Currently translated at 100.0% (559 of 559 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ca/
2025-07-28 00:58:07 +00:00
Niels van Velzen
9029795c74 Render ASS to custom view 2025-07-27 21:48:13 +02:00
Maltavius
d7b60b057e Translated using Weblate (Swedish)
Currently translated at 100.0% (559 of 559 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sv/
2025-07-26 09:18:45 +00:00
Cabeça De Bode
3a495efeae Translated using Weblate (Portuguese (Brazil))
Currently translated at 99.8% (558 of 559 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pt_BR/
2025-07-25 15:22:36 +00:00
renovate[bot]
e41886ce60 Update github/codeql-action action to v3.29.4 2025-07-24 21:34:52 +02:00
Niels van Velzen
8d28a22337 Run Detekt from root module only 2025-07-24 21:30:01 +02:00
Shreyas Math
d5d1954aa6 Translated using Weblate (Hindi)
Currently translated at 100.0% (559 of 559 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/hi/
2025-07-24 14:51:19 +00:00
Shreyas Math
8282cba0f1 Translated using Weblate (Hindi)
Currently translated at 86.2% (482 of 559 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/hi/
2025-07-24 11:51:20 +00:00
renovate[bot]
e116e467f6 Update coil to v3.3.0 2025-07-23 08:46:30 +02:00
renovate[bot]
98bf2151cd Update github/codeql-action action to v3.29.3 2025-07-22 21:45:38 +02:00
Niels van Velzen
e859986075 Remove WebSocket subscriptions when process is inactive 2025-07-20 18:54:21 +02:00
Gargotaire
f7d96f7be1 Translated using Weblate (Catalan)
Currently translated at 100.0% (559 of 559 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ca/
2025-07-19 14:34:33 +00:00
SaddFox
378acb9571 Translated using Weblate (Slovenian)
Currently translated at 100.0% (559 of 559 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sl/
2025-07-18 21:23:01 +00:00
SaddFox
b6d114f55c Translated using Weblate (Slovenian)
Currently translated at 98.9% (553 of 559 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sl/
2025-07-18 20:41:54 +00:00
Niels van Velzen
9baf348fa7 Differentiate client name for debug version in API authorization 2025-07-18 22:35:20 +02:00
Niels van Velzen
52b15b2572 Prefer imageVector painting for icon drawables 2025-07-18 09:30:10 +02:00
Bernardo Oliveira
180325060a Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (559 of 559 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pt_PT/
2025-07-18 00:55:45 +00:00
Niels van Velzen
fe528df011 Catch API issues in StartupActivity when opening a library 2025-07-17 22:36:41 +02:00
renovate[bot]
d76fbb8f85 Update androidx.lifecycle to v2.9.2 2025-07-16 22:55:02 +02:00
renovate[bot]
53ad0bc032 Update dependency io.mockk:mockk to v1.14.5 2025-07-16 22:54:43 +02:00
Niels van Velzen
d193945d37 Use round design in NowPlayingView 2025-07-16 22:50:24 +02:00
Niels van Velzen
784df130a1 Redesign main toolbar 2025-07-16 22:50:24 +02:00
madman38
f8d0c1274c Translated using Weblate (Turkish)
Currently translated at 100.0% (559 of 559 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/tr/
2025-07-16 16:51:19 +00:00
kylep09
df2e2fab01 Start Live TV player when activating channel header (#4777) 2025-07-15 13:33:36 +00:00
sharanchius
0c9f08286c Translated using Weblate (Lithuanian)
Currently translated at 100.0% (559 of 559 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/lt/
2025-07-14 15:51:18 +00:00
felix920506
d542095c36 Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 100.0% (559 of 559 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/zh_Hant/
2025-07-14 11:51:18 +00:00
Niels van Velzen
184564c807 Fix AsyncImageView.load showing incorrect images on rapid changes 2025-07-14 08:43:26 +02:00
Niels van Velzen
2fc45565f1 Refetch server information on authenticate when cached server version is unsupported 2025-07-13 19:49:57 +02:00
Niels van Velzen
cf572a16d8 Query based on seriesId in FullDetailsFragmentHelper.getNextUpEpisode 2025-07-13 19:49:46 +02:00
Niels van Velzen
e774a39075 Fix DreamViewModel retrieving showcase items over main thread 2025-07-13 19:49:36 +02:00
sharanchius
61440368e2 Translated using Weblate (Lithuanian)
Currently translated at 100.0% (559 of 559 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/lt/
2025-07-13 11:51:18 +00:00
Niels van Velzen
dee024b88a Support removing items from playback queue 2025-07-13 11:17:12 +02:00
Niels van Velzen
9712f0cc44 Use shared OkHttpFactory for SDK, Coil and ExoPlayer
With this change all networking in the app is extended from the same base OkHttpClient making their connection pool, caches, dns and more shared
2025-07-13 11:10:40 +02:00
Niels van Velzen
f64b704abc Resolve compile errors 2025-07-13 11:10:40 +02:00
Niels van Velzen
d5923f4f23 Update SDK to 1.7.0-beta.3 2025-07-13 11:10:40 +02:00
Niels van Velzen
597b723885 Always run MediaStreamResolver on IO thread 2025-07-12 15:28:45 +02:00
Niels van Velzen
052c96a4b5 Remove testStream parameter from MediaStreamResolver.getStream 2025-07-12 15:28:45 +02:00
renovate[bot]
5404b697c6 Update dependency com.android.tools.build:gradle to v8.11.1 2025-07-12 14:54:51 +02:00
oofybruh9
4d8074d350 Translated using Weblate (Spanish)
Currently translated at 98.0% (548 of 559 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es/
2025-07-10 04:51:18 +00:00
Buiko32
8d54e56d55 Translated using Weblate (Italian)
Currently translated at 100.0% (559 of 559 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/it/
2025-07-08 23:51:18 +00:00
Jens van Almsick
0e3bba9853 Keep same audio language while binge watching a series (#4713) 2025-07-06 09:47:52 +02:00
renovate[bot]
e1f5e47bff Update dependency gradle to v8.14.3 2025-07-05 11:31:00 +02:00
Tal Sarid
21985945a2 Translated using Weblate (Hebrew)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/he/
2025-07-04 11:25:16 +00:00
Tal Sarid
6e9480235a Translated using Weblate (Hebrew (Israel))
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/he_IL/
2025-07-04 11:25:16 +00:00
Jay Halani
bd2934f725 Translated using Weblate (Hindi)
Currently translated at 54.9% (307 of 559 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/hi/
2025-07-04 08:51:18 +00:00
queeup
6c47a6879c Translated using Weblate (Turkish)
Currently translated at 100.0% (559 of 559 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/tr/
2025-07-03 22:51:17 +00:00
kylep09
c1e144da32 Fix LiveTV Guide Issue #2144 (#4761) 2025-07-02 09:27:39 +02:00
Айдаев Найдан Александрович
13710e13fa Translated using Weblate (Russian)
Currently translated at 100.0% (559 of 559 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ru/
2025-07-02 06:51:18 +00:00
Farid Irwan
7e984d7cce Translated using Weblate (Indonesian)
Currently translated at 92.3% (516 of 559 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/id/
2025-07-01 22:51:17 +00:00
renovate[bot]
7de5031bff Update github/codeql-action action to v3.29.2 2025-07-01 21:25:54 +02:00
renovate[bot]
67e6cfe40a Update aboutlibraries to v12.2.4 2025-07-01 21:25:25 +02:00
Niels van Velzen
38d9fe9f21 Fix retrieveAndPlay incorrectly using ticks instead of milliseconds as start position 2025-07-01 21:18:44 +02:00
Petrică Andrei-Cosmin
3afaa13126 Translated using Weblate (Romanian)
Currently translated at 100.0% (559 of 559 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ro/
2025-07-01 03:51:17 +00:00
Tal Sarid
01c0910560 Translated using Weblate (Hebrew)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/he/
2025-06-30 10:51:17 +00:00
Tal Sarid
d7e98d4d33 Translated using Weblate (Hebrew (Israel))
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/he_IL/
2025-06-30 10:51:17 +00:00
Gargotaire
3d0aa28032 Translated using Weblate (Catalan)
Currently translated at 100.0% (559 of 559 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ca/
2025-06-29 12:51:17 +00:00
renovate[bot]
72b9d06ed2 Update github/codeql-action action to v3.29.1 2025-06-28 11:11:58 +02:00
myrad2267
34261fbf69 Translated using Weblate (French)
Currently translated at 100.0% (559 of 559 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fr/
2025-06-28 07:51:17 +00:00
renovate[bot]
d8199c952a Update dependency org.jetbrains.kotlinx:kotlinx-serialization-json to v1.9.0 2025-06-28 07:52:01 +02:00
Ruben Teixeira
e836b62f2b Translated using Weblate (Portuguese)
Currently translated at 4.6% (26 of 559 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pt/
2025-06-27 18:51:17 +00:00
Serhii Romanov
c958b98fdd Translated using Weblate (Ukrainian)
Currently translated at 100.0% (559 of 559 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/uk/
2025-06-27 15:51:17 +00:00
Fjuro
c9f645bb84 Translated using Weblate (Czech)
Currently translated at 100.0% (559 of 559 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/cs/
2025-06-27 11:51:17 +00:00
Niels van Velzen
56e0138f22 Rewrite ServerButtonView using compose 2025-06-27 08:33:59 +02:00
hoanghuy309
8295531efe Translated using Weblate (Vietnamese)
Currently translated at 100.0% (559 of 559 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/vi/
2025-06-27 03:51:17 +00:00
Blackspirits
c73382176d Translated using Weblate (Portuguese)
Currently translated at 4.2% (24 of 559 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pt/
2025-06-26 20:51:17 +00:00
Blackspirits
8d9058c9e3 Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (559 of 559 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pt_PT/
2025-06-26 20:51:17 +00:00
Oatavandi
c7628e5115 Translated using Weblate (Tamil)
Currently translated at 100.0% (559 of 559 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ta/
2025-06-26 15:51:17 +00:00
Tal Sarid
dd09da9877 Translated using Weblate (Hebrew)
Currently translated at 100.0% (559 of 559 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/he/
2025-06-26 15:51:17 +00:00
Tal Sarid
8c7f6b6bff Translated using Weblate (Hebrew (Israel))
Currently translated at 100.0% (559 of 559 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/he_IL/
2025-06-26 15:51:17 +00:00
vikingnope
246317043e Added translation using Weblate (Maltese) 2025-06-25 00:03:30 +00:00
nextlooper42
9458654174 Translated using Weblate (Slovak)
Currently translated at 100.0% (559 of 559 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sk/
2025-06-24 22:01:34 +00:00
jh
c92f89d8de Translated using Weblate (Danish)
Currently translated at 100.0% (559 of 559 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/da/
2025-06-23 20:01:34 +00:00
renovate[bot]
499e21d240 Update Kotlin to v2.2.0 2025-06-23 21:34:26 +02:00
Niels van Velzen
4c86b6f9b2 KGP: replace kotlinOptions with compilerOptions 2025-06-23 21:08:46 +02:00
renovate[bot]
44ab75f62c Update dependency io.mockk:mockk to v1.14.4 2025-06-23 18:22:09 +02:00
Niels van Velzen
1e9c8a6a5c Don't attempt to load logo in screensaver when there is none 2025-06-23 18:21:19 +02:00
Niels van Velzen
2e5aff3191 Replace DefaultCardView with UserCard(View) 2025-06-23 18:21:12 +02:00
Niels van Velzen
66aa9c4247 Create channels if they are missing in LeanbackChannelWorker 2025-06-23 18:21:02 +02:00
Gallyam Biktashev
6c9769bf52 Translated using Weblate (Russian)
Currently translated at 99.8% (558 of 559 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ru/
2025-06-23 13:01:34 +00:00
Gargotaire
4193cebf16 Translated using Weblate (Catalan)
Currently translated at 100.0% (559 of 559 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ca/
2025-06-23 09:01:34 +00:00
無情天
3b728dd2f5 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (559 of 559 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/zh_Hans/
2025-06-23 09:01:34 +00:00
MrPlow
6eb786c00c Translated using Weblate (German)
Currently translated at 100.0% (559 of 559 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/de/
2025-06-23 09:01:34 +00:00
Kityn
9a4b55801a Translated using Weblate (Polish)
Currently translated at 100.0% (559 of 559 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pl/
2025-06-22 17:01:34 +00:00
Ēvalds Zemturis
28610750a4 Translated using Weblate (Latvian)
Currently translated at 99.8% (558 of 559 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/lv/
2025-06-22 11:01:34 +00:00
Bas
2135dd68ec Translated using Weblate (Dutch)
Currently translated at 100.0% (559 of 559 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nl/
2025-06-22 11:01:34 +00:00
Connor Smith
1743ab62c0 Add still watching feature (#4509)
* Add still watching feature

# Conflicts:
#	app/src/main/java/org/jellyfin/androidtv/ui/playback/VideoManager.java

* Use Duration for StillWatchingStates

* Fix thumbnail alignment in StillWatchingFragment

---------

Co-authored-by: Niels van Velzen <git@ndat.nl>
2025-06-22 10:22:24 +02:00
Blackspirits
9aedbd258d Translated using Weblate (Portuguese)
Currently translated at 2.7% (15 of 552 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pt/
2025-06-22 03:01:34 +00:00
Blackspirits
e592ad1460 Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (552 of 552 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pt_PT/
2025-06-22 03:01:34 +00:00
Tal Sarid
a6a0b76a2b Translated using Weblate (Hebrew)
Currently translated at 100.0% (552 of 552 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/he/
2025-06-22 00:01:34 +00:00
Tal Sarid
01ce3d09e1 Translated using Weblate (Hebrew (Israel))
Currently translated at 100.0% (552 of 552 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/he_IL/
2025-06-22 00:01:34 +00:00
無情天
344a26ecf7 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (552 of 552 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/zh_Hans/
2025-06-20 18:01:34 +00:00
Fjuro
d344ef48e8 Translated using Weblate (Czech)
Currently translated at 100.0% (552 of 552 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/cs/
2025-06-20 12:01:34 +00:00
Kityn
cad1014460 Translated using Weblate (Polish)
Currently translated at 100.0% (552 of 552 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pl/
2025-06-20 03:01:34 +00:00
Bas
fa3baef039 Translated using Weblate (Dutch)
Currently translated at 100.0% (552 of 552 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nl/
2025-06-19 23:01:34 +00:00
linkandzelda91
9562ef9d79 Add option to disable PGS direct play (#4729)
* Update deviceProfile.kt

set PGS sub support to depend on the option to direct play ASS for testing.

* Update deviceProfile.kt

added option for pgsDirectPlay similar to how assDirectPlay works

* Update deviceProfile.kt

additional references to assDirectPlay discovered, creating pgsDirectPlay replicas

* Update strings.xml

added entry for the pgs subs option in advanced options, based it on the existing libass option wording.

* Update strings.xml

included notice about the current state of PGS subtitle rendering on exoplayer.

* Update UserPreferences.kt

copying more references to assDirectPlay for pgsDirectPlay option

* Update DeveloperPreferencesScreen.kt

* Update deviceProfile.kt

testing external subtitle delivery

* Update deviceProfile.kt

waffling back and forth on the best way to do what I want.

* Update DeveloperPreferencesScreen.kt

moving the checkbox to player settings

* Update strings.xml

create enable_pgs_description string

* Update PlaybackAdvancedPreferencesScreen.kt

attempt to add the PGS textbox to advanced playback settings.

* Update strings.xml

rephrase for brevity?

* Update strings.xml

update for clarity...again

* Update UserPreferences.kt

update for clarity

* Update UserPreferences.kt

better comment?

* Update strings.xml

slightly longer description to clarify the limitation is just exoplayer related.

* Update strings.xml

grammar.

* Update UserPreferences.kt

attempt setting checkbox to default checked.

* Update strings.xml

update message to reflect that this change appears to only effect the internal player.

* Update strings.xml

made title of checkbox shorter, it was longer than the actual description and it was bothering me.

* Update strings.xml

one more rephrase?

* Update strings

---------

Co-authored-by: Niels van Velzen <git@ndat.nl>
2025-06-19 20:44:41 +00:00
renovate[bot]
3c8de8969a Update dependency androidx.work:work-runtime to v2.10.2 2025-06-19 21:24:58 +02:00
renovate[bot]
ec148f3188 Update dependency androidx.compose.foundation:foundation to v1.8.3 2025-06-19 21:24:52 +02:00
Tal Sarid
f2fd441c9d Translated using Weblate (Hebrew)
Currently translated at 100.0% (551 of 551 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/he/
2025-06-19 16:01:34 +00:00
Tal Sarid
81a6401de5 Translated using Weblate (Hebrew (Israel))
Currently translated at 100.0% (551 of 551 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/he_IL/
2025-06-19 16:01:34 +00:00
Edvin Mohlin
586b68fce7 Translated using Weblate (Swedish)
Currently translated at 99.6% (549 of 551 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sv/
2025-06-19 16:01:34 +00:00
Romulo Alves
d32d9eb827 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (551 of 551 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pt_BR/
2025-06-19 16:01:34 +00:00
renovate[bot]
0675ff208f Update dependency androidx.compose.ui:ui-tooling to v1.8.3 2025-06-18 20:46:47 +02:00
queeup
15e9d9fb93 Translated using Weblate (Turkish)
Currently translated at 100.0% (551 of 551 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/tr/
2025-06-18 17:01:34 +00:00
Qeynos
a6cfb5df4c Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (551 of 551 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/zh_Hans/
2025-06-18 04:01:34 +00:00
MrGcGamer
006f171024 Translated using Weblate (German)
Currently translated at 100.0% (551 of 551 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/de/
2025-06-18 01:01:34 +00:00
Tal Sarid
d0ae35a8f3 Translated using Weblate (Hebrew)
Currently translated at 100.0% (551 of 551 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/he/
2025-06-17 21:52:08 +00:00
Tal Sarid
847c930dba Translated using Weblate (Hebrew (Israel))
Currently translated at 100.0% (551 of 551 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/he_IL/
2025-06-17 21:52:08 +00:00
Blackspirits
c8f570d89a Translated using Weblate (Portuguese)
Currently translated at 2.5% (14 of 551 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pt/
2025-06-17 20:01:34 +00:00
Blackspirits
e766d6f80b Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (551 of 551 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pt_PT/
2025-06-17 20:01:34 +00:00
nextlooper42
6cb57a6de6 Translated using Weblate (Slovak)
Currently translated at 100.0% (551 of 551 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sk/
2025-06-17 11:01:34 +00:00
Kityn
0a517917ff Translated using Weblate (Polish)
Currently translated at 100.0% (551 of 551 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pl/
2025-06-17 08:01:34 +00:00
Bas
bc76b289cd Translated using Weblate (Dutch)
Currently translated at 100.0% (551 of 551 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nl/
2025-06-16 22:01:34 +00:00
Thomas Schwery
f6a92d50f2 Translated using Weblate (French)
Currently translated at 100.0% (551 of 551 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fr/
2025-06-16 22:01:34 +00:00
renovate[bot]
8f3d351691 Update dependency com.android.tools.build:gradle to v8.10.1 2025-06-16 22:21:34 +02:00
renovate[bot]
586b78f180 Update CI dependencies 2025-06-16 22:21:07 +02:00
Niels van Velzen
5521348057 Use tvShowsApi.getNextUp in FullDetailsFragmentHelper.getNextUpEpisode 2025-06-16 21:59:30 +02:00
Niels van Velzen
d0608b5f58 Remove unused parameters in SdkPlaybackHelper 2025-06-16 21:59:30 +02:00
Niels van Velzen
588e844941 Use getEpisodes API for series/seasons in SdkPlaybackHelper 2025-06-16 21:59:30 +02:00
Niels van Velzen
0e4c60c80d Fix formatting 2025-06-16 21:21:32 +02:00
Edvin Mohlin
798567c843 Add option for bold subtitles (#4559) 2025-06-16 21:21:32 +02:00
renovate[bot]
35793e2544 Update aboutlibraries to v12.2.3 2025-06-16 21:01:17 +02:00
Gargotaire
1da2eaa97a Translated using Weblate (Catalan)
Currently translated at 100.0% (550 of 550 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ca/
2025-06-15 18:07:34 +00:00
Gargotaire
2ee64ba613 Translated using Weblate (Catalan)
Currently translated at 100.0% (550 of 550 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ca/
2025-06-14 19:01:34 +00:00
dtrexler
46ce0561ae Clear skip overlay before applying media segments 2025-06-14 12:40:30 +02:00
Gargotaire
1a3fd1f4a0 Translated using Weblate (Catalan)
Currently translated at 100.0% (550 of 550 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ca/
2025-06-14 08:01:33 +00:00
Gargotaire
6c5a765382 Translated using Weblate (Catalan)
Currently translated at 100.0% (550 of 550 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ca/
2025-06-14 02:01:34 +00:00
Gargotaire
3ce2de5481 Translated using Weblate (Catalan)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/ca/
2025-06-13 00:01:34 +00:00
Gargotaire
86e3d6cf8f Translated using Weblate (Catalan)
Currently translated at 100.0% (550 of 550 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ca/
2025-06-13 00:01:33 +00:00
Ēvalds Zemturis
87b1e365a0 Translated using Weblate (Latvian)
Currently translated at 98.7% (543 of 550 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/lv/
2025-06-12 17:27:32 +00:00
Gargotaire
d7dea2ce89 Translated using Weblate (Catalan)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/ca/
2025-06-11 19:01:34 +00:00
Gargotaire
012de52125 Translated using Weblate (Catalan)
Currently translated at 100.0% (550 of 550 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ca/
2025-06-11 19:01:33 +00:00
Gargotaire
17e7aacf31 Translated using Weblate (Catalan)
Currently translated at 100.0% (550 of 550 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ca/
2025-06-11 08:01:33 +00:00
Gargotaire
798515f339 Translated using Weblate (Catalan)
Currently translated at 100.0% (550 of 550 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ca/
2025-06-11 02:01:33 +00:00
Gargotaire
3a999683f5 Translated using Weblate (Catalan)
Currently translated at 100.0% (550 of 550 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ca/
2025-06-10 23:01:33 +00:00
renovate[bot]
5eee5361da Update koin to v4.1.0 2025-06-09 21:16:56 +02:00
Serhii Romanov
d4df35e045 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (550 of 550 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/uk/
2025-06-09 12:01:33 +00:00
ilker
80cfc9e876 Translated using Weblate (Turkish)
Currently translated at 100.0% (550 of 550 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/tr/
2025-06-09 09:01:35 +00:00
Tal Sarid
fb9368f52b Translated using Weblate (Hebrew)
Currently translated at 100.0% (550 of 550 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/he/
2025-06-09 09:01:34 +00:00
Tal Sarid
602451d887 Translated using Weblate (Hebrew (Israel))
Currently translated at 100.0% (550 of 550 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/he_IL/
2025-06-09 09:01:34 +00:00
Persephone42
b4655156fa Translated using Weblate (Serbian)
Currently translated at 58.1% (320 of 550 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sr/
2025-06-09 09:01:34 +00:00
無情天
9afe6f5b00 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (550 of 550 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/zh_Hans/
2025-06-09 09:01:34 +00:00
Gallyam Biktashev
e024341fdf Translated using Weblate (Russian)
Currently translated at 100.0% (550 of 550 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ru/
2025-06-09 09:01:34 +00:00
r4dius
c0d7d03b19 Translated using Weblate (French)
Currently translated at 100.0% (550 of 550 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fr/
2025-06-09 09:01:33 +00:00
Sven
dcf88b5026 Translated using Weblate (German)
Currently translated at 100.0% (550 of 550 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/de/
2025-06-09 09:01:33 +00:00
nextlooper42
acb5fb367a Translated using Weblate (Slovak)
Currently translated at 100.0% (550 of 550 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sk/
2025-06-08 14:01:33 +00:00
Tal Sarid
bc3666558c Translated using Weblate (Hebrew)
Currently translated at 100.0% (550 of 550 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/he/
2025-06-08 09:01:34 +00:00
Tal Sarid
36acfecade Translated using Weblate (Hebrew (Israel))
Currently translated at 100.0% (550 of 550 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/he_IL/
2025-06-08 09:01:33 +00:00
hoanghuy309
0952230083 Translated using Weblate (Vietnamese)
Currently translated at 100.0% (550 of 550 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/vi/
2025-06-08 06:01:34 +00:00
Tal Sarid
3d370d618b Translated using Weblate (Hebrew (Israel))
Currently translated at 100.0% (550 of 550 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/he_IL/
2025-06-07 22:01:33 +00:00
Tal Sarid
672593da02 Translated using Weblate (Hebrew)
Currently translated at 100.0% (550 of 550 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/he/
2025-06-07 16:01:34 +00:00
Tal Sarid
0f95c6f090 Translated using Weblate (Hebrew (Israel))
Currently translated at 100.0% (550 of 550 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/he_IL/
2025-06-07 16:01:33 +00:00
Pere
0f6993d5ce Translated using Weblate (Catalan)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/ca/
2025-06-07 13:01:34 +00:00
Pere
959760a21f Translated using Weblate (Catalan)
Currently translated at 100.0% (550 of 550 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ca/
2025-06-07 13:01:33 +00:00
Fabien
08a26aed67 Translated using Weblate (French)
Currently translated at 100.0% (550 of 550 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fr/
2025-06-07 13:01:33 +00:00
Kityn
239517ee9d Translated using Weblate (Polish)
Currently translated at 100.0% (550 of 550 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pl/
2025-06-07 08:01:33 +00:00
Tal Sarid
eebcb898d4 Translated using Weblate (Hebrew)
Currently translated at 100.0% (550 of 550 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/he/
2025-06-06 23:01:34 +00:00
Tal Sarid
e0e9001144 Translated using Weblate (Hebrew (Israel))
Currently translated at 100.0% (550 of 550 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/he_IL/
2025-06-06 23:01:33 +00:00
Bas
193ce07455 Translated using Weblate (Dutch)
Currently translated at 100.0% (550 of 550 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nl/
2025-06-06 20:46:47 +00:00
Niels van Velzen
d53c4bc810 New search design 2025-06-06 22:13:52 +02:00
renovate[bot]
f20c5957c5 Update github/codeql-action action to v3.28.19 2025-06-06 22:10:58 +02:00
osiris86
6f06639137 Change/Fix Resume Button Behaviour on Series (#4679) 2025-06-06 22:08:40 +02:00
renovate[bot]
428d68a356 Update aboutlibraries to v12.2.1 2025-06-06 21:53:47 +02:00
renovate[bot]
d96dd0a687 Update dependency gradle to v8.14.2 2025-06-06 21:53:34 +02:00
Niels van Velzen
fdd079d32b Fix DestinationFragmentView not replacing existing fragment on resume 2025-06-06 21:38:02 +02:00
Bas
f726d978c1 Translated using Weblate (Dutch)
Currently translated at 100.0% (546 of 546 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nl/
2025-06-06 19:01:33 +00:00
Tal Sarid
fd9e2e3fb5 Translated using Weblate (Hebrew)
Currently translated at 100.0% (546 of 546 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/he/
2025-06-06 15:42:33 +00:00
Tal Sarid
c94f88ffbd Translated using Weblate (Hebrew (Israel))
Currently translated at 100.0% (546 of 546 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/he_IL/
2025-06-06 15:42:33 +00:00
Tal Sarid
35b68474b0 Translated using Weblate (Hebrew)
Currently translated at 100.0% (546 of 546 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/he/
2025-06-06 12:43:41 +00:00
Tal Sarid
ed206858dd Translated using Weblate (Hebrew (Israel))
Currently translated at 100.0% (546 of 546 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/he_IL/
2025-06-06 12:43:40 +00:00
Tal Sarid
a0e510e0a9 Translated using Weblate (Hebrew)
Currently translated at 100.0% (546 of 546 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/he/
2025-06-06 10:25:56 +00:00
Tal Sarid
a1d06388d3 Translated using Weblate (Hebrew (Israel))
Currently translated at 100.0% (546 of 546 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/he_IL/
2025-06-06 10:25:56 +00:00
Sander Scheijvens
a77bd8a448 Translated using Weblate (Dutch)
Currently translated at 100.0% (546 of 546 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nl/
2025-06-05 18:50:56 +00:00
renovate[bot]
3e3e1386ca Update dependency androidx.appcompat:appcompat to v1.7.1 2025-06-05 06:55:34 +02:00
renovate[bot]
a3555869cb Update androidx.lifecycle to v2.9.1 2025-06-04 22:11:51 +02:00
renovate[bot]
1c5fd6e3ee Update androidx.fragment to v1.8.8 2025-06-04 22:11:47 +02:00
Niels van Velzen
1b43a742c3 Fix URL generation for user profile pictures 2025-06-03 14:25:01 +02:00
General-c4
99336e51b2 Translated using Weblate (Arabic)
Currently translated at 92.6% (506 of 546 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ar/
2025-06-02 22:10:56 +00:00
Serhii Romanov
7bd87ac87d Translated using Weblate (Ukrainian)
Currently translated at 100.0% (546 of 546 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/uk/
2025-06-02 10:01:33 +00:00
Niels van Velzen
8f4309360b Display cover art of currently playing music via compose 2025-05-30 22:06:00 +02:00
renovate[bot]
3f29622948 Update aboutlibraries to v12.2.0 2025-05-30 19:59:54 +02:00
Ludovico de Nittis
95f8e4db22 Allow Exoplayer to invalidate the track selection on capabilities change
If the capabilities of a device change, Exoplayer can invalidate the
current selection to adhere to the new list of capabilities.

This helps the Nvidia Shield and its content matching refresh rate
option because, during the refresh rate switching period, the reported
capabilities change. Without this flag, the device could reproduce audio
as PCM instead of the expected passthrough.

Addresses https://github.com/jellyfin/jellyfin-androidtv/issues/4067,
additional context https://github.com/androidx/media/issues/2258
2025-05-30 11:17:12 +02:00
Niels van Velzen
9a689cc662 Fix screensaver request loop when there are no items to showcase 2025-05-28 21:16:58 +02:00
DevAgac
f8a0fd9399 Translated using Weblate (Turkish)
Currently translated at 100.0% (546 of 546 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/tr/
2025-05-27 01:01:33 +00:00
Tal Sarid
2e4ea83c0a Translated using Weblate (Hebrew)
Currently translated at 100.0% (546 of 546 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/he/
2025-05-26 08:35:26 +00:00
Tal Sarid
6e986f7f27 Translated using Weblate (Hebrew (Israel))
Currently translated at 100.0% (546 of 546 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/he_IL/
2025-05-26 08:35:26 +00:00
MrPlow
71182d1f81 Translated using Weblate (German)
Currently translated at 100.0% (546 of 546 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/de/
2025-05-26 08:35:25 +00:00
Sven
c1df2e6327 Translated using Weblate (German)
Currently translated at 99.6% (544 of 546 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/de/
2025-05-25 13:01:33 +00:00
tm2244
f3aa788b37 Translated using Weblate (English (United Kingdom))
Currently translated at 100.0% (546 of 546 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/en_GB/
2025-05-25 02:01:33 +00:00
Gallyam Biktashev
afd229b169 Translated using Weblate (Russian)
Currently translated at 100.0% (546 of 546 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ru/
2025-05-24 22:01:33 +00:00
Tal Sarid
059587f2b3 Translated using Weblate (Hebrew)
Currently translated at 100.0% (546 of 546 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/he/
2025-05-24 12:01:33 +00:00
Tal Sarid
01fba046a1 Translated using Weblate (Hebrew (Israel))
Currently translated at 100.0% (546 of 546 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/he_IL/
2025-05-24 12:01:33 +00:00
Niels van Velzen
63b295b7e1 Remove Koin from playback module 2025-05-23 22:27:12 +02:00
renovate[bot]
ed268d2cbe Update Kotlin 2025-05-23 22:27:12 +02:00
renovate[bot]
0ecec926e8 Update jellyfin-androidx-media to 1.6.1+1 2025-05-23 22:03:13 +02:00
Dimitar \"Topper\" Maznekov
bb9a44f485 Translated using Weblate (Bulgarian)
Currently translated at 42.1% (230 of 546 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/bg/
2025-05-23 15:01:33 +00:00
Jonas Engen Larsen
8345594219 Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (546 of 546 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nb_NO/
2025-05-23 06:01:33 +00:00
BromTeque
28c6e26912 Translated using Weblate (Norwegian Bokmål)
Currently translated at 99.8% (545 of 546 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nb_NO/
2025-05-22 19:01:32 +00:00
renovate[bot]
80ae0dd206 Update dependency gradle to v8.14.1 2025-05-22 18:43:38 +02:00
Fjuro
abc9155b5b Translated using Weblate (Czech)
Currently translated at 100.0% (546 of 546 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/cs/
2025-05-22 15:01:32 +00:00
無情天
4d676c80e9 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (546 of 546 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/zh_Hans/
2025-05-22 11:01:32 +00:00
myrad2267
a7bdc9ae04 Translated using Weblate (French)
Currently translated at 100.0% (546 of 546 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fr/
2025-05-21 20:01:33 +00:00
renovate[bot]
454a129e93 Update dependency androidx.compose.foundation:foundation to v1.8.2 2025-05-21 21:48:39 +02:00
hoanghuy309
18b86bcd11 Translated using Weblate (Vietnamese)
Currently translated at 100.0% (546 of 546 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/vi/
2025-05-21 14:01:33 +00:00
nextlooper42
477dd692c5 Translated using Weblate (Slovak)
Currently translated at 100.0% (546 of 546 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sk/
2025-05-21 14:01:33 +00:00
Blackspirits
52ffbd4186 Translated using Weblate (Portuguese)
Currently translated at 2.1% (12 of 546 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pt/
2025-05-21 09:01:33 +00:00
Blackspirits
e32eeb0e49 Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (546 of 546 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pt_PT/
2025-05-21 09:01:32 +00:00
renovate[bot]
5253cae13d Update dependency androidx.window:window to v1.4.0 2025-05-20 22:30:31 +02:00
renovate[bot]
528c8e5ce3 Update androidx.fragment to v1.8.7 2025-05-20 22:21:50 +02:00
renovate[bot]
30e9c6e6e1 Update dependency androidx.compose.ui:ui-tooling to v1.8.2 2025-05-20 22:21:46 +02:00
Kityn
0efb45cea4 Translated using Weblate (Polish)
Currently translated at 100.0% (546 of 546 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pl/
2025-05-20 15:55:40 +00:00
Niels van Velzen
c4412cfac2 Fix compose focus deprecations 2025-05-20 17:30:04 +02:00
Niels van Velzen
6a64d351f0 Fix nullability issues in presenter usages 2025-05-20 16:24:19 +02:00
Niels van Velzen
694ed15dde Add experimental ASS direct play using libass 2025-05-20 08:41:50 +02:00
Niels van Velzen
3ff7fc058c Disable channel badge for media notification channel 2025-05-19 22:52:51 +02:00
Niels van Velzen
7bc2af7ff7 Add missing action for AndroidMediaService 2025-05-19 22:52:51 +02:00
Simon Hung
5de8626e9a Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 100.0% (545 of 545 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/zh_Hant/
2025-05-19 19:24:27 +00:00
Gallyam Biktashev
60ad989eba Translated using Weblate (Russian)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/ru/
2025-05-19 08:56:44 +00:00
claireratigan
90a4d40e2c Change screensaver to cycle through random selection and avoid repeats (#4619)
* Have screensaver cycle through random selection to avoid repeats

* DRY

* Break logic out of timing loop and reduce request size

* Use flow for getRandomLibraryShowcaseItems

---------

Co-authored-by: Niels van Velzen <git@ndat.nl>
2025-05-17 14:50:18 +00:00
cani1see
49f9735830 Improve status bar hiding behavior (#4650) 2025-05-17 14:15:21 +00:00
renovate[bot]
d0c7c8647e Update CI dependencies 2025-05-16 22:26:10 +02:00
Tal Sarid
716125ad56 Translated using Weblate (Hebrew)
Currently translated at 100.0% (545 of 545 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/he/
2025-05-16 10:57:31 +00:00
Tal Sarid
064c70677e Translated using Weblate (Hebrew (Israel))
Currently translated at 100.0% (545 of 545 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/he_IL/
2025-05-16 10:57:29 +00:00
Tal Sarid
bea76b96e5 Translated using Weblate (Hebrew (Israel))
Currently translated at 91.3% (498 of 545 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/he_IL/
2025-05-16 01:01:06 +00:00
Tal Sarid
96eebba125 Translated using Weblate (Hebrew)
Currently translated at 100.0% (545 of 545 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/he/
2025-05-15 22:01:07 +00:00
Tal Sarid
23a58644ff Translated using Weblate (Hebrew (Israel))
Currently translated at 91.1% (497 of 545 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/he_IL/
2025-05-15 22:01:06 +00:00
Tal Sarid
7048868f3f Translated using Weblate (Hebrew)
Currently translated at 100.0% (545 of 545 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/he/
2025-05-15 19:49:10 +00:00
Tal Sarid
8d3c557626 Translated using Weblate (Hebrew (Israel))
Currently translated at 84.5% (461 of 545 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/he_IL/
2025-05-15 19:49:10 +00:00
Tal Sarid
f428d54881 Translated using Weblate (Hebrew (Israel))
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/he_IL/
2025-05-14 23:04:14 +00:00
Tal Sarid
89805d3a5d Translated using Weblate (Hebrew)
Currently translated at 100.0% (545 of 545 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/he/
2025-05-14 23:04:14 +00:00
Tal Sarid
680063665e Translated using Weblate (Hebrew (Israel))
Currently translated at 77.6% (423 of 545 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/he_IL/
2025-05-14 23:04:12 +00:00
Tal Sarid
e55e999db0 Translated using Weblate (Hebrew)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/he/
2025-05-14 22:40:37 +00:00
Tal Sarid
a3f6020ab3 Translated using Weblate (Hebrew)
Currently translated at 100.0% (545 of 545 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/he/
2025-05-14 22:40:37 +00:00
Tal Sarid
9035aac014 Translated using Weblate (Hebrew)
Currently translated at 100.0% (545 of 545 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/he/
2025-05-14 21:14:07 +00:00
Morteza Taherkhani
72ee17db16 Translated using Weblate (Persian)
Currently translated at 72.1% (393 of 545 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fa/
2025-05-13 22:01:06 +00:00
Blackspirits
41a2bc6890 Translated using Weblate (Portuguese)
Currently translated at 1.8% (10 of 545 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pt/
2025-05-13 17:01:06 +00:00
Generator
231455887c Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (545 of 545 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pt_PT/
2025-05-13 17:01:06 +00:00
renovate[bot]
5242c6dd74 Update coil to v3.2.0 2025-05-13 13:07:55 +02:00
Blackspirits
9c94d3e7c9 Translated using Weblate (Portuguese)
Currently translated at 1.6% (9 of 545 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pt/
2025-05-13 10:01:06 +00:00
r4dius
454cd2548f Translated using Weblate (French)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/fr/
2025-05-12 20:01:06 +00:00
Blackspirits
0f82dbfb33 Translated using Weblate (Portuguese (Portugal))
Currently translated at 99.8% (544 of 545 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pt_PT/
2025-05-12 20:01:06 +00:00
r4dius
5b470bf6e5 Translated using Weblate (French)
Currently translated at 100.0% (545 of 545 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fr/
2025-05-12 20:01:06 +00:00
Generator
7c29539a75 Translated using Weblate (Portuguese (Portugal))
Currently translated at 99.8% (544 of 545 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pt_PT/
2025-05-12 17:11:37 +00:00
Gallyam Biktashev
96ea906fa8 Translated using Weblate (Russian)
Currently translated at 100.0% (545 of 545 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ru/
2025-05-11 21:26:33 +00:00
hoanghuy309
a5c30b56e8 Translated using Weblate (Vietnamese)
Currently translated at 100.0% (545 of 545 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/vi/
2025-05-11 09:01:06 +00:00
Niels van Velzen
213debfab0 Always create boxset queues with default sorting instead of using sort names of individual items 2025-05-10 17:58:24 +02:00
Florian Dreier
a78db2701a Fix crash on startup (#4640)
* Fix crash on startup

* Changed condition evaluation order
2025-05-10 17:29:12 +02:00
dgirones
aaf26ec4bf Translated using Weblate (Catalan)
Currently translated at 100.0% (545 of 545 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ca/
2025-05-10 11:01:06 +00:00
renovate[bot]
598dec5bb0 Update dependency com.android.tools.build:gradle to v8.10.0 2025-05-08 21:00:26 +02:00
renovate[bot]
2b04aa3a51 Update aboutlibraries to v12.1.2 2025-05-08 21:00:07 +02:00
DJSweder
ecb9047162 Translated using Weblate (Czech)
Currently translated at 99.6% (543 of 545 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/cs/
2025-05-08 09:24:10 +00:00
master translator
4af3efcf93 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (545 of 545 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pt_BR/
2025-05-08 05:01:06 +00:00
renovate[bot]
1e8a546aca Update androidx.lifecycle to v2.9.0 2025-05-07 21:14:23 +02:00
renovate[bot]
a713cf5af3 Update androidx.compose to v1.8.1 2025-05-07 21:08:47 +02:00
renovate[bot]
8b49e8a957 Update dependency androidx.tvprovider:tvprovider to v1.1.0 2025-05-07 21:08:21 +02:00
renovate[bot]
a2f7f0b20b Update github/codeql-action action to v3.28.17 2025-05-07 08:24:47 +02:00
renovate[bot]
f5a77a66ec Update aboutlibraries to v12.1.1 2025-05-07 08:24:31 +02:00
Dor Ban
1ba81d30da Translated using Weblate (Hebrew)
Currently translated at 99.4% (542 of 545 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/he/
2025-05-05 21:20:03 +00:00
Dor Ban
d34a8a5dbe Translated using Weblate (Hebrew (Israel))
Currently translated at 76.6% (418 of 545 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/he_IL/
2025-05-05 21:20:03 +00:00
Ofek
e28c58f3f4 Translated using Weblate (Hebrew (Israel))
Currently translated at 76.6% (418 of 545 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/he_IL/
2025-05-05 21:20:03 +00:00
Luiz Moraes
26c584b368 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (545 of 545 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pt_BR/
2025-05-03 06:01:05 +00:00
Niels van Velzen
68bdf5a28c Use new intermediate model in most places 2025-05-02 16:15:52 +02:00
Tushar Joshi
fddbb95a90 Translated using Weblate (Hindi)
Currently translated at 54.4% (297 of 545 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/hi/
2025-05-02 10:01:05 +00:00
Niels van Velzen
62c37ce906 Add intermediate model for image information 2025-05-01 19:23:16 +02:00
renovate[bot]
d2dbeb594b Update aboutlibraries to v12.1.0 2025-05-01 13:30:38 +02:00
GeorgeAL78
8e66b9e587 Translated using Weblate (Albanian)
Currently translated at 35.7% (195 of 545 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sq/
2025-05-01 08:01:06 +00:00
Acrotos
d93a841e9f Translated using Weblate (Romanian)
Currently translated at 100.0% (545 of 545 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ro/
2025-04-29 15:01:05 +00:00
Jonas Engen Larsen
cd71dbb164 Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (545 of 545 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nb_NO/
2025-04-29 15:01:05 +00:00
renovate[bot]
9e11eeb0d4 Update dependency io.mockk:mockk to v1.14.2 2025-04-29 16:23:14 +02:00
nextlooper42
e5a4463867 Translated using Weblate (Slovak)
Currently translated at 100.0% (545 of 545 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sk/
2025-04-29 12:01:05 +00:00
Gallyam Biktashev
4a55e9c947 Translated using Weblate (Russian)
Currently translated at 100.0% (545 of 545 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ru/
2025-04-27 22:01:05 +00:00
RikyR
ee95f7266f Translated using Weblate (Italian)
Currently translated at 100.0% (545 of 545 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/it/
2025-04-27 15:01:05 +00:00
Blackspirits
16aa1d11b5 Translated using Weblate (Portuguese)
Currently translated at 1.4% (8 of 545 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pt/
2025-04-26 18:13:51 +00:00
Blackspirits
d173ad4b14 Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (545 of 545 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pt_PT/
2025-04-26 18:13:51 +00:00
Blackspirits
b2e877d21f Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/pt_PT/
2025-04-26 14:52:53 +00:00
Blackspirits
9503155a43 Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (545 of 545 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pt_PT/
2025-04-26 14:52:52 +00:00
Blackspirits
5ab4dd3048 Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (545 of 545 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pt_PT/
2025-04-26 09:01:05 +00:00
Andi Chandler
04fa220634 Translated using Weblate (English (United Kingdom))
Currently translated at 100.0% (545 of 545 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/en_GB/
2025-04-25 19:33:19 +00:00
renovate[bot]
579cb1274c Update dependency gradle to v8.14 2025-04-25 19:43:17 +02:00
renovate[bot]
99d4dffe3b Update aboutlibraries to v12.0.1 2025-04-25 09:26:02 +02:00
renovate[bot]
f39adeec1a Update androidx.compose to v1.8.0 2025-04-24 18:55:53 +02:00
Blackspirits
f38903f1f3 Translated using Weblate (Portuguese)
Currently translated at 1.2% (7 of 545 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pt/
2025-04-24 16:38:44 +00:00
Blackspirits
31106bdb28 Translated using Weblate (Portuguese (Portugal))
Currently translated at 99.8% (544 of 545 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pt_PT/
2025-04-24 16:38:44 +00:00
Blackspirits
1403b256ca Translated using Weblate (Portuguese (Brazil))
Currently translated at 97.0% (529 of 545 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pt_BR/
2025-04-24 16:38:43 +00:00
myrad2267
67a2d1af1e Translated using Weblate (French)
Currently translated at 100.0% (545 of 545 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fr/
2025-04-24 06:21:26 +00:00
Kityn
87583243dc Translated using Weblate (Polish)
Currently translated at 100.0% (545 of 545 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pl/
2025-04-24 02:01:05 +00:00
無情天
7d58908a44 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (545 of 545 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/zh_Hans/
2025-04-23 20:54:25 +00:00
Bas
05dc1a72f5 Translated using Weblate (Dutch)
Currently translated at 99.6% (543 of 545 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nl/
2025-04-23 20:54:24 +00:00
MrPlow
1eb17a5098 Translated using Weblate (German)
Currently translated at 100.0% (545 of 545 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/de/
2025-04-23 20:54:24 +00:00
renovate[bot]
d04f052afc Update dependency androidx.work:work-runtime to v2.10.1 2025-04-23 20:38:51 +02:00
renovate[bot]
26e8bc227b Update androidx.leanback to v1.2.0 2025-04-23 20:37:58 +02:00
Niels van Velzen
904d5c1a31 Replace leanback animations with our own definitions in CustomPlaybackOverlayFragment 2025-04-23 19:45:49 +02:00
conihorse
f9bcd4ba54 Add Rewind & FastForward buttons to AudioNowPlayingFragment (#4503)
* Add Rewind & FastForward buttons to AudioNowPlayingFragment

* Add Rewind & FastForward buttons to AudioNowPlayingFragment

* Merge remote-tracking branch 'origin/master'

# Conflicts:
#	app/src/main/java/org/jellyfin/androidtv/ui/playback/rewrite/RewriteMediaManager.kt

* Cleanup

---------

Co-authored-by: Niels van Velzen <git@ndat.nl>
2025-04-23 19:25:03 +02:00
renovate[bot]
16d8640c01 Update github/codeql-action action to v3.28.16 2025-04-23 19:10:03 +02:00
nextlooper42
287f2297c9 Translated using Weblate (Slovak)
Currently translated at 100.0% (543 of 543 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sk/
2025-04-22 01:01:05 +00:00
Gallyam Biktashev
5191966abd Translated using Weblate (Russian)
Currently translated at 100.0% (543 of 543 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ru/
2025-04-21 13:01:05 +00:00
Niels van Velzen
b22d45816e Fix crash in CustomPlaybackOverlayFragment.prepareChannelAdapter when Live TV channels are not loaded 2025-04-21 09:26:26 +02:00
Niels van Velzen
fa83fc1b30 Drop leanback implementation of search 2025-04-21 08:34:15 +02:00
Tanja L.
2a32babc8e Translated using Weblate (German)
Currently translated at 100.0% (543 of 543 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/de/
2025-04-20 14:19:03 +00:00
Pentaphon
6bcc7db97b Translated using Weblate (Spanish (Latin America))
Currently translated at 99.0% (538 of 543 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es_419/
2025-04-20 07:00:08 +00:00
Kityn
1318b9fe7d Translated using Weblate (Polish)
Currently translated at 100.0% (543 of 543 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pl/
2025-04-19 06:25:01 +00:00
Nero
ceb7888907 Translated using Weblate (Spanish)
Currently translated at 99.6% (541 of 543 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es/
2025-04-19 05:16:51 +00:00
Fjuro
055d003625 Translated using Weblate (Czech)
Currently translated at 99.6% (541 of 543 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/cs/
2025-04-18 20:01:04 +00:00
renovate[bot]
e075cd17e9 Update aboutlibraries to v12 2025-04-18 21:50:34 +02:00
Blackspirits
b6a903f94c Translated using Weblate (Portuguese)
Currently translated at 0.9% (5 of 543 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pt/
2025-04-17 17:01:05 +00:00
Blackspirits
a3666d24d1 Translated using Weblate (Portuguese (Portugal))
Currently translated at 99.8% (542 of 543 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pt_PT/
2025-04-17 17:01:04 +00:00
hoanghuy309
10ec88a3df Translated using Weblate (Vietnamese)
Currently translated at 99.8% (542 of 543 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/vi/
2025-04-17 08:57:26 +00:00
無情天
a12666be45 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (543 of 543 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/zh_Hans/
2025-04-16 15:01:04 +00:00
Linards Naglis
a669fee6ab Translated using Weblate (Latvian)
Currently translated at 100.0% (543 of 543 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/lv/
2025-04-16 12:01:05 +00:00
hoanghuy309
00f4798a4a Translated using Weblate (Vietnamese)
Currently translated at 99.6% (541 of 543 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/vi/
2025-04-15 18:01:04 +00:00
myrad2267
86893151ac Translated using Weblate (French)
Currently translated at 100.0% (543 of 543 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fr/
2025-04-15 13:01:04 +00:00
Henning Weiss
5276259c6c Fix watch next row ordering, Change watch next row meta data (#4298)
* Tweaks to watch next row.

- episodes now have meta data in line with other streaming apps
- watch next is now correctly ordered
- movies to resume will now be inserted correctly

* WATCH_NEXT_TYPE_NEW now ordered by item creation date.

* Overview field is retrieved from server.

* Improvements to handling null values in LeanbackChannelWorker.

* Additional null check.

* Style improvements.
2025-04-15 14:57:06 +02:00
Kityn
233174394e Translated using Weblate (Polish)
Currently translated at 100.0% (543 of 543 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pl/
2025-04-15 08:01:04 +00:00
Niels van Velzen
62ef55d49a Also use playback launcher for launching audio 2025-04-14 22:19:12 +02:00
Anonymous
35de3cc8fe Translated using Weblate (Hindi)
Currently translated at 54.3% (295 of 543 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/hi/
2025-04-14 19:17:18 +00:00
Anonymous
eff7d2cf61 Translated using Weblate (Belarusian)
Currently translated at 94.4% (513 of 543 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/be/
2025-04-14 19:17:18 +00:00
Anonymous
f7abba8378 Translated using Weblate (Estonian)
Currently translated at 95.3% (518 of 543 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/et/
2025-04-14 19:17:17 +00:00
Anonymous
45a62c9315 Translated using Weblate (Esperanto)
Currently translated at 60.9% (331 of 543 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/eo/
2025-04-14 19:17:17 +00:00
Anonymous
cf64134114 Translated using Weblate (Arabic)
Currently translated at 92.6% (503 of 543 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ar/
2025-04-14 19:17:17 +00:00
Anonymous
6c7aaab3bc Translated using Weblate (Malayalam)
Currently translated at 36.4% (198 of 543 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ml/
2025-04-14 19:17:17 +00:00
Anonymous
8105daa925 Translated using Weblate (Catalan)
Currently translated at 99.4% (540 of 543 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ca/
2025-04-14 19:17:16 +00:00
Anonymous
1d414e892c Translated using Weblate (Turkish)
Currently translated at 99.4% (540 of 543 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/tr/
2025-04-14 19:17:16 +00:00
Anonymous
795bbbaf63 Translated using Weblate (Vietnamese)
Currently translated at 99.2% (539 of 543 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/vi/
2025-04-14 19:17:16 +00:00
Anonymous
cfa95459db Translated using Weblate (Tamil)
Currently translated at 92.8% (504 of 543 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ta/
2025-04-14 19:17:16 +00:00
Anonymous
014c49f269 Translated using Weblate (Hebrew)
Currently translated at 98.3% (534 of 543 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/he/
2025-04-14 19:17:16 +00:00
Anonymous
a7006a132d Translated using Weblate (Croatian)
Currently translated at 97.7% (531 of 543 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/hr/
2025-04-14 19:17:16 +00:00
Anonymous
e201d3f3aa Translated using Weblate (Spanish (Latin America))
Currently translated at 98.5% (535 of 543 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es_419/
2025-04-14 19:17:15 +00:00
Anonymous
a0d363f0f2 Translated using Weblate (Spanish (Argentina))
Currently translated at 95.0% (516 of 543 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es_AR/
2025-04-14 19:17:15 +00:00
Anonymous
ee91a0e92e Translated using Weblate (Ukrainian)
Currently translated at 97.7% (531 of 543 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/uk/
2025-04-14 19:17:15 +00:00
Anonymous
5194e2e088 Translated using Weblate (Finnish)
Currently translated at 98.8% (537 of 543 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fi/
2025-04-14 19:17:15 +00:00
Anonymous
35ee90cdd3 Translated using Weblate (Lithuanian)
Currently translated at 98.3% (534 of 543 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/lt/
2025-04-14 19:17:15 +00:00
Anonymous
1359200d15 Translated using Weblate (Macedonian)
Currently translated at 90.4% (491 of 543 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/mk/
2025-04-14 19:17:14 +00:00
Anonymous
b9b694d7e2 Translated using Weblate (Polish)
Currently translated at 99.4% (540 of 543 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pl/
2025-04-14 19:17:14 +00:00
Anonymous
901b933477 Translated using Weblate (Serbian)
Currently translated at 57.4% (312 of 543 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sr/
2025-04-14 19:17:14 +00:00
Anonymous
6b96536181 Translated using Weblate (Slovenian)
Currently translated at 98.3% (534 of 543 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sl/
2025-04-14 19:17:14 +00:00
Anonymous
fcbd4c8c4e Translated using Weblate (Hungarian)
Currently translated at 99.4% (540 of 543 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/hu/
2025-04-14 19:17:14 +00:00
Anonymous
5638d876b5 Translated using Weblate (Indonesian)
Currently translated at 91.7% (498 of 543 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/id/
2025-04-14 19:17:14 +00:00
Anonymous
920ce10880 Translated using Weblate (Slovak)
Currently translated at 99.4% (540 of 543 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sk/
2025-04-14 19:17:13 +00:00
Anonymous
cf40474c4d Translated using Weblate (Japanese)
Currently translated at 69.2% (376 of 543 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ja/
2025-04-14 19:17:13 +00:00
Anonymous
9e028cc37c Translated using Weblate (Korean)
Currently translated at 98.7% (536 of 543 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ko/
2025-04-14 19:17:13 +00:00
Anonymous
5c04ea78a1 Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 99.4% (540 of 543 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/zh_Hant/
2025-04-14 19:17:13 +00:00
Anonymous
2fe239f2b2 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 99.4% (540 of 543 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/zh_Hans/
2025-04-14 19:17:13 +00:00
Anonymous
913ea219e9 Translated using Weblate (Swedish)
Currently translated at 98.3% (534 of 543 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sv/
2025-04-14 19:17:13 +00:00
Anonymous
17deb349b5 Translated using Weblate (Russian)
Currently translated at 99.4% (540 of 543 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ru/
2025-04-14 19:17:12 +00:00
Anonymous
2f88c8d978 Translated using Weblate (Romanian)
Currently translated at 99.4% (540 of 543 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ro/
2025-04-14 19:17:12 +00:00
Anonymous
3a3c1a2fa1 Translated using Weblate (Portuguese (Portugal))
Currently translated at 99.4% (540 of 543 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pt_PT/
2025-04-14 19:17:12 +00:00
Anonymous
af936b90a5 Translated using Weblate (Portuguese (Brazil))
Currently translated at 97.4% (529 of 543 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pt_BR/
2025-04-14 19:17:12 +00:00
Bas
0310f0bbfe Translated using Weblate (Dutch)
Currently translated at 99.6% (541 of 543 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nl/
2025-04-14 19:17:12 +00:00
Anonymous
87d3fcabd8 Translated using Weblate (Dutch)
Currently translated at 99.6% (541 of 543 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nl/
2025-04-14 19:17:12 +00:00
Anonymous
a6bb3e99b3 Translated using Weblate (Norwegian Bokmål)
Currently translated at 99.4% (540 of 543 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nb_NO/
2025-04-14 19:17:11 +00:00
Anonymous
31fdacf544 Translated using Weblate (Kazakh)
Currently translated at 60.9% (331 of 543 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/kk/
2025-04-14 19:17:11 +00:00
Anonymous
02ac630dc6 Translated using Weblate (Italian)
Currently translated at 99.4% (540 of 543 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/it/
2025-04-14 19:17:11 +00:00
Anonymous
fe2f4a42ae Translated using Weblate (French)
Currently translated at 99.4% (540 of 543 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fr/
2025-04-14 19:17:11 +00:00
Anonymous
662b2e0db5 Translated using Weblate (Spanish)
Currently translated at 99.4% (540 of 543 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es/
2025-04-14 19:17:10 +00:00
Anonymous
1bfe03bac7 Translated using Weblate (Spanish (Mexico))
Currently translated at 97.9% (532 of 543 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es_MX/
2025-04-14 19:17:10 +00:00
Anonymous
99fd361bcf Translated using Weblate (English (United Kingdom))
Currently translated at 99.4% (540 of 543 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/en_GB/
2025-04-14 19:17:10 +00:00
Anonymous
cae9af69b8 Translated using Weblate (Greek)
Currently translated at 95.2% (517 of 543 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/el/
2025-04-14 19:17:10 +00:00
Anonymous
a2ab9c3663 Translated using Weblate (German)
Currently translated at 99.4% (540 of 543 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/de/
2025-04-14 19:17:10 +00:00
Anonymous
29028fac31 Translated using Weblate (Danish)
Currently translated at 97.9% (532 of 543 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/da/
2025-04-14 19:17:09 +00:00
Anonymous
3632c9ddbb Translated using Weblate (Czech)
Currently translated at 99.4% (540 of 543 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/cs/
2025-04-14 19:17:09 +00:00
Niels van Velzen
f6c0804d82 Add hearing impaired indicator for subtitles (SDH) (#4593)
* Add hearing impaired indicator for subtitles (SDH)

* Show both CC and SDH badges
2025-04-14 20:29:05 +02:00
Niels van Velzen
14f5f5c9b3 Move activity opening out of navigation code (#4591)
* Remove activityDestination

* Rewrite PlaybackLauncher to actually launch playback
2025-04-14 17:35:12 +02:00
renovate[bot]
084061df65 Update androidx.media3 to v1.6.1 2025-04-14 16:30:23 +02:00
Niels van Velzen
3067f07b2e Fix "favorites" playlist not showing when the user has no playlists 2025-04-14 07:14:54 +02:00
DeDuplicate
dcc8c18db6 Translated using Weblate (Hebrew (Israel))
Currently translated at 49.2% (267 of 542 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/he_IL/
2025-04-14 02:01:05 +00:00
renovate[bot]
7a8c2c2bc3 Update CI dependencies 2025-04-13 22:20:37 +02:00
renovate[bot]
14db765b06 Update dependency io.mockk:mockk to v1.14.0 2025-04-13 22:19:39 +02:00
Egglestron
d11340fa4e Translated using Weblate (French)
Currently translated at 100.0% (542 of 542 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fr/
2025-04-13 12:01:04 +00:00
newton181
77214ff064 Translated using Weblate (Spanish (Latin America))
Currently translated at 99.0% (537 of 542 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es_419/
2025-04-10 21:01:04 +00:00
Niels van Velzen
9d87030c1b Do not set audio session to pipeline on create 2025-04-10 21:50:36 +02:00
Niels van Velzen
1574220fb4 Fix experimental audio night mode feature crashing the app 2025-04-10 19:51:21 +02:00
renovate[bot]
b5957625dd Update dependency androidx.core:core-ktx to v1.16.0 2025-04-09 22:30:46 +02:00
renovate[bot]
24e29be72c Update dependency androidx.tvprovider:tvprovider to v1.1.0-beta01 2025-04-09 22:29:04 +02:00
Blackspirits
f9009b1a7c Translated using Weblate (Portuguese)
Currently translated at 0.5% (3 of 542 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pt/
2025-04-08 18:01:03 +00:00
oltanis
32017d1cd0 Added translation using Weblate (Galician) 2025-04-07 12:57:00 +00:00
Fjuro
f380de5d87 Translated using Weblate (Czech)
Currently translated at 100.0% (542 of 542 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/cs/
2025-04-07 12:01:03 +00:00
Valter Vicente
b4a9b978db Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (542 of 542 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pt_PT/
2025-04-06 11:01:03 +00:00
Niels van Velzen
da8f1e1321 Fix time formatting in toolbar, merge duplicate rememberCurrentTime implementations 2025-04-06 07:58:40 +02:00
Niels van Velzen
cd57de5bf4 Fix non-square profile picture in toolbar 2025-04-06 07:58:40 +02:00
renovate[bot]
7636916166 Update dependency org.jellyfin.sdk:jellyfin-core to v1.6.8 2025-04-05 22:00:36 +02:00
Niels van Velzen
545aeed706 Fix tinting of user switch button in HomeToolbar 2025-04-04 22:45:46 +02:00
Niels van Velzen
8ec1fd0650 Add ButtonColors and colorScheme 2025-04-04 22:45:46 +02:00
Niels van Velzen
719de0f787 Rewrite toolbar in compose 2025-04-03 22:35:54 +02:00
Adnan Sönmez
98a96ca635 Translated using Weblate (Turkish)
Currently translated at 100.0% (542 of 542 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/tr/
2025-04-03 03:01:03 +00:00
Niels van Velzen
170d14a107 Use OkHttp for networking in media3 2025-04-02 21:48:52 +02:00
Linards Naglis
11e9d8ceda Translated using Weblate (Latvian)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/lv/
2025-04-02 17:01:04 +00:00
Linards Naglis
7d4eed6989 Translated using Weblate (Latvian)
Currently translated at 100.0% (542 of 542 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/lv/
2025-04-02 17:01:04 +00:00
Linards Naglis
2809d98c13 Translated using Weblate (Latvian)
Currently translated at 72.3% (392 of 542 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/lv/
2025-04-02 14:01:04 +00:00
vahtos
1e67e589e0 Add season and episode numbers for Live TV programs (#4558) 2025-04-01 20:49:54 +02:00
renovate[bot]
db06ff4561 Update koin to v4.0.4 2025-03-31 19:39:59 +02:00
renovate[bot]
885b1e99cc Update dependency org.jellyfin.sdk:jellyfin-core to v1.6.7 2025-03-31 11:31:10 +02:00
Sinahe2
e5f27ce6fc Translated using Weblate (Persian)
Currently translated at 72.5% (393 of 542 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fa/
2025-03-29 11:01:02 +00:00
renovate[bot]
21fe0048b1 Update CI dependencies 2025-03-28 14:20:06 +01:00
renovate[bot]
8fae049a74 Update dependency com.android.tools.build:gradle to v8.9.1 2025-03-28 14:09:40 +01:00
Niels van Velzen
f4bbacec2f Fix some more API calls being made on main thread 2025-03-28 07:10:20 +01:00
Patrick Sletvold
9aa4159d0b Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (542 of 542 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nb_NO/
2025-03-26 23:01:02 +00:00
Niels van Velzen
968a7317db Directplay VobSub and DVDSub 2025-03-26 22:45:24 +01:00
renovate[bot]
2aec7b32fd Update androidx.media3 to v1.6.0 2025-03-26 21:20:45 +01:00
Niels van Velzen
e224e84197 Fix some API calls being made on main thread 2025-03-25 22:12:35 +01:00
Niels van Velzen
a8b5209b5a Fix ItemRowAdapter failures never logged 2025-03-25 21:42:58 +01:00
renovate[bot]
9c02a48152 Update koin to v4.0.3 2025-03-25 19:18:15 +01:00
Niels van Velzen
77d03192b2 Fix missing dependency in playback:jellyfin module 2025-03-25 16:41:12 +01:00
boydaihungst
6daeadeb68 Translated using Weblate (Vietnamese)
Currently translated at 99.8% (541 of 542 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/vi/
2025-03-23 06:01:01 +00:00
Niels van Velzen
6354fc3bcd Fix crash when trying to update detached AudioNowPlayingFragment 2025-03-22 22:13:08 +01:00
Jawad
2960b96e21 Translated using Weblate (Persian)
Currently translated at 71.9% (390 of 542 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fa/
2025-03-20 20:01:01 -04:00
Alejandro Delgado Folgado
70b8a126db Translated using Weblate (Catalan)
Currently translated at 100.0% (542 of 542 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ca/
2025-03-20 09:01:01 -04:00
Alejandro Delgado Folgado
c1267d0356 Translated using Weblate (Spanish)
Currently translated at 100.0% (542 of 542 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es/
2025-03-20 09:01:01 -04:00
Niels van Velzen
0522e3d03b Fix logo in next up too large 2025-03-20 07:11:22 +01:00
renovate[bot]
8bb163f676 Update CI dependencies 2025-03-19 21:33:07 +01:00
Niels van Velzen
5444cad8bd Disable default indication on ButtonBase
Right now we're not providing an indication instance causing Compose to fallback to the default debug indication. Disable indications on the ButtonBase for now until we can provide our own.
2025-03-19 21:29:29 +01:00
Niels van Velzen
9f7ab6c26e Add button_default_progress_background color 2025-03-19 21:29:29 +01:00
Niels van Velzen
f26c997d7d Rewrite NextUpFragment with Compose 2025-03-19 21:29:29 +01:00
Niels van Velzen
6d2bcabee3 Add Button composable 2025-03-19 19:41:50 +01:00
Jonas Engen Larsen
a0f965e78c Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (542 of 542 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nb_NO/
2025-03-17 22:01:01 -04:00
Niels van Velzen
1f55126008 Replace androidx.tv with own theme implementation 2025-03-16 19:54:03 +01:00
HanaO00
160965f50a Translated using Weblate (French)
Currently translated at 100.0% (542 of 542 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fr/
2025-03-14 15:01:01 -04:00
Neokeek
417114c71e Translated using Weblate (German)
Currently translated at 100.0% (542 of 542 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/de/
2025-03-14 15:01:00 -04:00
Le Quellec Christophe
64bde6b788 Translated using Weblate (French)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/fr/
2025-03-12 13:01:00 -04:00
Niels van Velzen
99a8f78623 Add custom connectivity checker for Coil that always claims to be connected 2025-03-11 21:58:52 +01:00
pitiBalrog
aeb2554734 Translated using Weblate (French)
Currently translated at 100.0% (542 of 542 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fr/
2025-03-11 10:01:00 -04:00
Niels van Velzen
6678292fc8 Rewrite media stream resolvers to be device profile based 2025-03-10 19:23:34 +01:00
Niels van Velzen
f0886fccc3 Enable logging for Coil 2025-03-10 17:24:56 +01:00
renovate[bot]
59187429cf Update CI dependencies 2025-03-10 14:28:47 +01:00
hoanghuy309
fe5ff01160 Translated using Weblate (Vietnamese)
Currently translated at 99.2% (538 of 542 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/vi/
2025-03-09 12:38:34 -04:00
laborantine
ae911e6bd5 Translated using Weblate (French)
Currently translated at 98.8% (536 of 542 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fr/
2025-03-08 13:01:18 -05:00
Kevin Puertas
eb884c9498 Translated using Weblate (Spanish)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/es/
2025-03-08 10:01:18 -05:00
Bas
e7800bebe2 Translated using Weblate (Dutch)
Currently translated at 100.0% (542 of 542 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nl/
2025-03-08 10:01:18 -05:00
Kevin Puertas
981d4fc8df Translated using Weblate (Spanish)
Currently translated at 98.5% (534 of 542 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es/
2025-03-08 10:01:18 -05:00
youngzheimer
317bae9eb3 Translated using Weblate (Korean)
Currently translated at 99.2% (538 of 542 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ko/
2025-03-08 07:01:18 -05:00
Blopper Blopstein
376ced9d0b Translated using Weblate (French)
Currently translated at 98.8% (536 of 542 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fr/
2025-03-08 07:01:18 -05:00
hoanghuy309
abfa3cfe06 Translated using Weblate (Vietnamese)
Currently translated at 97.6% (529 of 542 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/vi/
2025-03-08 03:01:18 -05:00
Niels van Velzen
e9d69faf74 Use collapsed detail blocks in device profile report 2025-03-07 21:10:43 +01:00
Niels van Velzen
1bded7a41c Add device codec features 2025-03-07 21:10:43 +01:00
Niels van Velzen
088461598b Add color formats and profile levels to device profile report 2025-03-07 21:10:43 +01:00
Kaue Lima
cdafe5e086 Added translation using Weblate (Portuguese) 2025-03-07 11:20:55 -05:00
Bas
8014a8c646 Translated using Weblate (Dutch)
Currently translated at 100.0% (542 of 542 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nl/
2025-03-06 16:01:18 -05:00
millallo
479433093a Translated using Weblate (Italian)
Currently translated at 100.0% (542 of 542 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/it/
2025-03-06 11:01:18 -05:00
hoanghuy309
7719148355 Translated using Weblate (Vietnamese)
Currently translated at 96.1% (521 of 542 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/vi/
2025-03-06 04:01:18 -05:00
renovate[bot]
6ca9aedcc8 Update dependency com.android.tools.build:gradle to v8.9.0 2025-03-04 21:50:34 +01:00
Zilvinas
83a2e22a2c Translated using Weblate (Lithuanian)
Currently translated at 98.8% (536 of 542 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/lt/
2025-03-03 14:01:18 -05:00
Sonik H
822102e351 Translated using Weblate (Greek)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/el/
2025-03-03 07:01:18 -05:00
hyperjoco
828d34dc15 Translated using Weblate (Hungarian)
Currently translated at 100.0% (542 of 542 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/hu/
2025-03-03 07:01:17 -05:00
Sonik H
377c7c200f Translated using Weblate (Greek)
Currently translated at 95.7% (519 of 542 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/el/
2025-03-03 07:01:17 -05:00
Niels van Velzen
a4d8295ecd Fix filtering not working in collections view (v2) 2025-03-03 08:47:13 +01:00
Niels van Velzen
71a205dc5a Revert "Fix filtering not working in collections view"
This reverts commit 27c430e864.
2025-03-02 20:50:07 +01:00
azumukupoe
a925f4196e Translated using Weblate (Japanese)
Currently translated at 69.3% (376 of 542 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ja/
2025-03-02 05:14:04 -05:00
azumukupoe
da967f312d Translated using Weblate (Japanese)
Currently translated at 69.1% (375 of 542 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ja/
2025-03-02 05:04:30 -05:00
Weblate
a1e3609af8 Update translation files
Updated by "Remove blank strings" hook in Weblate.

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/
2025-03-02 04:45:56 -05:00
azumukupoe
24bca378f6 Translated using Weblate (Japanese)
Currently translated at 68.2% (370 of 542 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ja/
2025-03-02 04:45:54 -05:00
Blackspirits
390e9f85a2 Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (542 of 542 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pt_PT/
2025-03-02 04:45:54 -05:00
Blackspirits
4702f2f1a4 Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (542 of 542 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pt_PT/
2025-03-02 04:15:35 -05:00
Gallyam Biktashev
8b60168c85 Translated using Weblate (Russian)
Currently translated at 100.0% (542 of 542 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ru/
2025-03-01 20:56:30 -05:00
AfmanS
e404f93b20 Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (542 of 542 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pt_PT/
2025-03-01 03:45:58 -05:00
nextlooper42
86595aa792 Translated using Weblate (Slovak)
Currently translated at 100.0% (542 of 542 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sk/
2025-02-28 18:13:42 -05:00
renovate[bot]
62c4047487 Update dependency io.mockk:mockk to v1.13.17 2025-02-28 22:39:16 +01:00
Niels van Velzen
612f074bb5 Fix crash when switching subtitle track to non existent index 2025-02-28 22:23:03 +01:00
Niels van Velzen
27c430e864 Fix filtering not working in collections view 2025-02-28 22:22:53 +01:00
John Doe
611954fc6d Translated using Weblate (Finnish)
Currently translated at 99.4% (539 of 542 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fi/
2025-02-28 00:19:21 -05:00
Gabriel S
a2cf0b61ec Translated using Weblate (Romanian)
Currently translated at 100.0% (542 of 542 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ro/
2025-02-27 17:30:36 -05:00
Gabriel S
989110c78b Translated using Weblate (Romanian)
Currently translated at 98.7% (535 of 542 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ro/
2025-02-27 16:36:38 -05:00
Gabriel S
05f6582f11 Translated using Weblate (Romanian)
Currently translated at 96.4% (523 of 542 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ro/
2025-02-27 16:13:18 -05:00
Gabriel S
4ac482db9a Translated using Weblate (Romanian)
Currently translated at 96.3% (522 of 542 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ro/
2025-02-27 16:10:49 -05:00
Gabriel S
42efa9d780 Translated using Weblate (Romanian)
Currently translated at 95.7% (519 of 542 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ro/
2025-02-27 16:06:54 -05:00
Gabriel S
04adefc15e Translated using Weblate (Romanian)
Currently translated at 94.4% (512 of 542 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ro/
2025-02-27 15:53:26 -05:00
Gabriel S
6bc2b9621c Translated using Weblate (Romanian)
Currently translated at 93.9% (509 of 542 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ro/
2025-02-27 15:44:25 -05:00
felix920506
6355cd8815 Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 100.0% (542 of 542 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/zh_Hant/
2025-02-27 15:36:43 -05:00
felix920506
029255c735 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (542 of 542 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/zh_Hans/
2025-02-27 15:36:42 -05:00
Gabriel S
69567f4d79 Translated using Weblate (Romanian)
Currently translated at 93.1% (505 of 542 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ro/
2025-02-27 15:36:42 -05:00
Gabriel S
c7b1280516 Translated using Weblate (Romanian)
Currently translated at 91.8% (498 of 542 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ro/
2025-02-27 15:21:43 -05:00
Gabriel S
39b31478a3 Translated using Weblate (Romanian)
Currently translated at 91.6% (497 of 542 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ro/
2025-02-27 15:13:50 -05:00
Gabriel S
18e7aae9df Translated using Weblate (Romanian)
Currently translated at 89.8% (487 of 542 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ro/
2025-02-27 14:57:27 -05:00
Andi Chandler
47e90c8a60 Translated using Weblate (English (United Kingdom))
Currently translated at 100.0% (542 of 542 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/en_GB/
2025-02-27 14:02:16 -05:00
Kityn
87bfd65f58 Translated using Weblate (Polish)
Currently translated at 100.0% (542 of 542 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pl/
2025-02-27 01:09:36 -05:00
Bas
1d982994ee Translated using Weblate (Dutch)
Currently translated at 100.0% (542 of 542 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nl/
2025-02-26 15:42:07 -05:00
renovate[bot]
3aabf11bb0 Update dependency androidx.constraintlayout:constraintlayout to v2.2.1 2025-02-26 20:52:29 +01:00
Niels van Velzen
5ae05c1270 Add button to report device profile to server for troubleshooting 2025-02-26 20:46:28 +01:00
renovate[bot]
1fdbce3d69 Update dependency com.android.tools.build:gradle to v8.8.2 2025-02-26 19:29:00 +01:00
renovate[bot]
c12d01b1ac Update dependency androidx.activity:activity to v1.10.1 2025-02-26 19:28:43 +01:00
Lukas Fichtner
2a49b8ba50 fix progress time calculation 2025-02-26 19:21:23 +01:00
millallo
f855c1ae8d Translated using Weblate (Italian)
Currently translated at 100.0% (537 of 537 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/it/
2025-02-26 05:01:17 -05:00
Niels van Velzen
a70662d89f Use color type in OptionsColorList 2025-02-25 22:06:33 +01:00
Niels van Velzen
1a711efc81 Use media3 MimeTypes in deviceProfile
The AV1 constant in MediaFormat is not available in older API levels, use the media3 constants instead
2025-02-25 22:06:25 +01:00
Marco Ferrari
68d8b1163c fix: set max resolution for common video codecs
Instead of relying on the max resolution for the H264 codec decoder as a
global setting when computing device capabilities, set the max supported
resolution for the most common video codecs by querying the decoder.

Video codecs that support this are: AVC (H264), HEVC (H265), AV1.

This change avoids unnecessary transcodings because, on some devices,
the AVC decoder might support a lower maximum resolution compared to
other decoders that the device supports. For example, if the AVC decoder
supports up to 2K resolution decoding, and the HEVC supports up to 4K
resolution decoding, Jellyfin would have transcoded a 4K HEVC media
stream.
2025-02-25 17:26:57 +01:00
Andi Chandler
c8ebcd2407 Translated using Weblate (English (United Kingdom))
Currently translated at 100.0% (537 of 537 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/en_GB/
2025-02-25 10:01:17 -05:00
renovate[bot]
03b577d228 Update dependency com.android.tools:desugar_jdk_libs to v2.1.5 2025-02-25 11:43:27 +01:00
renovate[bot]
6d4a342fac Update dependency gradle to v8.13 2025-02-25 11:37:42 +01:00
Kityn
a994f8ab66 Translated using Weblate (Polish)
Currently translated at 100.0% (537 of 537 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pl/
2025-02-25 04:01:17 -05:00
Blackspirits
e2ac09b168 Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (537 of 537 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pt_PT/
2025-02-25 04:01:17 -05:00
Bas
9643aa93ae Translated using Weblate (Dutch)
Currently translated at 100.0% (537 of 537 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nl/
2025-02-24 19:01:17 -05:00
OwOchlé
3c62490471 Subtitles background opacity (#4423)
* feat: added subtitles background opacity option

* feat: merged opacity and background color settings

* chore: cleared unused imports
2025-02-24 21:58:55 +01:00
renovate[bot]
aa64fc504f Update CI dependencies 2025-02-23 21:39:11 +01:00
renovate[bot]
4aa54f8e1f Update dependency io.gitlab.arturbosch.detekt to v1.23.8 2025-02-23 21:38:59 +01:00
HanaO00
a874991831 Translated using Weblate (French)
Currently translated at 100.0% (536 of 536 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fr/
2025-02-21 11:01:17 -05:00
Serhii Romanov
f0e4ad050f Translated using Weblate (Ukrainian)
Currently translated at 99.4% (533 of 536 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/uk/
2025-02-20 10:01:17 -05:00
Serhii Romanov
4dc36c506d Translated using Weblate (Ukrainian)
Currently translated at 98.8% (530 of 536 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/uk/
2025-02-20 07:01:17 -05:00
naokiiida
b18a642fd6 Translated using Weblate (Japanese)
Currently translated at 69.2% (371 of 536 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ja/
2025-02-20 07:01:17 -05:00
Ronan Fitzgerald
51604826ff Translated using Weblate (English (United Kingdom))
Currently translated at 100.0% (536 of 536 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/en_GB/
2025-02-19 18:01:17 -05:00
renovate[bot]
ea0c55811b Update appleboy/ssh-action action to v1.2.1 2025-02-19 19:14:34 +01:00
renovate[bot]
848adb3e9b Update aboutlibraries to v11.6.3 2025-02-19 19:14:16 +01:00
Niels van Velzen
55565901d1 Use getSubtitleUrl in ExternalPlayerActivity 2025-02-17 11:04:37 +01:00
renovate[bot]
734dc04f35 Update dependency org.jellyfin.sdk:jellyfin-core to v1.6.6 2025-02-17 11:04:37 +01:00
Niels van Velzen
e696f3f944 Remove aboutLibraries config (now default) 2025-02-16 21:32:57 +01:00
renovate[bot]
6eeddba9d6 Update aboutlibraries to v11.6.2 2025-02-16 21:32:57 +01:00
renovate[bot]
fda68f4aab Update CI dependencies 2025-02-16 21:31:17 +01:00
Command
5826984ff9 Translated using Weblate (Hebrew (Israel))
Currently translated at 11.5% (62 of 536 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/he_IL/
2025-02-16 11:01:17 -05:00
Niels van Velzen
bc6336c376 Remove org.jellyfin.apiclient dependency 2025-02-13 21:57:52 +01:00
Niels van Velzen
1ed6611b7d Replace Response<T> usages with local type 2025-02-13 21:57:52 +01:00
Niels van Velzen
a4d2f0a030 Remove ModelCompat 2025-02-13 21:57:52 +01:00
Niels van Velzen
d189178d46 Remove Java ApiClient instance 2025-02-13 21:57:52 +01:00
renovate[bot]
38372a5f6b Update dependency com.android.tools.build:gradle to v8.8.1 2025-02-13 21:13:47 +01:00
Niels van Velzen
e33d85c4ff Rewrite PlaybackManager with SDK 2025-02-13 21:09:06 +01:00
renovate[bot]
40e0b98964 Update dependency androidx.compose.ui:ui-tooling to v1.7.8 2025-02-12 22:15:21 +01:00
renovate[bot]
47304e3f96 Update dependency androidx.compose.foundation:foundation to v1.7.8 2025-02-12 19:25:06 +01:00
renovate[bot]
6160d5c789 Update androidx.fragment to v1.8.6 2025-02-12 19:24:54 +01:00
Niels van Velzen
9fc1efb35d Decouple external video playback from internal playback code (#4438)
* Decouple ExternalPlayerActivity from playback code

* Add external subtitle support

* Automatically play next video queue item

* Fix resume & position report

* Fix VLC forced to play from start
2025-02-12 19:16:32 +01:00
renovate[bot]
6418140797 Update coil to v3.1.0 2025-02-05 09:27:36 +01:00
Toyo
8346adba34 Translated using Weblate (Spanish (Argentina))
Currently translated at 96.6% (518 of 536 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es_AR/
2025-01-30 01:01:17 -05:00
renovate[bot]
75d8b3e2c7 Update dependency androidx.compose.foundation:foundation to v1.7.7 2025-01-29 20:04:35 +01:00
renovate[bot]
0d5369dc4c Update CI dependencies 2025-01-29 20:01:21 +01:00
renovate[bot]
28864231c6 Update dependency androidx.compose.ui:ui-tooling to v1.7.7 2025-01-29 20:00:58 +01:00
Niels van Velzen
c0422547d3 Update reported client name 2025-01-29 20:00:45 +01:00
Keaahu
4c51b935cc Translated using Weblate (French)
Currently translated at 100.0% (536 of 536 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fr/
2025-01-28 08:01:16 -05:00
Resistive
abe7225079 Translated using Weblate (Russian)
Currently translated at 99.6% (534 of 536 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ru/
2025-01-26 17:01:16 -05:00
renovate[bot]
9882ffb7b7 Update dependency org.jellyfin.sdk:jellyfin-core to v1.6.5 2025-01-26 19:21:00 +01:00
renovate[bot]
5d551f3cfa Update dependency com.android.tools.build:gradle to v8.8.0 2025-01-24 20:07:17 +01:00
renovate[bot]
e4cbe2ae3a Update CI dependencies 2025-01-24 20:04:45 +01:00
renovate[bot]
7de76927ee Update dependency gradle to v8.12.1 2025-01-24 20:04:24 +01:00
renovate[bot]
1a3b9bfb34 Update koin to v4.0.2 2025-01-24 20:04:15 +01:00
Dominik
80bbe8f6ff Translated using Weblate (Slovenian)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/sl/
2025-01-24 10:01:16 -05:00
Dominik
b6fc1210dd Translated using Weblate (Slovenian)
Currently translated at 100.0% (536 of 536 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sl/
2025-01-23 11:01:16 -05:00
renovate[bot]
db7d7f9993 Update dependency org.jellyfin.sdk:jellyfin-core to v1.6.4 2025-01-22 22:52:13 +01:00
Aleksandar Petrov
b540f29197 Translated using Weblate (Bulgarian)
Currently translated at 34.7% (186 of 536 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/bg/
2025-01-19 12:01:15 -05:00
dtrexler
bbb82ddc12 Fix codec keys in new playback module (#4411)
* Fix codec names in mime type maps

* Update CONTRIBUTORS.md
2025-01-19 15:02:59 +00:00
renovate[bot]
6d2778cd7a Update aboutlibraries to v11.4.0 2025-01-18 18:59:31 +01:00
renovate[bot]
2ff7f1f0ac Update dependency io.mockk:mockk to v1.13.16 2025-01-18 18:59:08 +01:00
renovate[bot]
556b215920 Update CI dependencies 2025-01-18 18:58:54 +01:00
smarthome-abc
f6f324cfa9 Trust user added CA certificates (#4397)
* Update AndroidManifest.xml

* Create network_security_config.xml

* Allow user CA certs: Fix PR lint issues

* Allow user CA certs: Add a new line

---------

Co-authored-by: ABC <ABC@Macbook.local>
2025-01-17 20:18:56 +01:00
newton181
fe8399a36d Translated using Weblate (Spanish (Latin America))
Currently translated at 100.0% (536 of 536 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es_419/
2025-01-16 18:01:15 -05:00
renovate[bot]
35b17af75b Update dependency androidx.activity:activity to v1.10.0 2025-01-15 20:09:11 +01:00
renovate[bot]
1a35df92eb Update dependency androidx.recyclerview:recyclerview to v1.4.0 2025-01-15 20:08:59 +01:00
coldwlan
1457e9c089 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (536 of 536 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/zh_Hans/
2025-01-15 03:01:16 -05:00
warkurre86
67b80043e5 Translated using Weblate (Czech)
Currently translated at 100.0% (536 of 536 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/cs/
2025-01-14 11:01:15 -05:00
Pere
63d30ebf20 Translated using Weblate (Catalan)
Currently translated at 100.0% (536 of 536 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ca/
2025-01-07 09:01:15 -05:00
Dockey
ba39c2307b Translated using Weblate (Swedish)
Currently translated at 100.0% (536 of 536 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sv/
2025-01-07 09:01:15 -05:00
Kachelkaiser
fb5b4d78ba Translated using Weblate (German)
Currently translated at 99.8% (535 of 536 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/de/
2025-01-07 06:01:15 -05:00
Niels van Velzen
54a70e9e69 Fix crash when favoriting Live TV program while loading additional channels in the guide 2025-01-05 22:12:03 +01:00
Henning Weiss
3c315be080 Run LeanbackHelper onStop() to refresh home screen (#4347)
* Run LeanbackHelper onPause() to refresh home screen.

* Moved Leanback worker call to onStop().

* Moved workManager to class property.
2025-01-05 15:56:38 +01:00
BotBlake
e3c47b8500 update issue forms (#4369)
* update versions

* add before-posting checkboxes

* fix indents 🗿

* add headlines to playback report

* add 'other' to playback issue form

* fix indent (again) 🗿

* update bug-report issue form

* update issue forms

* shorten placeholders

* adress review

* rephrase issue forms
2025-01-05 15:56:08 +01:00
Niels van Velzen
38aa2f1cb3 Prevent seeking from crashing app if video info is not initialized yet 2025-01-03 22:38:32 +01:00
Catherine Gilbert
d91d873c61 Dismiss playback actions popups on fragment detach (#4365)
* Dismiss playback actions popups on fragment detach

* Update CONTRIBUTORS.md
2025-01-03 22:06:33 +01:00
Niels van Velzen
b6b2c0335f Fix unable to focus toolbar in item details screen 2025-01-03 22:04:54 +01:00
Niels van Velzen
eb8d7f8392 Fix unable to focus toolbar in server selection screen 2025-01-03 22:04:54 +01:00
vasapol
9ebbaa5bb4 Translated using Weblate (Thai)
Currently translated at 40.6% (218 of 536 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/th/
2025-01-03 15:01:15 -05:00
RedDot
e1e6ffdfcb Translated using Weblate (French)
Currently translated at 100.0% (536 of 536 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fr/
2025-01-03 15:01:15 -05:00
hyperjoco
1a9bb5d061 Translated using Weblate (Hungarian)
Currently translated at 100.0% (536 of 536 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/hu/
2025-01-03 07:01:15 -05:00
Roi Gabay
67c545152b Translated using Weblate (Hebrew)
Currently translated at 100.0% (536 of 536 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/he/
2025-01-02 17:01:15 -05:00
John Doe
da78cf4a2f Translated using Weblate (Finnish)
Currently translated at 100.0% (536 of 536 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fi/
2025-01-02 08:01:15 -05:00
BromTeque
c2cbd1c925 Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (536 of 536 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nb_NO/
2025-01-01 20:01:15 -05:00
bene toffix
f2b6bda258 Translated using Weblate (Catalan)
Currently translated at 100.0% (536 of 536 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ca/
2024-12-31 14:01:15 -05:00
Niels van Velzen
c86573b671 Fix app crashing when playback reporting fails 2024-12-31 17:27:04 +01:00
Niels van Velzen
3385058775 Fix Live TV fail-over not working 2024-12-30 22:18:34 +01:00
Diogo Dinis
abf32626ac Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (536 of 536 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pt_PT/
2024-12-30 10:01:15 -05:00
Ilias Theodoopoulos
40f4682f17 Translated using Weblate (Greek)
Currently translated at 96.2% (516 of 536 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/el/
2024-12-30 10:01:15 -05:00
Niels van Velzen
a0e9bd73c4 Replace Icons.Default.Done with ic_check in ConnectHelpAlertFragment 2024-12-30 09:04:56 +01:00
millallo
0f00a8fad9 Translated using Weblate (Italian)
Currently translated at 100.0% (536 of 536 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/it/
2024-12-29 20:01:15 -05:00
Pere
d86b9c177a Translated using Weblate (Catalan)
Currently translated at 98.1% (526 of 536 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ca/
2024-12-29 17:01:15 -05:00
nextlooper42
0970c88338 Translated using Weblate (Slovak)
Currently translated at 100.0% (536 of 536 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sk/
2024-12-29 13:01:15 -05:00
Kityn
72c888cf21 Translated using Weblate (Polish)
Currently translated at 100.0% (536 of 536 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pl/
2024-12-28 18:01:15 -05:00
Niels van Velzen
0533d54bbd Enable audio focus for music playback 2024-12-28 23:12:33 +01:00
Bas
f26a1e49e4 Translated using Weblate (Dutch)
Currently translated at 100.0% (536 of 536 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nl/
2024-12-28 12:01:14 -05:00
Niels van Velzen
832ab68777 Centralize requested item fields 2024-12-28 15:22:05 +01:00
Weblate
7e6f88e33f Update translation files
Updated by "Cleanup translation files" hook in Weblate.

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/
2024-12-28 09:21:54 -05:00
dtrexler
518200028f Use string formatting for media runtime display 2024-12-28 15:21:50 +01:00
dtrexler
2fa7753e91 Update runtime display to be consistent with web client 2024-12-28 15:21:50 +01:00
Niels van Velzen
df2aeeac75 Infer subtitle codec from delivery URL 2024-12-25 10:33:34 +01:00
Niels van Velzen
d349b79665 Fix crash when starting progress report loop without active stream in video player 2024-12-24 14:00:18 +01:00
renovate[bot]
dae017c970 Update koin to v4.0.1 2024-12-23 17:25:11 +01:00
renovate[bot]
3323442cdd Update github/codeql-action action to v3.28.0 2024-12-23 17:24:06 +01:00
renovate[bot]
f098472827 Update dependency io.insert-koin:koin-androidx-compose to v4.0.1 2024-12-23 17:21:45 +01:00
Niels van Velzen
1adb9b08d7 Use private entry index in QueueService 2024-12-21 21:29:40 +01:00
Niels van Velzen
c18a68a54d Fix repeat mode not working 2024-12-21 21:29:40 +01:00
Niels van Velzen
f95f3d4637 Fix music play action not working after queue has ended 2024-12-21 21:29:33 +01:00
Niels van Velzen
8b2d398942 Fix QueueService.getNextIndices returning one item too many when using REPEAT_ENTRY_ONCE 2024-12-21 09:47:22 +01:00
Niels van Velzen
eb7fd833b0 Prevent AudioNowPlayingFragment from showing without active queue 2024-12-21 09:47:16 +01:00
Niels van Velzen
25e79e939e Fix QueueService.next not respecting usePlaybackOrder and useRepeatMode properly 2024-12-21 09:47:04 +01:00
Niels van Velzen
5547bbc468 Fix useNextIndex never removing first element in ShuffleOrderIndexProvider and RandomOrderIndexProvider 2024-12-21 09:47:04 +01:00
Niels van Velzen
e87e96e9e3 Fix UI audio queue order when shuffling 2024-12-21 09:46:57 +01:00
renovate[bot]
4ebb45b565 Update dependency io.mockk:mockk to v1.13.14 2024-12-20 19:31:16 +01:00
renovate[bot]
ed9dd720c1 Update dependency gradle to v8.12 2024-12-20 19:30:59 +01:00
renovate[bot]
6565059de6 Update dependency com.android.tools:desugar_jdk_libs to v2.1.4 2024-12-20 13:23:23 +01:00
renovate[bot]
7fee15f2cd Update CI dependencies 2024-12-19 21:50:49 +01:00
renovate[bot]
9b9c37937b Update androidx.media3 to v1.5.1 2024-12-19 21:50:31 +01:00
stanol
4b7779ade6 Translated using Weblate (Ukrainian)
Currently translated at 98.5% (527 of 535 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/uk/
2024-12-19 08:57:45 -05:00
Niels van Velzen
25db7d5286 Fix external subtitles not added to external player 2024-12-19 08:54:24 +01:00
DJAlone1992
2c5f17a0f4 Translated using Weblate (Russian)
Currently translated at 99.6% (533 of 535 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ru/
2024-12-18 21:01:14 -05:00
wxwrn
8e34d96832 Translated using Weblate (Slovenian)
Currently translated at 95.1% (509 of 535 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sl/
2024-12-17 12:51:14 -05:00
shape93
933e00fadf Translated using Weblate (Italian)
Currently translated at 100.0% (535 of 535 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/it/
2024-12-17 06:01:14 -05:00
renovate[bot]
3126762c58 Update dependency androidx.work:work-runtime to v2.10.0 2024-12-13 22:25:58 +01:00
renovate[bot]
eaa7a4274b Update dependency androidx.core:core-ktx to v1.15.0 2024-12-13 22:25:37 +01:00
renovate[bot]
81050c208b Update github/codeql-action action to v3.27.9 2024-12-13 22:21:23 +01:00
Niels van Velzen
dd380ee7d7 Update androidx.media3 to 1.5.0 2024-12-13 22:20:52 +01:00
Niels van Velzen
bb7851beb1 Fix new linter issues 2024-12-13 22:16:21 +01:00
Niels van Velzen
458baabe93 Use Android SDK 35 (Android 15) 2024-12-13 22:16:21 +01:00
John Doe
93f71a776d Translated using Weblate (Finnish)
Currently translated at 100.0% (535 of 535 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fi/
2024-12-13 09:01:14 -05:00
stanol
20d8cb5ee1 Translated using Weblate (Ukrainian)
Currently translated at 97.5% (522 of 535 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/uk/
2024-12-12 17:01:14 -05:00
renovate[bot]
141e0b7539 Update dependency androidx.compose.ui:ui-tooling to v1.7.6 2024-12-11 21:30:48 +01:00
renovate[bot]
490d2276d3 Update github/codeql-action action to v3.27.7 2024-12-11 21:27:50 +01:00
renovate[bot]
62c1062d8f Update dependency androidx.compose.foundation:foundation to v1.7.6 2024-12-11 21:27:27 +01:00
luizfern12
f8919ec5df Translated using Weblate (Portuguese (Brazil))
Currently translated at 99.4% (532 of 535 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pt_BR/
2024-12-09 15:01:14 -05:00
Marek Pavelka
dc6e861ad7 Translated using Weblate (Czech)
Currently translated at 100.0% (535 of 535 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/cs/
2024-12-08 09:01:13 -05:00
Marek Pavelka
c2988afb7e Translated using Weblate (Czech)
Currently translated at 100.0% (535 of 535 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/cs/
2024-12-08 06:01:14 -05:00
queeup
1c08735ffd Translated using Weblate (Turkish)
Currently translated at 100.0% (535 of 535 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/tr/
2024-12-07 11:01:13 -05:00
queeup
c9144fc82f Translated using Weblate (Turkish)
Currently translated at 100.0% (535 of 535 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/tr/
2024-12-07 07:01:14 -05:00
newton181
ae1362e694 Translated using Weblate (Spanish (Mexico))
Currently translated at 100.0% (535 of 535 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es_MX/
2024-12-06 19:00:03 -05:00
Niels van Velzen
c62c0511a4 Always call notifyInteraction on navigation 2024-12-06 21:46:38 +01:00
Niels van Velzen
f37036faf2 Make playbackController reference optional in ReportingHelper 2024-12-05 22:25:50 +01:00
Niels van Velzen
b600484b19 Fix ItemRowAdapterHelper.refreshItem using wrong thread when invoking callback 2024-12-05 21:52:49 +01:00
renovate[bot]
f4bd3afd1b Update github/codeql-action action to v3.27.6 2024-12-05 17:08:28 +01:00
Niels van Velzen
006a6d008f Fix crash when trying to report playback progress when there is no current stream 2024-12-05 17:06:10 +01:00
Niels van Velzen
2fea54658e Fix crash when viewing audio now playing while using Emerald theme 2024-12-05 17:05:59 +01:00
Niels van Velzen
33f11515c9 Fix crash when restoring DestinationFragmentView state 2024-12-05 17:05:50 +01:00
lanklaas
f4a291f38c Translated using Weblate (Afrikaans)
Currently translated at 1.6% (9 of 535 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/af/
2024-12-05 04:00:03 -05:00
lanklaas
eff17801bd Added translation using Weblate (Afrikaans) 2024-12-05 01:16:16 -05:00
YFDOOR
5eabe9f43d Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (535 of 535 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/zh_Hans/
2024-12-03 21:00:02 -05:00
John Doe
5c3d296580 Translated using Weblate (Finnish)
Currently translated at 99.6% (533 of 535 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fi/
2024-12-03 16:00:03 -05:00
renovate[bot]
b3068e52f7 Update dependency com.android.tools.build:gradle to v8.7.3 2024-12-02 22:09:07 +01:00
Benedict Endemann
33d24175aa Translated using Weblate (German)
Currently translated at 100.0% (535 of 535 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/de/
2024-12-01 18:00:02 -05:00
Niels van Velzen
79a97c3f4a Specify fields in resumePlayback() API request 2024-11-29 21:19:08 +01:00
John Doe
e60c2a49de Translated using Weblate (Finnish)
Currently translated at 95.3% (510 of 535 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fi/
2024-11-29 01:00:02 -05:00
Aidas
952a53a54b Translated using Weblate (Lithuanian)
Currently translated at 79.4% (425 of 535 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/lt/
2024-11-28 17:00:02 -05:00
Aidas
1ec062fcd4 Translated using Weblate (Lithuanian)
Currently translated at 79.2% (424 of 535 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/lt/
2024-11-27 18:00:01 -05:00
HanaO00
f90ef25386 Translated using Weblate (French)
Currently translated at 100.0% (535 of 535 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fr/
2024-11-27 13:00:01 -05:00
Aidas
c734f30bd9 Translated using Weblate (Lithuanian)
Currently translated at 79.0% (423 of 535 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/lt/
2024-11-27 04:00:02 -05:00
Aidas
d16615796d Translated using Weblate (Lithuanian)
Currently translated at 77.7% (416 of 535 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/lt/
2024-11-26 14:00:02 -05:00
Simon Hung
a37995f770 Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 100.0% (535 of 535 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/zh_Hant/
2024-11-26 14:00:01 -05:00
Thunderstrike116
9e45391850 Translated using Weblate (Greek)
Currently translated at 96.2% (515 of 535 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/el/
2024-11-26 14:00:01 -05:00
Aidas
3a4a4ada1c Translated using Weblate (Lithuanian)
Currently translated at 76.6% (410 of 535 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/lt/
2024-11-26 11:18:31 -05:00
renovate[bot]
1caaf3de67 Update coil to v3.0.4 2024-11-26 08:38:56 +01:00
Andi Chandler
4928d26d8b Translated using Weblate (English (United Kingdom))
Currently translated at 100.0% (535 of 535 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/en_GB/
2024-11-25 11:00:01 -05:00
xephos1one
82089d2734 Translated using Weblate (German)
Currently translated at 100.0% (535 of 535 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/de/
2024-11-22 09:00:01 -05:00
renovate[bot]
b16f4b8667 Update dependency gradle to v8.11.1 2024-11-20 19:35:48 +01:00
renovate[bot]
50088ef5cd Update github/codeql-action action to v3.27.5 2024-11-20 19:35:02 +01:00
Justin
57b918433f Translated using Weblate (German)
Currently translated at 100.0% (535 of 535 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/de/
2024-11-19 19:00:01 -05:00
Niels van Velzen
8c2caf627f Update dependency org.jellyfin.sdk:jellyfin-core to v1.6.3 2024-11-19 16:04:19 +01:00
Muhammad Zufar
b2711084c7 Translated using Weblate (Indonesian)
Currently translated at 93.6% (501 of 535 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/id/
2024-11-19 10:00:01 -05:00
Ace
7807bb32f2 Translated using Weblate (Swedish)
Currently translated at 100.0% (535 of 535 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sv/
2024-11-18 18:00:01 -05:00
renovate[bot]
2218246478 Update gradle/actions action to v4.2.1 2024-11-18 21:59:13 +01:00
Andi Chandler
0ec4d4e4bf Translated using Weblate (English (United Kingdom))
Currently translated at 99.8% (534 of 535 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/en_GB/
2024-11-17 19:00:01 -05:00
koreapyj
1a95759d59 Translated using Weblate (Korean)
Currently translated at 99.6% (533 of 535 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ko/
2024-11-17 05:00:01 -05:00
renovate[bot]
e83cef2b26 Update appleboy/ssh-action action to v1.2.0 2024-11-17 09:26:51 +01:00
renovate[bot]
b876c4b782 Update dependency org.jellyfin.sdk:jellyfin-core to v1.6.2 2024-11-17 09:26:15 +01:00
Niels van Velzen
300346feb8 Reset queue index on end
With this change the queue index will always reset to -1 (INDEX_NONE) once the last item in the queue ends instead of leaving the last queue item active. This solves various issues in the UI (like the screensaver) where it keeps showing the last item when nothing is playing
2024-11-16 20:26:34 +01:00
Niels van Velzen
ee1403aaad Fix audio now playing screen always showing "1 of x" instead of the actual queue position 2024-11-15 19:37:17 +01:00
renovate[bot]
a572710fd7 Update dependency io.coil-kt.coil3:coil-gif to v3.0.3 2024-11-15 19:33:38 +01:00
Niels van Velzen
003b4148cf Fix background of album in now playing screen when lyrics are displaying 2024-11-15 07:30:12 +01:00
newton181
52d844e281 Translated using Weblate (Spanish (Latin America))
Currently translated at 100.0% (535 of 535 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es_419/
2024-11-14 15:00:01 -05:00
newton181
f7994d0e38 Translated using Weblate (Spanish)
Currently translated at 100.0% (535 of 535 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es/
2024-11-14 15:00:00 -05:00
Niels van Velzen
ea33799059 Refactor subtitle profiles to be more readable 2024-11-14 20:06:14 +01:00
MichaelR416
487104fdf8 Really never load PGS externally 2024-11-14 19:21:40 +01:00
renovate[bot]
59b4bac902 Update CI dependencies 2024-11-14 19:20:23 +01:00
newton181
67467ec0ed Translated using Weblate (Spanish)
Currently translated at 100.0% (535 of 535 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es/
2024-11-13 22:00:00 -05:00
nextlooper42
307bad3ecc Translated using Weblate (Slovak)
Currently translated at 100.0% (535 of 535 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sk/
2024-11-12 21:00:00 -05:00
Martin
93227bd5b0 Translated using Weblate (Czech)
Currently translated at 99.2% (531 of 535 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/cs/
2024-11-12 15:00:00 -05:00
Niels van Velzen
6bb5055136 Fix player UI not hiding automatically 2024-11-12 16:44:30 +01:00
Niels van Velzen
3e059e5857 Never load PGS externally 2024-11-12 16:22:27 +01:00
Niels van Velzen
2ba2b70b85 Use relative index matching for subtitle selection 2024-11-12 15:59:39 +01:00
renovate[bot]
9732b3a232 Update dependency gradle to v8.11 2024-11-12 13:16:12 +01:00
renovate[bot]
af52c4d2d0 Update github/codeql-action action to v3.27.2 2024-11-12 13:15:06 +01:00
Niels van Velzen
169d094471 Fix skipping to end of video reports wrong end time 2024-11-12 09:02:39 +01:00
jh
87e4e7e0ee Translated using Weblate (Danish)
Currently translated at 100.0% (535 of 535 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/da/
2024-11-11 20:00:00 -05:00
Niels van Velzen
ae19a4c862 Fix subtitle menu not always showing "None" as first item 2024-11-11 21:51:17 +01:00
Niels van Velzen
f969f019d3 Fix ImageProvider always throwing 2024-11-11 21:51:07 +01:00
Roi Gabay
e7cbb2077b Translated using Weblate (Hebrew)
Currently translated at 100.0% (535 of 535 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/he/
2024-11-11 11:00:01 -05:00
Lucas
b64ed6a3b2 Translated using Weblate (French)
Currently translated at 100.0% (535 of 535 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fr/
2024-11-11 11:00:00 -05:00
Simon Hung
9e508cca75 Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 100.0% (535 of 535 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/zh_Hant/
2024-11-11 08:00:00 -05:00
hoanghuy309
590b813b99 Translated using Weblate (Vietnamese)
Currently translated at 96.4% (516 of 535 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/vi/
2024-11-11 05:00:01 -05:00
Frederik Palmø
ed097cb2b9 Translated using Weblate (Danish)
Currently translated at 100.0% (535 of 535 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/da/
2024-11-11 05:00:01 -05:00
Simon Hung
2544af5c7d Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 97.5% (522 of 535 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/zh_Hant/
2024-11-11 05:00:00 -05:00
Blackspirits
5cf636c35d Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (535 of 535 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pt_PT/
2024-11-11 05:00:00 -05:00
hyperjoco
5c6b798d86 Translated using Weblate (Hungarian)
Currently translated at 100.0% (535 of 535 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/hu/
2024-11-11 02:44:55 -05:00
Blackspirits
06d3fd07d0 Translated using Weblate (Portuguese (Portugal))
Currently translated at 99.8% (534 of 535 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pt_PT/
2024-11-11 02:44:55 -05:00
無情天
20484a21be Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (535 of 535 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/zh_Hans/
2024-11-11 00:00:00 -05:00
Paulo Henrique Garcia
69a5e5100f Translated using Weblate (Portuguese (Brazil))
Currently translated at 97.5% (522 of 535 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pt_BR/
2024-11-10 14:00:01 -05:00
Kityn
d3063d7738 Translated using Weblate (Polish)
Currently translated at 100.0% (535 of 535 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pl/
2024-11-10 11:00:00 -05:00
Bas
fa2a7bbca8 Translated using Weblate (Dutch)
Currently translated at 100.0% (535 of 535 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nl/
2024-11-10 11:00:00 -05:00
Niels van Velzen
9acf4e3800 Upgrade to Coil 3 2024-11-10 16:51:11 +01:00
Niels van Velzen
91a27ee0ef Fix skipping to end of video reports wrong end time 2024-11-10 16:41:31 +01:00
kabel2
15554bd8f2 Add option to customize seek time (#3794)
* Add skip forward length setting

* Change default skipForwardLength to 30 seconds

* Add variable for skipForwardLength

* Fix merge

* Fix merge

* Try fix tests

* Fix test

* Fix seekbar preference with minimum value above 100

* Use long for forwardTime

---------

Co-authored-by: Niels van Velzen <git@ndat.nl>
2024-11-10 13:49:02 +00:00
renovate[bot]
17ed07c7f7 Update github/codeql-action action to v3.27.1 2024-11-10 14:28:20 +01:00
koreapyj
8f77b68346 Translated using Weblate (Korean)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/ko/
2024-11-10 07:00:00 -05:00
koreapyj
72163a48aa Translated using Weblate (Korean)
Currently translated at 99.4% (531 of 534 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ko/
2024-11-10 07:00:00 -05:00
Kristian
53d982eff7 Translated using Weblate (Croatian)
Currently translated at 100.0% (534 of 534 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/hr/
2024-11-09 18:00:00 -05:00
Anthony Magalhaes
5fb69dcb3c Translated using Weblate (Portuguese (Brazil))
Currently translated at 97.3% (520 of 534 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pt_BR/
2024-11-08 17:00:00 -05:00
Roi Gabay
3109684eab Translated using Weblate (Hebrew)
Currently translated at 100.0% (534 of 534 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/he/
2024-11-08 12:00:00 -05:00
Zachary Arnaise
a98e131760 Translated using Weblate (French)
Currently translated at 99.6% (532 of 534 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fr/
2024-11-08 12:00:00 -05:00
renovate[bot]
b74b63bb0a Update dependency com.android.tools:desugar_jdk_libs to v2.1.3 2024-11-07 13:05:26 +01:00
hoanghuy309
baf313c710 Translated using Weblate (Vietnamese)
Currently translated at 96.4% (515 of 534 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/vi/
2024-11-07 03:00:00 -05:00
無情天
5914d752b8 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (534 of 534 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/zh_Hans/
2024-11-06 17:00:00 -05:00
Weblate
28ffa78b8f Update translation files
Updated by "Cleanup translation files" hook in Weblate.

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/
2024-11-05 16:36:51 -05:00
Kityn
c49e7d289c Translated using Weblate (Polish)
Currently translated at 100.0% (539 of 539 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pl/
2024-11-05 16:36:49 -05:00
Niels van Velzen
56d0064319 Use percentage seekbar for subtitle text size 2024-11-05 22:36:45 +01:00
Bas
18ff2a6ce3 Translated using Weblate (Dutch)
Currently translated at 100.0% (539 of 539 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nl/
2024-11-05 14:00:00 -05:00
Niels van Velzen
77ef06de34 Implement TrickPlay images 2024-11-05 17:53:44 +01:00
Niels van Velzen
e1867b23e7 Catch errors when reporting playback state 2024-11-05 15:45:20 +01:00
Niels van Velzen
f21a9022d5 Fix position on playback stop reporting when skipping to playback end 2024-11-05 15:44:14 +01:00
Niels van Velzen
de883fb709 Fix sorting TV shows by last played 2024-11-05 15:44:06 +01:00
Niels van Velzen
f6e65fadac Catch errors when loading MediaSessionService artwork 2024-11-05 15:43:58 +01:00
Niels van Velzen
fc03e95d23 Remove runBlocking usage in HomeRowsFragment 2024-11-05 15:43:50 +01:00
Ayla Ounce
0d00adc8a6 Fix exo track id parsing for format change.
Without this changing to other audio tracks fails, it just keeps playing
the first one in the file. I was tipped off to the source of the problem
by lines like this in logcat:

11-04 19:26:01.244 11669 11669 D VideoManager: failed to parse track ID [0:2]

It appears exoplayer changed from a simple number for trackid to two
numbers separated by a colon. Haven't had any luck tracking down why,
but the latter of the two appears to match the old single number so,
just pull that out and use it.
2024-11-05 13:51:04 +01:00
Niels van Velzen
f474e2a753 Fix audio track selection when baking subtitles 2024-11-03 20:37:24 +01:00
Bas
ef236c8a55 Translated using Weblate (Dutch)
Currently translated at 100.0% (538 of 538 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nl/
2024-11-03 14:06:00 -05:00
renovate[bot]
873f66c256 Update acra to v5.12.0 2024-11-03 18:46:29 +01:00
renovate[bot]
1e7c8bbf38 Update dependency org.jellyfin.sdk:jellyfin-core to v1.6.1 2024-11-03 18:45:55 +01:00
Niels van Velzen
0dae580732 Fix player crashing when playback failed 2024-11-03 18:42:59 +01:00
Niels van Velzen
98f84c630c Fix getSubtitleDeliveryMethod in StreamInfo always returning "Encoding" 2024-11-02 22:45:01 +01:00
Niels van Velzen
ef25757b45 Add additional information to PlaybackStartInfo 2024-11-02 22:44:52 +01:00
Niels van Velzen
ef4e2b56d7 Consider artist names before album artist names 2024-11-02 16:50:08 +01:00
Niels van Velzen
b0d5a788dc Consider artist images before album artist images 2024-11-02 16:02:38 +01:00
jh
2f14d77ed1 Translated using Weblate (Danish)
Currently translated at 100.0% (538 of 538 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/da/
2024-11-02 10:41:37 -04:00
Niels van Velzen
bc4f246b66 Don't close player with invalid state in onCreate 2024-11-02 10:35:42 +01:00
jh
3f96c3e7b9 Translated using Weblate (Danish)
Currently translated at 100.0% (538 of 538 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/da/
2024-11-01 21:41:37 -04:00
Bas
1939569320 Translated using Weblate (Dutch)
Currently translated at 100.0% (538 of 538 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nl/
2024-11-01 16:41:37 -04:00
Niels van Velzen
0f97f5a95b Add missing audioCodec to music transcode 2024-10-31 23:01:29 +01:00
renovate[bot]
3657ad707e Update dependency com.android.tools.build:gradle to v8.7.2 2024-10-31 22:29:49 +01:00
Niels van Velzen
0c378dd7ff Fix synced lyrics not working in AudioNowPlayingFragment 2024-10-31 20:04:53 +01:00
Niels van Velzen
44ddb3b1b8 Decrease scaling size of active lyric line 2024-10-31 20:04:53 +01:00
Niels van Velzen
1bfc00a4d0 Fix moving focus down from home button in AudioNowPlayingFragment 2024-10-31 20:04:53 +01:00
x1Rz47
e41d1405ca Translated using Weblate (Uyghur)
Currently translated at 19.7% (106 of 538 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ug/
2024-10-31 06:41:37 -04:00
newton181
69a4d13081 Translated using Weblate (Spanish (Latin America))
Currently translated at 100.0% (538 of 538 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es_419/
2024-10-30 17:41:38 -04:00
newton181
26a73b9282 Translated using Weblate (Spanish)
Currently translated at 100.0% (538 of 538 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es/
2024-10-30 17:41:37 -04:00
newton181
84f7a26017 Translated using Weblate (Spanish (Mexico))
Currently translated at 100.0% (538 of 538 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es_MX/
2024-10-30 17:41:37 -04:00
renovate[bot]
b616a94287 Update dependency androidx.compose.ui:ui-tooling to v1.7.5 2024-10-30 21:19:14 +01:00
renovate[bot]
f6c5e6f467 Update dependency androidx.constraintlayout:constraintlayout to v2.2.0 2024-10-30 21:09:50 +01:00
renovate[bot]
a7f51b5a2c Update dependency androidx.compose.foundation:foundation to v1.7.5 2024-10-30 21:07:23 +01:00
renovate[bot]
322985c054 Update androidx.lifecycle to v2.8.7 2024-10-30 19:50:21 +01:00
renovate[bot]
0568361b6b Update androidx.fragment to v1.8.5 2024-10-30 19:48:35 +01:00
Niels van Velzen
b3beb8a92d Fix video restarting immediately when baking subtitles 2024-10-30 19:33:26 +01:00
Niels van Velzen
1062d7b844 Hide video player controls by default 2024-10-29 22:16:32 +01:00
Niels van Velzen
e7738c7bc1 Sync custom controls with built-in controls in leanback overlay 2024-10-29 21:30:35 +01:00
Niels van Velzen
e44b36e830 Fix adding music to existing queue 2024-10-29 18:41:39 +01:00
Niels van Velzen
2b4a5b6f2e Rewrite reporting helper with SDK 2024-10-29 16:40:35 +01:00
Niels van Velzen
67d470f961 Rewrite usages of QueueEntry in UI 2024-10-28 15:39:56 +01:00
Niels van Velzen
81aa372e40 Automatically disable subtitles when baking fails 2024-10-28 07:31:52 +01:00
Niels van Velzen
059140f7a2 Use "Ask to skip" by default for intros and outros 2024-10-27 22:17:17 +01:00
Frederik Palmø
cae32a2015 Translated using Weblate (Danish)
Currently translated at 99.8% (537 of 538 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/da/
2024-10-27 11:41:37 -04:00
NOV
3b3f5e2e42 Translated using Weblate (French)
Currently translated at 99.8% (537 of 538 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fr/
2024-10-26 23:41:37 -04:00
queeup
8e1ce880a8 Translated using Weblate (Turkish)
Currently translated at 100.0% (538 of 538 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/tr/
2024-10-26 19:41:37 -04:00
renovate[bot]
f88dd54bcf Update dependency org.jellyfin.sdk:jellyfin-core to v1.6.0 2024-10-26 21:05:14 +02:00
Niels van Velzen
786110b52e Implement lyrics 2024-10-26 19:48:14 +02:00
renovate[bot]
7b51b848ca Update actions/setup-java action to v4.5.0 2024-10-26 16:59:28 +02:00
fract exe
829334a147 Translated using Weblate (Croatian)
Currently translated at 100.0% (538 of 538 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/hr/
2024-10-25 10:41:37 -04:00
Rafael Morine
b128fa32b9 Translated using Weblate (Russian)
Currently translated at 100.0% (538 of 538 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ru/
2024-10-25 06:41:37 -04:00
Ruben Teixeira
175d04d5ad Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (538 of 538 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pt_PT/
2024-10-24 16:41:36 -04:00
renovate[bot]
4e67e51271 Update CI dependencies 2024-10-23 20:50:58 +02:00
fract exe
dabb514d17 Translated using Weblate (Croatian)
Currently translated at 100.0% (538 of 538 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/hr/
2024-10-23 09:41:37 -04:00
fract exe
4d0a56aa68 Translated using Weblate (Croatian)
Currently translated at 93.1% (501 of 538 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/hr/
2024-10-23 06:41:37 -04:00
John Doe
b49a09425f Translated using Weblate (Finnish)
Currently translated at 91.4% (492 of 538 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fi/
2024-10-23 06:41:37 -04:00
Bas
0ac521096f Translated using Weblate (Dutch)
Currently translated at 100.0% (538 of 538 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nl/
2024-10-22 17:41:36 -04:00
Niels van Velzen
8cdeb65345 Fix PlaybackController not always disabling default track 2024-10-20 22:44:25 +02:00
Niels van Velzen
fbfd681917 Fix not disabling embedded subtitle tracks that require baking 2024-10-20 15:04:18 +02:00
Niels van Velzen
9ea1cc58a7 Always use lowercase codec when mapping to mime type 2024-10-20 15:04:18 +02:00
Niels van Velzen
662b1825c1 Rewrite all subtitle behavior 2024-10-20 15:04:18 +02:00
AfmanS
0cd34ba163 Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (538 of 538 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pt_PT/
2024-10-19 14:41:36 -04:00
Bas
24120146ec Translated using Weblate (Dutch)
Currently translated at 100.0% (538 of 538 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nl/
2024-10-19 06:41:36 -04:00
Niels van Velzen
d96e23d001 Change upcomingMinimumServerVersion to 10.10.0 to warn about upcoming 10.10 requirement 2024-10-17 18:55:26 +02:00
renovate[bot]
354acf5bf5 Update dependency androidx.compose.ui:ui-tooling to v1.7.4 2024-10-16 22:10:40 +02:00
renovate[bot]
7f480ea7fc Update dependency androidx.activity:activity to v1.9.3 2024-10-16 21:34:33 +02:00
renovate[bot]
e04824ce5e Update dependency androidx.compose.foundation:foundation to v1.7.4 2024-10-16 21:34:07 +02:00
Roi Gabay
d6d48ca78a Translated using Weblate (Hebrew)
Currently translated at 100.0% (538 of 538 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/he/
2024-10-16 05:44:46 -04:00
Niels van Velzen
016de2d087 Update package for Koin viewModel import
Old one is deprecated
2024-10-15 22:46:25 +02:00
renovate[bot]
c1e8653da8 Update dependency com.android.tools.build:gradle to v8.7.1 2024-10-15 22:16:09 +02:00
Niels van Velzen
746c662bb9 Use parcelable array list in DestinationFragmentView saved state 2024-10-15 22:15:16 +02:00
renovate[bot]
79f6bc9683 Update github/codeql-action action to v3.26.13 2024-10-15 22:15:06 +02:00
Niels van Velzen
acf8af6441 Use Java 21 in jvm toolchain 2024-10-15 17:54:32 +02:00
myrad2267
b4e4029c86 Translated using Weblate (French)
Currently translated at 99.0% (533 of 538 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fr/
2024-10-15 00:41:36 -04:00
Persephone42
957f3643bf Translated using Weblate (Serbian)
Currently translated at 59.4% (320 of 538 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sr/
2024-10-14 15:25:55 -04:00
Ilias Theodoopoulos
f97dd87984 Translated using Weblate (Greek)
Currently translated at 92.7% (499 of 538 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/el/
2024-10-14 10:41:36 -04:00
Niels van Velzen
cade3fd6bf Fix skipping to next episode 2024-10-13 16:56:56 +02:00
hyperjoco
19dc038087 Translated using Weblate (Hungarian)
Currently translated at 100.0% (538 of 538 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/hu/
2024-10-13 09:41:36 -04:00
無情天
1957185e18 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (538 of 538 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/zh_Hans/
2024-10-13 02:41:36 -04:00
nextlooper42
73384b6b9a Translated using Weblate (Slovak)
Currently translated at 100.0% (538 of 538 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sk/
2024-10-12 21:41:36 -04:00
Justin
4ba02728c2 Translated using Weblate (German)
Currently translated at 100.0% (538 of 538 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/de/
2024-10-12 21:41:36 -04:00
Hoomaane79
8902e63a31 Translated using Weblate (Persian)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/fa/
2024-10-12 16:41:36 -04:00
hoanghuy309
288c01befb Translated using Weblate (Vietnamese)
Currently translated at 96.4% (519 of 538 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/vi/
2024-10-12 13:41:36 -04:00
Andi Chandler
f7ff9f768a Translated using Weblate (English (United Kingdom))
Currently translated at 100.0% (538 of 538 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/en_GB/
2024-10-12 13:41:36 -04:00
Niels van Velzen
bec60ed4eb Remove DeviceUtils 2024-10-12 15:25:36 +02:00
Kityn
c509955f21 Translated using Weblate (Polish)
Currently translated at 100.0% (538 of 538 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pl/
2024-10-12 07:41:36 -04:00
Bas
26f43ced62 Translated using Weblate (Dutch)
Currently translated at 100.0% (538 of 538 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nl/
2024-10-12 07:41:36 -04:00
JagerSprinkles
24acb71eee Add preference for default zoom mode (#4020)
* Add logic for default zoom mode setting

* Update to use enumPreference.

* Use MenuBuilder for the zoom mode menu in the player.
Update string for zoom mode preference to aspect ratio.
Update variable name for playerZoomMode in UserPreferences.kt

* Add NonNull as suggested by bot.
Removed unused line of code.

* Add NonNull as suggested by bot

* update string resource for default video zoom

* Misc fixes and refactoring

---------

Co-authored-by: Niels van Velzen <git@ndat.nl>
2024-10-12 11:33:29 +02:00
Kityn
e1db0523ee Translated using Weblate (Polish)
Currently translated at 100.0% (537 of 537 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pl/
2024-10-12 04:41:36 -04:00
nextlooper42
84d7639f3e Translated using Weblate (Slovak)
Currently translated at 100.0% (537 of 537 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sk/
2024-10-11 23:41:36 -04:00
Bas
8e13a51b68 Translated using Weblate (Dutch)
Currently translated at 100.0% (537 of 537 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nl/
2024-10-11 19:41:36 -04:00
Niels van Velzen
bf4198a8b8 Restore forced aspect ratio for poster types on video items 2024-10-11 21:45:50 +02:00
renovate[bot]
dd4bafd5a4 Update dependency io.mockk:mockk to v1.13.13 2024-10-11 21:45:40 +02:00
renovate[bot]
2d9cdb7d6f Update actions/upload-artifact action to v4.4.3 2024-10-11 21:45:32 +02:00
renovate[bot]
f458d3fdf3 Update Kotlin to v2.0.21 2024-10-11 21:44:41 +02:00
Niels van Velzen
0537a2031e Add "ask to skip" media segment action 2024-10-11 21:33:33 +02:00
Bas
4f23ad47b6 Translated using Weblate (Dutch)
Currently translated at 100.0% (536 of 536 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nl/
2024-10-10 17:41:36 -04:00
trawzified
dede52b978 Translated using Weblate (Dutch)
Currently translated at 100.0% (536 of 536 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nl/
2024-10-10 15:38:44 -04:00
BromTeque
8fe6d807e3 Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (536 of 536 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nb_NO/
2024-10-10 09:41:36 -04:00
newton181
90cc4dc658 Translated using Weblate (Spanish (Latin America))
Currently translated at 100.0% (536 of 536 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es_419/
2024-10-09 17:41:36 -04:00
Matheo
8acd8c1e69 Translated using Weblate (French)
Currently translated at 97.7% (524 of 536 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fr/
2024-10-09 17:41:36 -04:00
newton181
8574947aa1 Translated using Weblate (Spanish)
Currently translated at 100.0% (536 of 536 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es/
2024-10-09 17:41:36 -04:00
newton181
85bbb5daaa Translated using Weblate (Spanish (Mexico))
Currently translated at 100.0% (536 of 536 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es_MX/
2024-10-09 17:41:36 -04:00
Niels van Velzen
961c858d55 Don't skip segments shorter than 1 second 2024-10-09 21:36:14 +02:00
無情天
ea397196a7 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (536 of 536 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/zh_Hans/
2024-10-09 08:41:35 -04:00
Roi Gabay
fbcb96f051 Translated using Weblate (Hebrew)
Currently translated at 100.0% (536 of 536 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/he/
2024-10-09 03:41:36 -04:00
hoanghuy309
b9d57641d2 Translated using Weblate (Vietnamese)
Currently translated at 96.4% (517 of 536 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/vi/
2024-10-08 08:41:36 -04:00
Andi Chandler
10b0d33fc7 Translated using Weblate (English (United Kingdom))
Currently translated at 100.0% (536 of 536 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/en_GB/
2024-10-08 08:41:35 -04:00
Niels van Velzen
c522f09cc2 Fix video player not closing when fragment is stopped 2024-10-08 11:59:17 +02:00
Kityn
095721e021 Translated using Weblate (Polish)
Currently translated at 100.0% (536 of 536 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pl/
2024-10-08 04:41:35 -04:00
nextlooper42
d90827c524 Translated using Weblate (Slovak)
Currently translated at 100.0% (536 of 536 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sk/
2024-10-07 21:41:35 -04:00
Bas
1ac4d49e2b Translated using Weblate (Dutch)
Currently translated at 100.0% (536 of 536 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nl/
2024-10-07 21:41:35 -04:00
renovate[bot]
ef5b764ae2 Update CI dependencies 2024-10-07 22:41:39 +02:00
Niels van Velzen
e43492ffa5 Implement skip action 2024-10-07 22:41:08 +02:00
Niels van Velzen
8096632a79 Add preferences for media segments 2024-10-07 22:41:08 +02:00
Niels van Velzen
cd1623c6f3 Fix Detekt max line length not matching Editorconfig 2024-10-07 22:34:13 +02:00
hyperjoco
50ad7b30b9 Translated using Weblate (Hungarian)
Currently translated at 100.0% (527 of 527 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/hu/
2024-10-07 05:41:35 -04:00
hoanghuy309
505cdcd723 Translated using Weblate (Vietnamese)
Currently translated at 96.3% (508 of 527 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/vi/
2024-10-07 01:41:35 -04:00
stanol
025a55ca08 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (527 of 527 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/uk/
2024-10-06 10:41:35 -04:00
Andi Chandler
2e9182a868 Translated using Weblate (English (United Kingdom))
Currently translated at 100.0% (527 of 527 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/en_GB/
2024-10-06 10:41:35 -04:00
Niels van Velzen
64924719ba Remove nullability checks for BaseItemDtoQueryResult.items 2024-10-05 14:51:00 +02:00
Niels van Velzen
dc9f36285c Update "new premieres" to use new indexNumber filter in API request 2024-10-05 14:51:00 +02:00
Niels van Velzen
64b7fb1e79 Add missing properties in ModelCompat 2024-10-05 14:51:00 +02:00
Niels van Velzen
50848441ac Update Jellyfin SDK to 10.6.0-beta.1 2024-10-05 14:51:00 +02:00
nextlooper42
939ec5a1c0 Translated using Weblate (Slovak)
Currently translated at 100.0% (527 of 527 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sk/
2024-10-05 06:41:35 -04:00
皇甫朝云
187bc9c5d1 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (527 of 527 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/zh_Hans/
2024-10-05 06:41:35 -04:00
Kityn
9478600764 Translated using Weblate (Polish)
Currently translated at 100.0% (527 of 527 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pl/
2024-10-04 19:41:35 -04:00
Bas
70fbbcd9db Translated using Weblate (Dutch)
Currently translated at 100.0% (527 of 527 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nl/
2024-10-04 19:41:35 -04:00
JagerSprinkles
f4401578de Add preference to delay start of video (#4025)
* Add setting to adjust video player start delay

* Update PlaybackController to skip video start delay if set to zero.
Update default for video start delay.
Update video start delay string.

* Update mVideoManager null check for delayed start logic.

* Final changes

---------

Co-authored-by: Niels van Velzen <git@ndat.nl>
2024-10-04 20:53:03 +00:00
CPK
ef4082cb38 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (526 of 526 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/zh_Hans/
2024-10-03 09:41:35 -04:00
Yogesh
c6ed49c0ac Translated using Weblate (Hindi)
Currently translated at 57.6% (303 of 526 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/hi/
2024-10-03 01:41:35 -04:00
renovate[bot]
7955cbddb7 Update dependency androidx.compose.ui:ui-tooling to v1.7.3 2024-10-03 07:28:11 +02:00
renovate[bot]
cbda5142e8 Update androidx.fragment to v1.8.4 2024-10-02 21:27:48 +02:00
renovate[bot]
b02b7925da Update dependency androidx.compose.foundation:foundation to v1.7.3 2024-10-02 21:27:36 +02:00
hoanghuy309
eb4389f32f Translated using Weblate (Vietnamese)
Currently translated at 96.3% (507 of 526 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/vi/
2024-10-02 02:41:35 -04:00
Niels van Velzen
c993be8450 Rewrite NowPlayingView in compose 2024-09-30 16:13:31 +02:00
michael
0cfffdbe3d VLC long position 2024-09-29 10:01:44 +02:00
Niels van Velzen
d5bb7327f7 Add flow support for elements 2024-09-28 23:19:13 +02:00
Niels van Velzen
56eb00197c Fix queue not advancing 2024-09-28 18:33:14 +02:00
renovate[bot]
b219f46994 Update dependency ubuntu to v24 2024-09-27 21:39:52 +02:00
renovate[bot]
241139d5cf Update CI dependencies 2024-09-27 21:39:18 +02:00
Niels van Velzen
2c7bd27525 Fix incorrectly navigating on resume 2024-09-27 21:23:44 +02:00
BromTeque
30fcb192da Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (526 of 526 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nb_NO/
2024-09-26 17:41:35 -04:00
Niels van Velzen
fdde857be6 Change upcomingMinimumServerVersion to 10.9.11 to encourage updating
Profile related fixes in 10.9.10 improve playback, however users may not be aware of that. Use the upcoming minimum server function to notify users about this version. We'll still support 10.9.0>=.
2024-09-26 20:47:23 +02:00
hyperjoco
a607cb4a83 Translated using Weblate (Hungarian)
Currently translated at 99.8% (525 of 526 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/hu/
2024-09-26 12:41:35 -04:00
renovate[bot]
70654a2720 Update dependency gradle to v8.10.2 2024-09-24 09:01:43 +02:00
utmrxanpq
0c5eda9572 Translated using Weblate (Kannada)
Currently translated at 4.7% (25 of 526 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/kn/
2024-09-23 19:41:35 -04:00
utmrxanpq
3e944fa2bc Translated using Weblate (Kannada)
Currently translated at 3.8% (20 of 526 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/kn/
2024-09-23 17:28:33 -04:00
Bond_009
90573f610f Fix aspect ratio specials
Don't overwrite the aspect ratio for videos
Change return value of ImageHelper.getImageAspectRatio to not be nullable

Fixes #1192
Possibly a regression from #830
2024-09-23 12:40:25 +02:00
hoanghuy309
64ffa02250 Translated using Weblate (Vietnamese)
Currently translated at 96.0% (505 of 526 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/vi/
2024-09-22 16:04:43 -04:00
Yogesh
8d5414ce5c Translated using Weblate (Hindi)
Currently translated at 57.2% (301 of 526 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/hi/
2024-09-22 05:41:36 -04:00
aspectxDev
ecc5d47146 Translated using Weblate (Indonesian)
Currently translated at 75.2% (396 of 526 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/id/
2024-09-22 02:41:35 -04:00
renovate[bot]
c5ce43c95b Update koin to v4 2024-09-21 22:37:50 +02:00
renovate[bot]
a3e8482d3e Update github/codeql-action action to v3.26.8 2024-09-21 22:37:42 +02:00
l00d3r
d3834f5e73 Translated using Weblate (Estonian)
Currently translated at 100.0% (526 of 526 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/et/
2024-09-21 10:41:35 -04:00
Niels van Velzen
579186d661 Implement My media (small) home section 2024-09-21 16:38:41 +02:00
Niels van Velzen
7b61de171d Increase amount of home sections from 7 to 10 2024-09-21 15:54:52 +02:00
renovate[bot]
fe66a61ce0 Update dependency org.jetbrains.kotlinx:kotlinx-serialization-json to v1.7.3 2024-09-19 21:59:09 +02:00
renovate[bot]
208e7c4ee1 Update dependency androidx.compose.foundation:foundation to v1.7.2 2024-09-19 08:54:45 +02:00
renovate[bot]
a3965fcce6 Update dependency com.android.tools.build:gradle to v8.6.1 2024-09-19 08:53:04 +02:00
renovate[bot]
249a3f6bbe Update androidx.lifecycle to v2.8.6 2024-09-19 08:50:55 +02:00
renovate[bot]
50eee051c3 Update dependency androidx.compose.ui:ui-tooling to v1.7.2 2024-09-19 08:50:34 +02:00
renovate[bot]
03a0001770 Update dependency androidx.startup:startup-runtime to v1.2.0 2024-09-19 08:50:21 +02:00
Niels van Velzen
933fdbcca4 Fix back press callback in CustomPlaybackOverlayFragment 2024-09-17 14:16:10 +02:00
sand14
9c6c9c4315 Translated using Weblate (Romanian)
Currently translated at 91.0% (479 of 526 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ro/
2024-09-14 22:41:34 -04:00
renovate[bot]
949c7e7198 Update CI dependencies 2024-09-14 10:56:01 +02:00
renovate[bot]
2efe6622b9 Update Kotlin to v1.9.0 2024-09-14 10:55:53 +02:00
renovate[bot]
1281785513 Update acra to v5.11.4 2024-09-14 10:55:40 +02:00
Ruben Teixeira
bcc9462514 Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (526 of 526 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pt_PT/
2024-09-12 17:41:34 -04:00
nextlooper42
6d3b27ebac Translated using Weblate (Slovak)
Currently translated at 100.0% (526 of 526 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sk/
2024-09-11 07:41:34 -04:00
queeup
f4df2fd1d7 Translated using Weblate (Turkish)
Currently translated at 100.0% (526 of 526 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/tr/
2024-09-10 17:41:34 -04:00
renovate[bot]
0dae1535b2 Update dependency androidx.compose.ui:ui-tooling to v1.7.1 2024-09-10 22:08:25 +02:00
renovate[bot]
a6a34ffff0 Update dependency androidx.compose.foundation:foundation to v1.7.1 2024-09-10 22:04:43 +02:00
renovate[bot]
14d67e446d Update dependency gradle to v8.10.1 2024-09-10 15:01:02 +02:00
Pascal Weidenhammer
51cedee9b3 Upgrade ConnectHelpAlertFragment to Jetpack Compose (#3596)
* Add AndroidX TV Material implementation

* Upgrade ConnectHelpAlertFragment to Jetpack Compose

* Add Jellyfin blue Material Theme

* Add Material Theme and remove back button from ConnectHelpAlert

There should be no onscreen back buttons, because the tv remote has a dedicated back button: https://developer.android.com/design/ui/tv/guides/foundations/navigation-on-tv#dont-display-a-back-button

* Add "Got it" button back to ConnectHelp

* Remove duplicate tv-material library inclusion

* Revert "Add Jellyfin blue Material Theme"

This reverts commit 1c16039208.

* Remove custom theme in ConnectHelp

* Hardcode colors in ConnectHelpAlert

* Refactor ConnectHelpAlertFragment

---------

Co-authored-by: Niels van Velzen <git@ndat.nl>
2024-09-10 12:59:51 +00:00
renovate[bot]
715a15a5ba Update actions/setup-java action to v4.3.0 2024-09-10 14:59:42 +02:00
renovate[bot]
9ecea3088f Update dependency io.gitlab.arturbosch.detekt to v1.23.7 2024-09-10 14:59:31 +02:00
Niels van Velzen
a87ea6c060 Avoid baking subtitles when transcoding 2024-09-10 14:48:23 +02:00
MichaelRUSF
706b64573a Add resolution codec check (#3953)
* Add 4k resolution codec check

* 4k profile check

* Apply review changes

* Remove hard-coded resolutions
2024-09-08 11:33:16 +02:00
renovate[bot]
cd8e619ddc Update dependency org.jetbrains.kotlinx:kotlinx-serialization-json to v1.7.2 2024-09-08 10:52:02 +02:00
renovate[bot]
8d6d3b3a35 Update dependency org.jellyfin.sdk:jellyfin-core to v1.5.5 2024-09-08 10:51:51 +02:00
bene toffix
25354395ed Translated using Weblate (Catalan)
Currently translated at 100.0% (526 of 526 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ca/
2024-09-07 12:41:34 -04:00
Hoomaane79
3a6b619aa4 Translated using Weblate (Persian)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/fa/
2024-09-05 19:41:34 -04:00
Andreas Hantschel
309d2dc532 Translated using Weblate (German)
Currently translated at 99.8% (525 of 526 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/de/
2024-09-05 15:41:34 -04:00
renovate[bot]
1d0e2b0f66 Update dependency androidx.compose.ui:ui-tooling to v1.7.0 2024-09-05 16:19:02 +02:00
renovate[bot]
0557df1faa Update dependency androidx.compose.foundation:foundation to v1.7.0 2024-09-05 16:13:01 +02:00
renovate[bot]
7684efbf0b Update dependency com.android.tools:desugar_jdk_libs to v2.1.2 2024-09-05 09:06:45 +02:00
renovate[bot]
a4e14dbf45 Update dependency androidx.activity:activity to v1.9.2 2024-09-05 09:04:23 +02:00
renovate[bot]
32c3b80008 Update androidx.fragment to v1.8.3 2024-09-05 09:04:03 +02:00
renovate[bot]
05249719b4 Update androidx.lifecycle to v2.8.5 2024-09-05 09:03:48 +02:00
Fabian T
987bda9918 Translated using Weblate (German)
Currently translated at 99.4% (523 of 526 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/de/
2024-09-03 19:41:33 -04:00
Niels van Velzen
13f6a70fa5 Fix current fragment not removed on back press 2024-09-03 21:37:08 +02:00
Niels van Velzen
e460c6e403 Use custom logic for fragment back stack 2024-09-03 16:38:23 +02:00
MichaelRUSF
86d6195a06 Update DeviceUtils with Xiaomi TV Stick (#3951)
* Add Mi Stick to DeviceUtils

* Fix comment
2024-09-03 13:54:20 +02:00
renovate[bot]
c1df5a69aa Update CI dependencies 2024-09-02 13:22:19 +02:00
renovate[bot]
ea4289b1ef Update dependency com.android.tools.build:gradle to v8.6.0 2024-09-02 13:21:48 +02:00
Cielo Gaona
7357694c8e Translated using Weblate (Spanish (Mexico))
Currently translated at 99.6% (524 of 526 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es_MX/
2024-09-01 02:41:34 -04:00
Rattapoom Suaydee
1d79a8bafe Translated using Weblate (Thai)
Currently translated at 40.3% (212 of 526 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/th/
2024-08-31 14:41:33 -04:00
Simon Hung
dd450c607d Translated using Weblate (Chinese (Traditional))
Currently translated at 99.0% (521 of 526 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/zh_Hant/
2024-08-30 10:41:33 -04:00
millallo
d64c35c6f9 Translated using Weblate (Italian)
Currently translated at 99.8% (525 of 526 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/it/
2024-08-29 08:41:33 -04:00
無情天
f521abf7bd Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (526 of 526 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/zh_Hans/
2024-08-28 20:41:33 -04:00
renovate[bot]
144e501bd2 Update dependency com.android.tools:desugar_jdk_libs to v2.1.1 2024-08-28 22:10:19 +02:00
stanol
80f2de16b1 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (526 of 526 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/uk/
2024-08-28 09:41:33 -04:00
Kityn
13f95d5f60 Translated using Weblate (Polish)
Currently translated at 100.0% (526 of 526 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pl/
2024-08-28 03:41:33 -04:00
Bas
990c8d4ad8 Translated using Weblate (Dutch)
Currently translated at 100.0% (526 of 526 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nl/
2024-08-27 10:41:33 -04:00
Andi Chandler
b7753deb2f Translated using Weblate (English (United Kingdom))
Currently translated at 100.0% (526 of 526 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/en_GB/
2024-08-27 10:41:33 -04:00
Niels van Velzen
0c88593d30 Tidy up 2024-08-27 13:50:53 +02:00
rickysixx
a304403fc0 Enable ExoPlayer debugging logs if debug mode is active 2024-08-27 13:50:53 +02:00
rickysixx
1235eb1ff5 Add developer preference to prefer extension renderers to core ones 2024-08-27 13:50:53 +02:00
renovate[bot]
2b1143a362 Update gradle/actions action to v4.0.1 2024-08-27 13:33:40 +02:00
renovate[bot]
be43311978 Update androidx.media3 to v1.4.1 2024-08-27 13:33:25 +02:00
renovate[bot]
3916c2a117 Update dependency org.jellyfin.sdk:jellyfin-core to v1.5.4 2024-08-27 13:29:25 +02:00
renovate[bot]
7c9dd0001e Update dependency com.android.tools:desugar_jdk_libs to v2.1.0 2024-08-26 18:50:47 +02:00
Niels van Velzen
b116db0d49 Fix capitalization in video profiles causing invalid transcodes 2024-08-25 22:28:02 +02:00
renovate[bot]
b362ac42ff Update aboutlibraries to v11.2.3 2024-08-25 18:48:38 +02:00
renovate[bot]
de2a27052e Update github/codeql-action action to v3.26.5 2024-08-25 18:48:15 +02:00
MichaelRUSF
fe05b82b95 Fix for devices with no HEVC Main 10 support 2024-08-25 18:47:35 +02:00
MichaelRUSF
50ef4a7718 AVC level check profiles 2024-08-25 11:55:24 +02:00
MichaelRUSF
49bcd6fe2c AVC media codec levels 2024-08-25 11:55:24 +02:00
Eric Leblanc
c03bec878b more granular seek setting 2024-08-24 17:58:29 +02:00
renovate[bot]
8cca27238f Update github/codeql-action action to v3.26.4 2024-08-22 17:35:10 +02:00
renovate[bot]
09027c2bc5 Update Kotlin to v2.0.20 2024-08-22 17:34:53 +02:00
無情天
7297086045 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (524 of 524 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/zh_Hans/
2024-08-21 16:25:07 -04:00
renovate[bot]
f2a47d1c9a Update dependency androidx.tv:tv-material to v1.0.0 2024-08-21 20:48:38 +02:00
Niels van Velzen
1f789ac00f Improve behavior when no playable items found 2024-08-20 16:44:06 +02:00
Niels van Velzen
1199fa5253 Disable direct play when encountering playback error twice 2024-08-20 16:43:47 +02:00
renovate[bot]
a9ff992926 Update github/codeql-action action to v3.26.3 2024-08-20 13:04:24 +02:00
Niels van Velzen
a4ec607543 Fix toggling favorites in ItemListFragment 2024-08-18 17:18:32 +02:00
renovate[bot]
299751156d Update dependency com.android.tools.build:gradle to v8.5.2 2024-08-18 10:19:41 +02:00
renovate[bot]
f8eb6468d4 Update CI dependencies 2024-08-18 10:19:32 +02:00
itoudium
77cc5902bb Translated using Weblate (Japanese)
Currently translated at 70.8% (371 of 524 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ja/
2024-08-17 02:41:32 -04:00
bene toffix
a143dcbec9 Translated using Weblate (Catalan)
Currently translated at 100.0% (524 of 524 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ca/
2024-08-16 18:41:32 -04:00
Andi Chandler
c1c144f813 Translated using Weblate (English (United Kingdom))
Currently translated at 100.0% (524 of 524 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/en_GB/
2024-08-16 14:41:32 -04:00
Niels van Velzen
ae2d74b263 Fix channels interpreted as Live TV channels 2024-08-16 20:29:01 +02:00
renovate[bot]
c025b62f85 Update dependency gradle to v8.10 2024-08-16 08:44:59 +02:00
Mjöllnir
5f181b9ded Translated using Weblate (French)
Currently translated at 100.0% (524 of 524 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fr/
2024-08-15 21:41:32 -04:00
Niels van Velzen
ff52e2a9a7 Use device profile builder in jellyfinPlugin 2024-08-13 17:38:24 +02:00
Niels van Velzen
e65492c254 Enable constant bitrate seeking 2024-08-13 16:33:26 +02:00
elokoidu
9ac58e22fb Translated using Weblate (Estonian)
Currently translated at 100.0% (524 of 524 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/et/
2024-08-13 09:41:32 -04:00
millallo
cc080fe93c Translated using Weblate (Italian)
Currently translated at 99.8% (523 of 524 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/it/
2024-08-12 17:41:32 -04:00
VOLO Digital Agency
2e3e8f258c Translated using Weblate (Swedish)
Currently translated at 100.0% (524 of 524 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sv/
2024-08-12 03:41:32 -04:00
Niels van Velzen
9577e11e41 Fix crash when item doesn't have a default audio/subtitle stream 2024-08-12 08:30:40 +02:00
Niels van Velzen
6111cbec5a Re-use supportsHevc in one additional place 2024-08-10 22:06:33 +02:00
Joseph Price
c7a4c89b74 Really don't request HEVC if unsupported 2024-08-10 22:06:33 +02:00
stanol
35300e605b Translated using Weblate (Ukrainian)
Currently translated at 100.0% (524 of 524 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/uk/
2024-08-10 08:41:32 -04:00
Niels van Velzen
b0cd0c5b37 Fix InfoRow not using requested media source 2024-08-10 08:24:06 +02:00
Niels van Velzen
aa5fb63b71 Reset display mode when exiting video player 2024-08-09 22:12:19 +02:00
Niels van Velzen
d661583a86 Improve InfoRow colors/font readability 2024-08-09 22:12:13 +02:00
Niels van Velzen
fe31c19f15 Fix intros showing next up screen 2024-08-09 20:37:40 +02:00
Niels van Velzen
fcd9751d82 Fix crash when starting next episode 2024-08-09 19:57:53 +02:00
Niels van Velzen
f8c5345871 Graduate reactive homepage to stable 2024-08-08 22:28:59 +02:00
Sina Faghihi
213fa1fcf8 Translated using Weblate (Persian)
Currently translated at 70.0% (367 of 524 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fa/
2024-08-08 10:41:31 -04:00
無情天
157352cf3a Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (524 of 524 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/zh_Hans/
2024-08-08 06:41:31 -04:00
renovate[bot]
b5c5478c76 Update gradle/actions action to v4 2024-08-07 22:16:27 +02:00
renovate[bot]
0385f63fbe Update dependency androidx.tv:tv-material to v1.0.0-rc02 2024-08-07 22:09:41 +02:00
renovate[bot]
6cc1031b8a Update dependency androidx.work:work-runtime to v2.9.1 2024-08-07 22:09:33 +02:00
Vladimir Apraksin
3269a5283d Translated using Weblate (Russian)
Currently translated at 95.6% (501 of 524 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ru/
2024-08-07 14:32:34 -04:00
renovate[bot]
587f0fb35a Update dependency org.jellyfin.sdk:jellyfin-core to v1.5.3 2024-08-07 12:55:12 +02:00
moi15moi
1f7c6cc4d3 Translated using Weblate (French)
Currently translated at 99.8% (523 of 524 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fr/
2024-08-06 18:41:31 -04:00
queeup
e307b3baa0 Translated using Weblate (Turkish)
Currently translated at 100.0% (524 of 524 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/tr/
2024-08-06 13:41:31 -04:00
Justin
a8cb3a595c Translated using Weblate (German)
Currently translated at 100.0% (524 of 524 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/de/
2024-08-06 13:41:31 -04:00
Niels van Velzen
044ce67110 Fix SelectQualityAction crashing when opening menu 2024-08-06 15:14:39 +02:00
Niels van Velzen
f6c536880d Use "direct play" as default audio behavior 2024-08-06 15:14:31 +02:00
renovate[bot]
409b34238a Update Kotlin to v2.0.10 2024-08-06 14:51:05 +02:00
Kityn
6ca4b4679c Translated using Weblate (Polish)
Currently translated at 100.0% (524 of 524 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pl/
2024-08-06 03:41:31 -04:00
hoanghuy309
5bb74f689a Translated using Weblate (Vietnamese)
Currently translated at 96.1% (504 of 524 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/vi/
2024-08-05 23:41:31 -04:00
queeup
daa4188887 Translated using Weblate (Turkish)
Currently translated at 100.0% (524 of 524 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/tr/
2024-08-05 20:41:31 -04:00
Marc Vollmer
3b852a031e Fix NullPointerException in LeanbackOverlayFragment.onPause 2024-08-05 21:37:42 +02:00
Bas
7aa4d2e5fa Translated using Weblate (Dutch)
Currently translated at 100.0% (524 of 524 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nl/
2024-08-05 14:41:31 -04:00
Niels van Velzen
8c3be44664 Fix RewriteMediaManager emitting onQueueStatusChanged with a queue when there is no audio items available 2024-08-05 20:12:40 +02:00
Niels van Velzen
7bc99d2e66 Fix NullPointerException in CustomPlaybackOverlayFragment.onResume 2024-08-05 19:08:41 +02:00
Niels van Velzen
9ecf952351 Remove context requirement from ExoPlayerProfile 2024-08-05 19:00:41 +02:00
Weblate
2e78a483aa Update translation files
Updated by "Cleanup translation files" hook in Weblate.

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/
2024-08-05 12:33:51 -04:00
Niels van Velzen
e8a81799e2 Add new subtitle customization preferences 2024-08-05 18:33:47 +02:00
Niels van Velzen
be06693978 Remove custom subtitle renderer 2024-08-05 18:33:47 +02:00
Niels van Velzen
0f38bd1691 Rewrite queuing 2024-08-05 18:33:30 +02:00
majmongoose
a8c9f054ab Add Google Chromecast HD limitation (#3820)
* Add identification for Google Chromecast HD

Possibly an upstream bug is preventing this from working, as the chromecast is being idenitified correctly in debugging.

* Update DeviceUtils.kt

Added a note for the reason of the change.

* Removed unintentional imports

* Update app/src/main/java/org/jellyfin/androidtv/util/DeviceUtils.kt

Make changes suggested by maintainer.

Co-authored-by: Niels van Velzen <nielsvanvelzen@users.noreply.github.com>

* Update DeviceUtils.kt

Removed unneeded isChromecastHD

---------

Co-authored-by: Niels van Velzen <nielsvanvelzen@users.noreply.github.com>
2024-08-05 15:43:30 +00:00
renovate[bot]
4f3c6b331d Update actions/setup-java action to v4.2.2 2024-08-05 17:42:28 +02:00
Niels van Velzen
61b4178dec Fix AudioNowPlayingFragment showing wrong item in extremely rare cases 2024-08-04 22:03:00 +02:00
Niels van Velzen
9aa1759ae7 Fix race condition in PictureViewerViewModel
Using the showNext/showPrevious functions while the album is still loading can cause an IndexOutOfBoundsException. Check if the album is empty (default value) first before trying to read from it to avoid these crashes.
2024-08-04 22:02:53 +02:00
Niels van Velzen
2e55987939 Strip HTML from descriptions in leanback integration 2024-08-04 22:02:42 +02:00
dharmik2319
d3f3b38c31 Translated using Weblate (Hindi)
Currently translated at 27.1% (141 of 519 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/hi/
2024-08-04 08:15:01 -04:00
dharmik2319
f8cf1f48a3 Translated using Weblate (Hindi)
Currently translated at 26.9% (140 of 519 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/hi/
2024-08-04 08:14:28 -04:00
dharmik2319
691a8f8ac5 Translated using Weblate (Hindi)
Currently translated at 26.5% (138 of 519 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/hi/
2024-08-04 08:13:55 -04:00
dharmik2319
af6df123d2 Translated using Weblate (Hindi)
Currently translated at 26.3% (137 of 519 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/hi/
2024-08-04 08:12:48 -04:00
dharmik2319
dad6570d28 Translated using Weblate (Hindi)
Currently translated at 18.4% (96 of 519 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/hi/
2024-08-04 07:18:33 -04:00
dharmik2319
8abfc9ebd2 Translated using Weblate (Hindi)
Currently translated at 18.3% (95 of 519 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/hi/
2024-08-04 07:17:59 -04:00
dharmik2319
8aabf8dc9a Translated using Weblate (Hindi)
Currently translated at 18.1% (94 of 519 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/hi/
2024-08-04 07:16:20 -04:00
dharmik2319
31abdc6060 Translated using Weblate (Hindi)
Currently translated at 17.9% (93 of 519 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/hi/
2024-08-04 07:15:47 -04:00
dharmik2319
954491718e Translated using Weblate (Hindi)
Currently translated at 17.7% (92 of 519 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/hi/
2024-08-04 07:15:14 -04:00
dharmik2319
bb550630dd Translated using Weblate (Hindi)
Currently translated at 17.5% (91 of 519 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/hi/
2024-08-04 07:14:41 -04:00
dharmik2319
1007e22d97 Translated using Weblate (Hindi)
Currently translated at 17.3% (90 of 519 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/hi/
2024-08-04 07:14:08 -04:00
dharmik2319
ec6161bc97 Translated using Weblate (Hindi)
Currently translated at 17.1% (89 of 519 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/hi/
2024-08-04 07:13:35 -04:00
dharmik2319
f1204ccbb6 Translated using Weblate (Hindi)
Currently translated at 16.7% (87 of 519 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/hi/
2024-08-04 07:13:02 -04:00
dharmik2319
77b27e490e Translated using Weblate (Hindi)
Currently translated at 16.5% (86 of 519 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/hi/
2024-08-04 07:11:56 -04:00
dharmik2319
6d1fac382b Translated using Weblate (Hindi)
Currently translated at 16.3% (85 of 519 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/hi/
2024-08-04 07:11:23 -04:00
dharmik2319
c24a7dcc3a Translated using Weblate (Hindi)
Currently translated at 15.9% (83 of 519 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/hi/
2024-08-04 07:09:43 -04:00
dharmik2319
461a6939cd Translated using Weblate (Hindi)
Currently translated at 15.7% (82 of 519 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/hi/
2024-08-04 07:09:10 -04:00
dharmik2319
ce13ff4c11 Translated using Weblate (Hindi)
Currently translated at 15.6% (81 of 519 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/hi/
2024-08-04 07:08:04 -04:00
dharmik2319
70fe0ecd2c Translated using Weblate (Hindi)
Currently translated at 15.4% (80 of 519 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/hi/
2024-08-04 07:05:52 -04:00
dharmik2319
0630bbd9ec Translated using Weblate (Hindi)
Currently translated at 15.2% (79 of 519 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/hi/
2024-08-04 06:59:47 -04:00
dharmik2319
40b941ce4b Translated using Weblate (Hindi)
Currently translated at 14.8% (77 of 519 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/hi/
2024-08-04 06:59:14 -04:00
dharmik2319
ab2298feff Translated using Weblate (Hindi)
Currently translated at 14.6% (76 of 519 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/hi/
2024-08-04 06:58:08 -04:00
dharmik2319
ed481e6492 Translated using Weblate (Hindi)
Currently translated at 14.4% (75 of 519 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/hi/
2024-08-04 06:35:49 -04:00
dharmik2319
3f96cab559 Translated using Weblate (Hindi)
Currently translated at 14.2% (74 of 519 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/hi/
2024-08-04 06:35:16 -04:00
dharmik2319
47ffc9f8ee Translated using Weblate (Hindi)
Currently translated at 14.0% (73 of 519 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/hi/
2024-08-04 06:33:37 -04:00
dharmik2319
8b14af8770 Translated using Weblate (Hindi)
Currently translated at 13.8% (72 of 519 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/hi/
2024-08-04 06:33:04 -04:00
Niels van Velzen
4e8fd15508 Support float preferences 2024-08-04 10:47:30 +02:00
Filip Czaplicki
8230479059 Fix typos 2024-08-03 10:54:38 +02:00
renovate[bot]
96e39c34f3 chore(deps): update ci dependencies 2024-08-03 10:41:15 +02:00
Micka149
fa231f7b9b Translated using Weblate (Russian)
Currently translated at 96.7% (502 of 519 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ru/
2024-07-30 15:41:31 -04:00
Lukas Šlenys
21dd49d1d3 Translated using Weblate (Lithuanian)
Currently translated at 78.9% (410 of 519 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/lt/
2024-07-26 10:41:31 -04:00
renovate[bot]
b12e4a6978 fix(deps): update dependency org.jellyfin.sdk:jellyfin-core to v1.5.2 2024-07-25 21:36:46 +02:00
Niels van Velzen
27a3cda6a9 Fix Live TV program popup not populating when opening early 2024-07-25 20:52:46 +02:00
Niels van Velzen
de49e106c5 Fix record buttons in LiveProgramDetailPopup swapped 2024-07-25 20:35:41 +02:00
Niels van Velzen
2d451e51a0 Update targetSdk to 34 2024-07-25 19:16:30 +02:00
renovate[bot]
a9ab6c86ea chore(deps): update github/codeql-action action to v3.25.14 2024-07-25 18:38:17 +02:00
renovate[bot]
444e4e79b3 fix(deps): update androidx.media3 to v1.4.0 2024-07-25 18:38:04 +02:00
Niels van Velzen
fa4ccd3c0f Fix nullability in copyWith[Series]TimerId functions 2024-07-25 15:35:41 +02:00
Niels van Velzen
cc7df2483a Fix "other" items in ByLetterFragment 2024-07-24 21:29:48 +02:00
renovate[bot]
4b933c247a fix(deps): update dependency androidx.activity:activity to v1.9.1 2024-07-24 21:16:59 +02:00
renovate[bot]
01fecadac3 fix(deps): update androidx.fragment to v1.8.2 2024-07-24 21:12:58 +02:00
renovate[bot]
108d24f55f fix(deps): update androidx.lifecycle to v2.8.4 2024-07-24 21:12:47 +02:00
Justin
4488a679c9 Translated using Weblate (German)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/de/
2024-07-24 10:54:33 -04:00
Justin
3c2839462a Translated using Weblate (German)
Currently translated at 100.0% (519 of 519 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/de/
2024-07-24 10:54:33 -04:00
Niels van Velzen
dcbf87488c Fix NPE when opening Live TV guide for the first time 2024-07-23 17:53:56 +02:00
Bond_009
da8e5e8396 Add PCM_S16LE, PCM_S20LE and PCM_S24LE to supported audio codecs
These formats can be found on DVD and Blu-Ray
2024-07-23 17:39:53 +02:00
Weblate
63ab22f31d Update translation files
Updated by "Cleanup translation files" hook in Weblate.

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/
2024-07-23 09:19:29 -04:00
Niels van Velzen
38589ef0c7 Remove unused dtsEnabled preference 2024-07-23 15:19:25 +02:00
Niels van Velzen
a54a5945ee Disable tunneling 2024-07-23 15:19:12 +02:00
Niels van Velzen
6390a95314 Update MediaInfoCardView design 2024-07-23 07:35:42 +02:00
Niels van Velzen
bf60489403 Always show debug media info when available 2024-07-23 07:35:42 +02:00
Niels van Velzen
07eddcd559 Add some audio related information to MediaInfoCardView 2024-07-23 07:35:42 +02:00
bummer2000
3165459b8c Translated using Weblate (Bulgarian)
Currently translated at 32.8% (171 of 520 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/bg/
2024-07-22 18:41:30 -04:00
Imjustjokingwithya
1edf91aa7c Translated using Weblate (Finnish)
Currently translated at 92.3% (480 of 520 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fi/
2024-07-22 11:41:30 -04:00
Niels van Velzen
b2939bfe38 Split "playback/exoplayer" Gradle module into two (#3781)
* Split media3-session to own Gradle module

* Rename playback.exoplayer to playback.media3-exoplayer

* Use submodule for media3
2024-07-22 07:52:31 +02:00
Giuseppe Sacco
0a4b4c1fd6 Translated using Weblate (Italian)
Currently translated at 100.0% (520 of 520 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/it/
2024-07-21 08:41:30 -04:00
renovate[bot]
263b485ba4 fix(deps): update dependency org.jellyfin.sdk:jellyfin-core to v1.5.1 2024-07-21 13:31:44 +02:00
Niels van Velzen
a9b035016f Fix FullDetailsFragment duplicating buttons on resume 2024-07-20 14:07:44 +02:00
renovate[bot]
cbcaea6d2d chore(deps): update github/codeql-action action to v3.25.13 2024-07-19 20:16:46 +02:00
Adorján
cb7054f4c2 Translated using Weblate (Hungarian)
Currently translated at 99.8% (519 of 520 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/hu/
2024-07-19 06:41:30 -04:00
Niels van Velzen
3170670c23 Replace all left-over Date usages with java.time 2024-07-18 20:55:38 +02:00
renovate[bot]
ad18e5b0d6 fix(deps): update dependency io.coil-kt:coil-base to v2.7.0 2024-07-17 20:32:31 +02:00
Troja
631096433c Translated using Weblate (Belarusian)
Currently translated at 100.0% (520 of 520 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/be/
2024-07-17 06:41:30 -04:00
Troja
08345f2b07 Translated using Weblate (Belarusian)
Currently translated at 95.5% (497 of 520 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/be/
2024-07-16 17:41:30 -04:00
Troja
80cb7092af Translated using Weblate (Belarusian)
Currently translated at 71.3% (371 of 520 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/be/
2024-07-16 14:41:30 -04:00
Weblate
5900197af6 Update translation files
Updated by "Remove blank strings" hook in Weblate.

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/
2024-07-16 11:41:31 -04:00
Troja
85791fc7d6 Translated using Weblate (Filipino)
Currently translated at 3.2% (17 of 520 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fil/
2024-07-16 11:41:31 -04:00
Troja
8ce0f7a420 Translated using Weblate (Belarusian)
Currently translated at 69.8% (363 of 520 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/be/
2024-07-16 11:41:30 -04:00
Niels van Velzen
1c80f6e7a4 Remove unused compat streaminfo code 2024-07-16 15:37:15 +02:00
Niels van Velzen
5891264476 Fix timezone issues in Live TV guide 2024-07-16 14:46:44 +02:00
Troja
f5e1b18543 Translated using Weblate (Filipino)
Currently translated at 6.9% (36 of 520 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fil/
2024-07-16 08:41:30 -04:00
Troja
7e1d94795c Translated using Weblate (Belarusian)
Currently translated at 42.3% (220 of 520 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/be/
2024-07-16 08:41:30 -04:00
Niels van Velzen
181bb62adb Set HTTP timeouts in VideoManager ExoPlayer 2024-07-16 14:26:26 +02:00
Niels van Velzen
9a9fc6752b Re-use HTTP timeouts from ApiClient for ExoPlayer 2024-07-16 14:26:26 +02:00
renovate[bot]
93272f4614 Update dependency io.mockk:mockk to v1.13.12 2024-07-16 13:57:03 +02:00
renovate[bot]
9e3a81df19 Update gradle/actions action to v3.5.0 2024-07-16 13:56:51 +02:00
Niels van Velzen
801c043807 Tweak formatting 2024-07-16 13:54:37 +02:00
Christophe Beyls
644a4d5112 fix: apply suggested changes after review 2024-07-16 13:54:37 +02:00
Christophe Beyls
352a3af46e Replace Kotlin Multiplatform BlurHash library with faster local implementation 2024-07-16 13:54:37 +02:00
Niels van Velzen
96174e5d00 Update editor config
- Increase max line length (120->140)
- Fix wildcard for Kotlin files
2024-07-16 13:37:55 +02:00
Niels van Velzen
aafebfc546 Improve intro loading in SdkPlaybackHelper 2024-07-15 16:25:38 +02:00
rdma
540b5e619e Translated using Weblate (Czech)
Currently translated at 100.0% (520 of 520 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/cs/
2024-07-14 12:41:29 -04:00
Niels van Velzen
4a2115f093 Fix AudioNowPlayingFragment showing "From null" when there is no album name 2024-07-14 15:20:35 +02:00
Niels van Velzen
9e41a8b114 Fix race condition in player backdrop 2024-07-14 14:57:56 +02:00
Niels van Velzen
b22095a460 Fix "Next episode(s)" row not showing 2024-07-13 18:06:57 +02:00
renovate[bot]
d2dd5fdb4d Update dependency org.jellyfin.sdk:jellyfin-core to v1.5.0 2024-07-13 14:23:49 +02:00
Niels van Velzen
223348365a Fix PlaybackController spam refreshing Live TV channels 2024-07-13 14:13:10 +02:00
Niels van Velzen
fd5ca3ffea Fix cast exception in ChannelCardView 2024-07-13 14:13:10 +02:00
Niels van Velzen
b1356ac6a0 Fix NPE in ProgramGridCell 2024-07-13 14:13:10 +02:00
Niels van Velzen
5febfaa1a8 Fix NPE in FullDetailsFragment 2024-07-13 14:13:10 +02:00
Niels van Velzen
f6dfe02a3d Fix NPE in EnhancedBrowseFragment 2024-07-13 14:13:10 +02:00
Niels van Velzen
d6ab991b27 Fix program card sizes 2024-07-13 14:13:10 +02:00
renovate[bot]
b4defa717f Update CI dependencies 2024-07-13 13:25:44 +02:00
renovate[bot]
748fd2f4aa Update dependency gradle to v8.9 2024-07-13 13:25:23 +02:00
renovate[bot]
e9bbdc4085 Update dependency com.android.tools.build:gradle to v8.5.1 2024-07-13 13:25:14 +02:00
Filan Fisteku
cd40860ca5 Translated using Weblate (Albanian)
Currently translated at 23.4% (122 of 520 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sq/
2024-07-12 14:41:30 -04:00
renovate[bot]
24191b3698 Update dependency androidx.tv:tv-material to v1.0.0-rc01 2024-07-10 22:09:37 +02:00
Niels van Velzen
c69e9bf292 Add direct play support for WAV audio 2024-07-10 19:05:16 +02:00
Niels van Velzen
0d82a786e1 Fix authorization for transcoding 2024-07-10 08:40:21 +02:00
Niels van Velzen
8e0a18414e Fix lifecycle for LiveProgramDetailPopup 2024-07-08 22:38:35 +02:00
Niels van Velzen
f94468c2a9 Use context in Live TV popups 2024-07-08 22:38:35 +02:00
Niels van Velzen
08cb004b99 Fix crash when item has no media sources 2024-07-07 22:46:54 +02:00
Niels van Velzen
eacbfe7005 Rewrite details row with constraint layout 2024-07-07 15:55:59 +02:00
Niels van Velzen
19bfaa620e Shrink BaseItemInfoRowRuntime size 2024-07-06 19:05:36 +02:00
Niels van Velzen
fda20e07ac Fix crash when refreshing current item 2024-07-06 10:04:31 +02:00
Niels van Velzen
f6f81c290d Fix isPlayingAudio behavior 2024-07-05 07:27:46 +02:00
Mirronth
50fcdb44c7 Translated using Weblate (Hungarian)
Currently translated at 98.8% (514 of 520 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/hu/
2024-07-04 16:41:29 -04:00
Niels van Velzen
9ead8ddc34 Catch errors in ExoPlayerAudioPipeline 2024-07-04 14:53:18 +02:00
Niels van Velzen
9d3626ccdd Fix refreshing current playing item hiding play icon 2024-07-04 14:52:59 +02:00
Niels van Velzen
f8b7087f16 Fix crash when re-opening app during music playback 2024-07-03 14:39:23 +02:00
newton181
862607ee10 Translated using Weblate (Spanish (Latin America))
Currently translated at 100.0% (520 of 520 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es_419/
2024-07-02 20:41:29 -04:00
Niels van Velzen
3bd33cc0ec Fix PlaySessionService no longer reporting to server 2024-07-02 18:55:39 +02:00
Niels van Velzen
483cfc8cb8 Fix header position in BrowseFolderFragment 2024-07-02 14:55:28 +02:00
Niels van Velzen
16ceaf642d Remove hasPassword support 2024-07-02 14:55:16 +02:00
renovate[bot]
52d69f33fe Update dependency com.android.tools.build:gradle to v8.5.0 2024-07-02 12:38:21 +02:00
renovate[bot]
3feb8798c9 Update dependency org.jetbrains.kotlinx:kotlinx-serialization-json to v1.7.1 2024-07-02 12:38:08 +02:00
renovate[bot]
191a528143 Update CI dependencies 2024-07-02 12:37:41 +02:00
renovate[bot]
3a800663ee Update aboutlibraries to v11.2.2 2024-07-02 12:37:33 +02:00
renovate[bot]
ec5bd66a74 Update androidx.lifecycle to v2.8.3 2024-07-02 12:37:11 +02:00
renovate[bot]
95c6ed3dcd Update androidx.fragment to v1.8.1 2024-07-02 12:37:05 +02:00
Pablo Reinoso
3ce4e3d50d Translated using Weblate (Spanish)
Currently translated at 100.0% (520 of 520 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es/
2024-07-02 01:41:29 -04:00
Thomas Schwery
64131c1784 Translated using Weblate (French)
Currently translated at 100.0% (520 of 520 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fr/
2024-07-01 16:41:29 -04:00
Andi Chandler
ae879b296f Translated using Weblate (English (United Kingdom))
Currently translated at 100.0% (520 of 520 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/en_GB/
2024-07-01 16:41:28 -04:00
Niels van Velzen
73a96256eb Fix skip to previous/next playback actions 2024-07-01 20:15:16 +02:00
Niels van Velzen
501e362dae Refactor sort option code in BrowseGridFragment 2024-07-01 20:15:09 +02:00
Niels van Velzen
a17922cfdb Use Enum.name instead of Enum.toString in preference stores 2024-07-01 20:15:09 +02:00
Marc
107890a1e0 Translated using Weblate (Catalan)
Currently translated at 100.0% (520 of 520 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ca/
2024-06-30 11:41:28 -04:00
Justin
ff9d659976 Translated using Weblate (German)
Currently translated at 100.0% (520 of 520 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/de/
2024-06-26 07:41:28 -04:00
nextlooper42
2241cf43fa Translated using Weblate (Slovak)
Currently translated at 100.0% (520 of 520 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sk/
2024-06-24 07:41:28 -04:00
nexia58
eb32016d86 Translated using Weblate (Swedish)
Currently translated at 100.0% (520 of 520 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sv/
2024-06-23 07:41:28 -04:00
無情天
1c75bd2d10 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (520 of 520 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/zh_Hans/
2024-06-22 11:41:28 -04:00
AfmanS
d82d09c12e Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (520 of 520 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pt_PT/
2024-06-22 11:41:28 -04:00
queeup
c24cf01853 Translated using Weblate (Turkish)
Currently translated at 100.0% (520 of 520 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/tr/
2024-06-22 08:41:28 -04:00
Niels van Velzen
f3a89d2051 Move dream service logic to view model 2024-06-21 23:00:04 +02:00
Niels van Velzen
1ca2e1b956 Add view model support to DreamServiceCompat 2024-06-21 23:00:04 +02:00
stanol
5dc68367b1 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (520 of 520 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/uk/
2024-06-21 08:41:28 -04:00
Javier Crespo
a61f51b1d3 Translated using Weblate (Spanish)
Currently translated at 99.2% (516 of 520 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es/
2024-06-21 08:41:28 -04:00
Kityn
052dccaac7 Translated using Weblate (Polish)
Currently translated at 100.0% (520 of 520 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pl/
2024-06-20 21:41:28 -04:00
Bas
d9f6d1a411 Translated using Weblate (Dutch)
Currently translated at 100.0% (520 of 520 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nl/
2024-06-20 16:41:28 -04:00
Hayden
a82fcf89b6 Add media logo to screensaver (#3680)
* Show media logo on screensaver

* Fallback to title text if logo is null

* Preload logo and backdrop

* set logo description to item name

* Add correct tag to logo.

* Show media logo on screensaver

* Fallback to title text if logo is null

* Preload logo and backdrop

* set logo description to item name

* Add correct tag to logo.

* contentDescription nullable.

* contentDescription nullable.

---------

Co-authored-by: Niels van Velzen <nielsvanvelzen@users.noreply.github.com>
2024-06-20 21:22:07 +02:00
Niels van Velzen
72e4bf82b7 Remove unused ModelCompat extensions 2024-06-20 20:18:39 +02:00
Niels van Velzen
9a918db958 Migrate all other Live TV code to SDK 2024-06-20 20:18:39 +02:00
Niels van Velzen
f6dd2a1a87 Migrate Live TV code in ChannelCardView to SDK 2024-06-20 20:18:39 +02:00
Niels van Velzen
5e08f1f8a7 Migrate Live TV code in LiveProgramDetailPopupHelper to SDK 2024-06-20 20:18:39 +02:00
Niels van Velzen
d2ab816f40 Migrate Live TV code in RecordPopup to SDK 2024-06-20 20:18:39 +02:00
Niels van Velzen
6a5dc7b8ae Migrate Live TV code in FullDetailsFragment to SDK 2024-06-20 20:18:39 +02:00
Niels van Velzen
1db2da98aa Migrate Live TV code in BrowseRecordingsFragment to SDK 2024-06-20 20:18:39 +02:00
Niels van Velzen
97b61189cc Migrate Live TV code in BrowseViewFragment to SDK 2024-06-20 20:18:39 +02:00
bene toffix
c58f3cda6a Translated using Weblate (Catalan)
Currently translated at 100.0% (517 of 517 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ca/
2024-06-19 13:41:28 -04:00
Hayden
4e33b0fa28 Translated using Weblate (Russian)
Currently translated at 96.5% (499 of 517 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ru/
2024-06-19 13:41:28 -04:00
Andi Chandler
6e631adad3 Translated using Weblate (English (United Kingdom))
Currently translated at 100.0% (517 of 517 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/en_GB/
2024-06-18 19:41:28 -04:00
Niels van Velzen
a47c97d9e9 Fix Live TV not playing video streams 2024-06-18 22:21:03 +02:00
Hayden
bb4af4a2a5 Translated using Weblate (Russian)
Currently translated at 93.2% (482 of 517 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ru/
2024-06-18 12:41:28 -04:00
DJSweder
63c01d0493 Translated using Weblate (Czech)
Currently translated at 100.0% (517 of 517 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/cs/
2024-06-18 12:41:28 -04:00
AfmanS
c643113cfc Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (517 of 517 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pt_PT/
2024-06-18 04:41:28 -04:00
queeup
a1895a755f Translated using Weblate (Turkish)
Currently translated at 100.0% (517 of 517 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/tr/
2024-06-17 20:41:28 -04:00
Kityn
14d4963050 Translated using Weblate (Polish)
Currently translated at 100.0% (517 of 517 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pl/
2024-06-17 20:41:28 -04:00
Nir Israel Hen
a6c7446fc8 Translated using Weblate (Hebrew)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/he/
2024-06-17 13:41:28 -04:00
Nir Israel Hen
0dbfa38822 Translated using Weblate (Hebrew (Israel))
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/he_IL/
2024-06-17 13:41:28 -04:00
Nir Israel Hen
e69c0d57f9 Translated using Weblate (Hebrew)
Currently translated at 100.0% (517 of 517 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/he/
2024-06-17 13:41:28 -04:00
Bas
f0f4e853e6 Translated using Weblate (Dutch)
Currently translated at 100.0% (517 of 517 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nl/
2024-06-17 13:41:28 -04:00
Nir Israel Hen
391de8329b Translated using Weblate (Hebrew)
Currently translated at 96.5% (498 of 516 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/he/
2024-06-17 10:52:47 -04:00
Niels van Velzen
fcfee4a942 Improve "continue listening" row 2024-06-17 16:52:44 +02:00
AfmanS
5f1d39ab06 Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (516 of 516 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pt_PT/
2024-06-16 08:41:28 -04:00
Hayden
ddc9a01949 Add a blur to backdrop images (#3674)
* Feature added - blur backdrop

* Removed unnecessary _blur usages

* Blur by default

* Update UserPreferences.kt

* Update BackgroundService.kt

* Disable blur on splashscreen

* Update AppBackground.kt Formatting

* Update app/src/main/java/org/jellyfin/androidtv/ui/background/AppBackground.kt

Co-authored-by: Niels van Velzen <nielsvanvelzen@users.noreply.github.com>

* Update AppBackground.kt

---------

Co-authored-by: Niels van Velzen <nielsvanvelzen@users.noreply.github.com>
2024-06-16 08:44:13 +00:00
AfmanS
3c3126f776 Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/pt_PT/
2024-06-16 04:41:27 -04:00
Blackspirits
a9908a8db9 Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/pt_PT/
2024-06-16 01:41:28 -04:00
stanol
ccad1fe4fd Translated using Weblate (Ukrainian)
Currently translated at 100.0% (516 of 516 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/uk/
2024-06-15 17:41:27 -04:00
AfmanS
31eed48c36 Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (516 of 516 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pt_PT/
2024-06-15 14:41:28 -04:00
Joseph Price
d709ca8805 Translated using Weblate (English (United Kingdom))
Currently translated at 100.0% (516 of 516 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/en_GB/
2024-06-14 20:41:27 -04:00
renovate[bot]
538c4132ff Update dependency androidx.compose.foundation:foundation to v1.6.8 2024-06-14 19:35:17 +02:00
renovate[bot]
27583592a5 Update CI dependencies 2024-06-14 19:31:14 +02:00
renovate[bot]
e4bf303e21 Update dependency androidx.compose.ui:ui-tooling to v1.6.8 2024-06-14 19:30:48 +02:00
renovate[bot]
3674eb78b8 Update androidx.lifecycle to v2.8.2 2024-06-14 19:30:30 +02:00
renovate[bot]
97d5a907b8 Update androidx.fragment to v1.8.0 2024-06-14 19:30:16 +02:00
newton181
c312256a46 Translated using Weblate (Spanish (Latin America))
Currently translated at 100.0% (516 of 516 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es_419/
2024-06-13 18:41:28 -04:00
newton181
fa8055eba3 Translated using Weblate (Spanish)
Currently translated at 100.0% (516 of 516 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es/
2024-06-13 18:41:27 -04:00
Niels van Velzen
48d9acea15 Fix PlaybackController not respecting selected media source 2024-06-13 22:35:51 +02:00
Niels van Velzen
3d4d77928f Fix version menu not showing current version as selected 2024-06-13 22:35:51 +02:00
nextlooper42
39730f6407 Translated using Weblate (Slovak)
Currently translated at 100.0% (516 of 516 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sk/
2024-06-13 09:41:27 -04:00
fourtakig
efa0e0d63b Translated using Weblate (Thai)
Currently translated at 39.1% (202 of 516 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/th/
2024-06-13 05:18:22 -04:00
無情天
d7aefa5f5e Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (516 of 516 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/zh_Hans/
2024-06-12 17:41:27 -04:00
Niels van Velzen
2b5f72eb0b Drop unused playback-ui module 2024-06-12 22:20:53 +02:00
Niels van Velzen
5f3dd47243 Move media session implementation to exoplayer module 2024-06-12 22:20:53 +02:00
renovate[bot]
d08e57c287 Update github/codeql-action action to v3.25.9 2024-06-12 19:58:43 +02:00
queeup
5e7b76b334 Translated using Weblate (Turkish)
Currently translated at 100.0% (516 of 516 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/tr/
2024-06-12 10:41:27 -04:00
VXsz
05485a4765 Translated using Weblate (Arabic)
Currently translated at 98.8% (510 of 516 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ar/
2024-06-12 04:40:35 -04:00
millallo
5eee574f41 Translated using Weblate (Italian)
Currently translated at 99.2% (512 of 516 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/it/
2024-06-12 04:40:35 -04:00
Kityn
af366b90af Translated using Weblate (Polish)
Currently translated at 100.0% (516 of 516 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pl/
2024-06-11 19:41:27 -04:00
Niels van Velzen
c65a16e350 Fix usage of removed androidx.legacy.widget.Space class in picture viewer 2024-06-11 22:13:39 +02:00
Niels van Velzen
3ce1059f27 Fix "shuffle all" not working for albums 2024-06-11 22:13:39 +02:00
Niels van Velzen
c7fb82ef1f Fix NPE in FullDetailsFragment when opening (album) artists 2024-06-11 22:13:39 +02:00
Niels van Velzen
91c2dc79a1 Use SDK for FilterOptions 2024-06-11 21:56:12 +02:00
Bas
4617bc787c Translated using Weblate (Dutch)
Currently translated at 100.0% (516 of 516 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nl/
2024-06-11 14:59:10 -04:00
Justin
862f8f2313 Translated using Weblate (German)
Currently translated at 100.0% (516 of 516 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/de/
2024-06-11 14:59:10 -04:00
Weblate
48128f20d9 Update translation files
Updated by "Cleanup translation files" hook in Weblate.

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/
2024-06-11 12:10:19 -04:00
無情天
b5ffc8562b Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (522 of 522 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/zh_Hans/
2024-06-11 12:10:17 -04:00
Niels van Velzen
071bdac6aa Simplify video player preference 2024-06-11 18:10:13 +02:00
renovate[bot]
dc06409618 Update dependency org.jetbrains.kotlinx:kotlinx-serialization-json to v1.7.0 2024-06-11 13:44:57 +02:00
renovate[bot]
20454ed2f6 Update dependency com.android.tools.build:gradle to v8.4.2 2024-06-11 13:40:28 +02:00
Niels van Velzen
87c8ae525b Use Kotlin compose compiler 2024-06-11 13:32:35 +02:00
Niels van Velzen
50919a123d Add .kotlin directory to .gitignore 2024-06-11 13:32:35 +02:00
renovate[bot]
4e958db404 Update Kotlin to v2 2024-06-11 13:32:35 +02:00
liolio6
cadbc559d0 Translated using Weblate (French)
Currently translated at 100.0% (522 of 522 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fr/
2024-06-10 19:41:27 -04:00
Niels van Velzen
62c32d00d1 Fix play after pause in MediaManager implementation 2024-06-10 22:02:25 +02:00
stanol
7c4b91a3d2 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (522 of 522 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/uk/
2024-06-10 15:41:27 -04:00
Niels van Velzen
472705614a Implement normalization gain for music tracks 2024-06-10 19:41:05 +02:00
Niels van Velzen
f0554b26c1 Send QueueEntry to playback backend 2024-06-10 19:22:04 +02:00
Kityn
b6a73f7088 Translated using Weblate (Polish)
Currently translated at 100.0% (522 of 522 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pl/
2024-06-10 11:41:27 -04:00
Kristian Haveland
6438236e49 Translated using Weblate (Norwegian Bokmål)
Currently translated at 99.2% (518 of 522 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nb_NO/
2024-06-10 11:41:27 -04:00
nextlooper42
6f9b4780d4 Translated using Weblate (Slovak)
Currently translated at 100.0% (522 of 522 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sk/
2024-06-10 06:41:27 -04:00
DJSweder
8cf76a463b Translated using Weblate (Czech)
Currently translated at 100.0% (522 of 522 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/cs/
2024-06-10 01:41:27 -04:00
Weblate
ce4389ce3d Update translation files
Updated by "Cleanup translation files" hook in Weblate.

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/
2024-06-09 15:30:58 -04:00
Connor Smith
e5299d72c0 Change 'Queue all subsequent episodes' setting to queue all episodes in a series 2024-06-09 21:30:54 +02:00
Niels van Velzen
b2a6411860 Remove unused AlbumArtistsQuery 2024-06-09 09:20:16 +02:00
Niels van Velzen
1217fbf4f1 Migrate "Play first unwatched" to SDK 2024-06-09 09:20:16 +02:00
renovate[bot]
7dfc8bc337 Update github/codeql-action action to v3.25.8 2024-06-09 09:16:20 +02:00
renovate[bot]
d02cb0ef9f Update kotest to v5.9.1 2024-06-09 09:16:03 +02:00
Niels van Velzen
8d125424d9 Remove StdItemQuery 2024-06-09 09:12:31 +02:00
Niels van Velzen
f43916f04f Fix crash when opening Live TV recordings 2024-06-09 09:12:31 +02:00
Niels van Velzen
ab97adb80a Use Collection<T> instead of Array<T> in ItemRowAdapterHelper.setItems 2024-06-09 09:12:31 +02:00
Niels van Velzen
3afedc8c1a Remove row clearing 2024-06-09 09:12:31 +02:00
Niels van Velzen
093167a99c Replace ItemQuery with GetItemsRequest 2024-06-09 09:12:31 +02:00
Pascal Weidenhammer
5aa3c1eb63 Fix QuickConnect sticky state 2024-06-09 09:12:13 +02:00
Niels van Velzen
0e3a3c21f9 Fix "favorites" playlist not showing 2024-06-08 10:00:57 +02:00
Niels van Velzen
e0e4f51c09 Fix ItemRowAdapter.getStartLetter for (album) artists 2024-06-08 10:00:57 +02:00
efreet7
af68d6cd9d Reorder actionsList 2024-06-06 22:49:42 +02:00
Romain Veillerot
5ce9cd13db Translated using Weblate (French)
Currently translated at 100.0% (523 of 523 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fr/
2024-06-06 13:41:27 -04:00
Svetoslav Popov
6728ba3dc0 Translated using Weblate (Bulgarian)
Currently translated at 28.6% (150 of 523 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/bg/
2024-06-05 16:43:33 -04:00
paaff
ffe3cc9b8e Translated using Weblate (Danish)
Currently translated at 100.0% (523 of 523 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/da/
2024-06-05 15:41:27 -04:00
dharmik2319
f293bf1361 Translated using Weblate (Hindi)
Currently translated at 13.5% (71 of 523 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/hi/
2024-06-05 12:00:50 -04:00
Weblate
b2e5afc7d5 Update translation files
Updated by "Remove blank strings" hook in Weblate.

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/
2024-06-05 10:41:28 -04:00
alien75
2034073bc1 Translated using Weblate (Italian)
Currently translated at 99.0% (518 of 523 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/it/
2024-06-05 10:41:27 -04:00
paaff
e38ff37e5f Translated using Weblate (Danish)
Currently translated at 97.3% (509 of 523 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/da/
2024-06-05 10:41:27 -04:00
queeup
196c262a71 Translated using Weblate (Turkish)
Currently translated at 100.0% (523 of 523 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/tr/
2024-06-04 18:41:27 -04:00
Niels van Velzen
99146e5a91 Fix paged item rows not always resetting 2024-06-04 22:37:08 +02:00
Niels van Velzen
732b8b706e Migrate "(Album) Artists" to SDK 2024-06-04 22:37:08 +02:00
Niels van Velzen
992bbe0f6b Migrate "Live TV Channels" to SDK 2024-06-04 22:37:08 +02:00
Niels van Velzen
4751c7fd69 Rename query -> request for custom request types 2024-06-04 22:37:08 +02:00
Niels van Velzen
5ec3b9a1dd Migrate Live TV rows to SDK 2024-06-04 16:12:16 +02:00
Niels van Velzen
0a9c8c83ff Migrate "Trailers" to SDK 2024-06-04 15:17:49 +02:00
Niels van Velzen
a0c9640018 Migrate "More like this" to SDK 2024-06-04 15:17:49 +02:00
Niels van Velzen
d65118d56e Migrate "Upcoming episodes" to SDK 2024-06-04 15:17:49 +02:00
Niels van Velzen
4d7546d765 Migrate "Seasons" to SDK 2024-06-04 15:17:49 +02:00
Niels van Velzen
fcfa8aa988 Migrate "user views" to SDK 2024-06-04 15:17:49 +02:00
Niels van Velzen
903e30c91e Migrate "Additional parts" to SDK 2024-06-04 15:17:49 +02:00
Niels van Velzen
dfd03c3099 Migrate "Specials" to SDK 2024-06-04 15:17:49 +02:00
queeup
a13b06df0f Translated using Weblate (Turkish)
Currently translated at 99.4% (520 of 523 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/tr/
2024-06-03 18:52:42 -04:00
Justin
5473c5295d Translated using Weblate (German)
Currently translated at 100.0% (523 of 523 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/de/
2024-06-03 18:52:41 -04:00
無情天
900beb8275 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (523 of 523 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/zh_Hans/
2024-06-03 16:41:27 -04:00
bene toffix
f93fa8703e Translated using Weblate (Catalan)
Currently translated at 100.0% (523 of 523 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ca/
2024-06-03 12:30:15 -04:00
Alejandro M
d996598b69 Translated using Weblate (Spanish)
Currently translated at 99.8% (522 of 523 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es/
2024-06-03 09:41:27 -04:00
nextlooper42
369a285b9a Translated using Weblate (Slovak)
Currently translated at 100.0% (523 of 523 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sk/
2024-06-03 06:41:27 -04:00
Niels van Velzen
48fbe8ae46 Migrate "Recently added" to SDK 2024-06-03 07:33:19 +02:00
stanol
5007deb408 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (523 of 523 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/uk/
2024-06-02 14:41:27 -04:00
Kityn
2fadedd165 Translated using Weblate (Polish)
Currently translated at 100.0% (523 of 523 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pl/
2024-06-02 14:41:27 -04:00
Weblate
e54ee5a8ff Update translation files
Updated by "Cleanup translation files" hook in Weblate.

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/
2024-06-02 11:11:02 -04:00
Bas
58ce8a1dfe Translated using Weblate (Dutch)
Currently translated at 100.0% (528 of 528 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nl/
2024-06-02 11:11:00 -04:00
Niels van Velzen
c1b651d6c6 Remove LibVLC 2024-06-02 17:10:57 +02:00
Niels van Velzen
afa5c4aec9 Remove some unused code related to ItemRowAdapter 2024-06-02 17:10:45 +02:00
Niels van Velzen
bdc9255187 Fix now playing fragment not using string resource for current queue title 2024-06-02 15:44:48 +02:00
renovate[bot]
e287e05403 Update dependency gradle to v8.8 2024-06-02 15:00:27 +02:00
renovate[bot]
0013d418f0 Update CI dependencies 2024-06-02 15:00:06 +02:00
renovate[bot]
7ed15332da Update aboutlibraries to v11.2.1 2024-06-02 14:59:57 +02:00
renovate[bot]
867484c616 Update dependency org.jellyfin.sdk:jellyfin-core to v1.5.0-beta.3 2024-06-02 14:08:08 +02:00
Niels van Velzen
d9eb4fbd0a USe ApiClient.update in UserLoginViewModel 2024-06-01 14:49:02 +02:00
Niels van Velzen
f03e74978c Remove redundant if statement in UserRepository 2024-06-01 14:49:02 +02:00
Niels van Velzen
aae0f27a75 Fix StartupActivity preventing invalid login from opening login fragment 2024-06-01 14:49:02 +02:00
Niels van Velzen
1fb8342b0c Fix SessionRepository applying crash reporting information before validating token 2024-06-01 14:49:02 +02:00
Niels van Velzen
3d797cf08a Fix AuthenticationRepository leaking access token to logs 2024-06-01 14:49:02 +02:00
Niels van Velzen
bfa26bd2f9 Fix UserLoginFragment not using lifecycle correctly 2024-06-01 14:49:02 +02:00
Niels van Velzen
8bf7380056 Start series from first unwatched in "play next up" 2024-06-01 14:48:44 +02:00
Niels van Velzen
6eb97d6178 Fix unchecked warning in FullDetailsFragment 2024-05-31 22:20:20 +02:00
Pascal Weidenhammer
f31a8095a0 Fix JSON decode crash in PictureViewerFragment
The arguments are provided as a String, not as JSON. Use the SDK provided methods to convert to an enum instead.
2024-05-31 19:49:34 +02:00
Niels van Velzen
29da028fe6 Migrate "next up" row to SDK 2024-05-30 22:45:04 +02:00
Niels van Velzen
0e94140c18 Fix resumable episodes showing up twice in "Play next" integration 2024-05-30 22:41:37 +02:00
renovate[bot]
aa8a2fbdc8 Update dependency androidx.window:window to v1.3.0 2024-05-29 21:26:12 +02:00
renovate[bot]
f10f8042af Update androidx.lifecycle to v2.8.1 2024-05-29 21:22:26 +02:00
renovate[bot]
505669445f Update dependency androidx.appcompat:appcompat to v1.7.0 2024-05-29 21:22:14 +02:00
stanol
07f34695ff Translated using Weblate (Ukrainian)
Currently translated at 100.0% (527 of 527 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/uk/
2024-05-29 14:41:27 -04:00
foXaCe
cc6d0dfd06 Translated using Weblate (French)
Currently translated at 99.6% (525 of 527 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fr/
2024-05-29 14:41:27 -04:00
Pascal Weidenhammer
f36c40cddb Fix app crash in EditServerScreen
The java.text.DateFormat can't handle java.time.Instant resulting in a crash when loading the screen.
2024-05-28 20:12:21 +02:00
Niels van Velzen
3f71142ab2 Rewrite artist name code in DreamContentNowPlaying 2024-05-28 14:10:30 +02:00
Niels van Velzen
17fa838a98 Migrate to androidx.tv.material 2024-05-28 14:10:30 +02:00
Niels van Velzen
d584ee788f Update RecommendedServerIssueExtensions for removed exceptions 2024-05-28 08:56:53 +02:00
renovate[bot]
3a84b16e9a Update dependency org.jellyfin.sdk:jellyfin-core to v1.5.0-beta.2 2024-05-28 08:56:53 +02:00
Niels van Velzen
44a4cfec0c Use singleTask launch mode for StartupActivity 2024-05-28 08:43:05 +02:00
Niels van Velzen
879831d601 Support new intent in StartupActivity 2024-05-28 08:43:05 +02:00
無情天
04ed562334 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (527 of 527 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/zh_Hans/
2024-05-27 13:41:26 -04:00
hoanghuy309
1b4e787f3b Translated using Weblate (Vietnamese)
Currently translated at 95.6% (504 of 527 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/vi/
2024-05-27 09:41:26 -04:00
hoanghuy309
60be450620 Translated using Weblate (Vietnamese)
Currently translated at 95.0% (501 of 527 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/vi/
2024-05-27 06:41:27 -04:00
stanol
d992cc6a70 Translated using Weblate (Ukrainian)
Currently translated at 99.8% (526 of 527 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/uk/
2024-05-27 06:41:27 -04:00
nextlooper42
8ed0896e4e Translated using Weblate (Slovak)
Currently translated at 100.0% (527 of 527 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sk/
2024-05-27 06:41:27 -04:00
Blackspirits
4870e6c5f0 Translated using Weblate (Portuguese (Portugal))
Currently translated at 85.7% (452 of 527 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pt_PT/
2024-05-27 06:41:26 -04:00
Kityn
c91dfdd539 Translated using Weblate (Polish)
Currently translated at 100.0% (527 of 527 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pl/
2024-05-27 03:41:26 -04:00
Bas
162233b8be Translated using Weblate (Dutch)
Currently translated at 100.0% (527 of 527 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nl/
2024-05-26 18:41:26 -04:00
Anonymous
c2e1847d0c Translated using Weblate (Spanish (Latin America))
Currently translated at 98.1% (517 of 527 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es_419/
2024-05-26 16:12:00 -04:00
Anonymous
0581afc2ab Translated using Weblate (Chinese (Traditional))
Currently translated at 96.7% (510 of 527 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/zh_Hant/
2024-05-26 16:11:59 -04:00
Bas
f32cf16a4d Translated using Weblate (Dutch)
Currently translated at 99.8% (526 of 527 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nl/
2024-05-26 16:11:59 -04:00
Niels van Velzen
dd5d6e7b3e Add app notification to notify about upcoming server requirement 2024-05-26 22:05:03 +02:00
Niels van Velzen
ead9df84df Fix ModelCompat crash for media type 2024-05-26 16:59:41 +02:00
stanol
f49b5af185 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (526 of 526 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/uk/
2024-05-26 10:41:26 -04:00
無情天
b1c953050d Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (526 of 526 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/zh_Hans/
2024-05-26 10:41:26 -04:00
Kityn
6085f31d85 Translated using Weblate (Polish)
Currently translated at 100.0% (526 of 526 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pl/
2024-05-26 03:41:26 -04:00
foXaCe
17519ed827 Translated using Weblate (French)
Currently translated at 100.0% (526 of 526 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fr/
2024-05-26 03:41:26 -04:00
Bas
861cc723e9 Translated using Weblate (Dutch)
Currently translated at 100.0% (526 of 526 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nl/
2024-05-25 13:41:26 -04:00
Niels van Velzen
feafdf2162 Refactor BaseRowItem to use inheritance (#3598)
* Only use SDK types in BaseRowItem

This also cleans the constructor hell a bit (although still a mess)

* Refactor BaseRowItem constructors into subclasses

* Move function implementations to BaseRowItem subclasses

* Move properties to BaseRowItem subclasses

* Add missing BaseItemKinds in BaseItemDtoBaseRowItem

* Remove refresh function from BaseRowItem

* Optimize MutableObjectAdapter.remove(element: T)

* Make BaseRowItem immutable

* Remove dependency injection from BaseRowItem

* Use properties when possible in BaseRowItem

* Remove index property from BaseRowItem

* Move even more BaseRowItem properties

* Remove index from AudioQueueBaseRowItem

* Fix ItemRowAdapter counts after index removal

* Remove unused ChangeTriggerTypes
2024-05-25 17:19:03 +02:00
renovate[bot]
7926aafae7 Update aboutlibraries to v11.2.0 2024-05-25 11:29:09 +02:00
renovate[bot]
e9d0f856d2 Update github/codeql-action action to v3.25.6 2024-05-25 11:28:45 +02:00
renovate[bot]
8f9e6cf58b Update dependency com.android.tools.build:gradle to v8.4.1 2024-05-25 11:28:35 +02:00
DJSweder
76ba6bc528 Translated using Weblate (Czech)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/cs/
2024-05-25 04:41:26 -04:00
DJSweder
e9ba530272 Translated using Weblate (Czech)
Currently translated at 100.0% (525 of 525 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/cs/
2024-05-25 04:41:26 -04:00
Niels van Velzen
50b70a5269 Remove unused "Offline" item location 2024-05-22 20:52:44 +02:00
Jack Govier
50e812f946 Translated using Weblate (Welsh)
Currently translated at 27.8% (146 of 525 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/cy/
2024-05-21 15:41:26 -04:00
Blackspirits
78f6c98edd Translated using Weblate (Portuguese (Portugal))
Currently translated at 83.8% (440 of 525 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pt_PT/
2024-05-21 15:41:26 -04:00
Blackspirits
92552fcbdb Translated using Weblate (Portuguese (Portugal))
Currently translated at 81.9% (430 of 525 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pt_PT/
2024-05-21 12:41:26 -04:00
Jorge
759d56b7f1 Translated using Weblate (Portuguese (Portugal))
Currently translated at 76.9% (404 of 525 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pt_PT/
2024-05-21 09:41:26 -04:00
Niels van Velzen
135ccac2bf Use SDK for API calls in FullDetailsFragment 2024-05-20 15:24:16 +02:00
Niels van Velzen
88e8a28f9e Use SDK types in FullDetailsFragment 2024-05-20 15:24:16 +02:00
Niels van Velzen
a953860d64 Remove ApiClientPlaybackHelper 2024-05-19 16:42:30 +02:00
Niels van Velzen
03ac5b61cb Add context to PlaybackHelper.getItemsToPlay 2024-05-19 16:42:30 +02:00
Niels van Velzen
a46aa958a1 Add SdkPlaybackHelper 2024-05-19 16:42:30 +02:00
Niels van Velzen
faddfd15a0 Remove unused code branch in BrowseViewFragment 2024-05-19 16:27:50 +02:00
Niels van Velzen
0971d8918e Remove ImageUtils 2024-05-19 16:27:29 +02:00
Niels van Velzen
53f2c6681d Move constants and remaining functions to ImageHelper 2024-05-19 16:27:29 +02:00
Niels van Velzen
2df9e3dda4 Update remaining ImageUtils functions to use SDK for image URL construction 2024-05-19 16:27:29 +02:00
renovate[bot]
70b07d1ceb Update kotest to v5.9.0 2024-05-18 22:08:41 +02:00
renovate[bot]
2d1dba654b Update CI dependencies 2024-05-18 22:08:27 +02:00
renovate[bot]
a4cf654d6b Update dependency io.mockk:mockk to v1.13.11 2024-05-18 22:08:18 +02:00
Niels van Velzen
419c01babe Add interface for PlaybackHelper 2024-05-18 18:52:04 +02:00
Niels van Velzen
7bf5998f6c Refactor PlaybackHelper to use dependency injection 2024-05-18 18:52:04 +02:00
Niels van Velzen
5d0a677265 Fix "Add server" button not visible when there are too many servers 2024-05-16 22:15:13 +02:00
Niels van Velzen
dc8f97c71b Remove FakeBaseItem.SERIES_TIMERS 2024-05-16 22:07:36 +02:00
Niels van Velzen
c8850147a2 Formatting fixes 2024-05-16 22:07:36 +02:00
Niels van Velzen
a22f976d30 Remove FakeBaseItem.FAV_SONGS 2024-05-16 22:07:36 +02:00
Niels van Velzen
725b5d3dd8 Split MusicFavoritesListFragment from ItemListFragment 2024-05-16 22:07:36 +02:00
Niels van Velzen
e8bb6811b7 Make FakeBaseItem ids private (access via BaseItemDto) 2024-05-16 22:07:36 +02:00
Niels van Velzen
f7722584c5 Fully migrate ItemListFragment to use SDK 2024-05-16 20:49:45 +02:00
renovate[bot]
b6022bc133 Update dependency androidx.compose.compiler:compiler to v1.5.14 2024-05-15 19:09:13 +02:00
renovate[bot]
aee6f26af6 Update Kotlin 2024-05-15 19:09:04 +02:00
Niels van Velzen
9249c91321 Use non-ktx versions for lifecycle dependencies 2024-05-15 19:08:44 +02:00
renovate[bot]
2fc5cecb76 Update androidx.lifecycle to v2.8.0 2024-05-15 19:08:44 +02:00
renovate[bot]
d212572df8 Update androidx.fragment to v1.7.1 2024-05-15 19:02:13 +02:00
Juho Han
1b7f4de4c9 Translated using Weblate (Korean)
Currently translated at 100.0% (525 of 525 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ko/
2024-05-14 11:41:27 -04:00
Niels van Velzen
5db06f1390 Remove unused methods from StreamHelper 2024-05-14 16:39:38 +02:00
Niels van Velzen
51d1dc9a3e Use dependency injection for ReportingHelper 2024-05-14 16:39:38 +02:00
Niels van Velzen
d3a35875df Use dependency injection for KeyProcessor 2024-05-14 16:39:38 +02:00
Niels van Velzen
128a212027 Move addBlockText to ProgramGridCell 2024-05-14 16:39:38 +02:00
Niels van Velzen
bda1514b8f Use dependency injection for ItemLauncher 2024-05-14 16:39:38 +02:00
triwira
8b8ae207ee Translated using Weblate (Indonesian)
Currently translated at 68.0% (357 of 525 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/id/
2024-05-13 06:41:25 -04:00
Niels van Velzen
25a24801d6 Update to Kotlin SDK 1.5.0 (Jellyfin 10.9) 2024-05-12 22:03:34 +02:00
Oatavandi
369f183a2d Translated using Weblate (Tamil)
Currently translated at 100.0% (525 of 525 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ta/
2024-05-11 12:41:25 -04:00
Niels van Velzen
45d0d18223 Add media source selection 2024-05-11 17:31:45 +02:00
Niels van Velzen
d48c1e6517 Add initial video codec support code 2024-05-11 17:24:11 +02:00
Niels van Velzen
4c95258fdf Add initial subtitle implementation 2024-05-10 19:15:00 +02:00
Niels van Velzen
54f575d838 Use screensaverLock in PlaybackRewriteFragment 2024-05-10 19:15:00 +02:00
Niels van Velzen
2d0369a5f4 Add basic lifecycle events to PlaybackRewriteFragment 2024-05-10 19:15:00 +02:00
Niels van Velzen
050702716a Remove interceptPlayRequest 2024-05-10 19:15:00 +02:00
Niels van Velzen
79ce9e3ca4 Read items to play from legacy video queue 2024-05-10 19:15:00 +02:00
Niels van Velzen
0b47d5d7c8 Replace PlaybackForwardingActivity with PlaybackRewriteFragment 2024-05-07 21:21:23 +02:00
Niels van Velzen
6942d92590 Fix screensaver and media manager displaying video entries 2024-05-07 21:17:57 +02:00
Niels van Velzen
59153d47fe Add VideoMediaStreamResolver 2024-05-07 15:41:55 +02:00
Niels van Velzen
84a16804fa Update PlaybackForwardingActivity to show video output 2024-05-07 15:41:55 +02:00
Niels van Velzen
359a9b8899 Fix typo in AudioMediaStreamResolver 2024-05-07 15:41:55 +02:00
Niels van Velzen
50212a1a00 Add hls dependency to media3 module 2024-05-07 15:41:55 +02:00
Niels van Velzen
7d0c7c441e Fix PlaybackLauncher not converting item id to string 2024-05-07 15:41:55 +02:00
Niels van Velzen
1da4a8e69b Check for mediaType in AudioMediaStreamResolver 2024-05-07 15:41:55 +02:00
Niels van Velzen
a0f8ed343d Add PlayerSurfaceView to display video output 2024-05-07 15:41:55 +02:00
musenq
fc5940ec1d Translated using Weblate (Japanese)
Currently translated at 50.0% (2 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/ja/
2024-05-06 10:41:26 -04:00
musenq
4b8d7a0680 Translated using Weblate (Japanese)
Currently translated at 72.9% (383 of 525 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ja/
2024-05-06 10:41:25 -04:00
Vincent_lok
9844882ef1 Translated using Weblate (Chinese (Traditional))
Currently translated at 97.3% (511 of 525 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/zh_Hant/
2024-05-06 03:21:26 -04:00
Weblate
d514e55e11 Update translation files
Updated by "Remove blank strings" hook in Weblate.

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/
2024-05-06 01:23:13 -04:00
Vincent_lok
60bab91aab Translated using Weblate (Slovenian)
Currently translated at 94.6% (497 of 525 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sl/
2024-05-06 01:23:13 -04:00
Vincent_lok
32d49e7167 Translated using Weblate (Chinese (Traditional))
Currently translated at 96.3% (506 of 525 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/zh_Hant/
2024-05-06 01:23:12 -04:00
Vincent_lok
02a8050528 Translated using Weblate (Chinese (Traditional))
Currently translated at 93.3% (490 of 525 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/zh_Hant/
2024-05-06 00:20:11 -04:00
Niels van Velzen
8ed8ddbde3 Cache computed PlayableMediaStream in QueueEntry element 2024-05-05 22:34:07 +02:00
Tommy
e1a3c50adc Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (525 of 525 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nb_NO/
2024-05-05 13:38:06 -04:00
Niels van Velzen
01642e644c Refactor QueueEntry design 2024-05-05 16:30:43 +02:00
Niels van Velzen
73626e185e Force Quick Connect code to use LTR text direction 2024-05-05 11:15:50 +02:00
Niels van Velzen
e596cf80a0 Use LocalDateTime in TimeUtils 2024-05-04 16:22:31 +02:00
Niels van Velzen
5d17b3cf33 Remove unused TimeUtils 2024-05-04 16:22:31 +02:00
Niels van Velzen
f5b3d5f20c Replace java.util.Calendar in some places 2024-05-04 16:22:31 +02:00
Niels van Velzen
b4440300af Use Instant in DataRefreshService 2024-05-04 16:22:31 +02:00
Niels van Velzen
070b9b2cc3 Prefer Instant.now().toEpochMilli() over System.getTimeMillis() 2024-05-04 16:22:31 +02:00
Niels van Velzen
912f4808e2 Migrate from java.util.Date to java.time 2024-05-04 16:22:31 +02:00
Niels van Velzen
723e83887d Set view composition strategy in DreamServiceCompat 2024-05-04 16:22:09 +02:00
Niels van Velzen
5ef7bbc573 Use androidx fragment-compose 2024-05-04 16:22:09 +02:00
renovate[bot]
c539b1da17 fix(deps): update dependency com.android.tools.build:gradle to v8.4.0 2024-05-04 13:36:18 +02:00
Szilágyi Kristóf
5f4ee497a5 Translated using Weblate (Hungarian)
Currently translated at 100.0% (525 of 525 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/hu/
2024-05-04 06:41:25 -04:00
renovate[bot]
07e833d8df fix(deps): update dependency androidx.fragment:fragment-ktx to v1.7.0 2024-05-04 12:18:25 +02:00
renovate[bot]
cd13187cf4 fix(deps): update dependency androidx.compose.foundation:foundation to v1.6.7 2024-05-04 12:16:08 +02:00
renovate[bot]
190310a24d fix(deps): update dependency androidx.compose.ui:ui-tooling to v1.6.7 2024-05-04 12:16:00 +02:00
renovate[bot]
6d19682e78 chore(deps): update aboutlibraries to v11.1.4 2024-05-04 12:12:51 +02:00
renovate[bot]
af77ccbad0 fix(deps): update dependency androidx.core:core-ktx to v1.13.1 2024-05-04 12:12:13 +02:00
renovate[bot]
67c654ab4e fix(deps): update dependency androidx.compose.material:material to v1.6.7 2024-05-04 12:12:05 +02:00
renovate[bot]
2a91691476 fix(deps): update dependency androidx.compose.compiler:compiler to v1.5.13 2024-05-04 12:11:50 +02:00
Andi Chandler
ce7397a7c4 Translated using Weblate (English (United Kingdom))
Currently translated at 100.0% (525 of 525 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/en_GB/
2024-05-03 18:41:25 -04:00
Kityn
3cb22b0c8f Translated using Weblate (Polish)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/pl/
2024-05-01 09:14:41 -04:00
cfsima
758fbcb207 Translated using Weblate (Swedish)
Currently translated at 100.0% (525 of 525 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sv/
2024-04-29 21:15:34 -04:00
cfsima
20ea9e59f1 Translated using Weblate (Swedish)
Currently translated at 98.2% (516 of 525 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sv/
2024-04-29 19:25:46 -04:00
renovate[bot]
902c826844 chore(deps): update ci dependencies 2024-04-29 20:04:40 +02:00
Gian Klug
675ad8d536 Translated using Weblate (German)
Currently translated at 100.0% (525 of 525 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/de/
2024-04-28 11:52:12 -04:00
miguelsvieira
80107acf2c Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (525 of 525 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pt_BR/
2024-04-28 00:07:02 -04:00
無情天
7fded02c76 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (525 of 525 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/zh_Hans/
2024-04-26 19:38:04 -04:00
DJSweder
5915d5c956 Translated using Weblate (Czech)
Currently translated at 100.0% (525 of 525 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/cs/
2024-04-26 10:36:29 -04:00
nextlooper42
7bab2a064e Translated using Weblate (Slovak)
Currently translated at 100.0% (525 of 525 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sk/
2024-04-26 07:53:07 -04:00
GeorgeAL78
a86e1feb98 Translated using Weblate (Albanian)
Currently translated at 10.8% (57 of 525 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sq/
2024-04-25 09:23:24 -04:00
renovate[bot]
c059a13cf3 fix(deps): update dependency org.jellyfin.media3:media3-ffmpeg-decoder to v1.3.1+2 2024-04-25 07:38:34 +02:00
FrankJeager
5748e35905 Translated using Weblate (French)
Currently translated at 100.0% (525 of 525 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fr/
2024-04-24 17:38:04 -04:00
Troja
589d5e951f Translated using Weblate (Belarusian)
Currently translated at 24.1% (127 of 525 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/be/
2024-04-23 09:05:16 -04:00
ligang945
bc4fcb088f Translated using Weblate (Chinese (Simplified))
Currently translated at 98.4% (517 of 525 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/zh_Hans/
2024-04-23 05:25:40 -04:00
queeup
1c9952f414 Translated using Weblate (Turkish)
Currently translated at 100.0% (525 of 525 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/tr/
2024-04-21 13:19:39 -04:00
queeup
0416997e15 Translated using Weblate (Turkish)
Currently translated at 99.8% (524 of 525 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/tr/
2024-04-21 13:00:42 -04:00
Blackspirits
d6e7c48b65 Translated using Weblate (Portuguese (Portugal))
Currently translated at 76.9% (404 of 525 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pt_PT/
2024-04-21 12:38:04 -04:00
Víctor Vázquez
be3bda90e2 Translated using Weblate (Spanish)
Currently translated at 100.0% (525 of 525 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es/
2024-04-21 08:28:08 -04:00
bene toffix
f1f6c9aacd Translated using Weblate (Catalan)
Currently translated at 100.0% (525 of 525 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ca/
2024-04-20 04:56:23 -04:00
KarlderHeinz
940d41322e Translated using Weblate (German)
Currently translated at 99.6% (523 of 525 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/de/
2024-04-19 17:46:41 -04:00
stanol
47c96fd189 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (525 of 525 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/uk/
2024-04-19 16:38:04 -04:00
Bas
6d6a76e4f5 Translated using Weblate (Dutch)
Currently translated at 100.0% (525 of 525 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nl/
2024-04-19 12:54:40 -04:00
nextlooper42
31f8176aad Translated using Weblate (Slovak)
Currently translated at 100.0% (525 of 525 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sk/
2024-04-19 09:38:04 -04:00
vic991
3e863bbe02 Translated using Weblate (Swedish)
Currently translated at 97.1% (510 of 525 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sv/
2024-04-18 22:38:03 -04:00
Filip Bryłka
b031041048 Translated using Weblate (Polish)
Currently translated at 100.0% (525 of 525 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pl/
2024-04-18 18:38:04 -04:00
renovate[bot]
c108df7e05 chore(deps): update gradle/actions action to v3.3.1 2024-04-18 22:20:26 +02:00
Niels van Velzen
a086a2d241 Fix getAllChannelsIndex always returning -1 2024-04-18 22:12:03 +02:00
Niels van Velzen
9c068290bb Fix channel adapter not using string resource 2024-04-18 22:12:03 +02:00
Niels van Velzen
17f16208fd Fix Live TV channels refreshing to infinity 2024-04-18 22:12:03 +02:00
Niels van Velzen
e6b990cd42 Remove leakcanary 2024-04-18 22:09:09 +02:00
Niels van Velzen
a9928fb51e Add preferences for screensaver age rating 2024-04-18 21:49:15 +02:00
renovate[bot]
3b524ccd4b fix(deps): update dependency androidx.compose.compiler:compiler to v1.5.12 2024-04-18 21:48:58 +02:00
renovate[bot]
40d2f81cac fix(deps): update dependency androidx.compose.material:material to v1.6.6 2024-04-18 21:48:45 +02:00
renovate[bot]
e5ce29eb62 chore(deps): update ci dependencies 2024-04-18 21:48:11 +02:00
renovate[bot]
6ef67c8961 fix(deps): update dependency androidx.compose.foundation:foundation to v1.6.6 2024-04-18 21:44:12 +02:00
renovate[bot]
314af7200d fix(deps): update dependency androidx.compose.ui:ui-tooling to v1.6.6 2024-04-18 21:44:02 +02:00
Niels van Velzen
424259aa4d Migrate from androidx.activity-ktx to androidx.activity 2024-04-18 21:43:29 +02:00
renovate[bot]
dc0962c2ed fix(deps): update dependency androidx.activity:activity-ktx to v1.9.0 2024-04-18 21:43:29 +02:00
renovate[bot]
ec32ab4e6f fix(deps): update dependency androidx.core:core-ktx to v1.13.0 2024-04-18 21:38:33 +02:00
Alan Azar
0e142ce33b Translated using Weblate (Lithuanian)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/lt/
2024-04-18 15:38:04 -04:00
Alan Azar
d0191dac89 Translated using Weblate (Indonesian)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/id/
2024-04-18 15:38:04 -04:00
Alan Azar
272a12cadb Translated using Weblate (Indonesian)
Currently translated at 68.5% (355 of 518 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/id/
2024-04-18 15:38:04 -04:00
Blackspirits
3460aca9d9 Translated using Weblate (Portuguese (Portugal))
Currently translated at 76.6% (397 of 518 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pt_PT/
2024-04-17 15:00:29 -04:00
annorberg98
c58e44a940 Translated using Weblate (Swedish)
Currently translated at 97.2% (504 of 518 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sv/
2024-04-16 13:38:04 -04:00
renovate[bot]
94ca41bae0 fix(deps): update dependency org.jellyfin.media3:media3-ffmpeg-decoder to v1.3.1+1 2024-04-16 08:47:09 +02:00
nextlooper42
58f6a9f295 Translated using Weblate (Slovak)
Currently translated at 100.0% (518 of 518 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sk/
2024-04-15 08:16:13 -04:00
Niels van Velzen
3ae6ff2709 Remove PlayAccess checks 2024-04-14 16:33:43 +02:00
Niels van Velzen
d6a4586dfb Migrate to gradle/actions/wrapper-validation 2024-04-14 10:04:43 +02:00
renovate[bot]
6d9ee9ff74 chore(deps): update gradle/wrapper-validation-action action to v3 2024-04-14 10:04:43 +02:00
renovate[bot]
837123b11a chore(deps): update gradle/actions action to v3.3.0 2024-04-14 10:03:06 +02:00
renovate[bot]
c7b55fbb19 fix(deps): update koin to v3.5.6 2024-04-14 10:01:34 +02:00
Bas
408526c9e6 Translated using Weblate (Dutch)
Currently translated at 100.0% (518 of 518 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nl/
2024-04-13 08:38:03 -04:00
newton181
ebf0c72c8b Translated using Weblate (Spanish (Latin America))
Currently translated at 100.0% (518 of 518 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es_419/
2024-04-12 16:38:04 -04:00
newton181
664a86dd2c Translated using Weblate (Spanish)
Currently translated at 100.0% (518 of 518 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es/
2024-04-12 16:38:03 -04:00
stanol
aa6c81df26 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (518 of 518 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/uk/
2024-04-12 11:38:03 -04:00
Kityn
cae496d60c Translated using Weblate (Polish)
Currently translated at 100.0% (518 of 518 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pl/
2024-04-11 19:11:18 -04:00
renovate[bot]
e0abc4fe0a fix(deps): update koin to v3.5.5 2024-04-11 21:40:17 +02:00
Thomas Erbe
d7b5689057 Add home button when away from home view (#3262)
* Add home button when away from home view

* * Create a custom title view to replace Android Leanback's default
* Move clock view rendering to the new view instead of in the Browse Folder Fragment

* * Fix the now playing screen scrolling down when focusing the home button
* Add some spacing between the folder view title and the clock user view
* Add missing line at end of TitleView

* * Add a new GoHome NavigationAction so that the back stack is properly reset and to allow for the back button to quit the app properly after navigating home.
* Fix the artist title overlapping the home button on the music now playing screen.

* * Merge the clear feature of the GoHome action into the NavigateFragment action and remove the GoHome action

* Clean up and small refactoring

---------

Co-authored-by: Thomas Erbe <vizuaalog@gmail.com>
Co-authored-by: Niels van Velzen <git@ndat.nl>
2024-04-11 21:39:25 +02:00
stanol
857a24ea72 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (517 of 517 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/uk/
2024-04-11 10:38:03 -04:00
Kityn
01d8b3ce33 Translated using Weblate (Polish)
Currently translated at 100.0% (517 of 517 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pl/
2024-04-11 01:46:50 -04:00
renovate[bot]
12b07baabf chore(deps): update aboutlibraries to v11.1.3 2024-04-10 21:50:35 +02:00
renovate[bot]
e6eb0adc34 chore(deps): update gradle/wrapper-validation-action action to v2.1.3 2024-04-10 21:50:12 +02:00
renovate[bot]
2cdfc55bd6 fix(deps): update dependency com.android.tools.build:gradle to v8.3.2 2024-04-10 21:49:55 +02:00
Niels van Velzen
1675bb648d Split playback preferences into normal and advanced screens 2024-04-10 21:49:36 +02:00
Awildidiot
f277ccf1f7 Translated using Weblate (German)
Currently translated at 100.0% (516 of 516 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/de/
2024-04-09 15:38:03 -04:00
renovate[bot]
e36268712b fix(deps): update androidx.media3 to v1.3.1 2024-04-09 19:12:22 +02:00
Blackspirits
673f50440d Translated using Weblate (Portuguese (Portugal))
Currently translated at 76.5% (395 of 516 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pt_PT/
2024-04-09 09:38:03 -04:00
zeskeertwee
d1233b9423 Translated using Weblate (Dutch)
Currently translated at 100.0% (516 of 516 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nl/
2024-04-09 09:38:03 -04:00
stanol
fa57cbf1d5 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (516 of 516 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/uk/
2024-04-09 06:38:03 -04:00
ROYJohan08
6c314b8b30 Translated using Weblate (French)
Currently translated at 100.0% (516 of 516 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fr/
2024-04-09 06:38:03 -04:00
renovate[bot]
529d17d62d chore(deps): update gradle/actions action to v3.2.1 2024-04-09 08:52:26 +02:00
Niels van Velzen
00059d544f Safely convert string to uuid in java files 2024-04-09 08:51:55 +02:00
Niels van Velzen
d09af32f6b Use UUID for other parameters 2024-04-09 08:51:55 +02:00
Niels van Velzen
d8f2e9f070 Use UUID for "id" parameters 2024-04-09 08:51:55 +02:00
Niels van Velzen
9fd84b97db Use UUID for "itemId" parameters 2024-04-09 08:51:55 +02:00
Niels van Velzen
9d8e23d7a9 Remove non existent "SeriesTimers" collection type 2024-04-09 08:44:21 +02:00
Butter
c4d096cd2a Translated using Weblate (Thai)
Currently translated at 25.0% (1 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/th/
2024-04-08 20:38:02 -04:00
bene toffix
63bce6f0c2 Translated using Weblate (Catalan)
Currently translated at 100.0% (516 of 516 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ca/
2024-04-08 15:38:03 -04:00
Johnny Finglish
1cb0757a8e Translated using Weblate (Finnish)
Currently translated at 95.9% (495 of 516 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fi/
2024-04-08 15:38:03 -04:00
queeup
796830ed7d Translated using Weblate (Turkish)
Currently translated at 100.0% (516 of 516 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/tr/
2024-04-08 08:38:03 -04:00
nextlooper42
30cc171309 Translated using Weblate (Slovak)
Currently translated at 100.0% (516 of 516 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sk/
2024-04-07 21:38:03 -04:00
Kityn
eb0e429cf4 Translated using Weblate (Polish)
Currently translated at 100.0% (516 of 516 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pl/
2024-04-07 18:38:02 -04:00
Niels van Velzen
9f90bf7c33 USe Timber.e instead of Exception.printStackTrace 2024-04-07 21:25:18 +02:00
queeup
bb5ea9be8b Translated using Weblate (Turkish)
Currently translated at 100.0% (515 of 515 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/tr/
2024-04-07 14:35:05 -04:00
Niels van Velzen
138ae58555 Update SDK to 1.4.7 (10.8 with enum backports) 2024-04-07 20:34:57 +02:00
Kityn
e1d98dfbc0 Translated using Weblate (Polish)
Currently translated at 100.0% (515 of 515 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pl/
2024-04-07 08:38:03 -04:00
stanol
07364b950b Translated using Weblate (Ukrainian)
Currently translated at 100.0% (515 of 515 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/uk/
2024-04-06 19:38:03 -04:00
throny
c4ca734842 Translated using Weblate (German)
Currently translated at 100.0% (515 of 515 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/de/
2024-04-06 19:38:02 -04:00
Niels van Velzen
84e262fe2c Replace viewModel() with koinViewModel() 2024-04-06 21:35:37 +02:00
renovate[bot]
05b2453df1 fix(deps): update koin to v3.5.4 2024-04-06 21:35:37 +02:00
renovate[bot]
50e5f24464 fix(deps): update dependency androidx.compose.material:material to v1.6.5 2024-04-06 21:27:43 +02:00
renovate[bot]
0b3b843b23 chore(deps): update ci dependencies 2024-04-06 21:21:22 +02:00
renovate[bot]
20177183ae chore(deps): update dependency io.gitlab.arturbosch.detekt to v1.23.6 2024-04-06 21:21:07 +02:00
renovate[bot]
e0b1e60def fix(deps): update dependency androidx.compose.ui:ui-tooling to v1.6.5 2024-04-06 21:20:42 +02:00
renovate[bot]
1d6610eaa7 fix(deps): update dependency androidx.compose.foundation:foundation to v1.6.5 2024-04-06 21:20:30 +02:00
Niels van Velzen
dbde98ac50 Fix app_logo cutoff in some cases 2024-04-06 21:19:57 +02:00
Niels van Velzen
a13babee94 Add button to pick a random item to the smart screen
Works for movies, tv series and music (random album)
2024-04-06 17:21:06 +02:00
alison2033
971ad74f62 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (514 of 514 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pt_BR/
2024-04-05 19:38:03 -04:00
Stefan Kolevski
cec0a64dbc Translated using Weblate (Macedonian)
Currently translated at 99.6% (512 of 514 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/mk/
2024-04-03 10:38:02 -04:00
John Lester Saclot
87e6c78564 Translated using Weblate (Filipino)
Currently translated at 3.3% (17 of 514 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fil/
2024-04-03 02:36:55 -04:00
Stefan Kolevski
4656f8cf53 Translated using Weblate (Macedonian)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/mk/
2024-04-01 12:38:03 -04:00
Stefan Kolevski
ede43bdfb2 Translated using Weblate (Macedonian)
Currently translated at 99.6% (512 of 514 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/mk/
2024-04-01 12:38:03 -04:00
Samuel Kouba
d56acedd08 Translated using Weblate (Czech)
Currently translated at 100.0% (514 of 514 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/cs/
2024-03-31 20:38:02 -04:00
Oatavandi
a2e8386f39 Translated using Weblate (Tamil)
Currently translated at 100.0% (514 of 514 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ta/
2024-03-31 17:38:02 -04:00
nextlooper42
f91f6b92c9 Translated using Weblate (Slovak)
Currently translated at 100.0% (514 of 514 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sk/
2024-03-31 11:38:02 -04:00
Niels van Velzen
d22ab694e2 Check if fragment is null in PlaybackController.play (#3475)
* Check if fragment is null in PlaybackController.play

* Update logging levels in PlaybackController
2024-03-30 21:24:11 +01:00
nextlooper42
f89343e8b0 Translated using Weblate (Slovak)
Currently translated at 96.8% (498 of 514 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sk/
2024-03-30 13:38:02 -04:00
Stjepan Mrgnaić
6dac3ed0e1 Translated using Weblate (Croatian)
Currently translated at 80.3% (413 of 514 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/hr/
2024-03-28 13:38:02 -04:00
Bas
be78e7685c Translated using Weblate (Dutch)
Currently translated at 100.0% (514 of 514 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nl/
2024-03-24 16:38:01 -04:00
Kityn
517cd5e0f3 Translated using Weblate (Polish)
Currently translated at 100.0% (514 of 514 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pl/
2024-03-24 11:38:01 -04:00
renovate[bot]
1a1c932b05 chore(deps): update eps1lon/actions-label-merge-conflict action to v3 2024-03-23 19:07:59 +01:00
renovate[bot]
090f53f917 chore(deps): update aboutlibraries to v11 2024-03-23 16:26:44 +01:00
renovate[bot]
320778732e fix(deps): update dependency androidx.compose.ui:ui-tooling to v1.6.4 2024-03-23 16:25:18 +01:00
renovate[bot]
68acbb52e5 fix(deps): update dependency androidx.compose.foundation:foundation to v1.6.4 2024-03-23 16:24:41 +01:00
MichaelR416
4ba9e18cfa Enable Vorbis audio in video direct play 2024-03-23 16:19:53 +01:00
renovate[bot]
82ef53785b fix(deps): update dependency com.vanniktech:blurhash to v0.3.0 2024-03-23 16:18:56 +01:00
renovate[bot]
09a43d9ec3 chore(deps): update ci dependencies 2024-03-23 16:17:36 +01:00
renovate[bot]
cfeb5f37cd fix(deps): update dependency androidx.compose.material:material to v1.6.4 2024-03-23 16:14:15 +01:00
renovate[bot]
3381689b13 chore(deps): update dependency gradle to v8.7 2024-03-23 16:10:32 +01:00
renovate[bot]
65725657f2 fix(deps): update dependency com.android.tools.build:gradle to v8.3.1 2024-03-23 16:10:23 +01:00
renovate[bot]
8309968440 fix(deps): update dependency androidx.compose.compiler:compiler to v1.5.11 2024-03-23 16:09:56 +01:00
renovate[bot]
9edca009ac chore(deps): update kotlin to v1.9.23 2024-03-23 16:09:50 +01:00
bene toffix
580b62c8c0 Translated using Weblate (Catalan)
Currently translated at 100.0% (514 of 514 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ca/
2024-03-22 12:38:01 -04:00
John MacJelly
327e76094e Translated using Weblate (Spanish)
Currently translated at 100.0% (514 of 514 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es/
2024-03-22 01:38:01 -04:00
皇甫朝云
74e5189509 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (514 of 514 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/zh_Hans/
2024-03-21 04:38:01 -04:00
Dino Martan
5870a3d74a Translated using Weblate (Croatian)
Currently translated at 77.4% (398 of 514 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/hr/
2024-03-18 22:38:02 -04:00
foXaCe
be826c3a47 Translated using Weblate (French)
Currently translated at 100.0% (514 of 514 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fr/
2024-03-16 14:38:01 -04:00
stanol
6fa02af542 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (514 of 514 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/uk/
2024-03-16 10:38:01 -04:00
Fra146
9b1939811f Translated using Weblate (Italian)
Currently translated at 100.0% (514 of 514 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/it/
2024-03-15 11:38:01 -04:00
stanol
f8f49dab35 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (514 of 514 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/uk/
2024-03-14 11:38:01 -04:00
Niels van Velzen
f906998fdc colors 2024-03-13 08:07:28 +01:00
Niels van Velzen
2784a1bcbb Fix search action ignoring received query 2024-03-12 15:19:46 +01:00
Niels van Velzen
b903bc0897 Update logo sizing in splash screen and screensaver 2024-03-11 19:07:33 +01:00
Niels van Velzen
47282c09b0 Update app_logo to use new logo font 2024-03-11 19:07:33 +01:00
Niels van Velzen
dd5002beac Fix background color for preference list views 2024-03-11 17:58:54 +01:00
Niels van Velzen
07692d83b2 Recreate icon/banner resources 2024-03-11 17:28:34 +01:00
renovate[bot]
9b889556d3 fix(deps): update kotest to v5.8.1 2024-03-11 08:49:59 +01:00
Gnkalk
991a139d70 Translated using Weblate (Persian)
Currently translated at 69.6% (358 of 514 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fa/
2024-03-10 13:38:01 -04:00
foXaCe
e1cdbb4f81 Translated using Weblate (French)
Currently translated at 100.0% (514 of 514 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fr/
2024-03-10 13:38:00 -04:00
renovate[bot]
f2e802a300 fix(deps): update androidx.media3 to v1.3.0 2024-03-10 17:46:52 +01:00
renovate[bot]
3cbf34c7d8 fix(deps): update dependency androidx.compose.ui:ui-tooling to v1.6.3 2024-03-10 09:41:53 +01:00
renovate[bot]
1591f89fe3 fix(deps): update dependency androidx.compose.foundation:foundation to v1.6.3 2024-03-10 09:41:36 +01:00
renovate[bot]
7bffb6b97a fix(deps): update dependency androidx.compose.material:material to v1.6.3 2024-03-10 09:37:13 +01:00
Niels van Velzen
60e694959c Use fully transparent background during video playback 2024-03-10 09:35:06 +01:00
Zan
a2ec0098ee Translated using Weblate (Hungarian)
Currently translated at 100.0% (514 of 514 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/hu/
2024-03-09 18:38:04 -05:00
Joshua M. Boniface
07a3ef431a Remove a target dir if it exists
Helps with potential tag overwrites should they occur.
2024-03-09 19:52:13 +01:00
Joshua M. Boniface
eba5ef0e03 Fix paths to use incoming and sudo move
Aligns with new permissions model on new repo server.
2024-03-09 19:52:13 +01:00
Joshua M. Boniface
6556c4c02e Update CI to new repository secrets and layout 2024-03-09 18:38:37 +01:00
Blackspirits
9ba83d141f Translated using Weblate (Portuguese (Portugal))
Currently translated at 76.4% (393 of 514 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pt_PT/
2024-03-08 23:38:04 -05:00
Blackspirits
a40a2b5cc8 Translated using Weblate (Portuguese (Portugal))
Currently translated at 74.7% (384 of 514 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pt_PT/
2024-03-08 20:38:04 -05:00
Bas
a71c2c8cba Translated using Weblate (Dutch)
Currently translated at 100.0% (514 of 514 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nl/
2024-03-06 18:38:04 -05:00
foXaCe
2615fa017f Translated using Weblate (French)
Currently translated at 100.0% (514 of 514 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fr/
2024-03-05 15:38:04 -05:00
foXaCe
53a045f141 Translated using Weblate (French)
Currently translated at 99.8% (513 of 514 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fr/
2024-03-04 09:38:04 -05:00
foXaCe
ac24d88e82 Translated using Weblate (French)
Currently translated at 99.0% (509 of 514 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fr/
2024-03-04 03:38:04 -05:00
Niels van Velzen
35f274ff58 Remove non-profile usages of DeviceUtils 2024-03-03 19:55:55 +01:00
renovate[bot]
94c560f19a chore(deps): update ci dependencies 2024-03-02 11:25:43 +01:00
renovate[bot]
d85492aacd fix(deps): update dependency io.mockk:mockk to v1.13.10 2024-03-02 11:25:30 +01:00
queeup
5674a93390 Translated using Weblate (Turkish)
Currently translated at 100.0% (514 of 514 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/tr/
2024-02-29 18:38:03 -05:00
nalipiaoxiang
06132531b0 Translated using Weblate (Chinese (Simplified))
Currently translated at 98.6% (507 of 514 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/zh_Hans/
2024-02-29 09:37:14 -05:00
mathmahan
2cea38cea9 Translated using Weblate (Swedish)
Currently translated at 97.4% (501 of 514 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sv/
2024-02-29 09:37:13 -05:00
Fabian Magard
84569ef55d Translated using Weblate (German)
Currently translated at 100.0% (514 of 514 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/de/
2024-02-29 09:37:13 -05:00
Ronan Fitzgerald
79f748b235 Translated using Weblate (English (United Kingdom))
Currently translated at 100.0% (514 of 514 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/en_GB/
2024-02-28 18:37:13 -05:00
Kityn
8dde71c91b Translated using Weblate (Polish)
Currently translated at 100.0% (514 of 514 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pl/
2024-02-27 13:37:12 -05:00
Niels van Velzen
3ad5375db4 Add fallthrough to media3 MimeTypes in codec->mime type mapping 2024-02-27 17:13:28 +01:00
Niels van Velzen
e76c56b55d Add "clear image cache" button to developer preferences 2024-02-27 15:30:13 +01:00
Weblate
27de820faf Update translation files
Updated by "Cleanup translation files" hook in Weblate.

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/
2024-02-27 09:26:03 -05:00
Niels van Velzen
d892addefd Remove "automatically choose" option from video player preference 2024-02-27 15:25:57 +01:00
Niels van Velzen
a31c84685e Replace deprecated rememberKoinInject with koinInject 2024-02-27 15:25:47 +01:00
DJSweder
bb13a7454a Translated using Weblate (Czech)
Currently translated at 100.0% (513 of 513 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/cs/
2024-02-26 11:37:12 -05:00
queeup
07122dd48c Translated using Weblate (Turkish)
Currently translated at 100.0% (513 of 513 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/tr/
2024-02-25 07:37:11 -05:00
renovate[bot]
8b7564ec82 chore(deps): update github/codeql-action action to v3.24.5 2024-02-25 13:17:53 +01:00
iNc
f9aeb20458 Translated using Weblate (German)
Currently translated at 75.0% (3 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/de/
2024-02-24 22:37:11 -05:00
Benediktisda
bf6085e235 Translated using Weblate (German)
Currently translated at 100.0% (513 of 513 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/de/
2024-02-24 17:37:11 -05:00
renovate[bot]
79d200c27b fix(deps): update coil to v2.6.0 2024-02-24 10:04:45 +01:00
VB2007
6cfdf7fe80 Translated using Weblate (Hungarian)
Currently translated at 97.2% (499 of 513 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/hu/
2024-02-23 14:37:10 -05:00
Awildidiot
180cfa3e5c Translated using Weblate (German)
Currently translated at 98.6% (506 of 513 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/de/
2024-02-23 05:37:10 -05:00
Niels van Velzen
efc6be8d3d Fix crash when checking whether a person is a folder or not 2024-02-22 20:19:39 +01:00
stanol
1e058c997a Translated using Weblate (Ukrainian)
Currently translated at 98.0% (503 of 513 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/uk/
2024-02-22 11:37:10 -05:00
Bas
0a11f9cdd5 Translated using Weblate (Dutch)
Currently translated at 100.0% (513 of 513 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nl/
2024-02-22 11:37:10 -05:00
renovate[bot]
e3b0ca36aa fix(deps): update dependency androidx.compose.material:material to v1.6.2 2024-02-22 09:39:47 +01:00
renovate[bot]
4fedf0f13d fix(deps): update dependency androidx.compose.compiler:compiler to v1.5.10 2024-02-22 09:39:37 +01:00
renovate[bot]
d8755c395c fix(deps): update dependency androidx.compose.ui:ui-tooling to v1.6.2 2024-02-22 09:33:51 +01:00
renovate[bot]
9f2901ecd5 fix(deps): update dependency androidx.compose.foundation:foundation to v1.6.2 2024-02-22 09:32:54 +01:00
Niels van Velzen
8b87dafb26 Fix crash in SocketHandler.onPlayMessage when user id is not set 2024-02-21 22:28:39 +01:00
DutchKarma
f23bb7c2be Translated using Weblate (Dutch)
Currently translated at 97.4% (500 of 513 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nl/
2024-02-21 10:37:09 -05:00
Kityn
c2c11d40e9 Translated using Weblate (Polish)
Currently translated at 100.0% (513 of 513 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pl/
2024-02-20 16:37:09 -05:00
Niels van Velzen
004d4e06de Rewrite BaseItemInfoRow with Compose (#3379)
* Rewrite BaseItemInfoRow with Compose

* Fix typo

Co-authored-by: Cody Robibero <cody@robibe.ro>

---------

Co-authored-by: Cody Robibero <cody@robibe.ro>
2024-02-20 18:57:12 +01:00
Niels van Velzen
fb25e79233 Fix DPAD_CENTER on screensaver not handled 2024-02-20 18:50:49 +01:00
Niels van Velzen
bd704c4ac9 Replace CoroutineUtils.runBlocking with new CoroutineUtils.runOnLifecycle
This will prevent the main thread from blocking, which in extreme cases can kill the app
2024-02-20 18:50:35 +01:00
Dotun Olatodje
a433920179 Translated using Weblate (French)
Currently translated at 100.0% (499 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fr/
2024-02-20 04:37:09 -05:00
Pedro Lima
e7a43c295b Translated using Weblate (Portuguese (Portugal))
Currently translated at 77.1% (385 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pt_PT/
2024-02-19 10:37:08 -05:00
SirH00D
0950a80509 Translated using Weblate (Norwegian Bokmål)
Currently translated at 99.5% (497 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nb_NO/
2024-02-19 06:37:08 -05:00
Lucas Fogolin
0e395353ba Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/pt_BR/
2024-02-18 20:37:08 -05:00
Lucas Fogolin
af1d83bd05 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (499 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pt_BR/
2024-02-18 20:37:08 -05:00
renovate[bot]
80ee21ab1c chore(deps): update ci dependencies 2024-02-17 17:38:21 +01:00
renovate[bot]
fb34fdf0f0 fix(deps): update kotlin 2024-02-17 17:37:53 +01:00
Alexander Welsing
7611fcc188 Translated using Weblate (German)
Currently translated at 100.0% (499 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/de/
2024-02-16 08:37:07 -05:00
Weblate
3da43bfa50 Update translation files
Updated by "Cleanup translation files" hook in Weblate.

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/
2024-02-14 16:15:07 -05:00
Niels van Velzen
0476a66796 Remove "auto" max bit rate and add additional values 2024-02-14 22:15:02 +01:00
Niels van Velzen
68b578057d Fix crash when updating clock in FullDetailsFragment while item information is unavailable 2024-02-14 22:07:26 +01:00
Cat Tom
c33186509d Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (500 of 500 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/zh_Hans/
2024-02-13 15:30:39 -05:00
Niels van Velzen
345e20afd9 Specify BUILD_TOOLS_VERSION for r0adkll/sign-android-release step in publish workflow 2024-02-13 13:49:36 +01:00
bene toffix
0a0a3fa0f6 Translated using Weblate (Catalan)
Currently translated at 100.0% (500 of 500 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ca/
2024-02-11 11:30:38 -05:00
Niels van Velzen
5ff02c7e5d Only show PG-13 content in screensaver 2024-02-11 16:09:21 +01:00
BlueToxic
6b317e8360 Translated using Weblate (Swedish)
Currently translated at 100.0% (500 of 500 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sv/
2024-02-11 07:30:38 -05:00
renovate[bot]
25cfd427c9 chore(deps): update gradle/wrapper-validation-action action to v2.1.1 2024-02-11 10:34:12 +01:00
MichaelR416
d5c5bcc41c Add if else statement for audio downmixing support 2024-02-11 10:33:48 +01:00
hatsiko panado
6c14b9d0b2 Translated using Weblate (Filipino)
Currently translated at 2.6% (13 of 500 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fil/
2024-02-09 04:30:38 -05:00
hatsiko panado
43e058e01e Added translation using Weblate (Filipino) 2024-02-09 02:01:14 -05:00
renovate[bot]
88b1d39bc1 fix(deps): update dependency androidx.compose.foundation:foundation to v1.6.1 2024-02-08 20:50:07 +01:00
renovate[bot]
82ab40517b fix(deps): update dependency androidx.compose.ui:ui-tooling to v1.6.1 2024-02-08 20:50:00 +01:00
renovate[bot]
1532db7a5d fix(deps): update dependency androidx.compose.material:material to v1.6.1 2024-02-08 20:43:21 +01:00
renovate[bot]
d2f0967a27 fix(deps): update dependency androidx.compose.compiler:compiler to v1.5.9 2024-02-08 20:43:11 +01:00
Bas
c28700db9d Translated using Weblate (Dutch)
Currently translated at 100.0% (500 of 500 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nl/
2024-02-07 16:30:37 -05:00
renovate[bot]
49c573d381 chore(deps): update ci dependencies 2024-02-07 19:16:29 +01:00
renovate[bot]
60eac66d90 fix(deps): update dependency org.jellyfin.media3:media3-ffmpeg-decoder to v1.2.1+1 2024-02-07 19:16:11 +01:00
renovate[bot]
abf46d42f5 fix(deps): update androidx.media3 to v1.2.1 2024-02-07 19:15:53 +01:00
antti202
d206e82837 Translated using Weblate (Estonian)
Currently translated at 100.0% (500 of 500 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/et/
2024-02-06 13:30:37 -05:00
queeup
9af6dda60f Translated using Weblate (Turkish)
Currently translated at 100.0% (500 of 500 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/tr/
2024-02-06 13:30:37 -05:00
Niels van Velzen
c482d488d4 Use data object when applicable 2024-02-06 07:28:50 +01:00
Andi Chandler
b03cd05bc5 Translated using Weblate (English (United Kingdom))
Currently translated at 100.0% (500 of 500 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/en_GB/
2024-02-05 23:30:37 -05:00
mnsrulz
4214e364d9 android tv hls playback direct play fix (#1) 2024-02-05 19:06:25 +01:00
renovate[bot]
667325fec6 chore(deps): update dependency gradle to v8.6 2024-02-04 12:24:27 +01:00
Kityn
dfe37a38ee Translated using Weblate (Polish)
Currently translated at 100.0% (500 of 500 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pl/
2024-02-03 14:30:36 -05:00
Niels van Velzen
1fdaa87d97 Apply review comments 2024-02-03 16:06:12 +01:00
ben
c581047733 Sort by runtime only shows in movie libraries 2024-02-03 16:06:12 +01:00
ben
7ca6ae92d0 Added ability to sort by runtime 2024-02-03 16:06:12 +01:00
Niels van Velzen
b5a3238d02 Migrate to gradle/actions/setup-gradle 2024-02-03 15:09:24 +01:00
renovate[bot]
f65290744f chore(deps): update gradle/gradle-build-action action to v3 2024-02-03 15:09:24 +01:00
Niels van Velzen
b8f74fa116 Fix formatting in InfoLayoutHelper.java 2024-02-03 15:02:31 +01:00
MichaelR416
05cea3bbc4 Merge duplicate methods after parameter removal. 2024-02-03 15:02:31 +01:00
MichaelR416
9ec9de0ba1 Fix media details tag for multiple versions support 2024-02-03 15:02:31 +01:00
renovate[bot]
89c075fc94 chore(deps): update dependency io.gitlab.arturbosch.detekt to v1.23.5 2024-02-03 12:53:10 +01:00
renovate[bot]
62aace820f chore(deps): update github/codeql-action action to v3.24.0 2024-02-03 12:52:48 +01:00
renovate[bot]
3849bb421a chore(deps): update gradle/wrapper-validation-action action to v2 2024-02-03 12:51:15 +01:00
LesDomen
b46f1acc99 Translated using Weblate (Slovenian)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/sl/
2024-01-29 07:30:34 -05:00
LesDomen
2d4273773a Translated using Weblate (Slovenian)
Currently translated at 100.0% (499 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sl/
2024-01-29 07:30:34 -05:00
Kévin LEBLOND
dae3137ada Translated using Weblate (French)
Currently translated at 100.0% (499 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fr/
2024-01-27 17:30:33 -05:00
Mor
ddcf561aef Translated using Weblate (Hebrew)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/he/
2024-01-27 09:30:38 -05:00
antti202
7ff4734be5 Translated using Weblate (Estonian)
Currently translated at 100.0% (499 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/et/
2024-01-27 09:30:38 -05:00
Mor
cb8692fb9c Translated using Weblate (Hebrew)
Currently translated at 100.0% (499 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/he/
2024-01-27 09:30:33 -05:00
Niels van Velzen
4e203323e5 Remove baseline workaround 2024-01-27 14:04:02 +01:00
renovate[bot]
c644cb2449 fix(deps): update dependency androidx.compose.material:material to v1.6.0 2024-01-27 12:16:46 +01:00
renovate[bot]
16ec3c0e26 fix(deps): update dependency androidx.compose.ui:ui-tooling to v1.6.0 2024-01-27 12:11:59 +01:00
renovate[bot]
c92b806c03 fix(deps): update dependency androidx.compose.foundation:foundation to v1.6.0 2024-01-27 12:11:51 +01:00
renovate[bot]
3392078bc8 chore(deps): update ci dependencies 2024-01-27 12:11:31 +01:00
renovate[bot]
66b5b93b98 fix(deps): update dependency com.android.tools.build:gradle to v8.2.2 2024-01-27 12:11:05 +01:00
Niels van Velzen
d466420858 Update app/src/main/java/org/jellyfin/androidtv/util/profile/MediaCodecCapabilitiesTest.kt 2024-01-27 12:08:13 +01:00
lawadr
f5125e937a Fix up 2024-01-27 12:08:13 +01:00
lawadr
1fb3e0399c Widen support for HEVC Main 10
Previously the HEVC codec profile only flagged support for HEVC Main 10
when MediaCodec advertised its support for level 5 (main tier) or above.
This meant devices that support only levels 4 or 4.1 (such as the
Chromecast with Google TV HD) would transcode HEVC Main 10 content even
when supported.

This change lowers the requirement from level 5 to level 4 and also adds
additional profiles specifically for HEVC Main and Main 10 with
conditions on the level so that levels beyond what is supported by
MediaCodec get transcoded.

The result is that HEVC Main 10 level 5 videos get transcoded on devices
supporting only 4.1, but HEVC Main 10 level 4.1 content plays back
directly.
2024-01-27 12:08:13 +01:00
MichaelR416
17b76e1536 Use LTR for default subtitle direction 2024-01-27 12:05:37 +01:00
antti202
476e991deb Translated using Weblate (Estonian)
Currently translated at 57.5% (287 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/et/
2024-01-26 17:30:37 -05:00
hoanghuy309
a3bbe84558 Translated using Weblate (Vietnamese)
Currently translated at 96.7% (483 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/vi/
2024-01-26 00:30:33 -05:00
Ahmad Mujahid
701ff6afb5 Translated using Weblate (Arabic)
Currently translated at 100.0% (499 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ar/
2024-01-25 09:30:33 -05:00
newton181
9f2a772fa3 Translated using Weblate (Spanish (Latin America))
Currently translated at 100.0% (499 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es_419/
2024-01-24 14:30:32 -05:00
newton181
2e879197b8 Translated using Weblate (Spanish)
Currently translated at 100.0% (499 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es/
2024-01-24 14:30:32 -05:00
queeup
924ae07535 Translated using Weblate (Turkish)
Currently translated at 100.0% (499 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/tr/
2024-01-22 15:30:32 -05:00
Abid Hasan
8060a9d9d0 Translated using Weblate (Bengali (Bangladesh))
Currently translated at 24.6% (123 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/bn_BD/
2024-01-22 15:30:32 -05:00
Weblate
eac2e14afd Update translation files
Updated by "Cleanup translation files" hook in Weblate.

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/
2024-01-21 11:17:16 -05:00
Niels van Velzen
f4f02528ec Simplify MediaManager interface 2024-01-21 17:17:11 +01:00
Weblate
766db51dd7 Update translation files
Updated by "Cleanup translation files" hook in Weblate.

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/
2024-01-21 09:46:05 -05:00
Niels van Velzen
81b4fcdf78 Remove legacy media manager implementation 2024-01-21 15:45:59 +01:00
renovate[bot]
5497d070a3 chore(deps): update ci dependencies 2024-01-20 17:36:08 +01:00
bene toffix
11fba9274e Translated using Weblate (Catalan)
Currently translated at 100.0% (502 of 502 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ca/
2024-01-19 10:30:30 -05:00
Kegelcizer
6ee6130f9b Translated using Weblate (Romanian)
Currently translated at 100.0% (502 of 502 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ro/
2024-01-18 10:30:30 -05:00
Andi Chandler
440d1e48f8 Translated using Weblate (English (United Kingdom))
Currently translated at 100.0% (502 of 502 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/en_GB/
2024-01-16 22:30:29 -05:00
stanol
a72de76df1 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (502 of 502 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/uk/
2024-01-16 17:30:29 -05:00
Xiyue Deng
a6d3e42672 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (502 of 502 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/zh_Hans/
2024-01-16 04:30:29 -05:00
Sebastiano Picchi
df86b9445c Translated using Weblate (Italian)
Currently translated at 100.0% (502 of 502 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/it/
2024-01-15 12:30:29 -05:00
Mikael Fredriksson
e5136fdc55 Translated using Weblate (Swedish)
Currently translated at 100.0% (502 of 502 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sv/
2024-01-14 23:30:29 -05:00
Bas
ccd92845c0 Translated using Weblate (Dutch)
Currently translated at 100.0% (502 of 502 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nl/
2024-01-14 17:30:29 -05:00
Kityn
8db1db029d Translated using Weblate (Polish)
Currently translated at 100.0% (502 of 502 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pl/
2024-01-14 13:30:29 -05:00
Weblate
3532bb0c49 Update translation files
Updated by "Cleanup translation files" hook in Weblate.

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/
2024-01-14 09:44:44 -05:00
Niels van Velzen
cdd9dd6842 Additional clarification 2024-01-14 15:44:39 +01:00
DoggoOfSpeed
63946b06c9 Watched indicator setting string clarity improvements 2024-01-14 15:44:39 +01:00
Niels van Velzen
7ed6a07fd1 Small tweaks to getting the index from messages 2024-01-14 15:39:01 +01:00
Gwilherm Folliot
d1a36f6f22 Impl SET_AUDIO_STREAM_INDEX & SET_SUBTITLE_STREAM_INDEX commands 2024-01-14 15:39:01 +01:00
renovate[bot]
d2d026eec0 chore(deps): update ci dependencies 2024-01-14 15:38:07 +01:00
renovate[bot]
bb9d503b19 fix(deps): update androidx.lifecycle to v2.7.0 2024-01-14 15:37:47 +01:00
renovate[bot]
beb5987948 fix(deps): update dependency io.mockk:mockk to v1.13.9 2024-01-14 15:37:40 +01:00
Mohit Pardeshi
2a77b47fa8 Translated using Weblate (Hindi)
Currently translated at 12.5% (63 of 502 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/hi/
2024-01-13 12:30:29 -05:00
Vasyl Belynets
f3ddf14de9 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (502 of 502 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/uk/
2024-01-12 20:30:28 -05:00
Vasyl Belynets
5b80360a59 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (502 of 502 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/uk/
2024-01-12 13:30:28 -05:00
queeup
75981f36e7 Translated using Weblate (Turkish)
Currently translated at 100.0% (502 of 502 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/tr/
2024-01-11 16:30:28 -05:00
renovate[bot]
93f6c7cebb fix(deps): update dependency androidx.compose.compiler:compiler to v1.5.8 2024-01-10 21:26:42 +01:00
renovate[bot]
fac11d92d1 chore(deps): update kotlin to v1.9.22 2024-01-10 21:26:30 +01:00
Guy Porat
b7b4de967e Translated using Weblate (Hebrew)
Currently translated at 100.0% (502 of 502 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/he/
2024-01-10 11:30:27 -05:00
Kevin Fernando Oliva Hernández
ee786a67b5 Translated using Weblate (Spanish (Latin America))
Currently translated at 100.0% (502 of 502 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es_419/
2024-01-10 00:30:27 -05:00
Vasyl Belynets
b1d66e930d Translated using Weblate (Ukrainian)
Currently translated at 100.0% (502 of 502 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/uk/
2024-01-09 11:30:27 -05:00
nextlooper42
a57386677a Translated using Weblate (Slovak)
Currently translated at 100.0% (502 of 502 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sk/
2024-01-09 11:30:27 -05:00
Paun Luca
06b0209b15 Translated using Weblate (Romanian)
Currently translated at 100.0% (502 of 502 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ro/
2024-01-08 16:30:27 -05:00
Niels van Velzen
50985bfad8 Show specials for series 2024-01-08 17:59:58 +01:00
Vasyl Belynets
7256152db8 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (502 of 502 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/uk/
2024-01-07 20:30:27 -05:00
Vasyl Belynets
3578ac264c Translated using Weblate (Ukrainian)
Currently translated at 100.0% (502 of 502 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/uk/
2024-01-07 15:30:26 -05:00
F F
0a304fd350 Translated using Weblate (Danish)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/da/
2024-01-07 12:30:27 -05:00
Vasyl Belynets
9a5dbc052f Translated using Weblate (Ukrainian)
Currently translated at 100.0% (502 of 502 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/uk/
2024-01-07 12:30:27 -05:00
F F
1edd5c3127 Translated using Weblate (Danish)
Currently translated at 100.0% (502 of 502 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/da/
2024-01-07 12:30:26 -05:00
renovate[bot]
492c6060a8 chore(deps): update appleboy/ssh-action action to v1.0.3 2024-01-07 17:18:17 +01:00
Niels van Velzen
706a05eea0 Show specials for seasons 2024-01-07 17:17:55 +01:00
Leo
8ee9b43e8d Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (502 of 502 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/zh_Hans/
2024-01-06 23:30:26 -05:00
Vasyl Belynets
1a04779a05 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (502 of 502 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/uk/
2024-01-06 19:30:27 -05:00
K0RR
43860a4d37 Translated using Weblate (Polish)
Currently translated at 100.0% (502 of 502 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pl/
2024-01-06 13:30:26 -05:00
Niels van Velzen
d721482127 Defer home initialization until user info is available 2024-01-06 13:49:40 +01:00
Vasyl Belynets
b4af6eb98f Translated using Weblate (Ukrainian)
Currently translated at 100.0% (502 of 502 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/uk/
2024-01-06 06:30:26 -05:00
Gwilherm Folliot
6867c319bb Fix crash when quitting player after two plays
If you play a title from a device and play another without quitting the player and then quit the player the app crash.

Its because the NavigationRepository stacks two players and when coming to the last one, the app crash because the last player is terminated.

My fix just replace the last destination if an fragment is active

java.lang.NullPointerException: Parameter specified as non-null is null: method androidx.activity.OnBackPressedDispatcher.addCallback, parameter onBackPressedCallback
	at androidx.activity.OnBackPressedDispatcher.addCallback(Unknown Source:3)
	at org.jellyfin.androidtv.ui.playback.CustomPlaybackOverlayFragment.onActivityCreated(CustomPlaybackOverlayFragment.java:346)
	at androidx.fragment.app.Fragment.performActivityCreated(Fragment.java:3156)
	at androidx.fragment.app.FragmentStateManager.activityCreated(FragmentStateManager.java:619)
	at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:275)
	at androidx.fragment.app.FragmentManager.executeOpsTogether(FragmentManager.java:1934)
	at androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(FragmentManager.java:1839)
	at androidx.fragment.app.FragmentManager.execPendingActions(FragmentManager.java:1782)
	at androidx.fragment.app.FragmentManager$5.run(FragmentManager.java:565)
	at android.os.Handler.handleCallback(Handler.java:942)
	at android.os.Handler.dispatchMessage(Handler.java:99)
	at android.os.Looper.loopOnce(Looper.java:201)
	at android.os.Looper.loop(Looper.java:288)
	at android.app.ActivityThread.main(ActivityThread.java:7884)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:936)
2024-01-05 21:21:40 +01:00
Niels van Velzen
1fbc19740b Disable crossfading for CardLegacyImageView to fix scaling issue 2024-01-05 19:43:34 +01:00
renovate[bot]
11b5affdd9 chore(deps): update aboutlibraries to v10.10.0 2024-01-05 19:41:39 +01:00
renovate[bot]
41256f77e2 chore(deps): update appleboy/ssh-action action to v1.0.2 2024-01-05 19:41:21 +01:00
renovate[bot]
ea916c23e4 fix(deps): update dependency com.android.tools.build:gradle to v8.2.1 2024-01-05 19:41:04 +01:00
renovate[bot]
2e8b4db01b fix(deps): update dependency com.squareup.leakcanary:leakcanary-android to v2.13 2024-01-05 19:40:51 +01:00
Gwilherm Folliot
0116530794 Fix crash when DISPLAY_CONTENT while playing
When a video is playing and on another device you browse libraries on a casting device it cause the app to crash

The onDisplayContent method is trying to read ExoPlayer state but from the socket thread and not the main thread

java.lang.IllegalStateException: Player is accessed on the wrong thread.
Current thread: 'DefaultDispatcher-worker-4'
Expected thread: 'main'
See https://developer.android.com/guide/topics/media/issues/player-accessed-on-wrong-thread
	at androidx.media3.exoplayer.ExoPlayerImpl.verifyApplicationThread(ExoPlayerImpl.java:2842)
	at androidx.media3.exoplayer.ExoPlayerImpl.getPlaybackState(ExoPlayerImpl.java:514)
	at androidx.media3.common.BasePlayer.isPlaying(BasePlayer.java:124)
	at org.jellyfin.androidtv.ui.playback.VideoManager.isPlaying(VideoManager.java:341)
	at org.jellyfin.androidtv.ui.playback.PlaybackController.isPlaying(PlaybackController.java:262)
	at org.jellyfin.androidtv.data.eventhandling.SocketHandler.onDisplayContent(SocketHandler.kt:184)
	at org.jellyfin.androidtv.data.eventhandling.SocketHandler.lambda$13$lambda$8(SocketHandler.kt:103)
	at org.jellyfin.androidtv.data.eventhandling.SocketHandler$$ExternalSyntheticLambda3.onReceive(Unknown Source:4)
	at org.jellyfin.androidtv.data.eventhandling.SocketHandler$_init_$lambda$13$$inlined$addGeneralCommandsListener$default$1.onReceive(ListenerRegistrationExtensions.kt:68)
	at org.jellyfin.sdk.api.sockets.helper.ListenerHelper.forwardMessage(ListenerHelper.kt:37)
	at org.jellyfin.sdk.api.sockets.SocketInstance.forwardMessage(SocketInstance.kt:283)
	at org.jellyfin.sdk.api.sockets.SocketInstance.access$forwardMessage(SocketInstance.kt:35)
	at org.jellyfin.sdk.api.sockets.SocketInstance$connectAndBind$2.invokeSuspend(SocketInstance.kt:220)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:108)
	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:584)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:793)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:697)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:684)
2024-01-05 19:39:25 +01:00
Vasyl Belynets
fe168d46af Translated using Weblate (Ukrainian)
Currently translated at 100.0% (502 of 502 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/uk/
2024-01-05 13:30:26 -05:00
Vasyl Belynets
a2956773c9 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (502 of 502 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/uk/
2024-01-05 05:52:13 -05:00
MadaxDeLuXe
dc48347a99 Translated using Weblate (German)
Currently translated at 100.0% (502 of 502 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/de/
2024-01-05 03:30:26 -05:00
Zoe
0bf24c25f9 Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/nb_NO/
2024-01-04 20:30:26 -05:00
Zoe
8406bad80c Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (502 of 502 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nb_NO/
2024-01-04 20:30:26 -05:00
Новоженин Александр
27a5f3923d Translated using Weblate (Russian)
Currently translated at 100.0% (502 of 502 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ru/
2024-01-04 16:30:25 -05:00
Yofi-FR
10ac85c08e Translated using Weblate (French)
Currently translated at 100.0% (502 of 502 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fr/
2024-01-03 12:30:25 -05:00
tan
da99fbd1d8 Translated using Weblate (Thai)
Currently translated at 39.4% (198 of 502 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/th/
2024-01-02 13:30:27 -05:00
Sebastiano Picchi
7cf5d8d5ae Translated using Weblate (Italian)
Currently translated at 100.0% (502 of 502 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/it/
2024-01-02 13:30:25 -05:00
Thomas Schwery
b8b7b2a9fb Translated using Weblate (French)
Currently translated at 99.8% (501 of 502 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fr/
2024-01-02 08:30:25 -05:00
Andi Chandler
0e14ce9013 Translated using Weblate (English (United Kingdom))
Currently translated at 100.0% (502 of 502 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/en_GB/
2024-01-01 18:30:25 -05:00
bene toffix
90799f6a6a Translated using Weblate (Catalan)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/ca/
2024-01-01 06:30:24 -05:00
bene toffix
3e40859f6d Translated using Weblate (Catalan)
Currently translated at 50.0% (2 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/ca/
2023-12-31 18:30:25 -05:00
bene toffix
3ac0baf653 Translated using Weblate (Catalan)
Currently translated at 100.0% (502 of 502 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ca/
2023-12-31 18:30:24 -05:00
Retrial
823af2c94a Translated using Weblate (Greek)
Currently translated at 100.0% (502 of 502 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/el/
2023-12-31 14:30:24 -05:00
stanol
7198df297f Translated using Weblate (Ukrainian)
Currently translated at 100.0% (502 of 502 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/uk/
2023-12-30 09:30:24 -05:00
Csaba
fdc3586008 Translated using Weblate (Hungarian)
Currently translated at 100.0% (502 of 502 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/hu/
2023-12-30 09:30:24 -05:00
Oskari Lavinto
fb44030d83 Translated using Weblate (Finnish)
Currently translated at 100.0% (502 of 502 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fi/
2023-12-29 23:30:24 -05:00
Bas
a16959d167 Translated using Weblate (Dutch)
Currently translated at 100.0% (502 of 502 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nl/
2023-12-29 18:30:24 -05:00
Kityn
27b1d671a3 Translated using Weblate (Polish)
Currently translated at 100.0% (502 of 502 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pl/
2023-12-29 12:30:24 -05:00
Lukáš Kucharczyk
9c97a63a43 Translated using Weblate (Czech)
Currently translated at 100.0% (502 of 502 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/cs/
2023-12-29 12:30:24 -05:00
renovate[bot]
deb29c22b4 chore(deps): update ci dependencies 2023-12-29 15:26:41 +01:00
Niels van Velzen
76acd17d81 Set TsExtractor TimestampSearchBytes parameter based on device memory capabilities 2023-12-29 15:26:19 +01:00
Niels van Velzen
e646192196 Enable tunneling in VideoManager 2023-12-29 15:26:19 +01:00
Niels van Velzen
1f0345f16f Enable tunneling in ExoPlayerBackend 2023-12-29 15:26:19 +01:00
Niels van Velzen
e354d6bee1 Add more item types to search 2023-12-29 15:26:11 +01:00
Niels van Velzen
b91fd1a0f5 Add <queries> element to Manifest for remote trailers 2023-12-29 15:26:01 +01:00
Niels van Velzen
332b6af3da Disable SocketHandler when using RewriteMediaManager 2023-12-29 15:25:53 +01:00
Konstantin Berngard
a0f44ed5a0 Translated using Weblate (Russian)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/ru/
2023-12-27 21:30:23 -05:00
Konstantin Berngard
9b20fa189c Translated using Weblate (Russian)
Currently translated at 100.0% (499 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ru/
2023-12-27 21:30:23 -05:00
Oskari Lavinto
8e960d955f Translated using Weblate (Finnish)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/fi/
2023-12-27 18:30:23 -05:00
Oskari Lavinto
e72cdf3cbd Translated using Weblate (Finnish)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/fi/
2023-12-25 12:30:23 -05:00
Niels van Velzen
bd204fdf87 Replace ExoPlayer with androidx.media3 2023-12-24 18:36:20 +01:00
Niels van Velzen
b9e19b2515 Fix crash and inconsistent ordering when using ShuffleOrderIndexProvider 2023-12-24 14:43:34 +01:00
Niels van Velzen
2bbbb93dbf Fix opening collections via search results showing empty screen 2023-12-24 11:09:15 +01:00
renovate[bot]
f248b2b254 fix(deps): update koin to v3.5.3 2023-12-23 21:28:03 +01:00
renovate[bot]
3465e24bbe fix(deps): update dependency androidx.compose.compiler:compiler to v1.5.7 2023-12-23 21:27:48 +01:00
Niels van Velzen
8b43402192 Fix playing audio from search queues entire row 2023-12-23 21:27:19 +01:00
Niels van Velzen
c70f814064 Fix focus issue when pressing back in Fire TV soft keyboard 2023-12-23 21:27:11 +01:00
queeup
1e3abd9ae5 Translated using Weblate (Turkish)
Currently translated at 100.0% (499 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/tr/
2023-12-23 12:30:22 -05:00
BeeTwenty
fdf0fceb28 Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/nb_NO/
2023-12-21 07:30:22 -05:00
BeeTwenty
2282c26400 Translated using Weblate (Norwegian Bokmål)
Currently translated at 99.3% (496 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nb_NO/
2023-12-21 07:30:21 -05:00
Achim Walz
0637be405d Translated using Weblate (German)
Currently translated at 100.0% (499 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/de/
2023-12-19 08:03:17 -05:00
Niels van Velzen
75b6b12147 Fix RewriteMediaManager never used in production builds 2023-12-18 22:19:09 +01:00
Niels van Velzen
aea6e98974 Remove unnecessary OptIn annotations 2023-12-18 22:15:43 +01:00
Yaron Shahrabani
450348311e Translated using Weblate (Hebrew)
Currently translated at 100.0% (499 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/he/
2023-12-18 08:30:20 -05:00
queeup
e8af0397a7 Translated using Weblate (Turkish)
Currently translated at 100.0% (499 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/tr/
2023-12-17 19:30:20 -05:00
queeup
a97f287467 Translated using Weblate (Turkish)
Currently translated at 100.0% (499 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/tr/
2023-12-17 15:30:20 -05:00
Niels van Velzen
32849f5279 Fix crash when starting player where playback controller may be null 2023-12-17 15:56:02 +01:00
queeup
0c1aac96d7 Translated using Weblate (Turkish)
Currently translated at 99.5% (497 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/tr/
2023-12-17 08:30:20 -05:00
queeup
7fefb735d9 Translated using Weblate (Turkish)
Currently translated at 99.5% (497 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/tr/
2023-12-16 19:30:20 -05:00
queeup
00c59f8e58 Translated using Weblate (Turkish)
Currently translated at 99.5% (497 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/tr/
2023-12-16 15:30:20 -05:00
renovate[bot]
c87121502c chore(deps): update gradle/gradle-build-action action to v2.11.0 2023-12-15 19:04:04 +01:00
renovate[bot]
636facc8b2 fix(deps): update dependency androidx.activity:activity-ktx to v1.8.2 2023-12-15 19:03:20 +01:00
renovate[bot]
98ac4d3eda chore(deps): update github/codeql-action action to v3 2023-12-15 19:01:31 +01:00
renovate[bot]
d3cd69530a chore(deps): update actions/upload-artifact action to v4 2023-12-15 19:01:06 +01:00
queeup
9937ad3ddd Translated using Weblate (Turkish)
Currently translated at 99.5% (497 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/tr/
2023-12-14 19:30:20 -05:00
queeup
9a6fc333a1 Translated using Weblate (Turkish)
Currently translated at 99.5% (497 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/tr/
2023-12-13 21:30:19 -05:00
xdlivecat
5811b99b35 Translated using Weblate (Croatian)
Currently translated at 77.1% (385 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/hr/
2023-12-13 21:30:19 -05:00
queeup
72c97635e3 Translated using Weblate (Turkish)
Currently translated at 99.5% (497 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/tr/
2023-12-12 18:30:19 -05:00
Alexander Gramiak
afddc96789 util: Don't use TZ offset for media Premiere Date
TimeUtils.getDate internally calls Date.format, which translates the UTC
timestamp into local TZ timestamp. If a user is in a TZ with negative offset,
then the Premiere Date will be presented as a day earlier.

Example with TZ of UTC-6:

item.getPremiereDate()                    => 2023-12-09T00:00
TimeUtils.getDate(item.getPremiereDate()) => Sat Dec 08 18:00:00 CST 2023

Fixes #3190.
2023-12-12 15:27:24 +01:00
guiweber
a8ef52bca9 Update InfoLayoutHelper.java
Keep displaying codec for HDR content
2023-12-12 15:24:59 +01:00
Lukáš Kucharczyk
a0c81df329 Translated using Weblate (Czech)
Currently translated at 100.0% (499 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/cs/
2023-12-12 08:30:19 -05:00
renovate[bot]
c4db326da6 Update dependency com.vanniktech:blurhash to v0.2.0 2023-12-12 11:53:25 +01:00
queeup
7d53fee677 Translated using Weblate (Turkish)
Currently translated at 99.5% (497 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/tr/
2023-12-11 17:30:18 -05:00
Niels van Velzen
fa10019f8b Fix rare case where splash screen could get stuck 2023-12-11 14:35:29 +01:00
queeup
b4fbd82c21 Translated using Weblate (Turkish)
Currently translated at 99.5% (497 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/tr/
2023-12-10 20:30:18 -05:00
renovate[bot]
db6c23877f Update dependency io.gitlab.arturbosch.detekt to v1.23.4 2023-12-10 15:10:20 +01:00
Niels van Velzen
f8fd9765ac Use androidx.work:work-runtime (non ktx version) 2023-12-10 15:10:10 +01:00
renovate[bot]
8b5ad52fb9 Update dependency androidx.work:work-runtime-ktx to v2.9.0 2023-12-10 15:10:10 +01:00
renovate[bot]
90f2623c9a Update dependency androidx.compose.compiler:compiler to v1.5.6 2023-12-10 15:03:37 +01:00
renovate[bot]
9d2dacdac3 Update Kotlin 2023-12-10 15:03:29 +01:00
renovate[bot]
174ed2e281 Update dependency androidx.media3:media3-session to v1.2.0 2023-12-10 15:00:36 +01:00
renovate[bot]
8a0b97619b Update coil to v2.5.0 2023-12-10 14:59:23 +01:00
renovate[bot]
3d2c2c7363 Update kotest to v5.8.0 2023-12-10 14:59:13 +01:00
renovate[bot]
b2fb409605 Update dependency com.android.tools.build:gradle to v8.2.0 2023-12-10 14:58:44 +01:00
renovate[bot]
f14b8ed97b Update actions/stale action to v9 2023-12-10 14:57:12 +01:00
renovate[bot]
92e91ab217 Update actions/setup-java action to v4 2023-12-10 14:57:00 +01:00
renovate[bot]
4dd363b0cf Update CI dependencies 2023-12-10 14:56:15 +01:00
renovate[bot]
a083dfcc04 Update dependency androidx.window:window to v1.2.0 2023-12-10 14:48:39 +01:00
renovate[bot]
d3dba03ee0 Update dependency com.android.tools:desugar_jdk_libs to v2.0.4 2023-12-10 14:45:11 +01:00
renovate[bot]
56d6661906 Update dependency androidx.fragment:fragment-ktx to v1.6.2 2023-12-10 14:44:44 +01:00
renovate[bot]
2fd2efa581 Update dependency androidx.activity:activity-ktx to v1.8.1 2023-12-10 14:43:51 +01:00
renovate[bot]
d866b1bce1 Update aboutlibraries to v10.9.2 2023-12-10 14:42:05 +01:00
renovate[bot]
238a9d27fd Update dependency gradle to v8.5 2023-12-10 14:36:40 +01:00
Niels van Velzen
004b39e89b Close video player on resume with invalid state
In some cases the video player may be stopped when the activity is paused. This ends up crashing the app on resume. Check for this kind of invalid state and close the video player to prevent crashing.
2023-12-10 14:35:52 +01:00
Niels van Velzen
d9eb849038 Fix system screensaver starting during video playback 2023-12-10 14:35:43 +01:00
Oatavandi
67581d1cf0 Translated using Weblate (Tamil)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/ta/
2023-12-04 15:30:17 -05:00
Oatavandi
7c1a07fcfc Translated using Weblate (Tamil)
Currently translated at 100.0% (499 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ta/
2023-12-04 15:30:17 -05:00
Weblate
d733b254c4 Update translation files
Updated by "Remove blank strings" hook in Weblate.

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/
2023-12-03 18:30:18 -05:00
kpupp
2a1579ad6e Translated using Weblate (Japanese)
Currently translated at 55.5% (277 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ja/
2023-12-03 18:30:17 -05:00
renovate[bot]
665d0b5946 Update dependency org.jellyfin.sdk:jellyfin-core to v1.4.6 2023-12-02 22:56:56 +01:00
queeup
2d246de948 Translated using Weblate (Turkish)
Currently translated at 99.5% (497 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/tr/
2023-12-02 12:30:15 -05:00
queeup
358df48f50 Translated using Weblate (Turkish)
Currently translated at 99.5% (497 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/tr/
2023-12-02 08:30:15 -05:00
queeup
c672d42ae1 Translated using Weblate (Turkish)
Currently translated at 99.5% (497 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/tr/
2023-12-01 05:30:15 -05:00
Kristofer P
bbb6270832 Translated using Weblate (Estonian)
Currently translated at 9.4% (47 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/et/
2023-11-30 19:30:15 -05:00
queeup
fc1ddedfb1 Translated using Weblate (Turkish)
Currently translated at 99.5% (497 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/tr/
2023-11-30 19:30:15 -05:00
queeup
d7bba7c026 Translated using Weblate (Turkish)
Currently translated at 99.1% (495 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/tr/
2023-11-29 16:30:14 -05:00
EfeDevirgen
ec5c433c84 Translated using Weblate (Turkish)
Currently translated at 98.7% (493 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/tr/
2023-11-29 12:30:14 -05:00
queeup
b2e99509a0 Translated using Weblate (Turkish)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/tr/
2023-11-27 19:30:15 -05:00
queeup
7b2eaf7df4 Translated using Weblate (Turkish)
Currently translated at 96.7% (483 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/tr/
2023-11-27 19:30:15 -05:00
renovate[bot]
fec6ba7257 Update dependency org.jellyfin.sdk:jellyfin-core to v1.4.5 2023-11-27 15:26:28 +01:00
EfeDevirgen
0d82280814 Translated using Weblate (Turkish)
Currently translated at 83.3% (416 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/tr/
2023-11-26 16:30:14 -05:00
queeup
dd929f2212 Translated using Weblate (Turkish)
Currently translated at 83.3% (416 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/tr/
2023-11-26 16:30:14 -05:00
EfeDevirgen
3e733a21f1 Translated using Weblate (Turkish)
Currently translated at 68.1% (340 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/tr/
2023-11-26 10:30:14 -05:00
queeup
3eb53b8bcd Translated using Weblate (Turkish)
Currently translated at 68.1% (340 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/tr/
2023-11-26 10:30:14 -05:00
Simas Šimas
75fecefc4b Translated using Weblate (Lithuanian)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/lt/
2023-11-12 14:25:50 -05:00
Troja
4302c6503f Translated using Weblate (Belarusian)
Currently translated at 25.2% (126 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/be/
2023-11-09 09:25:49 -05:00
Troja
b69b6094fb Translated using Weblate (Belarusian)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/be/
2023-11-09 05:25:49 -05:00
Troja
74b732cab7 Translated using Weblate (Belarusian)
Currently translated at 23.6% (118 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/be/
2023-11-09 05:25:49 -05:00
Qeynos
e61bc77d02 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (499 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/zh_Hans/
2023-11-09 05:25:48 -05:00
Luis Fonseca
2021b52d0a Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/pt_PT/
2023-11-08 11:25:49 -05:00
Luis Fonseca
a5b7c4d1de Translated using Weblate (Portuguese (Portugal))
Currently translated at 78.3% (391 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pt_PT/
2023-11-08 11:25:49 -05:00
Troja
780e4c0126 Translated using Weblate (Belarusian)
Currently translated at 18.2% (91 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/be/
2023-11-08 08:25:49 -05:00
hoanghuy309
d6753f7135 Translated using Weblate (Vietnamese)
Currently translated at 96.7% (483 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/vi/
2023-11-07 12:25:48 -05:00
DaiCae
9102878741 Translated using Weblate (Chinese (Simplified))
Currently translated at 99.5% (497 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/zh_Hans/
2023-11-06 12:25:48 -05:00
Retrial
c6bf2a3a7f Translated using Weblate (Greek)
Currently translated at 100.0% (499 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/el/
2023-11-06 12:25:48 -05:00
shay zaman
c9c3e53402 Translated using Weblate (Persian)
Currently translated at 64.7% (323 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fa/
2023-11-04 18:25:49 -04:00
Oskari Lavinto
3b400b3796 Translated using Weblate (Finnish)
Currently translated at 100.0% (499 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fi/
2023-11-03 01:25:48 -04:00
Sami Mäkelä
c39c6a662d Translated using Weblate (Finnish)
Currently translated at 99.7% (498 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fi/
2023-11-02 16:25:48 -04:00
Philip Karlsson
45a46b19cc Translated using Weblate (Swedish)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/sv/
2023-10-30 07:25:48 -04:00
Philip Karlsson
4594c48f93 Translated using Weblate (Swedish)
Currently translated at 100.0% (499 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sv/
2023-10-30 07:25:48 -04:00
Bas
46bd415b7f Translated using Weblate (Dutch)
Currently translated at 100.0% (499 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nl/
2023-10-29 18:25:48 -04:00
Nahidxoy
5ce01985f6 Translated using Weblate (Bengali (Bangladesh))
Currently translated at 19.0% (95 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/bn_BD/
2023-10-28 02:25:48 -04:00
palap
44f2c6cc57 Translated using Weblate (Russian)
Currently translated at 98.9% (494 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ru/
2023-10-27 07:25:48 -04:00
SGT
7ae05ba2b1 Translated using Weblate (Spanish (Latin America))
Currently translated at 100.0% (499 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es_419/
2023-10-25 12:25:49 -04:00
SGT
8ef810fa27 Translated using Weblate (Spanish (Argentina))
Currently translated at 100.0% (499 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es_AR/
2023-10-25 12:25:48 -04:00
SGT
61012c41d4 Translated using Weblate (Spanish)
Currently translated at 100.0% (499 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es/
2023-10-25 12:25:48 -04:00
SGT
8e685d2a86 Translated using Weblate (Spanish (Mexico))
Currently translated at 84.9% (424 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es_MX/
2023-10-25 12:25:48 -04:00
SGT
79deb6e611 Translated using Weblate (Spanish (Latin America))
Currently translated at 100.0% (499 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es_419/
2023-10-24 18:25:48 -04:00
alison2033
8e263c4df4 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (499 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pt_BR/
2023-10-23 22:25:48 -04:00
Vijay
cb644a6e5e Translated using Weblate (Tamil)
Currently translated at 94.9% (474 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ta/
2023-10-23 16:25:49 -04:00
Niels van Velzen
f464828766 Implement queue management in RewriteMediaManager 2023-10-22 17:12:31 +02:00
Niels van Velzen
8edc261805 Support custom areItemsTheSame and areContentsTheSame functions in MutableObjectAdapter 2023-10-22 17:12:31 +02:00
renovate[bot]
4bb27dff2d Update acra to v5.11.3 2023-10-22 09:50:07 +02:00
renovate[bot]
28bdc6f808 Update github/codeql-action action to v2.22.4 2023-10-20 22:39:24 +02:00
Niels van Velzen
37112e53e3 Fix GridButtonPresenter focus on old Android platforms 2023-10-20 22:39:10 +02:00
renovate[bot]
9478e7ea93 Update dependency androidx.compose.material:material to v1.5.4 2023-10-18 22:06:37 +02:00
renovate[bot]
7e127ad0a4 Update dependency androidx.recyclerview:recyclerview to v1.3.2 2023-10-18 22:00:15 +02:00
renovate[bot]
5c1848e665 Update dependency androidx.compose.ui:ui-tooling to v1.5.4 2023-10-18 21:57:18 +02:00
renovate[bot]
127a1d142d Update dependency androidx.compose.foundation:foundation to v1.5.4 2023-10-18 21:48:18 +02:00
renovate[bot]
6772860589 Update actions/checkout action to v4.1.1 2023-10-18 21:48:03 +02:00
Andrijan Jovanovski
d6d81181bd Translated using Weblate (Macedonian)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/mk/
2023-10-17 19:25:44 -04:00
Andrijan Jovanovski
0e5318ef0b Translated using Weblate (Macedonian)
Currently translated at 100.0% (499 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/mk/
2023-10-17 19:25:43 -04:00
Acrotos
9f2831ad7b Translated using Weblate (Romanian)
Currently translated at 100.0% (499 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ro/
2023-10-17 10:25:36 -04:00
renovate[bot]
536959c7b4 Update github/codeql-action action to v2.22.3 2023-10-15 15:01:05 +02:00
Edu MN
41fce8afe2 Translated using Weblate (Catalan)
Currently translated at 100.0% (499 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ca/
2023-10-15 08:25:34 -04:00
Fadi Chamieh
516a679866 Translated using Weblate (Arabic)
Currently translated at 100.0% (499 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ar/
2023-10-14 08:25:34 -04:00
Niels van Velzen
3f911f1720 Reset preferredDisplayModeId back to zero when closing video player fragment 2023-10-13 21:23:02 +02:00
pgk83
f6a4560192 Translated using Weblate (Hungarian)
Currently translated at 100.0% (499 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/hu/
2023-10-12 02:30:10 -04:00
Niels van Velzen
655b9ce736 Support remux/transcode fallback in new music player 2023-10-11 21:44:43 +02:00
nextlooper42
d18922f7df Translated using Weblate (Slovak)
Currently translated at 100.0% (499 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sk/
2023-10-11 06:25:32 -04:00
SaddFox
9e76dc63a6 Translated using Weblate (Slovenian)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/sl/
2023-10-09 19:25:33 -04:00
SaddFox
cbbfc4c9f2 Translated using Weblate (Slovenian)
Currently translated at 100.0% (499 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sl/
2023-10-09 19:25:32 -04:00
renovate[bot]
d15f255f19 Update dependency gradle to v8.4 2023-10-09 21:39:57 +02:00
renovate[bot]
6eedc81a13 Update dependency androidx.activity:activity-ktx to v1.8.0 2023-10-09 21:39:37 +02:00
renovate[bot]
237e5ac0a4 Update CI dependencies 2023-10-09 21:39:23 +02:00
Retrial
ec7391a1ac Translated using Weblate (Greek)
Currently translated at 99.5% (497 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/el/
2023-10-09 05:48:55 -04:00
Horizon1250
a9cec1eede fix embedded subtitles not loading when subtitle filter on library 2023-10-07 14:03:33 +02:00
Ayla Ounce
eb68107e81 Enable support for Opus and FLAC in ExoPlayer 2023-10-07 14:01:46 +02:00
edbert khovey
51320a21ce Translated using Weblate (Indonesian)
Currently translated at 71.9% (359 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/id/
2023-10-06 15:31:33 -04:00
Sun Zizhuo
adb53287e8 Translated using Weblate (Chinese (Simplified))
Currently translated at 99.3% (496 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/zh_Hans/
2023-10-06 10:31:32 -04:00
renovate[bot]
9eca8d676b Update dependency androidx.compose.material:material to v1.5.3 2023-10-05 22:02:26 +02:00
Niels van Velzen
21fd22141b Fix playback stop reported twice 2023-10-05 21:51:37 +02:00
renovate[bot]
bbeb707328 Update dependency androidx.compose.foundation:foundation to v1.5.3 2023-10-05 21:49:48 +02:00
renovate[bot]
37eed3f64a Update dependency androidx.compose.ui:ui-tooling to v1.5.3 2023-10-05 21:49:21 +02:00
TowyTowy
8fd45865bd Translated using Weblate (Danish)
Currently translated at 50.0% (2 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/da/
2023-10-04 23:31:32 -04:00
TowyTowy
9180b909e4 Translated using Weblate (Danish)
Currently translated at 100.0% (499 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/da/
2023-10-04 23:31:32 -04:00
Ben
ebe79bca9f Translated using Weblate (French)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/fr/
2023-10-03 11:41:09 -04:00
Fiscally Hash
c14ecad2cf Translated using Weblate (Spanish)
Currently translated at 100.0% (499 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es/
2023-10-03 04:41:09 -04:00
Bas
19d1984366 Translated using Weblate (Dutch)
Currently translated at 100.0% (499 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nl/
2023-10-02 17:41:09 -04:00
FrankJeager
022985cd4e Translated using Weblate (French)
Currently translated at 100.0% (499 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fr/
2023-10-02 10:41:09 -04:00
Tejas Sharma
62543301e7 Translated using Weblate (English (United Kingdom))
Currently translated at 100.0% (499 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/en_GB/
2023-10-01 21:41:09 -04:00
grunjol
b38a333b3b Translated using Weblate (Spanish (Argentina))
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/es_AR/
2023-09-30 14:41:10 -04:00
grunjol
27fb959c4c Translated using Weblate (Spanish (Argentina))
Currently translated at 100.0% (499 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es_AR/
2023-09-30 14:41:10 -04:00
Guy Porat
9d7b108b92 Translated using Weblate (Hebrew (Israel))
Currently translated at 12.2% (61 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/he_IL/
2023-09-30 08:41:09 -04:00
hoanghuy309
d6af6e3822 Translated using Weblate (Vietnamese)
Currently translated at 96.1% (480 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/vi/
2023-09-29 09:41:09 -04:00
Niels van Velzen
1c28045bf4 Use layer-list for app_banner drawable 2023-09-29 08:56:43 +02:00
renovate[bot]
04ef180024 Update dependency androidx.compose.material:material to v1.5.2 2023-09-28 09:21:17 +02:00
renovate[bot]
b9026f5f1e Update aboutlibraries to v10.9.1 2023-09-28 09:19:02 +02:00
renovate[bot]
dbf5f0c6e6 Update CI dependencies 2023-09-28 09:18:41 +02:00
renovate[bot]
84847f5d10 Update dependency androidx.compose.foundation:foundation to v1.5.2 2023-09-28 09:13:06 +02:00
renovate[bot]
6095450864 Update dependency androidx.compose.ui:ui-tooling to v1.5.2 2023-09-28 09:12:56 +02:00
h-risto
a2c2079595 Translated using Weblate (Estonian)
Currently translated at 6.2% (31 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/et/
2023-09-27 18:41:09 -04:00
badmast
f8e103fc36 Translated using Weblate (Persian)
Currently translated at 64.5% (322 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fa/
2023-09-26 07:41:09 -04:00
Rasmus Jansson
6992e5c8df Translated using Weblate (Swedish)
Currently translated at 98.7% (493 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sv/
2023-09-25 07:40:59 -04:00
Kristjan Knez
d7b1a7ef6c Translated using Weblate (Italian)
Currently translated at 100.0% (499 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/it/
2023-09-25 07:40:57 -04:00
Niels van Velzen
a373d8be38 Use ignorePathParameters in AudioMediaStreamResolver 2023-09-24 11:21:35 +02:00
renovate[bot]
600ce9b870 Update dependency org.jellyfin.sdk:jellyfin-core to v1.4.4 2023-09-24 11:21:35 +02:00
renovate[bot]
bf31c1584d Update actions/checkout action to v4.1.0 2023-09-24 11:07:37 +02:00
renovate[bot]
55c85cbfff Update aboutlibraries to v10.9.0 2023-09-24 09:59:36 +02:00
Kevin Orel Edry
9087f3b1d6 Translated using Weblate (Hebrew (Israel))
Currently translated at 7.8% (39 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/he_IL/
2023-09-22 17:40:56 -04:00
xOrb1t
b3031b0a41 Translated using Weblate (Russian)
Currently translated at 98.9% (494 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ru/
2023-09-22 13:40:56 -04:00
Sverre
686a6b00ed Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/nb_NO/
2023-09-22 04:40:58 -04:00
Sverre
8619c16320 Translated using Weblate (Norwegian Bokmål)
Currently translated at 95.7% (478 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nb_NO/
2023-09-22 04:40:58 -04:00
Johannes Loher
0758f6b1db Translated using Weblate (German)
Currently translated at 100.0% (499 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/de/
2023-09-21 18:40:55 -04:00
Niels van Velzen
bfecd1cc5f Add initial playback capability testing 2023-09-21 18:00:41 +02:00
renovate[bot]
db316bc47c Update actions/setup-java action to v3.13.0 2023-09-21 15:08:15 +02:00
Niels van Velzen
dfdd605fbd Use vignette effect in screensaver to darken background image 2023-09-21 14:45:18 +02:00
Niels van Velzen
a2fba5b386 Fix progress bar positioning in view_row_details 2023-09-20 22:19:25 +02:00
Niels van Velzen
eda2c4ec52 Migrate ExternalPlayerActivity (mostly) to SDK 2023-09-20 22:19:17 +02:00
Niels van Velzen
e8d71314d9 Fix watched indicator 2023-09-20 22:14:11 +02:00
Niels van Velzen
da92b42809 Use series poster in latest row when "prefer series thumbnails" is enabled 2023-09-20 22:14:11 +02:00
Niels van Velzen
1633c37d71 Fix crash during media stream resolving for corrupt files 2023-09-19 18:00:29 +02:00
Niels van Velzen
194bad38f2 Restore session on MainActivity stop 2023-09-19 15:39:38 +02:00
DoggoOfSpeed
b10061b583 Fix user image being too cropped in (#3005) 2023-09-19 14:38:55 +02:00
DoggoOfSpeed
f7f51a6914 Grab background images no larger than the screen (#3020) 2023-09-19 14:36:35 +02:00
DoggoOfSpeed
dec5b3a6d3 Fix blurry images 2023-09-19 14:30:29 +02:00
renovate[bot]
16d48d317e Update github/codeql-action action to v2.21.8 2023-09-19 14:25:44 +02:00
João Vitor Borges
086d79cd92 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (499 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pt_BR/
2023-09-18 17:40:54 -04:00
renovate[bot]
9ad77f8d74 Update koin to v3.5.0 2023-09-18 21:34:14 +02:00
Oskari Lavinto
db2303557e Translated using Weblate (Finnish)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/fi/
2023-09-17 04:40:54 -04:00
Oskari Lavinto
ff7e5da123 Translated using Weblate (Finnish)
Currently translated at 99.3% (496 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fi/
2023-09-17 04:40:53 -04:00
stanol
46d246d829 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (499 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/uk/
2023-09-16 11:40:53 -04:00
Kityn
0f986c1de9 Translated using Weblate (Polish)
Currently translated at 100.0% (499 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pl/
2023-09-16 07:40:53 -04:00
Lukáš Kucharczyk
4af843e1cf Translated using Weblate (Czech)
Currently translated at 100.0% (499 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/cs/
2023-09-16 04:40:53 -04:00
Tycho Brouwer
beaa95e9ba Translated using Weblate (Dutch)
Currently translated at 100.0% (499 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nl/
2023-09-15 21:40:53 -04:00
Weblate
658d22592b Update translation files
Updated by "Cleanup translation files" hook in Weblate.

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/
2023-09-15 16:26:28 -04:00
Niels van Velzen
8c7175613c Fix lbl_because_you_watched string 2023-09-15 22:26:22 +02:00
Niels van Velzen
2ba63a73bf Migrate SuggestedMoviesFragment to SDK 2023-09-15 22:26:22 +02:00
hcharbonnier
1aba1b2e4c Translated using Weblate (French)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/fr/
2023-09-14 18:40:52 -04:00
renovate[bot]
86f59167e2 Update github/codeql-action action to v2.21.7 2023-09-14 21:32:22 +02:00
renovate[bot]
41d2827eb4 Update github/codeql-action action to v2.21.6 2023-09-14 10:02:36 +02:00
Niels van Velzen
7e91c3d6f1 Fully migrate ItemLauncher to SDK 2023-09-14 07:52:27 +02:00
Niels van Velzen
61d9048299 Migrate ItemListView to SDK 2023-09-14 07:52:03 +02:00
Niels van Velzen
6507a4f300 Remove old user preference migrations (before 0.15) 2023-09-12 22:10:15 +02:00
Niels van Velzen
83ead8f448 Fix ExternalPlayerActivity not using PreferenceStore.reset 2023-09-12 22:10:00 +02:00
Bas
cd7f759d78 Translated using Weblate (Dutch)
Currently translated at 100.0% (499 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nl/
2023-09-12 10:40:52 -04:00
Kirill
ee2968bc2a Translated using Weblate (Russian)
Currently translated at 99.1% (495 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ru/
2023-09-09 09:40:50 -04:00
Niels van Velzen
6c8a1684e2 Fix compose deprecations 2023-09-09 13:37:19 +02:00
DoggoOfSpeed
ebf8c5c0ae Fix grid getting focus when empty (#3003) 2023-09-09 11:43:36 +02:00
renovate[bot]
0878fc963a Update dependency androidx.compose.material:material to v1.5.1 2023-09-09 09:46:23 +02:00
renovate[bot]
9b44793df0 Update dependency androidx.compose.foundation:foundation to v1.5.1 2023-09-09 09:39:15 +02:00
renovate[bot]
12e94ce74a Update dependency androidx.compose.ui:ui-tooling to v1.5.1 2023-09-09 09:38:48 +02:00
renovate[bot]
1e2adaade8 Update dependency androidx.core:core-ktx to v1.12.0 2023-09-09 09:38:26 +02:00
Niels van Velzen
c793771b2d Fix Koin deprecation warnings 2023-09-08 20:47:34 +02:00
Niels van Velzen
3327c8c7f2 Update StrokeTextView.onDraw signature 2023-09-08 20:47:34 +02:00
Niels van Velzen
4cdc555b6d Use Android 14 SDK (API 34) 2023-09-08 20:47:34 +02:00
renovate[bot]
d6d9f157c6 Update kotest to v5.7.2 2023-09-08 20:32:20 +02:00
renovate[bot]
14db997ac1 Update actions/upload-artifact action to v3.1.3 2023-09-08 20:32:04 +02:00
renovate[bot]
e08faa0c2a Update androidx.lifecycle to v2.6.2 2023-09-08 20:31:49 +02:00
Bas
523360fa65 Translated using Weblate (Dutch)
Currently translated at 100.0% (499 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nl/
2023-09-07 18:40:49 -04:00
Oskari Lavinto
cf732655a6 Translated using Weblate (Finnish)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/fi/
2023-09-07 12:40:49 -04:00
Niels van Velzen
404223b46b Fix sync issue in ItemRowAdapterHelper.kt 2023-09-05 21:53:08 +02:00
renovate[bot]
4b95a37204 Update acra to v5.11.2 2023-09-05 14:34:47 +02:00
renovate[bot]
0652af8b95 Update kotest to v5.7.1 2023-09-05 14:34:17 +02:00
renovate[bot]
ff87eb1a83 Update actions/checkout action to v4 2023-09-05 14:33:58 +02:00
Sam Karanja
4c3c73c2f4 Added translation using Weblate (Swahili) 2023-09-04 15:23:32 -04:00
Lukáš Kucharczyk
7a45a26735 Translated using Weblate (Czech)
Currently translated at 100.0% (499 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/cs/
2023-09-04 04:40:48 -04:00
Kityn
c654cdef0e Translated using Weblate (Polish)
Currently translated at 100.0% (499 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pl/
2023-09-03 20:40:48 -04:00
queeup
4161728637 Translated using Weblate (Turkish)
Currently translated at 59.9% (299 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/tr/
2023-09-02 19:40:48 -04:00
Juan Perez
ae2af51bb6 Translated using Weblate (Spanish (Latin America))
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/es_419/
2023-08-31 18:40:47 -04:00
renovate[bot]
f92437aad5 Update dependency gradle to v8.3 2023-08-31 21:55:17 +02:00
queeup
197f320cb4 Translated using Weblate (Turkish)
Currently translated at 59.7% (298 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/tr/
2023-08-31 14:40:47 -04:00
queeup
f6ce3b643e Translated using Weblate (Turkish)
Currently translated at 59.1% (295 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/tr/
2023-08-31 09:40:47 -04:00
DoggoOfSpeed
8b91fb9d7c turn buttons into radio buttons 2023-08-30 20:28:30 +02:00
renovate[bot]
cd847c4fde Update Kotlin 2023-08-30 09:21:34 +02:00
renovate[bot]
410e270bd4 Update dependency androidx.compose.compiler:compiler to v1.5.3 2023-08-30 09:21:16 +02:00
DoggoOfSpeed
9c554644f3 Folder improvements (#2979) 2023-08-29 14:11:27 +02:00
renovate[bot]
58418f8927 Update CI dependencies 2023-08-29 07:28:57 +02:00
Daivy
343d107ee6 Translated using Weblate (Italian)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/it/
2023-08-28 11:40:46 -04:00
renovate[bot]
2c0ed89fbe Update dependency org.jellyfin.sdk:jellyfin-core to v1.4.3 2023-08-28 08:49:34 +02:00
Niels van Velzen
8e8f99e9f6 Report playMethod and repeatMode in PlaySessionService 2023-08-27 21:54:51 +02:00
Niels van Velzen
f59488ae7d Add MediaConversionMethod to MediaStream 2023-08-27 21:54:51 +02:00
Niels van Velzen
ed0ae5094a Support remuxing and transcoding in AudioMediaStreamResolver 2023-08-27 21:54:51 +02:00
Niels van Velzen
228142a9a0 Remove Thread.sleep usages 2023-08-27 12:00:43 +02:00
DoggoOfSpeed
3d8d8c3437 Alignment changes to audio player (#2995) 2023-08-25 19:59:59 +02:00
DoggoOfSpeed
4ac190540f Synochronise music timers (#2996) 2023-08-25 19:54:53 +02:00
sleepycatcoding
1ac3408d51 Translated using Weblate (Estonian)
Currently translated at 6.0% (30 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/et/
2023-08-24 19:40:43 -04:00
renovate[bot]
1401330573 Update actions/checkout action to v3.6.0 2023-08-24 21:21:21 +02:00
renovate[bot]
15751c920a Update dependency androidx.compose.compiler:compiler to v1.5.2 2023-08-23 21:41:31 +02:00
renovate[bot]
da161f2edb Update dependency com.android.tools.build:gradle to v8.1.1 2023-08-22 13:52:22 +02:00
Niels van Velzen
1c427e82c3 Always use user provided fast forward and rewind values 2023-08-20 18:48:53 +02:00
renovate[bot]
51938cd283 Update dependency io.mockk:mockk to v1.13.7 2023-08-20 09:10:19 +02:00
renovate[bot]
93b2ca8bf3 Update CI dependencies 2023-08-20 09:09:55 +02:00
Niels van Velzen
3b963c9b2f Fix disabling subtitles not always working 2023-08-20 08:24:45 +02:00
DoggoOfSpeed
835d0522c4 Add margin to media grid (#2964) 2023-08-17 21:49:00 +02:00
renovate[bot]
b74cf235df Update exoplayer 2023-08-17 07:18:54 +02:00
renovate[bot]
34116bf283 Update dependency androidx.media3:media3-session to v1.1.1 2023-08-16 17:43:51 +02:00
NunzioArdi
8d9105a13b Translated using Weblate (French)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/fr/
2023-08-15 16:34:17 -04:00
Niels van Velzen
1182dc27be Remove recordings from search results 2023-08-15 16:05:24 +02:00
Marco Dura
03e0cf9edc Translated using Weblate (Slovenian)
Currently translated at 76.9% (384 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sl/
2023-08-15 08:34:17 -04:00
renovate[bot]
3f4d6ace44 Update dependency org.jellyfin.exoplayer:exoplayer-ffmpeg-extension to v2.19.0+1 2023-08-15 08:37:57 +02:00
Zoe
4dae34a59c Translated using Weblate (Norwegian Bokmål)
Currently translated at 58.5% (292 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nb_NO/
2023-08-13 18:34:16 -04:00
Niels van Velzen
f8a02ec460 Fix crash when same item appears in queue multiple times 2023-08-13 22:21:50 +02:00
Niels van Velzen
083e0d9549 Fix ExoPlayerBackend not triggering onMediaStreamEnd correctly 2023-08-13 22:21:40 +02:00
Bas
1d7371524f Translated using Weblate (Dutch)
Currently translated at 100.0% (499 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nl/
2023-08-13 08:34:16 -04:00
plafreniere
066727854c Translated using Weblate (French)
Currently translated at 100.0% (499 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fr/
2023-08-11 11:34:15 -04:00
newton181
d44d1a1f1a Translated using Weblate (Spanish (Latin America))
Currently translated at 100.0% (499 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es_419/
2023-08-10 21:34:15 -04:00
renovate[bot]
754fdf2026 Update acra to v5.11.1 2023-08-10 19:34:36 +02:00
HansUden17
a59881f3fb Translated using Weblate (Danish)
Currently translated at 50.0% (2 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/da/
2023-08-10 12:34:16 -04:00
HansUden17
f6546cabf3 Translated using Weblate (Danish)
Currently translated at 100.0% (499 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/da/
2023-08-10 12:34:16 -04:00
Niels van Velzen
9ad2a1de6e Improve BaseRowItem refreshing
- Fix race conditions where selected item would change during refresh
- Catch API exceptions
- Remove item from adapter when refresh fails
- Format some files
2023-08-09 22:11:01 +02:00
renovate[bot]
abf3bb019c Update github/codeql-action action to v2.21.3 2023-08-09 22:10:48 +02:00
renovate[bot]
0fd188177a Update dependency androidx.preference:preference-ktx to v1.2.1 2023-08-09 21:44:31 +02:00
Kityn
c3320a3a0c Translated using Weblate (Polish)
Currently translated at 100.0% (499 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pl/
2023-08-07 20:34:14 -04:00
Kityn
4c8eb6ee5b Translated using Weblate (Polish)
Currently translated at 100.0% (499 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pl/
2023-08-07 17:34:14 -04:00
Manuel Triñanes
aaaaf3dffc Translated using Weblate (Spanish (Argentina))
Currently translated at 91.7% (458 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es_AR/
2023-08-03 20:34:12 -04:00
Niels van Velzen
216d7ccabe Fix UI corruption when resuming the FullDetailsFragment 2023-08-03 20:49:50 +02:00
Alfonso Scarpino
1cdbcac1a0 Translated using Weblate (Italian)
Currently translated at 100.0% (499 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/it/
2023-08-03 11:34:12 -04:00
Niels van Velzen
60b3fa1e91 Add (PlaySession-)identifier to MediaStream (#2935)
* Get play session id from backend

* Add AudioMediaStreamResolver

* Rewrite MediaStreamService as MediaStreamState

* Use playSessionId in PlaySessionService

* Fix ExoPlayerBackend not always playing requested stream
2023-08-03 09:00:09 +02:00
Niels van Velzen
74e6e8c7e2 Fix crash when reusing actions in MyDetailsOverviewRowPresenter
This is a bit of a hack but the FullDetailsFragment is too messy to fix it properly right now...
2023-08-03 08:59:21 +02:00
Niels van Velzen
e81c14d975 Always use child fragment manager instead of activity fragment manager 2023-08-03 08:59:09 +02:00
Niels van Velzen
af725f6380 Fix wrong lifecycle state in NextUpFragment 2023-08-03 08:58:55 +02:00
luckkmaxx
1f009a11db Translated using Weblate (Spanish)
Currently translated at 100.0% (499 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es/
2023-07-31 20:34:12 -04:00
Niels van Velzen
3f896e61f1 Fix crash when location type is null in CardPresenter 2023-07-31 16:32:32 +02:00
Lieba Natur Brilian
9bb2ced71d Translated using Weblate (Indonesian)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/id/
2023-07-31 08:34:11 -04:00
Niels van Velzen
daea0986c9 Use rounded corner for item details image 2023-07-30 22:38:08 +02:00
Niels van Velzen
f80c631252 Simplify defaultRewindAmount and defaultFastForwardAmount options 2023-07-30 15:52:10 +02:00
Niels van Velzen
9d60ca6a67 Add animation labels for Compose 2023-07-30 15:52:00 +02:00
renovate[bot]
479eec0937 Update dependency io.gitlab.arturbosch.detekt to v1.23.1 2023-07-30 09:50:26 +02:00
Niels van Velzen
9720179f44 Replace flow.collect usages with onEach & launchIn (#2925) 2023-07-30 09:49:14 +02:00
Niels van Velzen
b466a8d158 Don't clear ApiClient credentials when destroying a session
This fixes various crashes where API calls would fail after a session was destroyed. Most notable was the crash that occurred when stopping music playback when switching users
2023-07-30 09:48:56 +02:00
Niels van Velzen
49f5adadc6 Stop media playback when switching users
Previously we only stopped playback after the user is changed, with this change we also stop media immediately after usiong the switch users button in the home toolbar
2023-07-30 09:48:56 +02:00
renovate[bot]
7b0b345d8b Update dependency com.google.android.exoplayer:exoplayer to v2.19.0 2023-07-29 22:48:53 +02:00
Niels van Velzen
6cfcbb2b90 Add music progress to screensaver 2023-07-29 16:35:23 +02:00
renovate[bot]
f86458b303 Update github/codeql-action action to v2.21.2 2023-07-29 16:31:03 +02:00
renovate[bot]
b4d5ee4bed Update koin 2023-07-29 16:24:38 +02:00
Niels van Velzen
2d9bc7a918 Use data object in saled interfaces 2023-07-29 16:12:33 +02:00
Dennis
c5ec08c7f5 Translated using Weblate (Turkish)
Currently translated at 58.9% (294 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/tr/
2023-07-27 05:34:10 -04:00
renovate[bot]
a1b889a669 Update github/codeql-action action to v2.21.1 2023-07-26 22:19:30 +02:00
renovate[bot]
48bdefd995 Update dependency androidx.recyclerview:recyclerview to v1.3.1 2023-07-26 22:18:48 +02:00
renovate[bot]
4c00772cb9 Update dependency com.android.tools.build:gradle to v8.1.0 2023-07-26 22:14:56 +02:00
renovate[bot]
7a5c675764 Update dependency androidx.compose.compiler:compiler to v1.5.1 2023-07-26 22:13:58 +02:00
renovate[bot]
9c824d29d2 Update dependency androidx.fragment:fragment-ktx to v1.6.1 2023-07-26 22:13:47 +02:00
renovate[bot]
d3ab0d63fa Update Kotlin to v1.7.3 2023-07-26 09:22:13 +02:00
renovate[bot]
c1b6676f12 Update acra to v5.11.0 2023-07-25 21:03:45 +02:00
renovate[bot]
b4691e440d Update appleboy/ssh-action action to v1 2023-07-25 21:03:31 +02:00
renovate[bot]
22e912eadb Update CI dependencies 2023-07-25 21:03:15 +02:00
hoanghuy309
98fd3ef582 Translated using Weblate (Vietnamese)
Currently translated at 96.1% (480 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/vi/
2023-07-23 01:42:00 -04:00
Bas
44db5a042d Translated using Weblate (Dutch)
Currently translated at 100.0% (499 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nl/
2023-07-22 10:41:59 -04:00
Achim Walz
a889055328 Translated using Weblate (German)
Currently translated at 100.0% (499 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/de/
2023-07-20 18:41:58 -04:00
The Re
13e5d61af7 Translated using Weblate (Hungarian)
Currently translated at 100.0% (499 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/hu/
2023-07-20 15:41:59 -04:00
Achim Walz
0a9a902c1a Translated using Weblate (German)
Currently translated at 100.0% (499 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/de/
2023-07-20 15:41:58 -04:00
Manuel Triñanes
5ee22bf93a Translated using Weblate (Spanish (Argentina))
Currently translated at 91.7% (458 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es_AR/
2023-07-19 00:41:53 -04:00
Manuel Triñanes
7f230f7eab Translated using Weblate (Spanish)
Currently translated at 99.3% (496 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es/
2023-07-19 00:41:52 -04:00
Manuel Triñanes
e174dca7db Translated using Weblate (Spanish (Mexico))
Currently translated at 85.1% (425 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es_MX/
2023-07-19 00:41:52 -04:00
Moritz
9a98c2cadf Translated using Weblate (German)
Currently translated at 100.0% (499 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/de/
2023-07-18 14:41:52 -04:00
renovate[bot]
e1820e6e42 Update Kotlin to v1.9.0 2023-07-18 19:26:29 +02:00
renovate[bot]
c71c25245e Update dependency androidx.compose.compiler:compiler to v1.5.0 2023-07-18 19:26:12 +02:00
renovate[bot]
ed4e98e1ce Update aboutlibraries to v10.8.3 2023-07-18 16:11:47 +02:00
renovate[bot]
390f5eef54 Update gradle/gradle-build-action action to v2.6.1 2023-07-18 16:11:37 +02:00
Mohamed Akram
c69df824ce Improve codec info 2023-07-18 16:09:56 +02:00
Andi Chandler
4cb8b58f62 Translated using Weblate (English (United Kingdom))
Currently translated at 100.0% (499 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/en_GB/
2023-07-17 18:41:51 -04:00
Achim Walz
1b13a88a0f Translated using Weblate (German)
Currently translated at 99.5% (497 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/de/
2023-07-16 15:41:51 -04:00
Yaron Shahrabani
b168b0a95c Translated using Weblate (Hebrew)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/he/
2023-07-16 11:41:51 -04:00
Yaron Shahrabani
fb91f57d6b Translated using Weblate (Hebrew)
Currently translated at 100.0% (499 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/he/
2023-07-16 11:41:51 -04:00
Achim Walz
8fe2f7b301 Translated using Weblate (German)
Currently translated at 99.5% (497 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/de/
2023-07-15 16:41:51 -04:00
gleb
a43ef8d09f Translated using Weblate (Russian)
Currently translated at 100.0% (499 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ru/
2023-07-15 10:41:52 -04:00
Achim Walz
c26971a002 Translated using Weblate (German)
Currently translated at 99.5% (497 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/de/
2023-07-15 10:41:52 -04:00
Niels van Velzen
407463bc3c Fix player background not black 2023-07-15 15:15:46 +02:00
renovate[bot]
36d2166e36 Update github/codeql-action action to v2.20.4 2023-07-14 20:10:59 +02:00
Gloria Boucher
69a4be1606 Translated using Weblate (Latvian)
Currently translated at 25.0% (1 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/lv/
2023-07-14 09:41:50 -04:00
Niels van Velzen
c498cdc5db Migrate AccountManager accounts to AuthenticationStore 2023-07-13 14:12:55 +02:00
Niels van Velzen
e14515b9ee Remove AccountManager support 2023-07-13 14:12:55 +02:00
Oskari Lavinto
e7c3446c8d Translated using Weblate (Finnish)
Currently translated at 99.3% (496 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fi/
2023-07-13 00:41:50 -04:00
Bas
1c1720170e Translated using Weblate (Dutch)
Currently translated at 100.0% (499 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nl/
2023-07-12 18:41:49 -04:00
Achim Walz
4153e07b28 Translated using Weblate (German)
Currently translated at 98.7% (493 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/de/
2023-07-12 18:41:49 -04:00
stanol
dcb4ca7ef1 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (499 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/uk/
2023-07-12 12:41:49 -04:00
Lukáš Kucharczyk
81dc474823 Translated using Weblate (Czech)
Currently translated at 100.0% (499 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/cs/
2023-07-12 07:41:49 -04:00
Niels van Velzen
2bbe3db035 Add preference to disable device type detection notification 2023-07-12 08:37:48 +02:00
Achim Walz
3f83c0ada9 Translated using Weblate (German)
Currently translated at 99.5% (493 of 495 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/de/
2023-07-11 20:41:49 -04:00
xuhao61
b86edeabd5 Translated using Weblate (Japanese)
Currently translated at 25.0% (1 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/ja/
2023-07-11 15:41:49 -04:00
Niels van Velzen
387baf93b6 Replace Glide with Coil 2023-07-11 21:21:38 +02:00
renovate[bot]
40f186f4a0 Update aboutlibraries to v10.8.2 2023-07-11 14:34:48 +02:00
renovate[bot]
dcb4cecd09 Update dependency gradle to v8.2.1 2023-07-11 14:25:27 +02:00
renovate[bot]
473a84a6c7 Update gradle/gradle-build-action action to v2.6.0 2023-07-11 14:25:20 +02:00
hoanghuy309
bd9056cdd6 Translated using Weblate (Vietnamese)
Currently translated at 96.5% (478 of 495 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/vi/
2023-07-10 04:41:48 -04:00
Achim Walz
7c9041bd7c Translated using Weblate (German)
Currently translated at 99.5% (493 of 495 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/de/
2023-07-10 04:41:48 -04:00
Achim Walz
ed1764bec0 Translated using Weblate (German)
Currently translated at 99.5% (493 of 495 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/de/
2023-07-09 20:41:48 -04:00
Niels van Velzen
21fd753197 Fix application crash on startup 2023-07-09 14:56:03 +02:00
renovate[bot]
f85a81c01b Update aboutlibraries to v10.8.1 2023-07-08 21:50:31 +02:00
Achim Walz
19d0b7cc5b Translated using Weblate (German)
Currently translated at 99.3% (492 of 495 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/de/
2023-07-08 15:41:48 -04:00
Niels van Velzen
902d3a1026 Add missing view action to StartupActivity 2023-07-08 19:17:36 +02:00
Niels van Velzen
ba4966a0ac Remove unused ProcessLifecycleInitializer 2023-07-08 19:17:23 +02:00
Jack
8e4975d31d Translated using Weblate (French)
Currently translated at 100.0% (495 of 495 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fr/
2023-07-08 09:41:48 -04:00
Achim Walz
6c303360ef Translated using Weblate (German)
Currently translated at 100.0% (495 of 495 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/de/
2023-07-08 09:41:48 -04:00
nightfurydev
00df9ee646 Translated using Weblate (Belarusian)
Currently translated at 8.4% (42 of 498 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/be/
2023-07-07 18:41:48 -04:00
renovate[bot]
375b625740 Update github/codeql-action action to v2.20.3 2023-07-06 21:58:30 +02:00
newton181
6bf75e0cc5 Translated using Weblate (Spanish (Latin America))
Currently translated at 100.0% (498 of 498 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es_419/
2023-07-05 21:41:47 -04:00
Niels van Velzen
5760ca565b Update volume functions in MediaSessionPlayer 2023-07-05 21:04:16 +02:00
renovate[bot]
4ab1e33fbf Update dependency androidx.media3:media3-session to v1.1.0 2023-07-05 21:04:16 +02:00
Radvin-89
e8529619a5 Translated using Weblate (Persian)
Currently translated at 50.0% (2 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/fa/
2023-07-04 12:41:46 -04:00
Niels van Velzen
1d0a40c7b5 Fix navigation reset called during back stack pop call 2023-07-03 21:06:45 +02:00
Niels van Velzen
6b5ae73f39 Improve logging in NavigationRepository 2023-07-03 21:06:45 +02:00
renovate[bot]
6b025580c6 Update github/codeql-action action to v2.20.2 2023-07-03 19:42:14 +02:00
Oskari Lavinto
9c6eacb579 Translated using Weblate (Finnish)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/fi/
2023-07-03 03:41:46 -04:00
renovate[bot]
38f7f0f559 Update dependency gradle to v8.2 2023-07-02 22:00:39 +02:00
Niels van Velzen
af1a069610 Show UI mode notification on startup screen 2023-07-01 15:33:23 +02:00
yosubis
81eed24a53 Translated using Weblate (Hebrew)
Currently translated at 50.0% (2 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/he/
2023-07-01 08:41:45 -04:00
yosubis
eb882b8194 Translated using Weblate (Hebrew)
Currently translated at 99.7% (494 of 495 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/he/
2023-07-01 08:41:45 -04:00
renovate[bot]
76b534e9fc Update dependency com.squareup.leakcanary:leakcanary-android to v2.12 2023-06-30 08:49:06 +02:00
renovate[bot]
f399868da1 Update Kotlin to v1.7.2 2023-06-29 21:59:42 +02:00
renovate[bot]
8bca5a5ab5 Update gradle/gradle-build-action action to v2.5.1 2023-06-29 21:59:25 +02:00
renovate[bot]
a447ef5932 Update Kotlin 2023-06-29 10:03:16 +02:00
renovate[bot]
5af514dae8 Update dependency androidx.compose.compiler:compiler to v1.4.8 2023-06-29 10:03:07 +02:00
renovate[bot]
4c918d8689 Update gradle/gradle-build-action action to v2.5.0 2023-06-29 07:35:17 +02:00
avicarpio
403136fbc5 Translated using Weblate (Catalan)
Currently translated at 100.0% (498 of 498 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ca/
2023-06-25 09:41:42 -04:00
renovate[bot]
b390f2d8aa Update dependency com.mikepenz.aboutlibraries.plugin to v10.8.0 2023-06-24 09:26:24 +02:00
Niels van Velzen
f18557934c Add more logging to authentication code 2023-06-22 07:17:01 +02:00
renovate[bot]
e1fd20c791 Update github/codeql-action action to v2.20.1 2023-06-21 20:56:42 +02:00
hoanghuy309
5946f2db0a Translated using Weblate (Vietnamese)
Currently translated at 93.9% (465 of 495 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/vi/
2023-06-21 14:28:18 -04:00
lucaperl
4fa39b23c0 Translated using Weblate (Italian)
Currently translated at 100.0% (495 of 495 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/it/
2023-06-21 08:28:18 -04:00
lucaperl
64757edbc6 Translated using Weblate (German)
Currently translated at 100.0% (495 of 495 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/de/
2023-06-21 08:28:18 -04:00
Niels van Velzen
b66afe5116 Fix crash when player controls are auto-hiding while closing the player 2023-06-20 18:52:09 +02:00
renovate[bot]
46ba09f5d6 Update acra to v5.10.1 2023-06-20 13:15:50 +02:00
Szávai Patrik
0856041800 Translated using Weblate (Hungarian)
Currently translated at 80.4% (398 of 495 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/hu/
2023-06-18 20:28:19 -04:00
renovate[bot]
4d3253744f Update acra to v5.10.0 2023-06-18 19:45:01 +02:00
renovate[bot]
5116114266 Update github/codeql-action action to v2.20.0 2023-06-16 21:56:42 +02:00
oad
7a26911460 Translated using Weblate (Slovak)
Currently translated at 100.0% (495 of 495 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sk/
2023-06-11 13:21:57 -04:00
renovate[bot]
a27b5e1db1 Update actions/checkout action to v3.5.3 2023-06-11 15:24:55 +02:00
Niels van Velzen
ef51c87b0d Use fast forward & rewind durations from preferences 2023-06-08 07:13:06 +02:00
renovate[bot]
0d4572e1de Update dependency androidx.window:window to v1.1.0 2023-06-07 21:58:41 +02:00
renovate[bot]
187dcb5e96 Update dependency androidx.fragment:fragment-ktx to v1.6.0 2023-06-07 21:56:52 +02:00
Andi Chandler
e593ae3078 Translated using Weblate (English (United Kingdom))
Currently translated at 100.0% (495 of 495 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/en_GB/
2023-06-06 18:21:57 -04:00
newton181
2cc0e6d8da Translated using Weblate (Spanish (Latin America))
Currently translated at 99.3% (495 of 498 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es_419/
2023-06-05 23:21:57 -04:00
newton181
179cdea522 Translated using Weblate (Spanish)
Currently translated at 100.0% (495 of 495 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es/
2023-06-05 23:21:57 -04:00
renovate[bot]
c1e6cdae8b Update koin to v3.4.2 2023-06-05 22:35:41 +02:00
皇甫朝云
3f5d0dcc93 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (495 of 495 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/zh_Hans/
2023-06-05 15:21:57 -04:00
millallo
abe5edac9e Translated using Weblate (Italian)
Currently translated at 100.0% (495 of 495 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/it/
2023-06-05 09:21:57 -04:00
hoanghuy309
03e46d3396 Translated using Weblate (Vietnamese)
Currently translated at 92.1% (456 of 495 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/vi/
2023-06-04 22:21:57 -04:00
Bas
16ea04abb0 Translated using Weblate (Dutch)
Currently translated at 100.0% (495 of 495 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nl/
2023-06-04 08:21:57 -04:00
Oskari Lavinto
8ba6703645 Translated using Weblate (Finnish)
Currently translated at 99.3% (492 of 495 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fi/
2023-06-04 05:21:57 -04:00
Niels van Velzen
94457195a9 Add volume state to playback rewrite 2023-06-04 10:40:17 +02:00
stanol
4e8415871c Translated using Weblate (Ukrainian)
Currently translated at 100.0% (495 of 495 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/uk/
2023-06-03 14:21:58 -04:00
Sami
297d369ce2 Translated using Weblate (Indonesian)
Currently translated at 70.1% (347 of 495 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/id/
2023-06-03 14:21:58 -04:00
Niv Harel
84e9ced5ad focus back on versions button when selecting a version 2023-06-03 16:49:44 +02:00
Lukáš Kucharczyk
2660bc3640 Translated using Weblate (Czech)
Currently translated at 100.0% (498 of 498 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/cs/
2023-06-03 09:21:57 -04:00
StubbyB
9657743a19 Fix InfoLayoutHelper not using first video stream, update details when selecting version (#2812) 2023-06-03 13:47:59 +02:00
Niels van Velzen
046917020d Fix Live TV progress reporting 2023-06-03 13:40:37 +02:00
Weblate
ad959a21cc Update translation files
Updated by "Cleanup translation files" hook in Weblate.

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/
2023-06-03 04:19:16 -04:00
Niels van Velzen
cc388fda33 Enable playback rewrite by default for music 2023-06-03 10:19:12 +02:00
Niels van Velzen
c7827b1935 Update unsupported server messages 2023-06-03 10:19:02 +02:00
Niels van Velzen
85a81ce9d5 Add repeat mode to playback rewrite 2023-06-03 10:18:52 +02:00
renovate[bot]
c4c46737ea Update github/codeql-action action to v2.3.6 2023-06-01 21:16:59 +02:00
Bucky Patel
d2ca1a2e45 Translated using Weblate (Hindi)
Currently translated at 11.6% (58 of 496 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/hi/
2023-06-01 05:21:57 -04:00
newton181
002ec0f449 Translated using Weblate (Spanish (Latin America))
Currently translated at 100.0% (496 of 496 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es_419/
2023-05-31 21:21:57 -04:00
newton181
d6a0e8e754 Translated using Weblate (Spanish (Mexico))
Currently translated at 86.2% (428 of 496 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es_MX/
2023-05-31 21:21:57 -04:00
renovate[bot]
385ce512ce Update koin 2023-05-31 22:18:35 +02:00
Niels van Velzen
4193ccc458 Rewrite media session code with androidx.media3 2023-05-31 22:17:45 +02:00
Niels van Velzen
8c85115a88 Disable custom key handling when using playback rewrite
This fixes a case where both the system and the app would act on key presses at the same time
2023-05-30 22:26:35 +02:00
Niels van Velzen
570f9ec4ba Fix race condition in HomeFragment causing a crash when profile picture loads when the view is already destroyed 2023-05-30 22:26:26 +02:00
DareFox
5022942327 Translated using Weblate (Russian)
Currently translated at 99.1% (492 of 496 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ru/
2023-05-30 12:21:57 -04:00
Niels van Velzen
eb68aaae68 Convert queue service to core functionality 2023-05-30 08:57:37 +02:00
renovate[bot]
04cb64be8b Update github/codeql-action action to v2.3.5 2023-05-29 09:49:23 +02:00
Nikita Panuhin
6f94463e25 Translated using Weblate (Russian)
Currently translated at 75.6% (375 of 496 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ru/
2023-05-28 07:21:57 -04:00
Xanto Chrome
2acacc2199 Translated using Weblate (Indonesian)
Currently translated at 25.0% (1 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/id/
2023-05-27 12:21:57 -04:00
renovate[bot]
337e0ffe8c Update dependency com.android.tools.build:gradle to v8.0.2 2023-05-25 10:27:47 +02:00
renovate[bot]
1eb18eb18c Update dependency androidx.activity:activity-ktx to v1.7.2 2023-05-25 10:20:23 +02:00
renovate[bot]
f6d2421f6b Update github/codeql-action action to v2.3.4 2023-05-25 10:20:07 +02:00
renovate[bot]
737f9404ce Update dependency io.gitlab.arturbosch.detekt to v1.23.0 2023-05-24 09:26:35 +02:00
Niels van Velzen
6af461e2fb Add playback order support to playback rewrite 2023-05-21 22:12:59 +02:00
Niels van Velzen
49a326c74c Fix playback of seasons with external player 2023-05-21 22:12:38 +02:00
renovate[bot]
1d6d235bab Update aboutlibraries to v10.7.0 2023-05-20 09:57:41 +02:00
phynxlyncis
040a39e9f4 Translated using Weblate (Norwegian Bokmål)
Currently translated at 54.8% (272 of 496 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nb_NO/
2023-05-19 23:21:43 -04:00
Niels van Velzen
0c85619990 Replace XML menus with Kotlin 2023-05-19 07:41:29 +02:00
Jack Koskie
6a38c52871 Translated using Weblate (French)
Currently translated at 100.0% (496 of 496 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fr/
2023-05-19 01:21:43 -04:00
Niels van Velzen
49b8526338 Fix rare race condition crash in HomeFragment 2023-05-18 22:21:22 +02:00
Kenneth SB
8bf831d97b Translated using Weblate (Danish)
Currently translated at 100.0% (496 of 496 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/da/
2023-05-18 10:21:42 -04:00
Niels van Velzen
c2583d944b Fix BackgroundService flickering 2023-05-18 10:26:41 +02:00
Niels van Velzen
b2562f07c3 Enable Renovate dependency dashboard 2023-05-18 10:26:13 +02:00
Niels van Velzen
59472ba7b0 Remove left over search hint code 2023-05-18 10:25:55 +02:00
Niels van Velzen
61324816d7 Fix PictureViewerFragment using activityViewModel 2023-05-18 10:25:29 +02:00
renovate[bot]
76695a0829 Update dependency com.squareup.leakcanary:leakcanary-android to v2.11 2023-05-18 10:25:04 +02:00
renovate[bot]
79c80198c1 Update dependency org.jellyfin.exoplayer:exoplayer-ffmpeg-extension to v2.18.7+1 2023-05-18 09:37:19 +02:00
adelao95
d28cc1739e Translated using Weblate (Spanish (Latin America))
Currently translated at 97.9% (486 of 496 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es_419/
2023-05-17 20:21:43 -04:00
renovate[bot]
fd16bf51b8 Update dependency com.google.android.exoplayer:exoplayer to v2.18.7 2023-05-17 21:06:51 +02:00
Niels van Velzen
369c5bfd39 Update formatting, fix some minor issues 2023-05-17 12:43:06 +02:00
polson
4104612977 Use dependency injection and clean up code 2023-05-17 12:43:06 +02:00
polson
26fb739e39 Cancel search requests when search box input changes 2023-05-17 12:43:06 +02:00
newton181
ad132306da Translated using Weblate (Spanish (Latin America))
Currently translated at 92.9% (461 of 496 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es_419/
2023-05-15 23:21:53 -04:00
luckkmaxx
ee16e5832e Translated using Weblate (Spanish)
Currently translated at 100.0% (496 of 496 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es/
2023-05-15 23:21:51 -04:00
Bad Developer
af7fb35e51 Translated using Weblate (Uyghur)
Currently translated at 19.9% (99 of 496 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ug/
2023-05-15 04:21:42 -04:00
Niels van Velzen
894ca60899 Use view binding in MainActivity & StartupActivity 2023-05-14 10:54:46 +02:00
Niels van Velzen
9b00839a2f Fix view binding leak in fragments 2023-05-14 10:54:35 +02:00
Niels van Velzen
11251d5185 Migrate some activity usages to context 2023-05-13 19:06:08 +02:00
Niels van Velzen
d7561b044a Use context in ItemLauncher 2023-05-13 18:32:11 +02:00
Niels van Velzen
82e09e147a Use navigation.goBack instead of activity finish in FullDetailsFragment 2023-05-13 10:09:02 +02:00
Niels van Velzen
e1066911cb Inline validateAuthentication extension into MainActivity 2023-05-13 10:08:54 +02:00
Niels van Velzen
2e4aa21db2 Fix app closing when media finishes playing 2023-05-12 22:09:57 +02:00
renovate[bot]
c1c08e8079 Update Kotlin to v1.7.1 2023-05-12 21:53:43 +02:00
Niels van Velzen
2d4adbf6a2 Migrate ExoPlayer to StyledPlayerView 2023-05-12 20:34:44 +02:00
Niels van Velzen
00b24be8cc Add fallback image to LeanbackChannelWorker 2023-05-11 22:55:28 +02:00
renovate[bot]
ffa6f1f9fb Update Kotlin 2023-05-11 17:56:41 +02:00
renovate[bot]
d29e8e8e0a Update kotest to v5.6.2 2023-05-11 08:37:42 +02:00
renovate[bot]
b1c76d2327 Update dependency androidx.core:core-ktx to v1.10.1 2023-05-10 21:32:37 +02:00
Niels van Velzen
c95ee3ab9b Fix screensaver support in video player 2023-05-10 21:30:10 +02:00
Niels van Velzen
12a24f3dd0 Migrate video player & next up screen to fragments 2023-05-10 09:07:26 +02:00
Niels van Velzen
10950e2689 Support replacement during navigation 2023-05-10 09:07:26 +02:00
Niels van Velzen
c17cc972e4 Remove NextUp screen from ExternalPlayerActivity 2023-05-10 09:07:26 +02:00
Niels van Velzen
a69e0748d8 Fix HomeFragmentLatestRow using wrong import for runBlocking function 2023-05-10 08:41:43 +02:00
Niels van Velzen
c579a1259e Remove old screen locks 2023-05-10 08:41:27 +02:00
liimee
844e914611 Translated using Weblate (Indonesian)
Currently translated at 58.0% (288 of 496 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/id/
2023-05-06 22:39:43 -04:00
Niels van Velzen
05651d37d2 Hide SSA tags from SRT subtitles 2023-05-06 19:28:47 +02:00
hoanghuy309
c7999e83a3 Translated using Weblate (Vietnamese)
Currently translated at 87.9% (436 of 496 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/vi/
2023-05-06 11:39:42 -04:00
liimee
e710ceb2dc Translated using Weblate (Indonesian)
Currently translated at 25.0% (1 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/id/
2023-05-05 23:39:42 -04:00
liimee
faba2fd40f Translated using Weblate (Indonesian)
Currently translated at 42.5% (211 of 496 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/id/
2023-05-05 23:39:42 -04:00
renovate[bot]
39593eb7ed Update github/codeql-action action to v2.3.3 2023-05-04 21:31:12 +02:00
Marcinbar
531221b3fb Translated using Weblate (Polish)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/pl/
2023-05-04 06:39:41 -04:00
Marcinbar
de7b2dee82 Translated using Weblate (Polish)
Currently translated at 99.7% (495 of 496 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pl/
2023-05-04 06:39:41 -04:00
renovate[bot]
a55bd51bbb Update aboutlibraries to v10.6.3 2023-05-04 08:52:04 +02:00
renovate[bot]
70a974bc0f Update dependency androidx.compose.ui:ui-tooling to v1.4.3 2023-05-03 22:21:17 +02:00
renovate[bot]
ba38cb654e Update dependency androidx.compose.material:material to v1.4.3 2023-05-03 22:13:55 +02:00
renovate[bot]
83f9b15803 Update dependency androidx.compose.foundation:foundation to v1.4.3 2023-05-03 22:07:37 +02:00
renovate[bot]
7e46ec2c84 Update Kotlin 2023-05-03 21:57:58 +02:00
renovate[bot]
a93d671573 Update dependency androidx.compose.compiler:compiler to v1.4.7 2023-05-03 21:57:50 +02:00
Niels van Velzen
c437842209 Fix resume row not hiding when empty 2023-05-02 17:11:44 +02:00
Chen-Tai,Peng
b3a2769692 Translated using Weblate (Chinese (Traditional))
Currently translated at 75.0% (3 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/zh_Hant/
2023-05-01 14:39:40 -04:00
renovate[bot]
4eaf70bff3 Update dependency com.android.tools.build:gradle to v8.0.1 2023-05-01 19:17:31 +02:00
ZlabiDev
b101dd1e44 Translated using Weblate (German)
Currently translated at 100.0% (496 of 496 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/de/
2023-05-01 04:39:40 -04:00
Niels van Velzen
1d44c83501 Add support for retrieving resume items in BaseRowAdapter using the SDK 2023-04-30 16:30:12 +02:00
renovate[bot]
f808810889 Update github/codeql-action action to v2.3.2 2023-04-29 15:33:22 +02:00
Lukáš Kucharczyk
c39e2cad5b Translated using Weblate (Czech)
Currently translated at 99.3% (493 of 496 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/cs/
2023-04-28 05:39:39 -04:00
Jan
52e237349c Translated using Weblate (German)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/de/
2023-04-27 16:39:39 -04:00
Niels van Velzen
1d91af6956 Allow changing the (a)ac3 bitstreaming option on all devices 2023-04-27 19:35:46 +02:00
renovate[bot]
936356f835 Update dependency org.jellyfin.exoplayer:exoplayer-ffmpeg-extension to v2.18.6+1 2023-04-27 15:35:42 +02:00
Niels van Velzen
7d33516c31 Fix ExoPlayer extensions not used for music playback 2023-04-27 15:24:02 +02:00
Niels van Velzen
991447f797 Fix ExoPlayerProfile not always listing SubRip and SRT as external 2023-04-27 15:23:39 +02:00
Niels van Velzen
3d5142c108 Fix ExpandableTextView cutting content 2023-04-27 15:23:21 +02:00
renovate[bot]
70a17230de Update github/codeql-action action to v2.3.1 2023-04-27 10:40:58 +02:00
renovate[bot]
84efc6a693 Update dependency org.jellyfin.sdk:jellyfin-core to v1.4.2 2023-04-26 21:58:02 +02:00
Gselivanof
ccdeb8e44f Translated using Weblate (Greek)
Currently translated at 100.0% (496 of 496 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/el/
2023-04-24 16:39:38 -04:00
shakedex
1fd005e256 Translated using Weblate (Hebrew)
Currently translated at 98.7% (490 of 496 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/he/
2023-04-24 10:39:38 -04:00
hoanghuy309
917fc63e9e Translated using Weblate (Vietnamese)
Currently translated at 80.4% (399 of 496 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/vi/
2023-04-23 16:39:37 -04:00
Min3
e09dc5ded4 Translated using Weblate (Catalan)
Currently translated at 100.0% (496 of 496 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ca/
2023-04-23 12:39:38 -04:00
Niels van Velzen
571028e967 Disable MPEG transport stream container in ExoPlayer
The track switching code (for audio/subtitle) implementation for ExoPlayer doesn't support the track ids in a mpeg-ts container
2023-04-23 14:43:12 +02:00
Niels van Velzen
93979e1d38 Add DVB subtitle support in ExoPlayer 2023-04-23 14:42:39 +02:00
皇甫朝云
dfe2e9e0c4 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/zh_Hans/
2023-04-23 07:39:37 -04:00
alison2033
596f873e06 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (496 of 496 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pt_BR/
2023-04-23 01:39:37 -04:00
Niels van Velzen
45bdb655bc Remove BaseProfile 2023-04-22 16:10:49 +02:00
Niels van Velzen
d63ac02525 Enable PGS subtitles in ExoPlayer 2023-04-22 16:10:36 +02:00
Niels van Velzen
e903d8c347 Fix switching ExoPlayer subtitle track 2023-04-22 16:10:23 +02:00
Niels van Velzen
f862a17223 Fix offsetStreamIndex when selecting last track 2023-04-22 16:09:39 +02:00
Andreas Maier
9b5050b3fa Translated using Weblate (German)
Currently translated at 99.5% (494 of 496 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/de/
2023-04-22 07:39:38 -04:00
renovate[bot]
058685d0c2 Update github/codeql-action action to v2.3.0 2023-04-22 09:36:19 +02:00
renovate[bot]
eac2cc3761 Update dependency gradle to v8.1.1 2023-04-21 20:27:35 +02:00
Andi Chandler
a419be52fa Translated using Weblate (English (United Kingdom))
Currently translated at 100.0% (496 of 496 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/en_GB/
2023-04-20 18:39:36 -04:00
renovate[bot]
207615c5c3 Update dependency androidx.compose.material:material to v1.4.2 2023-04-20 11:27:26 +02:00
renovate[bot]
4699454d5d Update dependency com.google.android.exoplayer:exoplayer to v2.18.6 2023-04-20 11:06:25 +02:00
renovate[bot]
2cf3016889 Update dependency androidx.compose.ui:ui-tooling to v1.4.2 2023-04-20 11:05:47 +02:00
renovate[bot]
d0d59a5d1b Update dependency androidx.compose.foundation:foundation to v1.4.2 2023-04-20 11:04:58 +02:00
renovate[bot]
2b5c229e10 Update dependency androidx.activity:activity-ktx to v1.7.1 2023-04-20 10:50:50 +02:00
stanol
61f61f4ea6 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/uk/
2023-04-19 18:39:36 -04:00
stanol
c23f3a064c Translated using Weblate (Ukrainian)
Currently translated at 100.0% (496 of 496 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/uk/
2023-04-19 18:39:36 -04:00
Niels van Velzen
9a77e63fa9 Rewrite GridButton with Compose 2023-04-19 19:29:39 +02:00
renovate[bot]
56a8c7d59b Update dependency androidx.fragment:fragment-ktx to v1.5.7 2023-04-19 19:20:46 +02:00
renovate[bot]
fcb2094541 Update dependency androidx.compose.compiler:compiler to v1.4.6 2023-04-19 19:12:58 +02:00
nextlooper42
8c7228d5c8 Translated using Weblate (Slovak)
Currently translated at 100.0% (496 of 496 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sk/
2023-04-19 10:39:36 -04:00
Bas
066895bd4a Translated using Weblate (Dutch)
Currently translated at 100.0% (496 of 496 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nl/
2023-04-19 10:39:36 -04:00
renovate[bot]
4dfaaab8af Update dependency com.google.devtools.ksp to v1.8.20-1.0.11 2023-04-19 08:59:50 +02:00
renovate[bot]
edd7afc36f Update kotest to v5.6.1 2023-04-19 08:59:34 +02:00
renovate[bot]
61b1fc73ee Update dependency io.insert-koin:koin-androidx-compose to v3.4.4 2023-04-19 08:40:34 +02:00
Alehaaaa
5c09724dd4 Translated using Weblate (Spanish)
Currently translated at 100.0% (496 of 496 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es/
2023-04-17 19:39:35 -04:00
Troja
34511b5777 Translated using Weblate (Belarusian)
Currently translated at 6.0% (30 of 496 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/be/
2023-04-17 15:39:36 -04:00
stanol
40d9b2a70b Translated using Weblate (Ukrainian)
Currently translated at 99.7% (495 of 496 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/uk/
2023-04-17 15:39:36 -04:00
Simon Hung
655555c580 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (496 of 496 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/zh_Hant/
2023-04-17 15:39:36 -04:00
Ulices
10eb71b8c0 Translated using Weblate (Spanish (Latin America))
Currently translated at 72.1% (358 of 496 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es_419/
2023-04-17 05:39:35 -04:00
小造xu_zh
c1b251aff2 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (496 of 496 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/zh_Hans/
2023-04-17 05:39:35 -04:00
Alerego
e6898487dc Translated using Weblate (Italian)
Currently translated at 99.7% (495 of 496 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/it/
2023-04-16 19:39:35 -04:00
Oskari Lavinto
2f9c2149d9 Translated using Weblate (Finnish)
Currently translated at 99.3% (493 of 496 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fi/
2023-04-16 07:39:34 -04:00
Niels van Velzen
a3e845db3a Add separate buttons for artists and album artists in music smart screen 2023-04-16 10:30:49 +02:00
Ac_K
e67ddbc030 Translated using Weblate (French)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/fr/
2023-04-16 01:39:35 -04:00
Ac_K
dd98ba4888 Translated using Weblate (French)
Currently translated at 100.0% (495 of 495 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fr/
2023-04-16 01:39:34 -04:00
Kasper Kirkegaard
94417cab4e Translated using Weblate (Danish)
Currently translated at 100.0% (495 of 495 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/da/
2023-04-15 19:39:34 -04:00
Andi Chandler
ee3c72a16d Translated using Weblate (English (United Kingdom))
Currently translated at 100.0% (495 of 495 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/en_GB/
2023-04-15 11:39:34 -04:00
Niels van Velzen
f99451d22e Fix app crash when playback stop is requested without an active player 2023-04-15 16:01:35 +02:00
renovate[bot]
d5a3bae29f Update gradle/gradle-build-action action to v2.4.2 2023-04-15 09:08:38 +02:00
小造xu_zh
e93b788ab3 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (495 of 495 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/zh_Hans/
2023-04-15 01:39:34 -04:00
newton181
46ebb30a6a Translated using Weblate (Spanish)
Currently translated at 98.3% (487 of 495 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es/
2023-04-14 21:39:34 -04:00
Niels van Velzen
c1dba246c8 Enable nonTransitiveRClass 2023-04-14 19:27:43 +02:00
Robert
f77e281142 Translated using Weblate (Romanian)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/ro/
2023-04-14 08:39:34 -04:00
Robert
27a4ba75a4 Translated using Weblate (Romanian)
Currently translated at 100.0% (494 of 494 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ro/
2023-04-14 08:39:34 -04:00
Niels van Velzen
d28fa5db69 Enable nonFinalResIds 2023-04-14 08:37:12 +02:00
Eryk Michalak
15ccc6b930 Translated using Weblate (Polish)
Currently translated at 100.0% (494 of 494 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pl/
2023-04-13 17:39:34 -04:00
Niels van Velzen
c4678b8863 Temporarily disable nonFinalResIds and nonTransitiveRClass 2023-04-13 22:21:18 +02:00
Niels van Velzen
a237c4205e Enable buildConfig for app module 2023-04-13 22:21:18 +02:00
renovate[bot]
8290ef854a Update dependency com.android.tools.build:gradle to v8 2023-04-13 22:21:18 +02:00
David Fairbrother
4bb2158cc0 Use JDK toolchains to explicitly use JDK 17
Explicitly mark that we want version 17 of the JDK as the compiler. Previously
we implicitly relied on Gradle getting this right. This means devs and
CI will all use the same JDK explicitly rather than implicitly.

Pin the target JDK version in build.gradle.kts, this should apply to all
targets (including Kotlin) to version 1.8 to maintain compatibility with
older devices
2023-04-13 21:56:26 +02:00
renovate[bot]
45e7e6456c Update CI dependencies 2023-04-13 21:50:40 +02:00
Eryk Michalak
613463bef6 Translated using Weblate (Polish)
Currently translated at 78.9% (390 of 494 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pl/
2023-04-13 15:16:45 -04:00
renovate[bot]
74c1494fef Update dependency io.mockk:mockk to v1.13.5 2023-04-13 10:51:19 +02:00
renovate[bot]
35bff80438 Update CI dependencies 2023-04-13 10:50:41 +02:00
renovate[bot]
d3d25cc1b7 Update dependency gradle to v8.1 2023-04-13 10:50:23 +02:00
renovate[bot]
dce6d94fee Update Kotlin 2023-04-13 10:27:12 +02:00
renovate[bot]
4c778eeaf8 Update dependency androidx.compose.compiler:compiler to v1.4.5 2023-04-13 10:27:03 +02:00
Niels van Velzen
775aa5ad69 Fix BaseItemInfoRow not showing for persons 2023-04-13 08:40:08 +02:00
Flibble
7a64fd39fd Translated using Weblate (Czech)
Currently translated at 99.7% (493 of 494 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/cs/
2023-04-12 09:39:33 -04:00
Kasper Kirkegaard
0b33b20174 Translated using Weblate (Danish)
Currently translated at 97.5% (482 of 494 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/da/
2023-04-11 20:39:33 -04:00
Alexandre Barde
76dd6e8910 Translated using Weblate (French)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/fr/
2023-04-10 18:39:32 -04:00
Alexandre Barde
f406a21477 Translated using Weblate (French)
Currently translated at 86.0% (425 of 494 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fr/
2023-04-10 18:39:32 -04:00
DJSweder
1036bf59e6 Translated using Weblate (Czech)
Currently translated at 79.3% (392 of 494 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/cs/
2023-04-09 01:39:32 -04:00
Edgar Pireyn
ad359df5aa Translated using Weblate (French)
Currently translated at 84.0% (415 of 494 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fr/
2023-04-08 15:39:31 -04:00
renovate[bot]
45e3689a26 Update aboutlibraries to v10.6.2 2023-04-08 14:29:29 +02:00
stanol
e578d7fdec Translated using Weblate (Ukrainian)
Currently translated at 99.7% (493 of 494 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/uk/
2023-04-07 19:39:31 -04:00
Bas
e5fdf4ef0c Translated using Weblate (Dutch)
Currently translated at 100.0% (494 of 494 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nl/
2023-04-07 13:39:31 -04:00
Niels van Velzen
6f9d8b9fc7 Rewrite background service UI with compose 2023-04-07 19:13:57 +02:00
Niels van Velzen
3380d62960 Fix BaseRowItem index not set 2023-04-07 14:39:41 +02:00
Niels van Velzen
56c43b7059 Fix audio queue row showing previous items 2023-04-07 14:39:41 +02:00
Niels van Velzen
12e23c0bf1 Fix now playing row in home fragment not working with rewrite media manager 2023-04-07 14:39:41 +02:00
Andi Chandler
7b9b85491c Translated using Weblate (English (United Kingdom))
Currently translated at 100.0% (494 of 494 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/en_GB/
2023-04-07 08:39:31 -04:00
Oskari Lavinto
04c3c2e02e Translated using Weblate (Finnish)
Currently translated at 99.3% (491 of 494 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fi/
2023-04-07 04:39:31 -04:00
wolong gl
bc55d7b56a Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (494 of 494 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/zh_Hans/
2023-04-07 04:39:31 -04:00
renovate[bot]
f7213dae2c Update github/codeql-action action to v2.2.11 2023-04-06 21:47:54 +02:00
Niels van Velzen
99373ef595 Add (experimental) reactive homepage 2023-04-06 18:23:15 +02:00
Niels van Velzen
a229c2e3dc Use ItemRowAdapterHelperKt.setItems for NextUpQuery in ItemRowAdapter 2023-04-06 18:22:59 +02:00
Oskari Lavinto
20f4fa4edd Translated using Weblate (Finnish)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/fi/
2023-04-06 00:39:30 -04:00
renovate[bot]
0947a261f8 Update dependency androidx.core:core-ktx to v1.10.0 2023-04-05 21:02:21 +02:00
renovate[bot]
3b120b3675 Update dependency androidx.compose.ui:ui-tooling to v1.4.1 2023-04-05 20:44:03 +02:00
renovate[bot]
05031a64c3 Update dependency androidx.compose.foundation:foundation to v1.4.1 2023-04-05 20:43:55 +02:00
AmmarAlhawsawi
8c118840ac Translated using Weblate (Arabic)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/ar/
2023-04-05 14:39:30 -04:00
renovate[bot]
a5f7b5cab9 Update dependency androidx.compose.material:material to v1.4.1 2023-04-05 20:33:33 +02:00
renovate[bot]
d593ae9f21 Update github/codeql-action action to v2.2.10 2023-04-05 19:58:58 +02:00
Troja
93e8708006 Translated using Weblate (Belarusian)
Currently translated at 5.0% (25 of 493 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/be/
2023-04-05 08:39:30 -04:00
Jorge San
98e50dacc5 Translated using Weblate (Spanish)
Currently translated at 98.5% (486 of 493 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es/
2023-04-05 05:39:31 -04:00
Hawasys
e4ae04e3c0 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (493 of 493 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pt_BR/
2023-04-04 15:39:30 -04:00
iDoNtCaRe-69
13b9e4719e Translated using Weblate (Hindi)
Currently translated at 9.9% (49 of 493 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/hi/
2023-04-04 10:39:31 -04:00
renovate[bot]
4c9ed637ed Update appleboy/ssh-action action to v0.1.9 2023-04-04 14:41:01 +02:00
Niels van Velzen
98c5700b66 Set Java versions for Kotlin and Android plugin 2023-04-04 14:38:33 +02:00
renovate[bot]
df1c20138b Update dependency gradle to v8 2023-04-04 14:38:33 +02:00
iDoNtCaRe-69
7fb40055d4 Added translation using Weblate (Hindi) 2023-04-04 07:55:55 -04:00
Yan
ef5f800c66 Improve Android TV home screen recommendations (#2515)
* Add more channels

* Merge my_media channel logic into generic channel logic

* Implement selection of home screen channel and prefer backdrops option

* Add PreferredDefaultChannelData.NONE for no recommendations

* Remove leanbackPreferredDefaultChannel option

* Change default channel to latest_media

* fixup - set default channel to latest media

The first channel your app creates becomes its default channel. The default channel automatically appears in the home screen. All other channels you create must be selected and accepted by the user before they can appear in the home screen.

* Remove option to prefer backdrops

* Remove leanback related strings

* remove unused imports in CustomizationPreferencesScreen.kt

* Small formatting changes, bugfixes and code cleanup

---------

Co-authored-by: Niels van Velzen <git@ndat.nl>
2023-04-04 11:49:43 +00:00
AmmarAlhawsawi
8cf2115e7c Translated using Weblate (Arabic)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/ar/
2023-04-03 18:39:30 -04:00
AmmarAlhawsawi
1c4e8f0d11 Translated using Weblate (Arabic)
Currently translated at 100.0% (493 of 493 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ar/
2023-04-03 18:39:30 -04:00
Adil
58b5a756ba Translated using Weblate (Turkish)
Currently translated at 25.0% (1 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/tr/
2023-04-03 15:39:30 -04:00
Adil
ec796e5f5c Translated using Weblate (Turkish)
Currently translated at 56.9% (281 of 493 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/tr/
2023-04-03 15:39:30 -04:00
Niels van Velzen
1b44358f10 Add F-Droid badge to README 2023-04-03 20:55:48 +02:00
Niels van Velzen
3bfa126e0e Fix "null" on Live TV guide "load channels" button 2023-04-03 19:34:44 +02:00
Niels van Velzen
fb651b173c Set screenOrientation for PreferencesActivity 2023-04-02 10:05:09 +02:00
Niels van Velzen
1b3418908c Translated using Weblate (Belarusian)
Currently translated at 75.0% (3 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/be/
2023-04-01 12:39:29 -04:00
Niels van Velzen
e9340f8e3e Translated using Weblate (Norwegian Bokmål)
Currently translated at 75.0% (3 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/nb_NO/
2023-04-01 12:39:29 -04:00
renovate[bot]
e68cd1e755 Update dependency com.android.tools:desugar_jdk_libs to v2.0.3 2023-03-31 18:36:13 +02:00
Bas
2560d95fb6 Translated using Weblate (Dutch)
Currently translated at 100.0% (493 of 493 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nl/
2023-03-31 10:39:29 -04:00
Juozapas
7c3244f61b Translated using Weblate (Lithuanian)
Currently translated at 85.8% (423 of 493 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/lt/
2023-03-30 17:39:29 -04:00
TheTach
1327da35fb Translated using Weblate (German)
Currently translated at 100.0% (493 of 493 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/de/
2023-03-30 17:39:28 -04:00
Oskari Lavinto
feebf3632e Translated using Weblate (Finnish)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/fi/
2023-03-30 14:39:28 -04:00
Bas
189f02c17b Translated using Weblate (Dutch)
Currently translated at 100.0% (493 of 493 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nl/
2023-03-30 14:39:28 -04:00
Troja
6928cd051a Translated using Weblate (Belarusian)
Currently translated at 75.0% (3 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/be/
2023-03-30 11:39:29 -04:00
Drembii
e8a9a84f2a Translated using Weblate (Romanian)
Currently translated at 82.9% (409 of 493 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ro/
2023-03-30 11:39:28 -04:00
Drembii
0ea88e92f3 Translated using Weblate (Romanian)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/ro/
2023-03-30 08:39:29 -04:00
Drembii
b52ca81713 Translated using Weblate (Romanian)
Currently translated at 78.7% (388 of 493 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ro/
2023-03-30 08:39:28 -04:00
Drembii
723b8f6e46 Translated using Weblate (Romanian)
Currently translated at 50.0% (2 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/ro/
2023-03-30 05:39:29 -04:00
Drembii
93096677c6 Translated using Weblate (Romanian)
Currently translated at 70.5% (348 of 493 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ro/
2023-03-30 05:39:28 -04:00
renovate[bot]
c29703c09c Update CI dependencies 2023-03-28 13:24:41 +02:00
n*!
c9397c484b Translated using Weblate (French)
Currently translated at 77.0% (380 of 493 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fr/
2023-03-27 18:39:27 -04:00
Bas
8d065337c2 Translated using Weblate (Dutch)
Currently translated at 100.0% (493 of 493 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nl/
2023-03-27 08:39:27 -04:00
Niels van Velzen
25e8738818 Fix app closing when music queue ends 2023-03-25 14:11:10 +01:00
Bas
57a5344265 Translated using Weblate (Dutch)
Currently translated at 100.0% (493 of 493 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nl/
2023-03-24 19:39:26 -04:00
renovate[bot]
02f730094f Update dependency androidx.compose.material:material to v1.4.0 2023-03-24 21:09:34 +01:00
renovate[bot]
b6cfaed0d1 Update dependency androidx.compose.foundation:foundation to v1.4.0 2023-03-24 21:07:59 +01:00
renovate[bot]
3d3df83ac7 Update dependency androidx.compose.ui:ui-tooling to v1.4.0 2023-03-24 21:07:40 +01:00
renovate[bot]
8c6d66a2c8 Update koin 2023-03-24 19:39:37 +01:00
renovate[bot]
6f77374260 Update actions/checkout action to v3.5.0 2023-03-24 19:39:05 +01:00
renovate[bot]
526a84c667 Update dependency androidx.compose.compiler:compiler to v1.4.4 2023-03-23 20:50:17 +01:00
renovate[bot]
de27b394d2 Update dependency androidx.fragment:fragment-ktx to v1.5.6 2023-03-23 20:37:42 +01:00
renovate[bot]
3a510ae811 Update dependency androidx.activity:activity-ktx to v1.7.0 2023-03-23 20:37:33 +01:00
renovate[bot]
f51723ae6b Update dependency androidx.work:work-runtime-ktx to v2.8.1 2023-03-23 20:37:21 +01:00
renovate[bot]
55b6e4f23b Update androidx-lifecycle to v2.6.1 2023-03-23 20:37:10 +01:00
renovate[bot]
b292319a44 Update github/codeql-action action to v2.2.8 2023-03-23 20:36:27 +01:00
renovate[bot]
4d99dd1a17 Update actions/stale action to v8 2023-03-23 20:36:19 +01:00
renovate[bot]
341dc3c3b7 Update dependency com.google.android.exoplayer:exoplayer to v2.18.5 2023-03-23 20:36:11 +01:00
Andi Chandler
82b6044cc4 Translated using Weblate (English (United Kingdom))
Currently translated at 100.0% (493 of 493 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/en_GB/
2023-03-18 20:39:24 -04:00
David Fairbrother
34a9c18a75 Fix formatting across actions
These were picked up during the PR review, and represent a nice tidy-up
across the actions
2023-03-18 11:55:58 +01:00
David Fairbrother
fb1ba84130 Mark get*Fragment as NonNullable for Kotlin interop
Based on liner feedback, mark these as NonNullable, since the actions
videoPlayerAdapter shouldn't have any callers whilst tearing down the
various fragments
2023-03-18 11:55:58 +01:00
David Fairbrother
d0175cc3e6 Move logic for Android actions into own classes
This makes the default actions also use polymorphic dispatch, rather
than the existing static dispatch.

In future commits we can move the associated logic (e.g.
updatePlayState()) into the same classes too. This will effectively
separate our logic from our view and make it clear where the
responsibilities for each element are.
2023-03-18 11:55:58 +01:00
David Fairbrother
b1ac564f6e Grab LeanbackFragment through videoAdapter
Access the CustomPlaybackOverlayFragment and
LeanbackOverlayFragment through videoAdapter. This was fundamentally
what CustomPlaybackTransportGlue did on behalf of the callers.

Overall it's a code smell that we retrieve the view through the
VideoAdapter, but without serious re-architecting it's better to keep
our call sites consistent for if/when we refactor these fragments out of
the video adapter.
2023-03-18 11:55:58 +01:00
David Fairbrother
8767227b08 Switch static dispatch onClick to use Polymorphism
Previously the glue class performed static dispatch using a switch case,
despite the interface having the vars for almost every case.

Switching to relying on Polymorphism allows us to drop the static
dispatch and let each action encapsulate how they want to handle the
fragment and/or player.

At a later date this will make testing each action significantly easier
too, as we can simply inject mocks or fakes per action, rather than for
the CustomPlaybackTransportControlGlue class.
2023-03-18 11:55:58 +01:00
Joe Rogers
f81d27e085 Update and specify full action versions 2023-03-17 15:47:37 +01:00
Bas
dd4ec289a0 Translated using Weblate (Dutch)
Currently translated at 100.0% (493 of 493 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nl/
2023-03-17 06:57:03 -04:00
Can Baytok
72ad6feae6 Translated using Weblate (German)
Currently translated at 81.3% (401 of 493 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/de/
2023-03-16 13:39:23 -04:00
stanol
d12d55e4a5 Translated using Weblate (Ukrainian)
Currently translated at 99.7% (492 of 493 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/uk/
2023-03-15 19:39:23 -04:00
Niels van Velzen
3111f0b37d Add androidx.media2 MediaSessionService implementation 2023-03-15 20:58:31 +01:00
Niels van Velzen
8060442ffb Add media manager implementation using new playback module 2023-03-15 15:31:55 +01:00
Bas
52d4f63e51 Translated using Weblate (Dutch)
Currently translated at 100.0% (493 of 493 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nl/
2023-03-14 16:39:22 -04:00
Niels van Velzen
6806f69c62 Store accounts in Account Manager by address 2023-03-14 13:58:41 +01:00
renovate[bot]
4246579eb7 Update glide to v4.15.1 2023-03-13 21:57:04 +01:00
Niels van Velzen
7282a39544 Remove watched indicator from empty series 2023-03-13 21:28:56 +01:00
Andi Chandler
2642a16208 Translated using Weblate (English (United Kingdom))
Currently translated at 92.2% (455 of 493 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/en_GB/
2023-03-12 18:39:22 -04:00
Scorpionhunt
f2092ad378 Translated using Weblate (German)
Currently translated at 81.3% (401 of 493 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/de/
2023-03-12 18:39:22 -04:00
Andi Chandler
47ea017da9 Translated using Weblate (English (United Kingdom))
Currently translated at 90.0% (444 of 493 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/en_GB/
2023-03-12 11:39:22 -04:00
Niels van Velzen
5d29a293d1 Add blurHashPainter composable 2023-03-12 10:43:36 +01:00
Niels van Velzen
6712eeb781 Always check server id when retrieving user data from AccountManagerStore 2023-03-12 10:31:13 +01:00
Andi Chandler
c8edc06f49 Translated using Weblate (English (United Kingdom))
Currently translated at 80.1% (395 of 493 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/en_GB/
2023-03-11 15:39:22 -05:00
Oskari Lavinto
41ae242f16 Translated using Weblate (Finnish)
Currently translated at 99.3% (490 of 493 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fi/
2023-03-10 22:39:21 -05:00
Niels van Velzen
757efe196b Fix screensaver crash when loading an invalid backdrop image 2023-03-10 22:25:38 +01:00
Niels van Velzen
8dd66bc601 Update androidx.lifecycle usages 2023-03-10 19:50:39 +01:00
renovate[bot]
498f5f97c9 Update androidx-lifecycle to v2.6.0 2023-03-10 19:50:39 +01:00
renovate[bot]
d85de5e1d7 Update github/codeql-action digest to 16964e9 2023-03-10 19:46:08 +01:00
Weblate
43f66ada9b Update translation files
Updated by "Cleanup translation files" hook in Weblate.

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/
2023-03-10 13:17:37 -05:00
renovate[bot]
83db59a54f Update dependency androidx.recyclerview:recyclerview to v1.3.0 2023-03-10 19:17:32 +01:00
Moritz
32c8d6e262 Translated using Weblate (German)
Currently translated at 76.8% (379 of 493 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/de/
2023-03-10 07:39:21 -05:00
Troja
ece9f85628 Translated using Weblate (Belarusian)
Currently translated at 0.6% (3 of 493 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/be/
2023-03-08 16:39:20 -05:00
Bas
b000d61061 Translated using Weblate (Dutch)
Currently translated at 100.0% (493 of 493 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nl/
2023-03-08 13:39:20 -05:00
nextlooper42
2eaee494fe Translated using Weblate (Slovak)
Currently translated at 100.0% (493 of 493 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sk/
2023-03-08 10:39:20 -05:00
Oskari Lavinto
7ab4e699cd Translated using Weblate (Finnish)
Currently translated at 97.1% (479 of 493 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fi/
2023-03-08 01:39:20 -05:00
millallo
e7aec7a30e Translated using Weblate (Italian)
Currently translated at 99.1% (489 of 493 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/it/
2023-03-07 18:39:20 -05:00
小造xu_zh
4bf58b73e5 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (493 of 493 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/zh_Hans/
2023-03-07 10:39:20 -05:00
丸子
3de51860f1 Translated using Weblate (Chinese (Simplified))
Currently translated at 82.3% (406 of 493 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/zh_Hans/
2023-03-06 10:39:20 -05:00
Weblate
113d718211 Update translation files
Updated by "Cleanup translation files" hook in Weblate.

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/
2023-03-05 15:18:00 -05:00
Weblate
d1355c5724 Update translation files
Updated by "Cleanup translation files" hook in Weblate.

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/
2023-03-05 15:17:59 -05:00
Niels van Velzen
b1348f07ce Remove some unused drawables/strings/layouts 2023-03-05 21:17:56 +01:00
Niels van Velzen
2a7e29e123 Use plurals for amount of tracks in album / episodes in season
Also renames "songs" to "tracks" for consistency with jellyfin-web
2023-03-05 21:17:44 +01:00
Niels van Velzen
0a30b50904 Fix SearchFragment not restoring properly 2023-03-05 10:09:20 +01:00
Niels van Velzen
eada9ea21c Add workaround for non reproducible baseline profiles in AGP 2023-03-05 10:08:08 +01:00
Niels van Velzen
317f8bff27 Fix missing background in DreamContentLogo
When the dream failed to display content and went from a library showcase to the logo it would flicker because there was no background for the logo content during the animation, and when the animation finished the library showcase would suddenly disappear. Adding a background color fixes this issue.
2023-03-05 10:07:50 +01:00
Niels van Velzen
1c0da723ae Fix all string capitalization 2023-03-05 10:07:26 +01:00
小造xu_zh
f66858282c Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (499 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/zh_Hans/
2023-03-04 13:39:18 -05:00
kaypiff
6816104800 Translated using Weblate (Polish)
Currently translated at 100.0% (499 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pl/
2023-03-04 07:39:19 -05:00
Bas
a8a4a1a3e1 Translated using Weblate (Dutch)
Currently translated at 100.0% (499 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nl/
2023-03-04 07:39:18 -05:00
omm
68f6b3a3ef Add IncludeType param when sending number query 2023-03-03 19:35:18 +01:00
renovate[bot]
7a5ee0b229 Update dependency com.google.android.exoplayer:exoplayer to v2.18.4 2023-03-03 18:59:54 +01:00
Oskari Lavinto
ca37eafb3d Translated using Weblate (Finnish)
Currently translated at 99.3% (496 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fi/
2023-03-01 07:39:17 -05:00
Kela910512
15d65c0575 Translated using Weblate (Hungarian)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/hu/
2023-02-28 18:39:17 -05:00
Kela910512
d5b4b86f7e Translated using Weblate (Hungarian)
Currently translated at 100.0% (499 of 499 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/hu/
2023-02-28 18:39:17 -05:00
Weblate
55017866f8 Update translation files
Updated by "Cleanup translation files" hook in Weblate.

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/
2023-02-28 16:10:31 -05:00
Bill Thornton
d4206d9b4d Update "Latest" media labels to be "Recently Added" 2023-02-28 22:10:24 +01:00
Weblate
545b16dde2 Update translation files
Updated by "Cleanup translation files" hook in Weblate.

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/
2023-02-28 07:49:11 -05:00
Niels van Velzen
c6347c21ca Fix crash when scaleType is null in AsyncImage 2023-02-28 13:49:06 +01:00
Weblate
80b02db44c Update translation files
Updated by "Cleanup translation files" hook in Weblate.

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/
2023-02-28 07:24:12 -05:00
Niels van Velzen
9f80ec6ee4 Always use getQuantityString() for time units 2023-02-28 13:24:07 +01:00
renovate[bot]
9816154cee Update appleboy/ssh-action action to v0.1.8 2023-02-28 13:00:58 +01:00
Bas
237755f3ca Translated using Weblate (Dutch)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/nl/
2023-02-27 18:39:17 -05:00
Bas
6bddb305d1 Translated using Weblate (Dutch)
Currently translated at 100.0% (504 of 504 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nl/
2023-02-27 18:39:17 -05:00
David Fairbrother
b3bc4b0d8c Accept KEYCODE_ENTER as alt to KEYCODE_CENTER
Adds KEYCODE_ENTER wherever we accept KEYCODE_DPAD_CENTER. This was
reported in #2526 where third-party remotes will use the former instead
of the latter value.

I've added this to all places we accept CENTER, since our most of our
Kotlin code already accepts this as an alternative and I can't forsee a
case where we would want these to accept different things.

This was tested in the emulator to ensure we've not broken the existing
mapping, but short of using the enter key (which works) I can't verify
this fixes the original issue.
2023-02-27 20:53:27 +01:00
renovate[bot]
e7b59f57f1 Update dependency com.android.tools.build:gradle to v7.4.2 2023-02-27 20:45:26 +01:00
Oskari Lavinto
89e242f3d9 Translated using Weblate (Finnish)
Currently translated at 99.4% (501 of 504 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fi/
2023-02-27 04:39:17 -05:00
renovate[bot]
fcf8ad008b Update gradle/gradle-build-action digest to 6095a76 2023-02-26 21:10:52 +01:00
Niels van Velzen
231a54aaf5 Prevent screensaver from showing when picture viewer slideshow is active 2023-02-26 17:03:57 +01:00
Niels van Velzen
a199530e5d Add InAppScreensaver to show custom screensaver in app 2023-02-26 17:03:57 +01:00
Niels van Velzen
2aaf77770d Remove screensaver from AudioNowPlayingFragment 2023-02-26 17:03:57 +01:00
Niels van Velzen
328072a36c Fix theme not applied before creating views 2023-02-26 16:52:12 +01:00
Niels van Velzen
bbc7f3eea4 Only attach background service in activities 2023-02-26 16:52:01 +01:00
renovate[bot]
54d4be7446 Update github/codeql-action digest to 32dc499 2023-02-25 12:30:20 +01:00
renovate[bot]
10b488668c Update glide to v4.15.0 2023-02-25 12:30:05 +01:00
renovate[bot]
eb03a7f6dc Update dependency org.jetbrains.kotlinx:kotlinx-serialization-json to v1.5.0 2023-02-25 12:29:51 +01:00
renovate[bot]
7de86e8d68 Update dependency gradle to v7.6.1 2023-02-24 19:39:59 +01:00
dredstone1
f23a1da850 Translated using Weblate (Hebrew)
Currently translated at 98.9% (492 of 497 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/he/
2023-02-24 11:39:16 -05:00
nextlooper42
54b296b519 Translated using Weblate (Slovak)
Currently translated at 100.0% (497 of 497 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sk/
2023-02-24 11:39:15 -05:00
Andi Chandler
00e7abf7b9 Translated using Weblate (English (United Kingdom))
Currently translated at 100.0% (497 of 497 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/en_GB/
2023-02-24 11:39:15 -05:00
Oskari Lavinto
e57dfebc8c Translated using Weblate (Finnish)
Currently translated at 99.1% (493 of 497 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fi/
2023-02-24 02:39:15 -05:00
Bas
a480ec15ff Translated using Weblate (Dutch)
Currently translated at 100.0% (497 of 497 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nl/
2023-02-23 17:39:15 -05:00
Niels van Velzen
74a7898fcd Mark LibVLC as experimental 2023-02-23 20:49:50 +01:00
renovate[bot]
cd8b55c1e2 Update aboutlibraries to v10.6.1 2023-02-23 16:49:10 +01:00
renovate[bot]
a83fdd3802 Update dependency androidx.compose.compiler:compiler to v1.4.3 2023-02-23 08:51:13 +01:00
lyaschuchenko
572a840235 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (497 of 497 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/uk/
2023-02-22 05:39:15 -05:00
Weblate
486fe93d99 Update translation files
Updated by "Cleanup translation files" hook in Weblate.

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/
2023-02-21 08:11:54 -05:00
Niels van Velzen
4bc78a0b93 Remove saveAudioQueue from MediaManager 2023-02-21 14:11:48 +01:00
Niels van Velzen
a7e01ebcee Replace deprecated ExistingPeriodicWorkPolicy.REPLACE with ExistingPeriodicWorkPolicy.UPDATE 2023-02-21 14:11:40 +01:00
Niels van Velzen
1aa37fda98 Show currently playing music on screensaver 2023-02-20 22:26:32 +01:00
Niels van Velzen
1706074e73 Split LibraryDreamService into multiple files and fix various bugs 2023-02-20 22:26:32 +01:00
Niels van Velzen
1b256e3be9 Replace deprecated Bundle.get with Bundle.getParcelable 2023-02-20 22:23:50 +01:00
Niels van Velzen
67b8202e49 Revert "Update aboutlibraries to v10.6.0"
This reverts commit 63665cbf11.
2023-02-20 22:16:56 +01:00
Niels van Velzen
952b24d150 Replace sharedViewModel with activityViewModel 2023-02-20 22:05:26 +01:00
Niels van Velzen
84dc7fc48d Don't show "invalid credentials" message when authentication fails with an SDK exception 2023-02-20 22:04:47 +01:00
renovate[bot]
63665cbf11 Update aboutlibraries to v10.6.0 2023-02-20 21:47:44 +01:00
giotex64
a4d39ad648 Translated using Weblate (Italian)
Currently translated at 100.0% (500 of 500 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/it/
2023-02-20 05:39:14 -05:00
rushmash
433b80a841 Added translation using Weblate (Belarusian) 2023-02-19 14:57:21 -05:00
HK
ee781633b5 Translated using Weblate (Turkish)
Currently translated at 79.0% (395 of 500 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/tr/
2023-02-17 10:39:13 -05:00
阿卜杜克热木·吾加卜杜拉
132843d709 Translated using Weblate (Uyghur)
Currently translated at 19.4% (97 of 500 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ug/
2023-02-17 06:39:14 -05:00
Niels van Velzen
2846d7fd0f Add rememberCurrentTime() composable and Modifier.overscan() 2023-02-16 21:59:02 +01:00
Niels van Velzen
13796cdd02 Remove KenBurns dependency 2023-02-16 21:59:02 +01:00
Niels van Velzen
fd47c5fb52 Rewrite LibraryDreamService with Compose 2023-02-16 21:59:02 +01:00
Niels van Velzen
fa70460188 Add DreamServiceCompat 2023-02-16 21:59:02 +01:00
Niels van Velzen
6298e5e44f Add AsyncImage composable 2023-02-16 21:59:02 +01:00
renovate[bot]
f10cbc05d7 Update dependency com.google.android.exoplayer:exoplayer to v2.18.3 2023-02-16 21:58:30 +01:00
Bruno Jurković
f13e2dcd9f Translated using Weblate (Croatian)
Currently translated at 100.0% (500 of 500 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/hr/
2023-02-16 11:39:14 -05:00
Ruben Kremer
37333bff40 Translated using Weblate (Dutch)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/nl/
2023-02-15 16:39:13 -05:00
Eduardo
2b0797c164 Translated using Weblate (Spanish)
Currently translated at 100.0% (500 of 500 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es/
2023-02-15 16:39:12 -05:00
hoanghuy309
69b9384824 Translated using Weblate (Vietnamese)
Currently translated at 98.2% (491 of 500 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/vi/
2023-02-14 11:39:12 -05:00
小造xu_zh
ff6f2d2cff Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (500 of 500 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/zh_Hans/
2023-02-14 07:39:12 -05:00
Niels van Velzen
aeb76c3812 Add androidx.compose.compiler to libraries section in version catalog
This should trigger Renovate to update the version for us
2023-02-10 21:39:55 +01:00
renovate[bot]
a19f88c8d3 Update github/codeql-action digest to 17573ee 2023-02-10 21:39:45 +01:00
Timmeh
215b0e9f2c Fix old items are shown when new filter is applied. (#2472)
* clear rows after applying new filter.

* Always set current item to toolbar if current item is filtered out.
2023-02-10 21:39:15 +01:00
renovate[bot]
8233417799 Update dependency io.insert-koin:koin-androidx-compose to v3.4.2 2023-02-10 19:25:57 +01:00
Kamil Dzierbicki
d5be222191 Translated using Weblate (Polish)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/pl/
2023-02-10 10:51:33 -05:00
Andi Chandler
e9d9539ed1 Translated using Weblate (English (United Kingdom))
Currently translated at 100.0% (500 of 500 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/en_GB/
2023-02-09 18:51:32 -05:00
aenron
f1ee7109fe Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (500 of 500 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/zh_Hans/
2023-02-09 09:51:33 -05:00
Bas
331df19697 Translated using Weblate (Dutch)
Currently translated at 100.0% (500 of 500 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nl/
2023-02-09 09:51:32 -05:00
renovate[bot]
6c3cda0d9f Update github/codeql-action digest to 8775e86 2023-02-08 21:46:54 +01:00
renovate[bot]
c747e026d4 Update dependency androidx.work:work-runtime-ktx to v2.8.0 2023-02-08 21:45:33 +01:00
renovate[bot]
0454d68f37 Update koin to v3.3.3 2023-02-08 21:37:34 +01:00
renovate[bot]
3003d32597 Update actions/setup-java digest to 3f07048 2023-02-08 19:35:28 +01:00
Niels van Velzen
4316dac93f Update compose compiler to 1.4.2 2023-02-08 19:34:43 +01:00
renovate[bot]
a2dcbe8cc8 Update Kotlin 2023-02-08 19:34:43 +01:00
renovate[bot]
ea182744b6 Update dependency androidx.appcompat:appcompat to v1.6.1 2023-02-08 19:34:26 +01:00
nextlooper42
b070115d54 Translated using Weblate (Slovak)
Currently translated at 100.0% (500 of 500 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sk/
2023-02-08 12:51:32 -05:00
renovate[bot]
c46b7115ab Update github/codeql-action digest to 39d8d7e 2023-02-07 16:41:11 +01:00
Oskari Lavinto
ae7199489a Translated using Weblate (Finnish)
Currently translated at 99.2% (496 of 500 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fi/
2023-02-07 05:51:32 -05:00
Niels van Velzen
18354cc929 Update item delete confirm message string 2023-02-06 19:07:09 +01:00
João Batista
c03debe57f Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (500 of 500 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pt_PT/
2023-02-05 18:51:31 -05:00
renovate[bot]
262928c400 Update kotest to v5.5.5 2023-02-05 21:57:31 +01:00
Niels van Velzen
8ea6d3fde1 Update MediaManager interface again 2023-02-04 08:49:29 +01:00
Niels van Velzen
181d9c1fbb Add PlaybackManagerOptions for defaultRewindAmount and defaultFastForwardAmount 2023-02-04 08:49:29 +01:00
renovate[bot]
125cf74d5e Update dependency com.android.tools:desugar_jdk_libs to v2.0.2 2023-02-03 19:15:59 +01:00
Niels van Velzen
e3d5262b5b Fix rare picture viewer crash when album is empty 2023-02-02 21:31:41 +01:00
Niels van Velzen
8309056299 Revert "Update dependency com.android.tools:desugar_jdk_libs to v2.0.1"
This reverts commit 21850ccfcb.
2023-02-02 21:15:32 +01:00
renovate[bot]
21850ccfcb Update dependency com.android.tools:desugar_jdk_libs to v2.0.1 2023-02-02 19:56:42 +01:00
florentsarat
78d67f8ae3 Translated using Weblate (French)
Currently translated at 100.0% (500 of 500 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fr/
2023-02-01 20:51:29 -05:00
Timmeh
ed0540a5a9 adds "shuffle with" button if "always ask" is selected as preferred player. (#2459)
* add "shuffle with" button

* fix linting warnings
2023-02-01 21:52:11 +01:00
renovate[bot]
6cbfe43ce7 Update dependency com.android.tools.build:gradle to v7.4.1 2023-02-01 20:28:52 +01:00
Niels van Velzen
adac020b0f Remove selected photo item from MediaManager and do some more cleaning 2023-02-01 19:19:49 +01:00
Weblate
82f131c8d7 Update translation files
Updated by "Remove blank strings" hook in Weblate.

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/
2023-01-31 18:51:30 -05:00
millallo
5c87e79e80 Translated using Weblate (Italian)
Currently translated at 99.2% (496 of 500 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/it/
2023-01-31 18:51:29 -05:00
Антон
df8a8bc265 Translated using Weblate (Russian)
Currently translated at 99.8% (499 of 500 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ru/
2023-01-31 15:51:30 -05:00
Patrick Oliveira
b9b7a4dfab Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (500 of 500 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pt_BR/
2023-01-31 15:51:29 -05:00
Moritz
097bbe19b5 Translated using Weblate (German)
Currently translated at 99.8% (499 of 500 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/de/
2023-01-31 15:51:29 -05:00
Magnus Clemmensen
d8cd3f065c Translated using Weblate (Danish)
Currently translated at 100.0% (500 of 500 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/da/
2023-01-31 15:51:29 -05:00
JonahKr
f603ad53d2 Translated using Weblate (German)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/de/
2023-01-31 07:51:29 -05:00
Niels van Velzen
2f5d4ac800 Split MediaManager into MediaManager and VideoQueueManager 2023-01-30 22:59:48 +01:00
Yaroslav Pavlov
c9864e7df4 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (500 of 500 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/uk/
2023-01-30 16:51:29 -05:00
Niels van Velzen
9c4ef1a791 Enable desugaring for playback:core module 2023-01-30 20:18:22 +01:00
Niels van Velzen
e2cb114ff3 Add MediaSessionPlugin to playback rewrite 2023-01-30 20:18:22 +01:00
Paweł
c483315f03 Translated using Weblate (Polish)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/pl/
2023-01-30 12:51:29 -05:00
Paweł
1c2894dd04 Translated using Weblate (Polish)
Currently translated at 100.0% (500 of 500 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pl/
2023-01-30 12:51:29 -05:00
nextlooper42
48b2e51ef2 Translated using Weblate (Slovak)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/sk/
2023-01-30 06:51:29 -05:00
nextlooper42
e5b4d71928 Translated using Weblate (Slovak)
Currently translated at 100.0% (500 of 500 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sk/
2023-01-30 06:51:28 -05:00
AdamPinczesi
fba92045de Translated using Weblate (Hungarian)
Currently translated at 100.0% (500 of 500 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/hu/
2023-01-29 20:51:28 -05:00
Weblate
93f9e8fc58 Update translation files
Updated by "Cleanup translation files" hook in Weblate.

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/
2023-01-29 03:31:32 -05:00
Niels van Velzen
5c1990107a Add option to enable playback rewrite for audio 2023-01-29 09:31:19 +01:00
Bas
d58800c990 Translated using Weblate (Dutch)
Currently translated at 100.0% (501 of 501 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nl/
2023-01-28 15:51:28 -05:00
HenryTujia
bbb5b1146e Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (501 of 501 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/zh_Hans/
2023-01-28 11:51:28 -05:00
Oskari Lavinto
e27ef9eff5 Translated using Weblate (Finnish)
Currently translated at 99.2% (497 of 501 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fi/
2023-01-28 08:51:28 -05:00
Andi Chandler
7421ab1838 Translated using Weblate (English (United Kingdom))
Currently translated at 100.0% (501 of 501 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/en_GB/
2023-01-28 08:51:28 -05:00
Niels van Velzen
34ff9b941b Remove unused properties/functions from MediaManager 2023-01-28 12:31:52 +01:00
Niels van Velzen
4b7f6374ae Split MediaManager into interface and implementation 2023-01-28 12:31:52 +01:00
renovate[bot]
2c1bef0fea Update dependency io.mockk:mockk to v1.13.4 2023-01-28 12:08:39 +01:00
Niels van Velzen
d69a0630ed Add delete option to item details screen
The option only shows when the user has permissions to delete the displaying item
2023-01-27 20:30:24 +01:00
renovate[bot]
05f11c7a89 Update github/codeql-action digest to 3ebbd71 2023-01-27 20:30:17 +01:00
jtbrinkmann
95266d2960 Translated using Weblate (German)
Currently translated at 100.0% (495 of 495 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/de/
2023-01-27 07:51:27 -05:00
renovate[bot]
c8ff1a239f Update github/codeql-action digest to 436dbd9 2023-01-26 19:13:13 +01:00
renovate[bot]
88c5bc1594 Update dependency com.google.devtools.ksp to v1.8.0-1.0.9 2023-01-26 19:02:24 +01:00
Алексей
e4b134e92e Translated using Weblate (Russian)
Currently translated at 99.7% (494 of 495 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ru/
2023-01-26 08:51:27 -05:00
moshiko kar
1f804a254f Translated using Weblate (Hebrew)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/he/
2023-01-26 04:51:28 -05:00
moshiko kar
8a230f7fe0 Translated using Weblate (Hebrew)
Currently translated at 100.0% (495 of 495 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/he/
2023-01-26 04:51:27 -05:00
moshiko kar
8d22fc9e1b Translated using Weblate (Hebrew (Israel))
Currently translated at 10.7% (53 of 495 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/he_IL/
2023-01-26 04:51:27 -05:00
Niels van Velzen
2b93f4f6e4 Remove gradlew-update.yaml workflow 2023-01-25 14:37:30 +01:00
Niels van Velzen
22b4ecf0ec Change opening menu to ACTION_UP instead of ACTION_DOWN 2023-01-24 21:22:10 +01:00
Kyle Repinski
848ff4772e Add AV1 direct play support 2023-01-24 16:25:30 +01:00
Bas
155ddc3eba Translated using Weblate (Dutch)
Currently translated at 100.0% (495 of 495 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nl/
2023-01-23 11:51:26 -05:00
Ecor
4d8493920b Translated using Weblate (Spanish)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/es/
2023-01-23 04:51:26 -05:00
Niels van Velzen
6783ade9b5 Update playback module with SDK 1.4.1 changes 2023-01-23 08:57:27 +01:00
Niels van Velzen
a7b06d39e1 Use HEADER_ACCEPT from SDK as Glide Accept header value 2023-01-23 08:57:18 +01:00
Niels van Velzen
3839d1c5d1 Set Accept header in Glide requests 2023-01-23 08:57:18 +01:00
renovate[bot]
80a2dd5ac1 Update dependency org.jellyfin.sdk:jellyfin-core to v1.4.1 2023-01-22 22:31:15 +01:00
renovate[bot]
76561be44b Update github/codeql-action digest to a34ca99 2023-01-20 20:20:14 +01:00
Niels van Velzen
5988dca2a6 Optimize ExoPlayerBackend.prepareStream() 2023-01-20 20:19:56 +01:00
Niels van Velzen
15c870f815 Add ExoPlayer playback backend 2023-01-20 20:19:56 +01:00
Bas
7e9745f57d Translated using Weblate (Dutch)
Currently translated at 100.0% (495 of 495 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nl/
2023-01-20 05:51:25 -05:00
Aleksander Helgaker
37a29d628c Translated using Weblate (Norwegian Bokmål)
Currently translated at 76.5% (379 of 495 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nb_NO/
2023-01-19 08:51:25 -05:00
Niels van Velzen
82297e0f93 Update compose compiler to 1.4.0 2023-01-18 09:47:26 +01:00
renovate[bot]
578a986f8c Update Kotlin 2023-01-18 09:47:26 +01:00
Niels van Velzen
602928924a Add PlaySessionService to playback rewrite 2023-01-18 09:07:40 +01:00
hoanghuy309
a8e3779f10 Translated using Weblate (Vietnamese)
Currently translated at 98.1% (486 of 495 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/vi/
2023-01-17 23:51:24 -05:00
Bas
4fb47e1c92 Translated using Weblate (Dutch)
Currently translated at 100.0% (495 of 495 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nl/
2023-01-17 11:51:24 -05:00
renovate[bot]
4fc82a5cfc Update dependency com.android.tools:desugar_jdk_libs to v2 2023-01-16 22:10:44 +01:00
renovate[bot]
2f2cd91b2f Update dependency com.android.tools.build:gradle to v7.4.0 2023-01-16 22:03:34 +01:00
Teo Baranga
d673614865 Ignore missing notification permission from Glide 2023-01-16 21:56:32 +01:00
gefs72
e18034e499 Translated using Weblate (Russian)
Currently translated at 99.7% (494 of 495 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ru/
2023-01-16 06:51:23 -05:00
Niels van Velzen
5b83a6de9a Increase amount of logs added to crash reports
Some stacktraces with Kotlin coroutines can get big. Right now we have 100 lines and this often is not enough to see what happened before the exception. Increasing the count to 250 should hopefully fix that.
2023-01-15 09:46:25 +01:00
Niels van Velzen
48f25033a3 Enable desugaring for playback/jellyfin module 2023-01-14 12:42:14 +01:00
Niels van Velzen
0f4d2e1bef Add builder for PlaybackManager 2023-01-14 12:42:14 +01:00
Niels van Velzen
880248f863 Add initial PlaybackManager implementation 2023-01-14 12:42:14 +01:00
Niels van Velzen
cddb57afaa Implement PlayerState and rewrite QueueManager to QueueService 2023-01-14 12:42:14 +01:00
Niels van Velzen
b4d4f8ee8f Add initial plugin support 2023-01-14 12:42:14 +01:00
Niels van Velzen
ca08def3d7 Add MediaStreamResolver 2023-01-14 12:42:14 +01:00
Niels van Velzen
941c251f7c Add initial playback backend implementation 2023-01-14 12:42:14 +01:00
0TTA
f001a54f38 Translated using Weblate (Arabic)
Currently translated at 100.0% (495 of 495 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ar/
2023-01-14 04:51:22 -05:00
Bas
d900c37fe1 Translated using Weblate (Dutch)
Currently translated at 98.7% (489 of 495 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nl/
2023-01-13 06:51:22 -05:00
renovate[bot]
e52a56d4a6 Update github/codeql-action digest to 515828d 2023-01-12 21:47:15 +01:00
renovate[bot]
0c832b4eb0 Update dependency androidx.appcompat:appcompat to v1.6.0 2023-01-12 21:47:07 +01:00
renovate[bot]
56222a5f01 Update dependency androidx.compose.ui:ui-tooling to v1.3.3 2023-01-12 21:46:51 +01:00
Weevild
2baacc134f Translated using Weblate (Swedish)
Currently translated at 100.0% (495 of 495 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sv/
2023-01-12 12:51:22 -05:00
0TTA
51a4bc6a87 Translated using Weblate (Arabic)
Currently translated at 100.0% (495 of 495 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ar/
2023-01-12 03:51:22 -05:00
Andrey Neto
a5e6d7375b Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (495 of 495 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pt_BR/
2023-01-10 15:51:21 -05:00
0TTA
3f3906a21b Translated using Weblate (Arabic)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/ar/
2023-01-10 08:51:21 -05:00
0TTA
98d170549f Translated using Weblate (Arabic)
Currently translated at 98.7% (489 of 495 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ar/
2023-01-10 08:51:21 -05:00
Niels van Velzen
3c70b8abf5 Remove experimental audio codecs from transcoding profile 2023-01-09 23:58:56 +01:00
renovate[bot]
6076448984 Update appleboy/ssh-action action to v0.1.7 2023-01-09 18:48:37 +01:00
Niels van Velzen
b5b87fb625 Fix BrowseGridFragment focus not restoring when going back 2023-01-09 18:48:07 +01:00
Lundy Rasuli
2ffea30c53 Translated using Weblate (Indonesian)
Currently translated at 52.5% (260 of 495 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/id/
2023-01-09 07:51:20 -05:00
Retrial
caf85e56f1 Translated using Weblate (Greek)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/el/
2023-01-08 10:51:20 -05:00
Bas
1edf86ea4f Translated using Weblate (Dutch)
Currently translated at 98.3% (487 of 495 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nl/
2023-01-08 10:51:20 -05:00
Ecor
8f54c6ced9 Translated using Weblate (Spanish (Mexico))
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/es_MX/
2023-01-07 19:51:20 -05:00
Ecor
420d3b5ca9 Translated using Weblate (Spanish)
Currently translated at 100.0% (495 of 495 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es/
2023-01-07 19:51:20 -05:00
Marco Ammon
c0d0ae65ce Show resumable episodes in smart screen for shows (#2275) 2023-01-07 12:12:25 +01:00
renovate[bot]
fc4ffbc36e Update actions/upload-artifact digest to 0b7f8ab 2023-01-06 20:09:39 +01:00
renovate[bot]
c709d1b53c Update koin 2023-01-06 20:03:16 +01:00
renovate[bot]
f8c766234e Update dependency io.mockk:mockk to v1.13.3 2023-01-06 20:01:57 +01:00
renovate[bot]
92c0022eaf Update aboutlibraries to v10.5.2 2023-01-06 20:01:45 +01:00
renovate[bot]
ffc3028035 Update dependency io.gitlab.arturbosch.detekt to v1.22.0 2023-01-06 20:01:17 +01:00
gradle-update-robot
6d3a7b631d Update Gradle Wrapper from 7.5.1 to 7.6.
Signed-off-by: gradle-update-robot <gradle-update-robot@regolo.cc>
2023-01-06 20:00:44 +01:00
renovate[bot]
9f3002404a Update github/codeql-action digest to 959cbb7 2023-01-06 20:00:21 +01:00
renovate[bot]
88898a4037 Update actions/setup-java digest to 1df8dbe 2023-01-06 20:00:14 +01:00
renovate[bot]
3e1d67c45d Update appleboy/ssh-action action to v0.1.6 2023-01-06 20:00:08 +01:00
renovate[bot]
04646c426d Update actions/checkout digest to ac59398 2023-01-06 20:00:00 +01:00
renovate[bot]
9a3efd9542 Update actions/stale action to v7 2023-01-06 19:59:52 +01:00
Niels van Velzen
103f8babd5 Fix IndexOutOfBoundsException in setExoPlayerTrack 2023-01-04 22:06:58 +01:00
kevgrig
4ec0bcba72 Support fast forward and rewind in audio player (#2380)
* Support fast forward and rewind in audio player

Signed-off-by: Kevin G <kevin@myplaceonline.com>

* Use CDI for UserSettingPreferences

Signed-off-by: Kevin G <kevin@myplaceonline.com>

Signed-off-by: Kevin G <kevin@myplaceonline.com>
2023-01-04 08:55:00 +01:00
Niels van Velzen
096a4362c6 Allow all supported audio codecs in ExoPlayer transcoding profile 2023-01-04 08:54:06 +01:00
Martin P
3ad59c8a4d Translated using Weblate (French)
Currently translated at 100.0% (495 of 495 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fr/
2023-01-01 14:51:18 -05:00
ByKripsy
a07a2d5fbe Translated using Weblate (French)
Currently translated at 99.7% (494 of 495 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fr/
2022-12-31 11:51:17 -05:00
Niels van Velzen
ad1f12b289 Fix crash when opening menu for AlbumArtist
isFolder() returned null which caused a NPE
2022-12-30 09:30:07 +01:00
Niels van Velzen
06d98f64a8 Fix scaling of album images in audio queue on now playing screen 2022-12-29 20:52:41 +01:00
Niels van Velzen
9ad1ff0cde Update build files 2022-12-29 09:55:34 +01:00
0TTA
a3d7a69d5f Translated using Weblate (Arabic)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/ar/
2022-12-26 08:51:16 -05:00
0TTA
d9b0835687 Translated using Weblate (Arabic)
Currently translated at 98.7% (489 of 495 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ar/
2022-12-26 08:51:16 -05:00
Niels van Velzen
342b0724ed Validate current user from UserRepository in validateAuthentication() 2022-12-17 21:27:05 +01:00
Niels van Velzen
9045a65721 Fix race condition in ItemListFragment causing favorite music screen to crash 2022-12-17 16:01:08 +01:00
Weblate
d08ea45cb2 Update translation files
Updated by "Cleanup translation files" hook in Weblate.

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/
2022-12-17 09:58:23 -05:00
Teo Baranga
c1c6cd1aea Remember button focus on details screen 2022-12-17 15:58:19 +01:00
Bas
d62315ffd9 Translated using Weblate (Dutch)
Currently translated at 98.3% (487 of 495 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nl/
2022-12-16 08:51:11 -05:00
Weblate
2bb5dde570 Update translation files
Updated by "Cleanup translation files" hook in Weblate.

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/
2022-12-14 03:12:32 -05:00
Niels van Velzen
aca0c454cd Remove direct path option from external player (#2342)
* Remove direct path option from external player

Direct paths have been deprecated in the server a while back (and is pending removal). Now that it broke in 0.15 it's easier to remove then to fix it.

* Update app/src/main/java/org/jellyfin/androidtv/ui/playback/ExternalPlayerActivity.java

Co-authored-by: Cody Robibero <cody@robibe.ro>

Co-authored-by: Cody Robibero <cody@robibe.ro>
2022-12-14 09:12:27 +01:00
DJSweder
f0b86e44d8 Translated using Weblate (Czech)
Currently translated at 100.0% (498 of 498 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/cs/
2022-12-13 06:51:11 -05:00
João Batista
747b821ec7 Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (498 of 498 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pt_PT/
2022-12-12 13:51:10 -05:00
Niels van Velzen
f0178663d5 Revert "Remember button focus on summary page"
This reverts commit 0c8fe45b06.
2022-12-10 19:20:18 +01:00
danngalann
c7b7f2f718 Translated using Weblate (Catalan)
Currently translated at 100.0% (498 of 498 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ca/
2022-12-10 06:51:10 -05:00
renovate[bot]
965da62f28 Update dependency androidx.compose.ui:ui-tooling to v1.3.2 2022-12-10 12:29:00 +01:00
Niels van Velzen
59f16ca4cf Split compose versions in catalog 2022-12-10 12:19:47 +01:00
renovate[bot]
8bf9bd1c57 Update dependency androidx.fragment:fragment-ktx to v1.5.5 2022-12-10 11:04:03 +01:00
hoanghuy309
fb259dfe46 Translated using Weblate (Vietnamese)
Currently translated at 97.9% (488 of 498 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/vi/
2022-12-07 21:51:09 -05:00
Niels van Velzen
6ab2c24e53 Fix crash when stopping playback with back button when refresh rate switching is enabled 2022-12-07 09:35:08 +01:00
Niels van Velzen
9d3c2d2db8 Fix Live TV program time in RecordPopup 2022-12-07 07:59:25 +01:00
Niels van Velzen
8cf9cc30ba Fix opening Live TV recordings in FullDetailsFragment 2022-12-07 07:59:25 +01:00
Niels van Velzen
d5b48a95f0 Fix Live TV program end time in FullDetailsFragment 2022-12-07 07:59:25 +01:00
Niels van Velzen
13a8990b81 Fix acra-core dependency using wrong name 2022-12-07 07:07:59 +01:00
renovate[bot]
fef0e76733 Update dependency org.jellyfin.sdk:jellyfin-core to v1.4.0 2022-12-06 15:11:58 +01:00
Niels van Velzen
a6729a7ec7 Rewrite session validation code to not use callbacks 2022-12-06 10:15:40 +01:00
João Batista
4777840bb0 Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (498 of 498 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pt_PT/
2022-12-05 12:51:08 -05:00
Niels van Velzen
2bcd2b9482 Fix LegacyImageCardView scaling on non-1080p devices 2022-12-04 17:42:06 +01:00
Teo Baranga
0c8fe45b06 Remember button focus on summary page 2022-12-04 17:37:32 +01:00
Bas
225b78d67a Translated using Weblate (Dutch)
Currently translated at 98.3% (490 of 498 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nl/
2022-12-03 10:51:07 -05:00
Niels van Velzen
6020ed2e74 Remove mActivity from EnhancedBrowseFragment 2022-12-03 14:16:16 +01:00
Kirill Tyurin
3439038f8c Translated using Weblate (Russian)
Currently translated at 100.0% (498 of 498 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ru/
2022-11-29 14:51:06 -05:00
Niels van Velzen
3264d22fb2 Fix notification card not focusable on older Android versions 2022-11-29 19:32:50 +01:00
Niels van Velzen
4d4b4515bb Fix crash when opening Live TV series 2022-11-29 15:38:46 +01:00
renovate[bot]
236314050d Update exoplayer 2022-11-27 10:54:43 +01:00
wolong gl
41cd7425df Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (498 of 498 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/zh_Hans/
2022-11-26 06:51:05 -05:00
fknght
b0178cca8c Translated using Weblate (Greek)
Currently translated at 100.0% (498 of 498 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/el/
2022-11-26 06:51:04 -05:00
Niels van Velzen
675f285a72 Rewrite theming code to not use callbacks 2022-11-25 11:54:42 +01:00
Niels van Velzen
5523309223 Fix opening Live TV series timers 2022-11-25 11:54:25 +01:00
Niels van Velzen
45a29f34bc Fix opening Live TV recordings 2022-11-25 11:54:12 +01:00
Niels van Velzen
ed06b5c255 Fix TimeUtils.getDate not using UTC for offset 2022-11-22 15:23:57 +01:00
Per
6629864913 Translated using Weblate (German)
Currently translated at 100.0% (498 of 498 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/de/
2022-11-22 05:51:03 -05:00
renovate[bot]
f7a89233bc Update dependency org.jellyfin.sdk:jellyfin-core to v1.4.0-beta.2 2022-11-20 09:36:49 +01:00
hoanghuy309
95cf3751ae Translated using Weblate (Vietnamese)
Currently translated at 96.3% (480 of 498 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/vi/
2022-11-19 12:51:02 -05:00
Niels van Velzen
aeebbaf5c1 Fix NPE in ExternalPlayerActivity when getMediaSource() returns null 2022-11-17 09:52:24 +01:00
Niels van Velzen
36009c5ab4 Fix opening user view with no collection type 2022-11-17 09:52:14 +01:00
renovate[bot]
ab1d976458 Update github/codeql-action digest to 678fc3a 2022-11-16 21:27:42 +01:00
Niels van Velzen
6c91002725 Fix EnhancedBrowseFragment duplicating items on resume 2022-11-16 18:52:02 +01:00
Niels van Velzen
0c966e1936 Use ItemRowAdapterHelper.setItems for more row types 2022-11-16 18:51:53 +01:00
nextlooper42
2057ec95c3 Translated using Weblate (Slovak)
Currently translated at 100.0% (498 of 498 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sk/
2022-11-16 06:40:45 -05:00
Niels van Velzen
5968bb0965 Delay home fragment refreshing 2022-11-14 20:38:58 +01:00
renovate[bot]
f46e5fc807 Update github/codeql-action digest to 4238421 2022-11-14 17:27:19 +01:00
Andi Chandler
a990538ffa Translated using Weblate (English (United Kingdom))
Currently translated at 100.0% (498 of 498 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/en_GB/
2022-11-14 07:51:00 -05:00
Csaba
1276956229 Translated using Weblate (Hungarian)
Currently translated at 100.0% (498 of 498 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/hu/
2022-11-14 02:51:00 -05:00
Niels van Velzen
476e73d988 Fix missing checkboxes in player audio, subtitle and zoom menu 2022-11-14 08:39:07 +01:00
Oskari Lavinto
36e1a3c2c1 Translated using Weblate (Finnish)
Currently translated at 99.1% (494 of 498 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fi/
2022-11-13 08:51:00 -05:00
DeathHarmony
bdf0d1ca2c Translated using Weblate (German)
Currently translated at 97.7% (486 of 497 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/de/
2022-11-12 08:28:40 -05:00
Niels van Velzen
8e9d5ef24c Add dismissible notification for beta releases 2022-11-12 14:28:35 +01:00
Bas
04acbb9e30 Translated using Weblate (Dutch)
Currently translated at 98.5% (490 of 497 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nl/
2022-11-12 05:50:59 -05:00
Larvitar
9945c870bc Translated using Weblate (Polish)
Currently translated at 100.0% (497 of 497 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pl/
2022-11-11 19:51:00 -05:00
renovate[bot]
2a6d236b1d Update dependency com.squareup.leakcanary:leakcanary-android to v2.10 2022-11-11 15:46:18 +01:00
Tom
986ad0c17e Translated using Weblate (Lithuanian)
Currently translated at 100.0% (497 of 497 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/lt/
2022-11-11 08:51:02 -05:00
lojden
067bb13287 Translated using Weblate (Swedish)
Currently translated at 100.0% (497 of 497 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sv/
2022-11-11 08:50:59 -05:00
renovate[bot]
fdec4d8407 Update androidx-compose to v1.3.1 2022-11-11 07:10:14 +01:00
João Batista
51df9e4c17 Translated using Weblate (Portuguese (Portugal))
Currently translated at 95.9% (477 of 497 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pt_PT/
2022-11-10 16:50:59 -05:00
Niels van Velzen
33df66172d Fix bad version.ref in dependency catalog 2022-11-10 22:31:30 +01:00
Tom
8f74d49e87 Translated using Weblate (Lithuanian)
Currently translated at 50.1% (249 of 497 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/lt/
2022-11-10 11:51:00 -05:00
Weblate
2775f4d8de Update translation files
Updated by "Remove blank strings" hook in Weblate.

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/
2022-11-10 08:51:00 -05:00
Tom
70f4b2c967 Translated using Weblate (Lithuanian)
Currently translated at 30.7% (153 of 497 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/lt/
2022-11-10 08:50:59 -05:00
Herman Ho
1d334f94cf Translated using Weblate (Chinese (Traditional))
Currently translated at 96.7% (481 of 497 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/zh_Hant/
2022-11-09 20:50:59 -05:00
Tom
2b31fd3f97 Translated using Weblate (Lithuanian)
Currently translated at 23.9% (119 of 497 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/lt/
2022-11-09 12:50:59 -05:00
Niels van Velzen
6486713146 Avoid clearing all items on ItemRowAdapter load 2022-11-09 16:03:21 +01:00
linlou
ab6ae6cd16 Translated using Weblate (Chinese (Simplified))
Currently translated at 97.5% (485 of 497 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/zh_Hans/
2022-11-09 04:50:58 -05:00
DenizenB
23250c6888 apply subtitle delay to external subs 2022-11-08 13:13:36 +01:00
The Randalorian
0619cbdbcf Add Video Codec Tag 2022-11-08 13:13:00 +01:00
Niels van Velzen
f53dba8491 Focus HomeRowsFragment by default, fix wrong focus on resume 2022-11-08 12:42:51 +01:00
Niels van Velzen
5657dfb22a Merge HomeToolbarFragment into HomeFragment 2022-11-08 12:42:51 +01:00
DJSweder
4ce0fe81b2 Translated using Weblate (Czech)
Currently translated at 97.7% (486 of 497 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/cs/
2022-11-06 09:50:57 -05:00
renovate[bot]
1270123872 Update github/codeql-action digest to c3b6fce 2022-11-05 10:43:36 +01:00
Niels van Velzen
78b1de23c7 Fix app crash when playing trailers 2022-11-04 21:49:29 +01:00
Niels van Velzen
83e1fb9a59 Always reset navigation in StartupActivity 2022-11-04 21:49:18 +01:00
DenizenB
f1e8e989ed Translated using Weblate (Swedish)
Currently translated at 100.0% (497 of 497 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sv/
2022-11-04 13:50:57 -04:00
renovate[bot]
ee9520d45b Update dependency com.google.devtools.ksp to v1.7.20-1.0.8 2022-11-04 09:17:14 +01:00
renovate[bot]
4eddfaf8f3 Update dependency io.kotest:kotest-runner-junit5 to v5.5.4 2022-11-04 09:17:05 +01:00
renovate[bot]
be51a9893b Update github/codeql-action digest to 18fe527 2022-11-03 08:50:55 +01:00
Csaba
46a7b4a345 Translated using Weblate (Hungarian)
Currently translated at 100.0% (497 of 497 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/hu/
2022-11-02 05:50:56 -04:00
Eduardo Santiago
104b707b9b Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (497 of 497 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pt_BR/
2022-11-01 11:50:56 -04:00
lenn219
51fdd79999 Translated using Weblate (Dutch)
Currently translated at 98.5% (490 of 497 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nl/
2022-11-01 11:50:56 -04:00
Niels van Velzen
00e1eb6e08 Update Jellyfin SDK to 1.4.0-beta.1 2022-11-01 14:18:46 +01:00
Niels van Velzen
9d66eeef0d Rename xml layout starting with activity_ to fragment_ 2022-11-01 06:58:23 +01:00
Niels van Velzen
5acbae0c16 Fix StartupActivity set destination is ignored 2022-10-31 20:46:39 +01:00
Andi Chandler
9a9d513de6 Translated using Weblate (English (United Kingdom))
Currently translated at 100.0% (497 of 497 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/en_GB/
2022-10-31 12:50:55 -04:00
renovate[bot]
4345ea301d Update eps1lon/actions-label-merge-conflict action to v2.1.0 2022-10-31 14:15:35 +01:00
Weblate
d6ca138cdf Update translation files
Updated by "Remove blank strings" hook in Weblate.

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/
2022-10-31 05:50:56 -04:00
millallo
019c62756d Translated using Weblate (Italian)
Currently translated at 99.5% (495 of 497 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/it/
2022-10-31 05:50:55 -04:00
Niels van Velzen
52465bb3c8 Add placeholder drawable for ImageProvider 2022-10-31 07:31:43 +01:00
sensei73
c8355ae445 Translated using Weblate (French)
Currently translated at 99.3% (494 of 497 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fr/
2022-10-30 21:50:55 -04:00
Niels van Velzen
6429fb3ff5 Update Detekt to ignore FunctionNaming for @Composable 2022-10-30 12:25:25 +01:00
Niels van Velzen
099dd125bd Rewrite SplashFragment in Compose 2022-10-30 12:25:25 +01:00
Niels van Velzen
1301cb9f52 Load fresh item data in AudioTrackQueue 2022-10-29 22:16:52 +02:00
Stelios Diamantis
2b48e39195 Translated using Weblate (Greek)
Currently translated at 98.9% (492 of 497 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/el/
2022-10-29 15:50:55 -04:00
Dionysis Theofilopoulos
e336763964 Translated using Weblate (Greek)
Currently translated at 97.1% (483 of 497 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/el/
2022-10-29 06:50:54 -04:00
renovate[bot]
2d4cd0ebd8 Update alexellis/upload-assets action to v0.4.0 2022-10-29 12:17:23 +02:00
cameron
4a4efb2467 fix seekbar not updating when using ff/rw buttons 2022-10-29 11:29:49 +02:00
Peng-Hui Yang
0cf79cfd82 Translated using Weblate (Chinese (Simplified))
Currently translated at 97.7% (486 of 497 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/zh_Hans/
2022-10-29 00:50:54 -04:00
Niels van Velzen
196d3bc6bd Use fade animation when navigating 2022-10-28 21:10:56 +02:00
Niels van Velzen
b5a6e733c2 Fix EnhancedBrowseFragment registering multiple listeners 2022-10-28 21:10:48 +02:00
emidriel
d5a9744123 Translated using Weblate (Norwegian Bokmål)
Currently translated at 75.0% (3 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/nb_NO/
2022-10-28 12:50:54 -04:00
renovate[bot]
cb1a84862d Update kotest to v5.5.3 2022-10-28 08:48:25 +02:00
Oskari Lavinto
2fa53e7650 Translated using Weblate (Finnish)
Currently translated at 99.1% (493 of 497 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fi/
2022-10-27 04:50:54 -04:00
Niels van Velzen
a73e04c216 Fix setExoPlayerTrack exception when allStreams is empty 2022-10-27 07:07:40 +02:00
Niels van Velzen
0938a8a19a Rework BrandedQueueEntry and UserQueueEntry implementation 2022-10-26 23:04:28 +02:00
Niels van Velzen
539c8f5937 Add queue 2022-10-26 23:04:28 +02:00
Niels van Velzen
4db9973d65 Minor changes to subtitle coloring code 2022-10-26 22:15:25 +02:00
sparky3387
8845429e9f Initial commit
pick 13699f674 Initial commit
    squash 7e8af2dc4 Modify RichListDialog to display subtitle colors
    squash 19fcb1514 Modify RichListOption to display subtitle colors

Modify RichListDialog to display subtitle colors

Modify RichListOption to display subtitle colors

Add Subtitle options to preferences list

Added dark grey option and match master commit as much as possible

Fix line length

Fix line length

Fix API Level to Support 21 Lint Error 1

Fix API Level to Support 21 Lint Error 1

Fix API Level to Support 21 Lint Error 1

Fix API Level to Support 21 Lint Error 2

Update app/src/main/res/values/strings.xml

Co-authored-by: Niels van Velzen <nielsvanvelzen@users.noreply.github.com>

Update app/src/main/java/org/jellyfin/androidtv/preference/UserPreferences.kt

Co-authored-by: Niels van Velzen <nielsvanvelzen@users.noreply.github.com>

Update app/src/main/java/org/jellyfin/androidtv/ui/playback/CustomPlaybackOverlayFragment.java

Co-authored-by: Niels van Velzen <nielsvanvelzen@users.noreply.github.com>

Update app/src/main/java/org/jellyfin/androidtv/ui/shared/StrokeTextView.kt

Co-authored-by: Niels van Velzen <nielsvanvelzen@users.noreply.github.com>

Requested resolutions implemented part 1

Update app/src/main/java/org/jellyfin/androidtv/ui/preference/dsl/OptionsColorList.kt

Co-authored-by: Niels van Velzen <nielsvanvelzen@users.noreply.github.com>

Update app/src/main/java/org/jellyfin/androidtv/ui/playback/CustomPlaybackOverlayFragment.java

Co-authored-by: Niels van Velzen <nielsvanvelzen@users.noreply.github.com>

Update app/src/main/java/org/jellyfin/androidtv/ui/shared/StrokeTextView.kt

Co-authored-by: Niels van Velzen <nielsvanvelzen@users.noreply.github.com>

Requested resolutions implemented part 2, restore RichListDialogFragment.kt and add ColorPickerDialogFragment and ColorListPreference

Requested resolutions implemented part 3, restore distributionkey

Rebased PlaybackPreferencesScreen.kt

Update app/src/main/java/org/jellyfin/androidtv/preference/UserPreferences.kt

Co-authored-by: Niels van Velzen <nielsvanvelzen@users.noreply.github.com>

Update app/src/main/java/org/jellyfin/androidtv/ui/preference/dsl/OptionsColorList.kt

Co-authored-by: Niels van Velzen <nielsvanvelzen@users.noreply.github.com>

Resolve line length and magic number issues, using different background for the brighter colors

Update app/src/main/java/org/jellyfin/androidtv/ui/shared/StrokeTextView.kt

Co-authored-by: Niels van Velzen <nielsvanvelzen@users.noreply.github.com>

Resolve magic numbers attempt

Resolve line length issue

Remove unnecessary antialias

Update app/src/main/java/org/jellyfin/androidtv/ui/playback/CustomPlaybackOverlayFragment.java

Co-authored-by: Niels van Velzen <nielsvanvelzen@users.noreply.github.com>

Update app/src/main/java/org/jellyfin/androidtv/ui/playback/CustomPlaybackOverlayFragment.java

Co-authored-by: Niels van Velzen <nielsvanvelzen@users.noreply.github.com>

Update app/src/main/java/org/jellyfin/androidtv/ui/preference/screen/PlaybackPreferencesScreen.kt

Co-authored-by: Niels van Velzen <nielsvanvelzen@users.noreply.github.com>

Update app/src/main/java/org/jellyfin/androidtv/ui/playback/CustomPlaybackOverlayFragment.java

Co-authored-by: Niels van Velzen <nielsvanvelzen@users.noreply.github.com>

Move subtitle setting preference to where the rest of the settings are located
Resolve formatting issue in PlaybackPreferenceScreen

Update PlaybackPreferencesScreen.kt

Fixing formatting

Move subtitle setting preference to where the rest of the settings are located
Resolve formatting issue in PlaybackPreferenceScreen
Resolve import of userpreferences in StrokeTextView.kt

Removed unnecessary functions and data attributes from ColorPickerDialogFragment.k

Update app/src/main/java/org/jellyfin/androidtv/ui/playback/CustomPlaybackOverlayFragment.java

Co-authored-by: Niels van Velzen <nielsvanvelzen@users.noreply.github.com>

Update app/src/main/java/org/jellyfin/androidtv/ui/preference/screen/PlaybackPreferencesScreen.kt

Co-authored-by: Niels van Velzen <nielsvanvelzen@users.noreply.github.com>

Resolve magic numbers on lighter colors

Resolve positioning of subtitles and importing of preferences

Correct positioning of subtitlesTextColor in UserPreferences.kt
Lower Increment

Resolve preference issue

Resolve UserPreferences import
2022-10-26 22:15:25 +02:00
Niels van Velzen
9aec957ca5 Use ImageProvider in MediaContentProvider
This fixes the issue where images would not show when the server was accessed over HTTP
2022-10-26 17:56:13 +02:00
Niels van Velzen
0408b5d842 Use ImageProvider in LeanbackChannelWorker 2022-10-26 17:56:13 +02:00
Niels van Velzen
d0c3c51ef2 Add ImageProvider for retrieval of images in platform integration 2022-10-26 17:56:13 +02:00
renovate[bot]
b6459bde73 Update github/codeql-action digest to ec3cf9c 2022-10-26 14:57:24 +02:00
KD Puvvadi
a71329a2f6 Translated using Weblate (Telugu)
Currently translated at 8.4% (41 of 485 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/te/
2022-10-26 03:50:53 -04:00
Niels van Velzen
05f8b79cd4 Don't use LibraryDreamService.TRANSITION_DURATION in FadeViewSwitcherLayout 2022-10-25 14:30:53 +02:00
Niels van Velzen
8ac5606f06 Remove direct GSON dependency
We don't use it in the app anymore, it's still added indirectly because the old apiclient uses it.
2022-10-25 14:30:42 +02:00
KD Puvvadi
12cf7d8e66 Added translation using Weblate (Telugu) 2022-10-25 07:44:53 -04:00
renovate[bot]
ecf556e416 Update koin to v3.3.0 2022-10-25 09:25:12 +02:00
renovate[bot]
bf8db9c600 Update gradle/wrapper-validation-action digest to 55e685c 2022-10-24 20:49:02 +02:00
renovate[bot]
e994238de1 Update dependency io.insert-koin:koin-androidx-compose to v3.3.0 2022-10-24 20:44:21 +02:00
renovate[bot]
47551a89e8 Update dependency androidx.activity:activity-ktx to v1.6.1 2022-10-24 16:44:16 +02:00
renovate[bot]
0ea00447b8 Update dependency androidx.fragment:fragment-ktx to v1.5.4 2022-10-24 16:44:09 +02:00
renovate[bot]
a0515002c1 Update kotest to v5.5.2 2022-10-23 22:24:35 +02:00
renovate[bot]
4738b0c0ad Update gradle/gradle-build-action digest to 3fbe033 2022-10-22 19:17:11 +02:00
renovate[bot]
d21b35830c Update dependency io.insert-koin:koin-androidx-compose to v3.2.2 2022-10-22 13:14:37 +02:00
Niels van Velzen
62c1e816b6 Add compose support 2022-10-22 10:13:45 +02:00
renovate[bot]
7c769c2f41 Update actions/upload-artifact digest to 83fd05a 2022-10-22 10:02:44 +02:00
renovate[bot]
7e386babde Update dependency org.jellyfin.sdk:jellyfin-core to v1.3.7 2022-10-19 21:46:49 +02:00
renovate[bot]
bc5441b157 Update koin to v3.2.3 2022-10-18 21:13:46 +02:00
Paul Dee
f5acc050af Translated using Weblate (Ukrainian)
Currently translated at 100.0% (485 of 485 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/uk/
2022-10-18 12:50:52 -04:00
renovate[bot]
6628b00851 Update actions/setup-java digest to de1bb2b 2022-10-18 18:50:49 +02:00
renovate[bot]
7815f80da6 Update github/codeql-action digest to cc7986c 2022-10-18 18:50:42 +02:00
newton181
de7d8e6b8b Translated using Weblate (Spanish (Mexico))
Currently translated at 100.0% (485 of 485 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es_MX/
2022-10-17 21:50:50 -04:00
renovate[bot]
b4c0ca341e Update aboutlibraries to v10.5.1 2022-10-17 22:16:33 +02:00
Niels van Velzen
b12b204c80 Show keyboard on right on text search fragment 2022-10-15 14:57:31 +02:00
Weblate
eb36d61217 Update translation files
Updated by "Cleanup translation files" hook in Weblate.

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/
2022-10-15 05:05:27 -04:00
Niels van Velzen
c568ec6a7a Remove PhotoPlayerActivity 2022-10-15 11:05:23 +02:00
Niels van Velzen
3048fd602f Automatically hide picture viewer actions after 4 seconds 2022-10-15 10:57:31 +02:00
renovate[bot]
37a586a91e Update dependency org.jetbrains.kotlinx:kotlinx-serialization-json to v1.4.1 2022-10-15 10:21:58 +02:00
Segi
962d56e95e Translated using Weblate (Hebrew)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/he/
2022-10-14 01:50:48 -04:00
Segi
111d527e27 Translated using Weblate (Hebrew)
Currently translated at 100.0% (486 of 486 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/he/
2022-10-14 01:50:48 -04:00
Niels van Velzen
48a46ca146 Show picture viewer controls by default 2022-10-14 07:29:59 +02:00
renovate[bot]
c7500ec862 Update dependency com.google.devtools.ksp to v1.7.20-1.0.7 2022-10-14 07:29:48 +02:00
Weblate
e85a84f14d Update translation files
Updated by "Cleanup translation files" hook in Weblate.

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/
2022-10-13 15:16:53 -04:00
renovate[bot]
aee3e2c8ba Update dependency com.android.tools.build:gradle to v7.3.1 2022-10-13 21:16:49 +02:00
netanel
bdb4acfdc7 Translated using Weblate (Hebrew)
Currently translated at 100.0% (486 of 486 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/he/
2022-10-13 08:50:48 -04:00
Segi
f9c7cfb0e5 Translated using Weblate (Hebrew)
Currently translated at 99.7% (485 of 486 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/he/
2022-10-13 03:50:48 -04:00
Weblate
7959bd5c19 Update translation files
Updated by "Cleanup translation files" hook in Weblate.

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/
2022-10-12 10:33:45 -04:00
Niels van Velzen
6960c4ec7b Rewrite smaller playback classes to Kotlin 2022-10-12 16:33:39 +02:00
Niels van Velzen
dad7d64f6c Rewrite data\compat in Kotlin 2022-10-12 16:33:39 +02:00
Weblate
43b3d121bc Update translation files
Updated by "Cleanup translation files" hook in Weblate.

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/
2022-10-11 01:30:30 -04:00
Niels van Velzen
31be62946b Remove unused strings 2022-10-11 07:30:25 +02:00
Niels van Velzen
905ca61d38 Remove unused actors and search tile drawables 2022-10-11 07:30:25 +02:00
renovate[bot]
db497c0ad9 Update kotest to v5.5.1 2022-10-09 21:54:22 +02:00
Niels van Velzen
6bdde2c2bc Don't use activity.isFinishing() 2022-10-09 19:22:54 +02:00
Niels van Velzen
e497f3998c Replace Response<> usages with LifecycleAwareResponse<> in fragments 2022-10-09 19:22:44 +02:00
millallo
409301f526 Translated using Weblate (Italian)
Currently translated at 100.0% (497 of 497 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/it/
2022-10-09 05:54:40 -04:00
Niels van Velzen
a48c696a34 Fix PictureViewerFragment crashing when opening photo from latest row 2022-10-09 08:43:58 +02:00
wolong gl
ee2ff96327 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/zh_Hans/
2022-10-09 01:54:39 -04:00
wolong gl
52e92b995a Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (497 of 497 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/zh_Hans/
2022-10-09 01:54:39 -04:00
Niels van Velzen
553e218d83 Check Lifecycle.State.STARTED instead of Lifecycle.State.INITIALIZED 2022-10-08 22:59:18 +02:00
Alan Azar
964a100f0b Translated using Weblate (English (United Kingdom))
Currently translated at 100.0% (497 of 497 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/en_GB/
2022-10-08 14:54:40 -04:00
Niels van Velzen
8c3f54899e Check lifecycle state when runnable executes 2022-10-08 18:28:36 +02:00
nextlooper42
84b0291a65 Translated using Weblate (Slovak)
Currently translated at 100.0% (497 of 497 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sk/
2022-10-08 09:54:39 -04:00
hoanghuy309
fd958874c0 Translated using Weblate (Vietnamese)
Currently translated at 98.1% (488 of 497 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/vi/
2022-10-08 06:54:39 -04:00
Niels van Velzen
4fa4cd48f5 Add lifecycle response 2022-10-08 10:12:46 +02:00
Niels van Velzen
d3c35725e8 Rewrite MyDetailsOverviewRow in Kotlin 2022-10-08 10:12:36 +02:00
Niels van Velzen
04b6be7177 Rewrite presenters in Kotlin 2022-10-08 10:12:26 +02:00
renovate[bot]
023b4a8e86 Update glide to v4.14.2 2022-10-08 10:06:14 +02:00
Niels van Velzen
b0c642a0c2 Add PictureViewerFragment as destination 2022-10-08 09:51:24 +02:00
Niels van Velzen
ee9763973f Remove GsonJsonSerializer
Also migrates a bunch of stuff to the SDK so we can use kotlinx.serialization
2022-10-07 16:19:31 +02:00
renovate[bot]
a20b893066 Update actions/stale digest to 5ebf00e 2022-10-07 16:19:22 +02:00
Niels van Velzen
0a372fe3f0 Split a long navigation line in BrowseGridFragment 2022-10-07 08:05:59 +02:00
Niels van Velzen
4317917759 Fix navigation repository history not reset when activity recreated 2022-10-07 08:05:59 +02:00
Niels van Velzen
e63314402e Fix key event not reaching nested fragments 2022-10-07 08:05:59 +02:00
Niels van Velzen
b7a8bbf0af Use NavigationRepository for PlaybackOverlayActivity 2022-10-07 08:05:59 +02:00
Niels van Velzen
b8c542ede1 Add NavigationAction to control fragment manager 2022-10-07 08:05:59 +02:00
Niels van Velzen
a80ab9c7c1 Implement display mirroring 2022-10-07 08:05:59 +02:00
Niels van Velzen
b24f135efb Rewrite navigation 2022-10-07 08:05:59 +02:00
renovate[bot]
532b6b92d2 Update github/codeql-action digest to 8075783 2022-10-07 08:05:07 +02:00
YusanTayir
c715dbd149 Added translation using Weblate (Uyghur) 2022-10-06 01:15:43 -04:00
renovate[bot]
8bb4a61d6b Update actions/checkout digest to 2541b12 2022-10-05 19:34:11 +02:00
renovate[bot]
8fc5d9c23d Update dependency org.jellyfin.exoplayer:exoplayer-ffmpeg-extension to v2.18.1+2 2022-10-05 15:43:22 +02:00
Niels van Velzen
07ea277269 Fix crash when media info contains a data stream 2022-10-04 20:28:37 +02:00
renovate[bot]
ed972667eb Update actions/checkout digest to 93ea575 2022-10-04 15:21:27 +02:00
newton181
f98be9daee Translated using Weblate (Spanish (Latin America))
Currently translated at 100.0% (497 of 497 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es_419/
2022-10-03 21:54:38 -04:00
florentsarat
d808943695 Translated using Weblate (French)
Currently translated at 100.0% (497 of 497 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fr/
2022-10-03 21:54:38 -04:00
VocalFan
245e977057 Translated using Weblate (Russian)
Currently translated at 100.0% (497 of 497 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ru/
2022-10-03 09:54:38 -04:00
VocalFan
3f4a2c5863 Translated using Weblate (Spanish)
Currently translated at 100.0% (497 of 497 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es/
2022-10-03 09:54:37 -04:00
renovate[bot]
fc52c6ba72 Update kotest to v5.5.0 2022-10-03 09:39:13 +02:00
Nils Fürniß
a31945b09c Translated using Weblate (German)
Currently translated at 100.0% (497 of 497 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/de/
2022-10-02 17:54:37 -04:00
Niels van Velzen
3a9881c52e Fix audio player screensaver starting too soon 2022-10-01 19:13:14 +02:00
Niels van Velzen
5a8108a129 Add CustomMessageRepository, remove BaseActivity 2022-10-01 15:21:42 +02:00
Weevild
b2c993b058 Translated using Weblate (Swedish)
Currently translated at 100.0% (497 of 497 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sv/
2022-09-30 12:54:36 -04:00
Niels van Velzen
26ec721c0f Use fragment arguments instead of activity intent 2022-09-30 16:27:20 +02:00
Niels van Velzen
9830c12fac Replace Kapt with KSP 2022-09-30 12:17:46 +02:00
renovate[bot]
523067bde9 Update glide to v4.14.1 2022-09-30 08:00:01 +02:00
Niels van Velzen
ab3710f0ed Remove key listener from BaseActivity 2022-09-29 19:57:41 +02:00
Niels van Velzen
fe6fcbe539 Refactor LiveTvGuideActivity to fragment 2022-09-29 19:57:34 +02:00
Niels van Velzen
4f781b9610 Refactor ItemListActivity to fragment 2022-09-29 19:57:27 +02:00
Niels van Velzen
1d411d1e3f Refactor FullDetailsActivity to fragment 2022-09-29 19:57:17 +02:00
Niels van Velzen
79bdc601c4 Refactor AudioNowPlayingActivity to fragment 2022-09-29 19:57:02 +02:00
Niels van Velzen
b3463a8975 Rename .java to .kt 2022-09-29 19:57:02 +02:00
renovate[bot]
4a0dba229c Update github/codeql-action digest to e0e5ded 2022-09-29 19:55:21 +02:00
renovate[bot]
bf61dba6ed Update Kotlin to v1.7.20 2022-09-29 19:47:17 +02:00
renovate[bot]
c06b7e7c67 Update aboutlibraries to v10.5.0 2022-09-29 19:46:23 +02:00
renovate[bot]
0c79dabecc Update gradle/gradle-build-action digest to fd32ae9 2022-09-29 19:45:08 +02:00
DW
9cd4c433ea Translated using Weblate (Dutch)
Currently translated at 96.5% (480 of 497 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nl/
2022-09-29 09:54:36 -04:00
CoooLdk
f8d7345ff3 Translated using Weblate (Danish)
Currently translated at 100.0% (497 of 497 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/da/
2022-09-29 09:54:36 -04:00
renovate[bot]
21e40cae24 Update dependency io.mockk:mockk to v1.13.2 2022-09-29 07:10:22 +02:00
renovate[bot]
c650bdcc20 Update glide to v4.14.0 2022-09-28 21:06:44 +02:00
Niels van Velzen
9dee1629da Rewrite search UI in Kotlin 2022-09-28 19:02:04 +02:00
Niels van Velzen
7941d72104 Rename .java to .kt 2022-09-28 19:02:04 +02:00
Niels van Velzen
d0d5d29fab Always use repeatOnLifecycle instead of launchWhenX functions 2022-09-28 19:01:55 +02:00
Niels van Velzen
4225317172 Merge StdBrowseFragment and BrowseFolderFragment and rewrite in Kotlin 2022-09-28 19:01:43 +02:00
renovate[bot]
1af9d9be9d Update actions/setup-java digest to a18c333 2022-09-27 15:10:47 +02:00
Niels van Velzen
d3b1faeb99 Remove most deprecation annotations 2022-09-27 12:34:10 +02:00
Oskari Lavinto
57e2c3acc6 Translated using Weblate (Finnish)
Currently translated at 99.1% (493 of 497 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fi/
2022-09-27 03:54:35 -04:00
Csaba
338be54355 Translated using Weblate (Hungarian)
Currently translated at 100.0% (497 of 497 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/hu/
2022-09-27 03:54:35 -04:00
Niels van Velzen
c33a567828 Fix series queuing not working 2022-09-27 07:18:15 +02:00
Niels van Velzen
59e47b2f37 Don't use KoinJavaComponent in Kotlin files 2022-09-26 19:54:54 +02:00
Niels van Velzen
748051e261 Fix blurhash not showing in CardPresenter 2022-09-26 19:46:12 +02:00
Niels van Velzen
01dcc65b1f Add audio night mode (as preference) to level out/compress audio volume. 2022-09-26 17:37:06 +02:00
Niels van Velzen
a4fbb205fc Update GitHub actions workflows 2022-09-25 17:09:58 +02:00
Niels van Velzen
5012a1211b Use AsyncImageView for Live TV program image 2022-09-25 17:07:13 +02:00
Niels van Velzen
fc8ab38a57 Switch slf4j timber to a different library 2022-09-25 17:07:00 +02:00
renovate[bot]
7fc9819b63 Update dependency org.jellyfin.sdk:jellyfin-core to v1.3.6 2022-09-25 11:51:46 +02:00
Niels van Velzen
2277bb79a8 Fix NPE when live tv program is null 2022-09-24 18:08:44 +02:00
Niels van Velzen
03856f7e2f Move package declaration to Gradle build files 2022-09-24 18:08:10 +02:00
Niels van Velzen
2974dd3b6a Disable jetifier 2022-09-24 18:03:57 +02:00
sunrisela
b6eb83cd0e remove credit authors in-code 2022-09-24 15:42:49 +02:00
sunrisela
edd0aab718 Normalize commited code. 2022-09-24 15:42:49 +02:00
sunrisela
e6ba8a89b6 External players support high-priority external subtitles, e.g. MX Player, VLC, nPlayer. 2022-09-24 15:42:49 +02:00
renovate[bot]
fcfa242588 Update koin to v3.2.2 2022-09-24 10:00:57 +02:00
Niels van Velzen
135645ff61 Convert to Date before using DateFormat 2022-09-23 22:37:32 +02:00
Niels van Velzen
903d9fa22e Always use BaseItemDto from SDK 2022-09-23 22:37:32 +02:00
renovate[bot]
af0a5cd317 Update dependency io.mockk:mockk to v1.13.1 2022-09-23 17:06:08 +02:00
renovate[bot]
e0e5316062 Update actions/stale action to v6 2022-09-22 07:55:30 +02:00
renovate[bot]
5a5db8609d Update github/codeql-action digest to 86f3159 2022-09-22 07:54:42 +02:00
renovate[bot]
db1c7289be Update dependency androidx.activity:activity-ktx to v1.6.0 2022-09-21 20:16:20 +02:00
renovate[bot]
9bf0995599 Update dependency androidx.fragment:fragment-ktx to v1.5.3 2022-09-21 20:14:49 +02:00
Niels van Velzen
8d8cc41290 Rewrite BaseRowItem in Kotlin 2022-09-20 13:26:37 +02:00
Niels van Velzen
1cb1fc4713 Rename .java to .kt 2022-09-20 13:26:37 +02:00
Niels van Velzen
00b62e8f9d Fix crash when selecting or clicking items in grid view 2022-09-19 21:39:16 +02:00
Niels van Velzen
570c2490d5 Use MutableObjectAdapter<Object> as base for ItemRowAdapter 2022-09-19 19:20:36 +02:00
Niels van Velzen
4dd0feb417 Use MutableObjectAdapter<Row> for rows 2022-09-19 19:14:16 +02:00
Niels van Velzen
c4ea2e9b40 Merge StdRowsFragment into HomeFragment 2022-09-19 19:08:28 +02:00
Niels van Velzen
a5b4b66fe1 Rewrite CompositeListeners in Kotlin 2022-09-19 19:08:04 +02:00
Niels van Velzen
db773e0c51 Rename .java to .kt 2022-09-19 19:08:04 +02:00
Josip Volf
47c7ba369d Translated using Weblate (Croatian)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/hr/
2022-09-18 17:54:32 -04:00
Josip Volf
b1cdc91f47 Translated using Weblate (Croatian)
Currently translated at 77.1% (382 of 495 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/hr/
2022-09-18 17:54:32 -04:00
Niels van Velzen
e53bd5c838 Use appcompat theme as base 2022-09-18 15:02:10 +02:00
Niels van Velzen
fcc7e5fd5f Rewrite all Java interfaces in Kotlin 2022-09-18 15:02:00 +02:00
Niels van Velzen
e61159e3f2 Rename .java to .kt 2022-09-18 15:02:00 +02:00
Niels van Velzen
3824eae7c1 Rewrite data package in Kotlin 2022-09-17 16:34:28 +02:00
Niels van Velzen
c086d023b6 Rename .java to .kt 2022-09-17 16:34:28 +02:00
Niels van Velzen
08e239a544 Clear BlurHash and Glide caches on low memory 2022-09-17 16:28:25 +02:00
Niels van Velzen
82177db96d Replace BlurHashDecoder with com.vanniktech.blurhash dependency 2022-09-17 16:28:25 +02:00
Niels van Velzen
ebe5f3fc94 Fix two crashes when trying to view a person 2022-09-17 16:24:32 +02:00
Stelios Diamantis
a45ef35972 Translated using Weblate (Greek)
Currently translated at 97.7% (484 of 495 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/el/
2022-09-16 17:54:32 -04:00
renovate[bot]
5d1bc0466d Update dependency com.android.tools.build:gradle to v7.3.0 2022-09-16 19:54:44 +02:00
renovate[bot]
9a87d5c5c3 Update github/codeql-action digest to 904260d 2022-09-16 18:07:34 +02:00
Alan Azar
ba11bb9e88 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/zh_Hans/
2022-09-16 08:54:31 -04:00
Niels van Velzen
a0da2075a8 Rewrite Utils in Kotlin 2022-09-15 21:58:22 +02:00
Niels van Velzen
1eef03706b Rewrite DeviceUtils in Kotlin 2022-09-15 21:58:22 +02:00
Niels van Velzen
dd60dbbd98 Rename .java to .kt 2022-09-15 21:58:22 +02:00
renovate[bot]
192f674b2b Update github/codeql-action digest to 6a38b7d 2022-09-15 15:25:47 +02:00
renovate[bot]
fe9ddf1816 Update dependency io.mockk:mockk to v1.12.8 2022-09-15 15:25:32 +02:00
DAVID CHEN
ea7cfa5943 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/zh_Hans/
2022-09-15 06:11:37 -04:00
Oskari Lavinto
28a88c8173 Translated using Weblate (Finnish)
Currently translated at 99.1% (491 of 495 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fi/
2022-09-15 06:11:37 -04:00
DAVID CHEN
551c895088 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (495 of 495 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/zh_Hans/
2022-09-15 06:11:36 -04:00
renovate[bot]
26060c6779 Update actions/stale digest to 99b6c70 2022-09-14 18:31:25 +02:00
Csaba
6fc96c34b0 Translated using Weblate (Hungarian)
Currently translated at 100.0% (495 of 495 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/hu/
2022-09-14 05:11:36 -04:00
Zachary Cohen
bc169d68c6 Add Quality Selection to Playback Overlay (#1924)
* Created SelectQualityAction for Playback Controller UI

* Update app/src/main/java/org/jellyfin/androidtv/ui/playback/overlay/action/SelectQualityAction.kt

Co-authored-by: Cameron <mueslimak3r@users.noreply.github.com>

* Moved QualityProfiles Enum Class to org.jellyfin.androidtv.constant. Moved Auto quality to top of list.

* Suppressing errors. Fixing line length.

* Update app/src/main/res/values/strings.xml

Co-authored-by: Niels van Velzen <nielsvanvelzen@users.noreply.github.com>

* Injected dependency via constructor.
Removed unused members.
Updated format of vector file.

* Convert to set

* Needed to target correct key/values

* Inject UserPreferences via constructor

* Removed unused import

* Moved mapping to function

* Miscellaneous formatting changes

Co-authored-by: Cameron <mueslimak3r@users.noreply.github.com>
Co-authored-by: Niels van Velzen <nielsvanvelzen@users.noreply.github.com>
Co-authored-by: Niels van Velzen <git@ndat.nl>
2022-09-13 17:16:40 +00:00
renovate[bot]
1a13cb0f9e Update koin to v3.2.1 2022-09-12 15:36:08 +02:00
renovate[bot]
cc59a50479 Update dependency androidx.core:core-ktx to v1.9.0 2022-09-10 14:16:33 +02:00
Niels van Velzen
d984792e2d Bump Android compile & target version to 33 (Android 13) 2022-09-10 14:07:02 +02:00
renovate[bot]
ae12625366 Update actions/setup-java digest to d854b6d 2022-09-08 22:13:39 +02:00
renovate[bot]
163af9e756 Update dependency androidx.appcompat:appcompat to v1.5.1 2022-09-07 21:38:51 +02:00
Niels van Velzen
02b9fb60bb Use random device id when initializing QuickConnect 2022-09-06 18:19:28 +02:00
Niels van Velzen
b731b36656 Add SocketInstance to dependency injection
Required for playback rewrite module to share the same WebSocket connection
2022-09-06 15:01:20 +02:00
Niels van Velzen
ffe674912c Fix missing imports causing a build issue 2022-09-06 09:07:21 +02:00
Niels van Velzen
1b8bb7b327 Always set base item type on custom base item dto instances 2022-09-06 07:17:06 +02:00
Niels van Velzen
c500006b9d Replace BaseItemType usages with BaseItemKind (SDK) 2022-09-06 07:16:51 +02:00
Niels van Velzen
8713cd5317 Set defaultFocusHighlightEnabled to false in TextUnderButton 2022-09-04 19:32:19 +02:00
Niels van Velzen
e7ec5c5bd2 Fix app crashing when opening "other options" menu in FullDetailsActivity 2022-09-04 19:32:06 +02:00
Niels van Velzen
352f472769 Set defaultFocusHighlightEnabled to false in DefaultCardView
Fixes an incompatibility with Android 13
2022-09-04 17:52:11 +02:00
Niels van Velzen
46b66fa8ad Add monochrome layer to adaptive icon 2022-09-04 17:52:00 +02:00
Niels van Velzen
c8f757f467 Rewrite ChapterItemInfo to not use the apiclient 2022-09-03 22:30:24 +02:00
Niels van Velzen
0e1c79e933 Rename .java to .kt 2022-09-03 22:30:24 +02:00
renovate[bot]
fed10724e7 Update github/codeql-action digest to b398f52 2022-09-01 15:46:09 +02:00
Weblate
3c8d5c5fab Update translation files
Updated by "Cleanup translation files" hook in Weblate.

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/
2022-09-01 01:12:25 -04:00
Niels van Velzen
fdb18aca8c Add empty playback modules for rewrite 2022-09-01 07:12:21 +02:00
Weblate
98de292fa3 Update translation files
Updated by "Cleanup translation files" hook in Weblate.

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/
2022-08-31 15:23:25 -04:00
Niels van Velzen
1dea42a39a Remove unused video queue from UI code 2022-08-31 21:23:21 +02:00
Niels van Velzen
3b9094fe2b Fix crash when opening favorites and video queue 2022-08-31 07:11:07 +02:00
newton181
2c395ac7c4 Translated using Weblate (Spanish (Mexico))
Currently translated at 100.0% (496 of 496 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es_MX/
2022-08-29 19:11:31 -04:00
Niels van Velzen
6e94f99b52 Migrate favorite and played toggles in KeyProcessor to SDK 2022-08-27 22:23:00 +02:00
Niels van Velzen
c7e2789021 Rewrite MediaCodecCapabilitiesTest in Kotlin 2022-08-27 21:51:50 +02:00
Niels van Velzen
6d8b997d89 Rename .java to .kt 2022-08-27 21:51:50 +02:00
Niels van Velzen
11193c749d Replace most utils with SDK 2022-08-27 20:49:28 +02:00
Niels van Velzen
80d34e507d Use SDK in HomeFragment 2022-08-27 17:02:17 +02:00
newton181
70063e9546 Translated using Weblate (Spanish (Latin America))
Currently translated at 100.0% (496 of 496 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es_419/
2022-08-25 22:11:30 -04:00
newton181
0fcb678977 Translated using Weblate (Spanish (Mexico))
Currently translated at 95.9% (476 of 496 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es_MX/
2022-08-25 22:11:29 -04:00
renovate[bot]
9e45e6e4e8 Update github/codeql-action digest to c7f292e 2022-08-25 19:26:53 +02:00
newton181
3ad6eddd0c Translated using Weblate (Spanish (Latin America))
Currently translated at 94.7% (470 of 496 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es_419/
2022-08-24 22:11:29 -04:00
Xavi Fortes
84fe0fd6ca Translated using Weblate (Spanish)
Currently translated at 100.0% (496 of 496 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es/
2022-08-24 22:11:29 -04:00
Xavi Fortes
2208e2e7a7 Translated using Weblate (Spanish)
Currently translated at 97.9% (486 of 496 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es/
2022-08-24 18:09:06 -04:00
Xavi Fortes
593869deb3 Translated using Weblate (Spanish)
Currently translated at 97.3% (483 of 496 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es/
2022-08-24 18:07:26 -04:00
renovate[bot]
d74581d350 Update dependency com.android.tools:desugar_jdk_libs to v1.2.2 (#2008)
* Update dependency com.android.tools:desugar_jdk_libs to v1.2.2

* Update libs.versions.toml

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Niels van Velzen <nielsvanvelzen@users.noreply.github.com>
2022-08-24 19:04:43 +00:00
avionics75
947f36f28e Translated using Weblate (French)
Currently translated at 100.0% (496 of 496 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fr/
2022-08-24 14:11:28 -04:00
Max Kremer
5b56ebf614 Translated using Weblate (German)
Currently translated at 100.0% (496 of 496 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/de/
2022-08-23 17:11:29 -04:00
renovate[bot]
35c1da9a7e Update dependency io.mockk:mockk to v1.12.7 2022-08-23 15:39:35 +02:00
WWWesten
d0475c5eb0 Translated using Weblate (Esperanto)
Currently translated at 100.0% (496 of 496 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/eo/
2022-08-22 17:11:28 -04:00
WWWesten
218f2e6a14 Translated using Weblate (Russian)
Currently translated at 100.0% (496 of 496 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ru/
2022-08-22 17:11:28 -04:00
WWWesten
ca7246afcc Translated using Weblate (Kazakh)
Currently translated at 100.0% (496 of 496 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/kk/
2022-08-22 17:11:28 -04:00
renovate[bot]
850ec393f4 Update github/codeql-action digest to 7fee4ca 2022-08-22 14:41:13 +02:00
Cercky
0a64cfd8d2 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (496 of 496 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/zh_Hans/
2022-08-22 01:11:28 -04:00
Marian Radev
db81460102 Translated using Weblate (Bulgarian)
Currently translated at 32.0% (159 of 496 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/bg/
2022-08-21 10:11:27 -04:00
Oskari Lavinto
e805003df9 Translated using Weblate (Finnish)
Currently translated at 99.1% (492 of 496 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fi/
2022-08-21 06:11:27 -04:00
Niels van Velzen
38fe985bd8 Migrate most of KeyProcessor to SDK types 2022-08-21 09:16:15 +02:00
Niels van Velzen
5c3222490b Fix crash when trying to start a picture slideshow 2022-08-20 20:14:42 +02:00
Andy Walsh
7207b3d812 Keep ordering from album view in picture viewer 2022-08-20 20:14:36 +02:00
Niels van Velzen
ee3008b5cd Remove USE_DOWNLOAD_API from picture viewer 2022-08-20 20:14:29 +02:00
Niels van Velzen
acc4533868 Use MediaStream from SDK in MediaInfoCardView and InfoCardPresenter 2022-08-20 14:09:09 +02:00
Niels van Velzen
a58c6244f2 Use SDK in StartupActivity 2022-08-20 14:08:35 +02:00
Niels van Velzen
833c026bbe Use SDK SortOrder enum in LibraryPreferences 2022-08-20 08:08:28 +02:00
Niels van Velzen
86b34ac7fb Remove commented log statements 2022-08-20 08:08:16 +02:00
lyaschuchenko
d68edaca4d Translated using Weblate (Ukrainian)
Currently translated at 100.0% (496 of 496 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/uk/
2022-08-20 00:11:27 -04:00
Niels van Velzen
e6b7ca865e Simplify reportPlaybackStopped code 2022-08-19 22:34:37 +02:00
Andy Walsh
66ea6988ff fix CommunityRating display (#1992) 2022-08-19 18:05:53 +00:00
hadicharara
7e2bbbc61a Add RTL Support (#1842)
* Initial commit

* Fixed shadow bug
2022-08-19 19:14:06 +02:00
renovate[bot]
2ae4c87595 Update github/codeql-action digest to f5d217b 2022-08-19 14:07:31 +02:00
renovate[bot]
95932bb8f5 Update dependency org.jetbrains.kotlinx:kotlinx-serialization-json to v1.4.0 2022-08-18 21:39:56 +02:00
DJSweder
186b963e3a Translated using Weblate (Czech)
Currently translated at 100.0% (496 of 496 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/cs/
2022-08-18 04:11:26 -04:00
Kevin G
9ee8c7fb50 Support previous button in video playlist
Fixes #1940

Signed-off-by: Kevin G <kevin@myplaceonline.com>
2022-08-18 08:21:30 +02:00
Niels van Velzen
95e31975ba Always use SDK SearchHint 2022-08-18 07:43:39 +02:00
Niels van Velzen
57c3b7f2aa Use MediaType constants from SDK instead of strings 2022-08-17 18:12:04 +02:00
Niels van Velzen
91c777ea3a Use CollectionType constants from SDK instead of strings 2022-08-17 18:12:04 +02:00
Niels van Velzen
70f250e875 Use MediaType constants from SDK 2022-08-17 18:12:04 +02:00
Niels van Velzen
f37db62dbe Use ItemSortBy constants from SDK 2022-08-17 18:12:04 +02:00
Niels van Velzen
4669afb224 Remove unused ApiEventListener from legacy apiclient 2022-08-17 07:24:51 +02:00
Niels van Velzen
318c007aeb Always use SDK BaseItemPerson and PersonType 2022-08-17 07:24:38 +02:00
Csaba
a6f7364c09 Translated using Weblate (Hungarian)
Currently translated at 100.0% (496 of 496 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/hu/
2022-08-16 02:11:26 -04:00
Oskari Lavinto
b2e8517e0f Translated using Weblate (Finnish)
Currently translated at 99.1% (492 of 496 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fi/
2022-08-15 17:11:25 -04:00
renovate[bot]
1cafe6c539 Update dependency org.jellyfin.sdk:jellyfin-core to v1.3.5 2022-08-14 20:57:35 +02:00
Niels van Velzen
38d33536f9 Fix movie items crashing 2022-08-14 17:13:47 +02:00
Niels van Velzen
acc77901ad Fix Live TV guide crashing 2022-08-14 17:13:47 +02:00
Niels van Velzen
47844799c8 Migrate InfoLayoutHelper to use SDK models 2022-08-14 15:50:33 +02:00
Niels van Velzen
040d46e5f5 Replace GSON encoding usages in EnhancedBrowseFragment with kotlinx.serialization 2022-08-14 15:50:17 +02:00
Niels van Velzen
0a621fa9a3 Replace GSON usages in ItemLauncher with kotlinx.serialization 2022-08-14 15:50:17 +02:00
Niels van Velzen
2971e0368f Use view binding directly in BrowseGridFragment 2022-08-14 15:50:05 +02:00
Niels van Velzen
c60586c13e Use AsyncImageView in GuideChannelHeader 2022-08-14 15:49:52 +02:00
Niels van Velzen
a682757b8b Use AsyncImageView in ClockUserView 2022-08-14 15:49:40 +02:00
Niels van Velzen
454c0d6fec Add circleCrop to AsyncImageView 2022-08-14 15:49:40 +02:00
Niels van Velzen
14e7391bc2 Properly handle specials in item naming 2022-08-14 15:49:12 +02:00
Niels van Velzen
5bb1ee7819 Don't open library settings for unsupported types
Only collection types that use the grid should open the DisplayPreferencesScreen. Added a special case to open the Live TV (guide) settings as a bonus.
2022-08-14 15:49:05 +02:00
Niels van Velzen
cd33bea725 Fix ActivityLifecycleCallback calls on Android 9 and lower 2022-08-14 15:48:56 +02:00
Niels van Velzen
a404b99ab1 Migrate DefaultLifecycleObserver setup to androidx.startup 2022-08-14 15:48:48 +02:00
Niels van Velzen
6e54d2d412 Merge GridFragment into BrowseGridFragment 2022-08-14 09:30:40 +02:00
Niels van Velzen
8a3ac11643 Merge StdGridFragment into BrowseGridFragment 2022-08-14 09:30:40 +02:00
Niels van Velzen
e592017602 Allow app installation on external storage 2022-08-14 08:15:38 +02:00
Niels van Velzen
6960f808f2 Fix alignment of ClockUserView in live TV guide 2022-08-13 21:12:21 +02:00
Arceer
888eafb4b3 Translated using Weblate (Swedish)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/sv/
2022-08-13 07:22:31 -04:00
Arceer
7987e14a65 Translated using Weblate (Swedish)
Currently translated at 100.0% (495 of 495 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sv/
2022-08-13 07:22:31 -04:00
renovate[bot]
8f6109e93f Update kotest to v5.4.2 2022-08-13 10:45:52 +02:00
Niels van Velzen
0074062633 Catch decoding exception in AuthenticationStore
Fixes corrupt JSON causing the app to crash
2022-08-13 09:59:17 +02:00
Oskari Lavinto
a46e88b970 Translated using Weblate (Finnish)
Currently translated at 99.1% (491 of 495 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fi/
2022-08-12 03:22:30 -04:00
Niels van Velzen
fa94dba71a Add new experimental picture viewer (#1829)
* Add KeyHandler

* Add PictureViewerFragment to replace PhotoPlayerActivity

* Address review feedback
2022-08-11 20:56:07 +02:00
renovate[bot]
21769a926c Update dependency androidx.appcompat:appcompat to v1.5.0 2022-08-11 20:01:45 +02:00
Niels van Velzen
2b2569772c Bump Android compile and target SDK to 32 (Android 12L)
Required for the new appcompat version
2022-08-11 19:40:49 +02:00
renovate[bot]
eb8ce2d0a1 Update dependency org.videolan.android:libvlc-all to v3.5.1 2022-08-11 18:59:36 +02:00
renovate[bot]
6542595a5f Update dependency androidx.fragment:fragment-ktx to v1.5.2 2022-08-11 09:14:38 +02:00
cameron
d7db8890d7 remove removePreviousQueueItems and sync mediaManager video queue index 2022-08-10 19:17:59 +02:00
Niels van Velzen
6ac9e7d207 Remove usages of BaseItemType's that don't exist in the server anymore 2022-08-10 08:21:37 +02:00
Weblate
f4902f5a70 Update translation files
Updated by "Cleanup translation files" hook in Weblate.

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/
2022-08-09 08:53:40 -04:00
Niels van Velzen
6378920ac4 Remove item delete functionality 2022-08-09 14:53:36 +02:00
kevgrig
c72b817364 Handle uninitialized current media position (#1943)
* Handle uninitialized current media position

Signed-off-by: Kevin G <kevin@myplaceonline.com>

* Enhance uninitialized current media position check

Signed-off-by: Kevin G <kevin@myplaceonline.com>

* Enhance uninitialized current media position check

Signed-off-by: Kevin G <kevin@myplaceonline.com>
2022-08-09 10:23:23 +02:00
Andy Walsh
c4dd60527d fix BaseRowItem.refresh() crash 2022-08-09 08:31:09 +02:00
Niels van Velzen
5a30dfe04e Disable Detekt InvalidPackageDeclaration rule
It doesn't work properly because we don't have an org/jellyfin/androidtv package in the playback and preference modules
2022-08-08 21:40:08 +02:00
Niels van Velzen
dfa37c831a Forward music play requests to PlaybackLauncher
This allows the playback rewrite to play audio
2022-08-08 21:40:00 +02:00
Kevin G
f85cef52c7 Fix 'Play from Here' in video playlists
Fixes #1712

Signed-off-by: Kevin G <kevin@myplaceonline.com>
2022-08-08 07:54:43 +02:00
Alan Azar
ccb97ac195 Translated using Weblate (Malayalam)
Currently translated at 69.0% (342 of 495 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ml/
2022-08-06 15:22:29 -04:00
Alan Azar
9fff04e157 Translated using Weblate (Turkish)
Currently translated at 78.9% (391 of 495 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/tr/
2022-08-06 15:22:29 -04:00
Alan Azar
94e6b416d6 Translated using Weblate (Croatian)
Currently translated at 77.3% (383 of 495 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/hr/
2022-08-06 15:22:29 -04:00
Alan Azar
393ad954d7 Translated using Weblate (Spanish (Argentina))
Currently translated at 91.5% (453 of 495 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es_AR/
2022-08-06 15:22:29 -04:00
Alan Azar
3a4b5417f7 Translated using Weblate (Serbian)
Currently translated at 81.2% (402 of 495 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sr/
2022-08-06 15:22:29 -04:00
Alan Azar
393c42e8a1 Translated using Weblate (Japanese)
Currently translated at 66.4% (329 of 495 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ja/
2022-08-06 15:22:29 -04:00
Alan Azar
04a786fc62 Translated using Weblate (Norwegian Bokmål)
Currently translated at 71.3% (353 of 495 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nb_NO/
2022-08-06 15:22:28 -04:00
Alan Azar
69d0e6be04 Translated using Weblate (Greek)
Currently translated at 81.0% (401 of 495 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/el/
2022-08-06 15:22:28 -04:00
Alan Azar
f5f33b8495 Translated using Weblate (Danish)
Currently translated at 96.1% (476 of 495 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/da/
2022-08-06 15:22:28 -04:00
gradle-update-robot
0b5079573e Update Gradle Wrapper from 7.5 to 7.5.1.
Signed-off-by: gradle-update-robot <gradle-update-robot@regolo.cc>
2022-08-06 09:37:29 +02:00
renovate[bot]
cdf74b87bc Update aboutlibraries to v10.4.0 2022-08-05 18:52:19 +02:00
dyxen
f0981abd6d Translated using Weblate (Slovenian)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/sl/
2022-08-05 08:22:31 -04:00
dyxen
8e1f1d75b5 Translated using Weblate (Slovenian)
Currently translated at 98.5% (488 of 495 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sl/
2022-08-05 08:22:31 -04:00
Niels van Velzen
d61829e11a Remove generation timestamp from AboutLibraries data file 2022-08-05 08:17:03 +02:00
Moritz
4d35efc5a4 Translated using Weblate (German)
Currently translated at 97.9% (485 of 495 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/de/
2022-08-04 10:22:28 -04:00
renovate[bot]
8f273ae7df Update github/codeql-action digest to 2ca79b6 2022-08-03 20:54:17 +02:00
renovate[bot]
3077d66032 Update dependency com.android.tools.build:gradle to v7.2.2 2022-08-03 20:47:40 +02:00
Kevin G
c1817601f7 Fix 'Shuffle All' for video playlist
Signed-off-by: Kevin G <kevin@myplaceonline.com>
2022-08-02 15:57:23 +02:00
renovate[bot]
a1999180d2 Update appleboy/ssh-action action to v0.1.5 2022-08-02 15:57:07 +02:00
renovate[bot]
8019a9ed8b Update github/codeql-action digest to 0c670bb 2022-08-02 15:56:55 +02:00
renovate[bot]
5ff081eb17 Update dependency ch.acra:acra-toast to v5.9.6 2022-08-02 15:56:42 +02:00
renovate[bot]
87895473d9 Update dependency org.jellyfin.sdk:jellyfin-core to v1.3.4 2022-08-02 15:32:15 +02:00
Weblate
8c32cee4ee Update translation files
Updated by "Cleanup translation files" hook in Weblate.

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/
2022-07-31 14:09:13 -04:00
Niels van Velzen
0c4a09bcca Throw error when EditServerScreen and EditUserScreen open with invalid arguments 2022-07-31 20:09:09 +02:00
Weblate
9cb564cc8e Update translation files
Updated by "Cleanup translation files" hook in Weblate.

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/
2022-07-31 07:21:49 -04:00
Niels van Velzen
7865038710 Remove seasonal greetings & libvlc subtitle delay preferences
Both were unused
2022-07-31 13:21:45 +02:00
renovate[bot]
777657709d Update dependency org.jellyfin.sdk:jellyfin-core to v1.3.3 2022-07-30 10:34:59 +02:00
renovate[bot]
d947d8b7b9 Update kotest to v5.4.1 2022-07-28 14:53:20 +02:00
renovate[bot]
2e15684b16 Update dependency androidx.fragment:fragment-ktx to v1.5.1 2022-07-28 08:01:26 +02:00
renovate[bot]
8595cf33a0 Update actions/stale digest to 9c1b1c6 2022-07-28 08:00:59 +02:00
renovate[bot]
3e45a433f8 Update dependency androidx.activity:activity-ktx to v1.5.1 2022-07-27 21:48:17 +02:00
renovate[bot]
66dab66be2 Update androidx-lifecycle to v2.5.1 2022-07-27 21:48:10 +02:00
renovate[bot]
3245ad4f43 Update dependency io.mockk:mockk to v1.12.5 2022-07-27 18:57:45 +02:00
Matias Barros
16e63ff428 Translated using Weblate (Spanish (Argentina))
Currently translated at 75.0% (3 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/es_AR/
2022-07-27 02:22:24 -04:00
millallo
b6f2ad279f Translated using Weblate (Italian)
Currently translated at 100.0% (498 of 498 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/it/
2022-07-26 16:53:31 -04:00
Bill Thornton
69cefe7e30 Remove whitespace prepended to the no gude data titles 2022-07-26 08:36:45 +02:00
Bill Thornton
25cb3d0db2 Remove live tv guide banner images 2022-07-26 08:15:28 +02:00
DJSweder
6a4dc857e2 Translated using Weblate (Czech)
Currently translated at 99.1% (494 of 498 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/cs/
2022-07-25 20:11:23 -04:00
Bill Thornton
f9c3f2e8ae Fix channel load more button size in popup guide 2022-07-25 22:02:25 +02:00
Stéphane Dupont
fe7d3d58e3 Translated using Weblate (French)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/fr/
2022-07-25 10:47:43 -04:00
Cody Robibero
9f7ea0c156 Update strings.xml 2022-07-25 16:47:40 +02:00
renovate[bot]
21a3b2dbc7 Update kotest to v5.4.0 2022-07-25 09:52:08 +02:00
Jaroslav Lichtblau
cfcc8f3ad2 Translated using Weblate (Czech)
Currently translated at 96.9% (483 of 498 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/cs/
2022-07-24 19:22:24 -04:00
Kenneth SB
cf05fe9322 Translated using Weblate (Danish)
Currently translated at 96.3% (480 of 498 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/da/
2022-07-24 14:22:25 -04:00
Kenneth SB
0ca18ba0e9 Translated using Weblate (Danish)
Currently translated at 76.7% (382 of 498 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/da/
2022-07-24 11:22:24 -04:00
HanaO00
5a01749d90 Translated using Weblate (French)
Currently translated at 100.0% (498 of 498 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fr/
2022-07-24 00:22:23 -04:00
WWWesten
9a34b59da2 Translated using Weblate (Esperanto)
Currently translated at 100.0% (498 of 498 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/eo/
2022-07-23 17:22:24 -04:00
WWWesten
19b65d6cc8 Translated using Weblate (Russian)
Currently translated at 100.0% (498 of 498 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ru/
2022-07-23 17:22:23 -04:00
WWWesten
ea88a5c523 Translated using Weblate (Kazakh)
Currently translated at 100.0% (498 of 498 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/kk/
2022-07-23 17:22:23 -04:00
Niels van Velzen
cb767a2db2 Set minimum server version in SDK from ServerRepository constant 2022-07-23 14:13:32 +02:00
Niels van Velzen
966ef05291 Use clientLogApi.logFileUrl to generate crash report URL 2022-07-23 14:13:21 +02:00
renovate[bot]
23dd0c4c6c Update dependency org.jellyfin.sdk:jellyfin-core to v1.3.2 2022-07-23 14:03:21 +02:00
Bill Thornton
1151de2388 Update load more channels button styling 2022-07-23 09:31:07 +02:00
Cameron
1f2b757d79 handle exoplayer track selection indexes starting at 1 (#1878)
* handle exoplayer track selection indexes  starting at 1

* fix capitalization
2022-07-23 09:29:40 +02:00
Bill Thornton
4609cd4e0f Fix live tv guide sorting (#1861)
* Fix live tv guide sorting

* Remove commented logging
2022-07-23 09:28:37 +02:00
Bill Thornton
df7ecd55be Fix channel logo display (#1870)
* Fix channel logo display

* Update tv tile name and size
2022-07-23 09:27:56 +02:00
renovate[bot]
b640afff2e Update dependency org.videolan.android:libvlc-all to v3.4.9 2022-07-22 19:47:57 +02:00
cameron
c3d75c7e30 fix series logo scaling in player 2022-07-22 19:28:33 +02:00
Bill Thornton
4aba7570aa Fix live tv guide load more button height 2022-07-22 19:19:39 +02:00
Andreas
dfc4d39275 Emit ServerUnavailableState on TimeoutException 2022-07-22 16:33:34 +02:00
renovate[bot]
4f3ca77194 Update exoplayer 2022-07-22 15:40:30 +02:00
HanaO00
ec370fe9be Translated using Weblate (French)
Currently translated at 99.5% (496 of 498 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fr/
2022-07-21 01:22:22 -04:00
Calum Smith
9e72fc05d8 Translated using Weblate (French)
Currently translated at 98.9% (493 of 498 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fr/
2022-07-20 21:22:22 -04:00
Bill Thornton
94c41edcb5 Fix live tv guide option button styles 2022-07-20 09:17:56 +02:00
Bill Thornton
fb8cf751a1 Add support for the Fire Stick 4k Max 2022-07-20 09:14:53 +02:00
Bill Thornton
c2ec0cd767 Update button order on item details screen 2022-07-20 09:12:13 +02:00
cameron
211fe8e892 set max audio channels to 8 for exoplayer 2022-07-20 09:10:51 +02:00
Bill Thornton
d3e266a01a Fix inconsistent red color for recordings 2022-07-20 09:09:55 +02:00
Niels van Velzen
45658ffc6e Remove stateListAnimator from button styles
Amazon changes the platform Button widget to scale when pressed, this doesn't work nice with some of our custom button styles and is not consistent with other platforms. This change removes the animation.
2022-07-20 08:24:18 +02:00
Bill Thornton
83b24dc215 Fix null text in info row 2022-07-20 08:24:01 +02:00
Prabjot Singh
0ad3e2ddad Translated using Weblate (Punjabi)
Currently translated at 1.0% (5 of 498 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pa/
2022-07-19 21:22:22 -04:00
HanaO00
740d47c14d Translated using Weblate (French)
Currently translated at 96.9% (483 of 498 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fr/
2022-07-19 21:22:22 -04:00
Bill Thornton
0a8e03fc4e Fix live tv guide options not persisting 2022-07-19 21:01:32 +02:00
Csaba
0752095292 Translated using Weblate (Hungarian)
Currently translated at 100.0% (498 of 498 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/hu/
2022-07-18 08:22:22 -04:00
millallo
007afef059 Translated using Weblate (Italian)
Currently translated at 100.0% (498 of 498 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/it/
2022-07-18 08:22:22 -04:00
HanaO00
848060a8a8 Translated using Weblate (French)
Currently translated at 96.9% (483 of 498 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fr/
2022-07-17 20:22:21 -04:00
nextlooper42
e98ec0c3bc Translated using Weblate (Slovak)
Currently translated at 100.0% (498 of 498 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sk/
2022-07-17 13:22:21 -04:00
Niels van Velzen
ba25b9b5c8 Update issue template for 0.14 2022-07-17 18:59:00 +02:00
renovate[bot]
e0fd381b5b Update dependency io.gitlab.arturbosch.detekt to v1.21.0 2022-07-17 15:11:54 +02:00
Oskari Lavinto
5a5717ec2a Translated using Weblate (Finnish)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/fi/
2022-07-17 04:22:21 -04:00
Oskari Lavinto
f9033b11d1 Translated using Weblate (Finnish)
Currently translated at 99.1% (494 of 498 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fi/
2022-07-17 04:22:21 -04:00
Niels van Velzen
91cc60b086 Always use Quick Connect 2022-07-17 09:24:08 +02:00
wolong gl
859dc0f0a2 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (498 of 498 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/zh_Hans/
2022-07-17 00:22:21 -04:00
Niels van Velzen
a97c54735c Fix app crash when switching users while playing music 2022-07-16 12:42:19 +02:00
Niels van Velzen
e9c536cbb1 Show notification on server screen when server setup is incomplete (#1834)
* Show notification on server screen when server setup is incomplete

* Adjust server setup notification message
2022-07-16 11:05:24 +02:00
EVOTk
6ba6303199 Translated using Weblate (French)
Currently translated at 97.1% (483 of 497 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fr/
2022-07-15 16:22:21 -04:00
WWWesten
a64b1dd56c Translated using Weblate (Esperanto)
Currently translated at 100.0% (497 of 497 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/eo/
2022-07-15 04:22:20 -04:00
gradle-update-robot
7fbd6e7a9b Update Gradle Wrapper from 7.4.2 to 7.5.
Signed-off-by: gradle-update-robot <gradle-update-robot@regolo.cc>
2022-07-15 09:27:47 +02:00
Pol
0531575dc6 Translated using Weblate (Catalan)
Currently translated at 100.0% (497 of 497 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ca/
2022-07-14 11:22:21 -04:00
Alfonso Scarpino
4bb89a7076 Translated using Weblate (Italian)
Currently translated at 100.0% (497 of 497 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/it/
2022-07-14 11:22:20 -04:00
WWWesten
897b6460f9 Translated using Weblate (Russian)
Currently translated at 100.0% (497 of 497 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ru/
2022-07-14 03:22:20 -04:00
WWWesten
63f404be3e Translated using Weblate (Kazakh)
Currently translated at 100.0% (497 of 497 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/kk/
2022-07-14 03:22:20 -04:00
Niels van Velzen
2977452d0a Avoid multiple discovery processes running at the same time
When switching between the user and server selection screens the process continuously restarted. This causes a lot of logs and network activity. Prevent this by running only one process at a time.
2022-07-14 08:56:04 +02:00
colson
f03172336a Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (497 of 497 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/zh_Hans/
2022-07-14 00:22:20 -04:00
renovate[bot]
569bb51627 Update Kotlin to v1.6.4 2022-07-13 19:33:53 +02:00
renovate[bot]
7cf8d69d59 Update github/codeql-action digest to 3e7e3b3 2022-07-13 19:33:46 +02:00
chakhee
e7fabc3b5c Translated using Weblate (Chinese (Simplified))
Currently translated at 98.7% (491 of 497 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/zh_Hans/
2022-07-13 00:22:20 -04:00
hoanghuy309
ae38598c40 Translated using Weblate (Vietnamese)
Currently translated at 98.1% (488 of 497 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/vi/
2022-07-12 15:22:20 -04:00
Weblate
384120caac Update translation files
Updated by "Cleanup translation files" hook in Weblate.

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/
2022-07-12 09:56:00 -04:00
Niels van Velzen
c2a2a01b37 Fix crash when not restoring a session 2022-07-12 15:55:57 +02:00
Niels van Velzen
c909c57146 Fix crash when reporting a crash 2022-07-12 15:55:45 +02:00
Weblate
a8c75349d7 Update translation files
Updated by "Cleanup translation files" hook in Weblate.

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/
2022-07-12 08:07:48 -04:00
renovate[bot]
ba5ada02f9 Update actions/setup-java digest to 2c7a487 2022-07-12 14:07:44 +02:00
Csaba
6eca40a77c Translated using Weblate (Hungarian)
Currently translated at 100.0% (497 of 497 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/hu/
2022-07-12 07:22:20 -04:00
Oskari Lavinto
bc64fc046d Translated using Weblate (Finnish)
Currently translated at 99.1% (493 of 497 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fi/
2022-07-12 03:22:19 -04:00
Weblate
350a50e897 Update translation files
Updated by "Cleanup translation files" hook in Weblate.

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/
2022-07-11 16:21:29 -04:00
Weblate
18aefed6e1 Update translation files
Updated by "Cleanup translation files" hook in Weblate.

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/
2022-07-11 16:21:28 -04:00
millallo
74fcb2761e Translated using Weblate (Italian)
Currently translated at 99.4% (498 of 501 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/it/
2022-07-11 16:21:27 -04:00
Niels van Velzen
f93d4028dc Ignore server discovery in ServerFragment 2022-07-11 22:21:24 +02:00
Niels van Velzen
744b28de7c Rewrite crash reporting 2022-07-11 22:20:50 +02:00
Niels van Velzen
95f20cdcf9 Flatten TrackSelectionOverrides class into TrackSelectionParameters 2022-07-11 18:00:59 +02:00
renovate[bot]
5c84e75112 Update exoplayer 2022-07-11 18:00:59 +02:00
Niels van Velzen
d53af5330d Fix serverRepository.getServer not working when server info is not refreshing
This issue only happens when using the function within a 10 minute window and causes login to fail (without any hints as to why)
2022-07-11 17:52:34 +02:00
Csaba
70158ebaaa Translated using Weblate (Hungarian)
Currently translated at 100.0% (501 of 501 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/hu/
2022-07-11 03:22:19 -04:00
WWWesten
95a3ed70e7 Translated using Weblate (Esperanto)
Currently translated at 100.0% (501 of 501 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/eo/
2022-07-10 18:22:19 -04:00
lyaschuchenko
37dfe2a858 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (501 of 501 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/uk/
2022-07-10 18:22:19 -04:00
WWWesten
25d1a6c7fd Translated using Weblate (Russian)
Currently translated at 100.0% (501 of 501 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ru/
2022-07-10 18:22:19 -04:00
WWWesten
d94bfab1f4 Translated using Weblate (Kazakh)
Currently translated at 100.0% (501 of 501 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/kk/
2022-07-10 18:22:19 -04:00
nextlooper42
e9bfe69db6 Translated using Weblate (Slovak)
Currently translated at 100.0% (501 of 501 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sk/
2022-07-10 08:22:19 -04:00
Niels van Velzen
30094e0d83 Don't try to load splashscreen when disabled in branding options 2022-07-10 14:06:14 +02:00
Niels van Velzen
1948858cc1 Show notification when server version is not supported 2022-07-10 09:54:58 +02:00
Niels van Velzen
3e1ae8eb4b Validate server version on session restore 2022-07-10 09:54:58 +02:00
Niels van Velzen
97fe47a050 Add external trailer support 2022-07-09 16:56:34 +02:00
Weblate
30a1cb6acf Update translation files
Updated by "Cleanup translation files" hook in Weblate.

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/
2022-07-09 09:38:15 -04:00
Andy Walsh
bb98a642d9 adjust TV detection logic (#1822)
* adjust TV detection logic

* Update app/src/main/java/org/jellyfin/androidtv/data/repository/NotificationsRepository.kt

Co-authored-by: Niels van Velzen <nielsvanvelzen@users.noreply.github.com>

Co-authored-by: Niels van Velzen <nielsvanvelzen@users.noreply.github.com>
2022-07-09 15:38:12 +02:00
yolylight
29cbe6ac2a Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/zh_Hans/
2022-07-09 04:22:19 -04:00
Oskari Lavinto
913e2ffb38 Translated using Weblate (Finnish)
Currently translated at 99.2% (496 of 500 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fi/
2022-07-09 04:22:19 -04:00
yolylight
50906a1988 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (500 of 500 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/zh_Hans/
2022-07-09 04:22:18 -04:00
Weblate
a46c7e2986 Update translation files
Updated by "Cleanup translation files" hook in Weblate.

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/
2022-07-08 09:25:25 -04:00
Andy Walsh
cec666a7e2 rework, optimize GridFragment
add auto image size logic
add/change Ui size names
remove superfluous "Default" naming
fix grid layout fragment to following screen layout/size
fix card refresh not working after resume
fix/optimize chunk size logic
fix card padding/spacing
remove vertical grid "hacks"
remove unnecessary grid reload's
reduce status-line update timer 400->250ms to feel more responsive
2022-07-08 15:25:21 +02:00
Andy Walsh
1fa68ab51e fix, don't send invalid sub/audio index
fix DlnaProfileType
2022-07-08 15:15:29 +02:00
v41p3r
da8b93d1ce Translated using Weblate (Bulgarian)
Currently translated at 30.3% (151 of 498 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/bg/
2022-07-08 04:31:44 -04:00
dspencer001
8d7fbcc79d Add showing additional parts (#1775)
* Add showing additional parts

* Rewrite additional parts query in Kotlin

* Use a data class instead of manually defining getter

* Fix error message for additional parts
2022-07-08 10:31:40 +02:00
renovate[bot]
88fac33856 Update Kotlin to v1.7.10 2022-07-08 10:07:59 +02:00
WWWesten
12a9997a4a Translated using Weblate (Esperanto)
Currently translated at 100.0% (498 of 498 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/eo/
2022-07-07 12:22:18 -04:00
WWWesten
162c5803be Translated using Weblate (Russian)
Currently translated at 100.0% (498 of 498 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ru/
2022-07-07 12:22:18 -04:00
WWWesten
38576bf832 Translated using Weblate (Kazakh)
Currently translated at 100.0% (498 of 498 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/kk/
2022-07-07 12:22:18 -04:00
Niels van Velzen
ea43730ac6 Fix BrandingOptions for servers using JF < 10.8.1 2022-07-07 17:48:04 +02:00
Andy Walsh
2ff2a19916 Fix server Startup discovery
loadDiscoveryServers() was never called
fix binding.discoveryServers in wrong scope
2022-07-07 16:52:10 +02:00
Andy Walsh
90d0e7ed13 add AVC "high 10" profile test
enable AllowVideoStreamCopy, setAllowAudioStream
2022-07-07 09:46:43 +02:00
Fedir Smilianets
2f9361aedc Translated using Weblate (Ukrainian)
Currently translated at 99.3% (495 of 498 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/uk/
2022-07-06 15:22:17 -04:00
Niels van Velzen
e7708724c0 Add UI mode notification 2022-07-06 10:30:12 +02:00
Niels van Velzen
d47d7b2fdd Add notifications to show app announcement stuff 2022-07-06 10:30:12 +02:00
Andy Walsh
73b92cc10f fix playNext start position for ExternaPlayerActivity
* fix playNext start position for ExternaPlayerActivity
* fix some missing null checks and finish() calls
2022-07-05 23:03:13 +02:00
Andy Walsh
54934482ba Fix wrong counter/pos onResponse via loadMoreItemsIfNeeded
* fix wrong counter/pos onResponse via loadMoreItemsIfNeeded
2022-07-05 22:51:27 +02:00
renovate[bot]
d961fc8a13 Update aboutlibraries to v10.3.1 2022-07-05 21:57:31 +02:00
renovate[bot]
113cf50602 Update dependency org.jellyfin.sdk:jellyfin-core to v1.3.1 2022-07-05 21:51:05 +02:00
renovate[bot]
1409ba30cc Update acra to v5.9.5 2022-07-05 21:49:02 +02:00
renovate[bot]
452ad33873 Update androidx-lifecycle to v2.5.0 2022-07-05 21:43:06 +02:00
renovate[bot]
c4bd1c99cd Update dependency androidx.activity:activity-ktx to v1.5.0 2022-07-05 21:42:58 +02:00
renovate[bot]
b16a7fbf5b Update dependency androidx.fragment:fragment-ktx to v1.5.0 2022-07-05 21:42:49 +02:00
renovate[bot]
57db91107b Update actions/setup-java digest to 16cca54 2022-07-05 21:41:52 +02:00
renovate[bot]
c135dd16cf Update kotest to v5.3.2 2022-07-05 21:41:45 +02:00
renovate[bot]
921da0c472 Update github/codeql-action digest to 3f62b75 2022-07-05 21:41:36 +02:00
renovate[bot]
e9ee0f4921 Update Kotlin to v1.6.3 2022-07-05 21:40:49 +02:00
Rithesh Dsouza
8c7cb94a49 Translated using Weblate (Kannada)
Currently translated at 2.6% (13 of 497 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/kn/
2022-07-05 06:22:17 -04:00
Fedir Smilianets
f3cd49821e Translated using Weblate (Ukrainian)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/uk/
2022-07-03 13:22:20 -04:00
Fedir Smilianets
3364c64599 Translated using Weblate (Ukrainian)
Currently translated at 99.5% (495 of 497 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/uk/
2022-07-03 13:22:19 -04:00
D221
6ee9a584cc Translated using Weblate (Lithuanian)
Currently translated at 17.5% (87 of 497 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/lt/
2022-06-29 20:22:15 -04:00
Martim Pinheiro
87e79a1537 Translated using Weblate (Portuguese (Portugal))
Currently translated at 95.3% (474 of 497 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pt_PT/
2022-06-21 11:22:12 -04:00
Mattia
d8731ef40e Translated using Weblate (Italian)
Currently translated at 75.0% (3 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/it/
2022-06-20 19:22:11 -04:00
nextlooper42
4770152114 Translated using Weblate (Slovak)
Currently translated at 100.0% (497 of 497 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sk/
2022-06-20 11:22:11 -04:00
wolong gl
8fe865c3fb Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (497 of 497 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/zh_Hans/
2022-06-19 14:22:11 -04:00
Cameron
affdb6dd75 fix subtitle background alignment, center subtitle text (#1786)
* fix subtitle background alignment, center subtitle text

* add suppress RtlHardcoded annotation
2022-06-19 06:46:29 +02:00
hoanghuy309
33f67a6f9f Translated using Weblate (Vietnamese)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/vi/
2022-06-19 00:22:11 -04:00
hoanghuy309
03734b33b4 Translated using Weblate (Vietnamese)
Currently translated at 98.3% (489 of 497 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/vi/
2022-06-19 00:22:11 -04:00
Andy Walsh
0e3a07c256 fix ItemRowAdapter.retrieveNext() Query StartIndex
*  make sure we reset the StartIndex, since the Query object is reused
2022-06-18 16:19:42 +02:00
Renovate Bot
e27c92e0df Update gradle-update/update-gradle-wrapper-action digest to 981c551 2022-06-14 16:38:39 +02:00
Renovate Bot
9d56f8d944 Update Kotlin to v1.7.0 2022-06-14 08:48:30 +02:00
Renovate Bot
5ac55e1caf Update kotest to v5.3.1 2022-06-14 08:39:44 +02:00
Théo Vanden Driessche
9313e3d48b Translated using Weblate (French)
Currently translated at 99.7% (496 of 497 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fr/
2022-06-11 19:22:08 -04:00
Aragon
5585bf594c Translated using Weblate (Hebrew)
Currently translated at 99.3% (494 of 497 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/he/
2022-06-11 10:22:09 -04:00
Oskari Lavinto
b9b3ee4cb4 Translated using Weblate (Finnish)
Currently translated at 99.1% (493 of 497 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fi/
2022-06-11 10:22:08 -04:00
Renovate Bot
d77ff4eda4 Update dependency org.jellyfin.sdk:jellyfin-core to v1.3.0 2022-06-11 13:11:32 +02:00
Fallenbagel
36c8cdf56a Fix EAC3 transcoding on 10.8.0-beta3 2022-06-11 08:48:40 +02:00
Weevild
f150ce3e00 Translated using Weblate (Swedish)
Currently translated at 100.0% (497 of 497 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sv/
2022-06-10 10:22:08 -04:00
Moritz
155941d8d3 Translated using Weblate (German)
Currently translated at 100.0% (497 of 497 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/de/
2022-06-10 10:22:08 -04:00
WWWesten
573eb12970 Translated using Weblate (Esperanto)
Currently translated at 100.0% (497 of 497 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/eo/
2022-06-10 05:22:08 -04:00
Csaba
8d1f1ea70f Translated using Weblate (Hungarian)
Currently translated at 100.0% (497 of 497 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/hu/
2022-06-10 05:22:08 -04:00
WWWesten
0724441b79 Translated using Weblate (Russian)
Currently translated at 100.0% (497 of 497 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ru/
2022-06-10 05:22:08 -04:00
WWWesten
dccb6a6b99 Translated using Weblate (Kazakh)
Currently translated at 100.0% (497 of 497 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/kk/
2022-06-10 05:22:08 -04:00
millallo
621be3cbff Translated using Weblate (Italian)
Currently translated at 100.0% (497 of 497 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/it/
2022-06-10 05:22:08 -04:00
Niels van Velzen
dac0542882 Change lbl_filters 2022-06-09 19:14:48 +02:00
Niels van Velzen
a82087d122 Remove some unused code from LiveTvGuideActivity 2022-06-09 19:14:48 +02:00
Niels van Velzen
7d9b25fba9 Replace Live TV guide options popup with preference screen 2022-06-09 19:14:48 +02:00
Niels van Velzen
8cd395b772 Replace Live TV guide filter popup with preference screen 2022-06-09 19:14:48 +02:00
WWWesten
a8bc1a7829 Translated using Weblate (Russian)
Currently translated at 100.0% (496 of 496 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ru/
2022-06-09 06:22:07 -04:00
Niels van Velzen
0ede654513 Merge ConnectHelpAlertFragment and AlertFragment 2022-06-08 09:14:47 +02:00
Niels van Velzen
134acf4897 Fix flickering of splash screen when using auto login 2022-06-08 09:14:37 +02:00
G. Ribeiro
8dbb992cf3 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/pt_BR/
2022-06-07 15:22:07 -04:00
G. Ribeiro
9252a86fa4 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (496 of 496 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pt_BR/
2022-06-07 15:22:07 -04:00
Niels van Velzen
4692483251 Fix AuthPreferencesScreen sometimes not showing any servers/users 2022-06-07 16:21:29 +02:00
Niels van Velzen
a6c9fd0ac6 Hide channel number from ChannelCardView when null 2022-06-07 16:21:13 +02:00
nextlooper42
9ca2d5181a Translated using Weblate (Slovak)
Currently translated at 100.0% (496 of 496 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sk/
2022-06-06 15:22:06 -04:00
Niels van Velzen
732c978c10 Restyle TextSearchFragment 2022-06-05 11:08:18 +02:00
Niels van Velzen
6d15eb1ba1 Add textColorHint to Input.Default 2022-06-05 11:08:18 +02:00
Niels van Velzen
c64d43090c Check for RECORD_AUDIO permission in SearchActivity 2022-06-05 11:08:18 +02:00
Niels van Velzen
8f1cee7d14 Rewrite SearchProvider 2022-06-05 09:51:52 +02:00
Niels van Velzen
3f63473f44 Rename .java to .kt 2022-06-05 09:51:52 +02:00
Niels van Velzen
4fd1c7fe66 Use popup menu styling for popup windows 2022-06-04 13:10:19 +02:00
Oskari Lavinto
2487d4eb65 Translated using Weblate (Finnish)
Currently translated at 98.3% (488 of 496 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fi/
2022-06-03 15:22:05 -04:00
hogenf
bd155406b1 Translated using Weblate (Swedish)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/sv/
2022-06-03 06:22:06 -04:00
hogenf
16177ea6ec Translated using Weblate (Swedish)
Currently translated at 100.0% (496 of 496 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sv/
2022-06-03 06:22:06 -04:00
Garrett B
fb0e34b785 Fix Typo 2022-06-03 08:47:43 +02:00
Moritz
d47b1b48e9 Translated using Weblate (German)
Currently translated at 100.0% (496 of 496 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/de/
2022-06-02 10:22:05 -04:00
Renovate Bot
2214cfd0fa Update dependency androidx.core:core-ktx to v1.8.0 2022-06-01 21:59:14 +02:00
Renovate Bot
b7029b6a0d Update github/codeql-action digest to 27ea8f8 2022-06-01 21:59:07 +02:00
Renovate Bot
8d5766d11c Update dependency androidx.appcompat:appcompat to v1.4.2 2022-06-01 21:59:01 +02:00
B v H
be73c8dc1f Translated using Weblate (Dutch)
Currently translated at 99.5% (494 of 496 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nl/
2022-05-31 16:22:05 -04:00
Csaba
872e77dccd Translated using Weblate (Hungarian)
Currently translated at 100.0% (496 of 496 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/hu/
2022-05-31 03:22:04 -04:00
Niels van Velzen
5c6b6f1b0c Use AsyncImageView in ItemListActivity 2022-05-30 21:31:52 +02:00
Niels van Velzen
1113277962 Use AsyncImageView in NowPlayingView 2022-05-30 21:31:52 +02:00
Niels van Velzen
1daf617f02 Use AsyncImageView in CustomPlaybackOverlayFragment logo 2022-05-30 21:31:52 +02:00
Niels van Velzen
ff63fbf90a Remove unused imageUrl from GridButton 2022-05-30 21:31:52 +02:00
Niels van Velzen
f84e8d6e28 Use AsyncImageView in LegacyImageCardView 2022-05-30 21:31:52 +02:00
Niels van Velzen
19a9cda075 Use AsyncImageView in AudioNowPlayingActivity poster 2022-05-30 21:31:52 +02:00
Niels van Velzen
6c6b881747 Use AsyncImageView in FullDetailsActivity poster 2022-05-30 21:31:52 +02:00
Niels van Velzen
cd168ad805 Use AsyncImageView in NextUpFragment 2022-05-30 21:31:52 +02:00
Niels van Velzen
50e69b79b4 Disable AsyncImageView transitions for now 2022-05-30 21:31:52 +02:00
Niels van Velzen
4be56a1201 Use AsyncImageView in DefaultCardView 2022-05-30 21:31:52 +02:00
Niels van Velzen
9d726f940f Add AsyncImageView 2022-05-30 21:31:52 +02:00
WWWesten
16eb676346 Translated using Weblate (Esperanto)
Currently translated at 100.0% (496 of 496 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/eo/
2022-05-29 18:22:04 -04:00
WWWesten
7a72cd371d Translated using Weblate (Russian)
Currently translated at 100.0% (496 of 496 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ru/
2022-05-29 18:22:04 -04:00
WWWesten
d0b0437e1b Translated using Weblate (Kazakh)
Currently translated at 100.0% (496 of 496 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/kk/
2022-05-29 18:22:04 -04:00
millallo
14b6e9f936 Translated using Weblate (Italian)
Currently translated at 100.0% (496 of 496 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/it/
2022-05-29 09:22:04 -04:00
Timmeh
4c2ce10004 add seperate button to adjust subtitle delay (if subtitles are present). (#1731)
* add seperate button to adjust subtitle delay (if subtitles are present).

* merge subtitle delay action and audio delay action to single button.

* Remove "m" prefix
Fix magic numbers
Fix formatting
Remove superfluous member variables

* Changes after review
Move all logic from `init` to constructor.

* Minor changes to SettingsPopup

Co-authored-by: Tim van Katwijk <tim.van.katwijk@moba.net>
2022-05-29 09:12:46 +00:00
Weblate
ba38e778dd Update translation files
Updated by "Remove blank strings" hook in Weblate.

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/
2022-05-29 03:22:05 -04:00
Weblate
42cbd921af Update translation files
Updated by "Remove blank strings" hook in Weblate.

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/
2022-05-29 03:22:04 -04:00
azumukupoe
d5238622cb Translated using Weblate (Japanese)
Currently translated at 68.3% (337 of 493 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ja/
2022-05-29 03:22:03 -04:00
Niels van Velzen
421df7696c Propagate errors from ItemRowAdapter to RetrieveFinishedListener 2022-05-29 09:08:15 +02:00
Niels van Velzen
b9e566902e Remove MathUtils 2022-05-28 22:52:48 +02:00
Andy Walsh
f9b647c7e2 Add Vimu external player support and fix some MX Player issues
* add Vimu external player support
* add better title support on external playback
* add filename to mx player extras
* fix mPosition conversion to int
* add detection for playback completion
2022-05-28 16:34:33 +02:00
Cameron
5e767ad7d1 fix player track selection - offset MediaStream indexes to account for external tracks (#1732)
* offset mediastream indexes used for player track selection to account for external tracks

* use imports for libVLC classes
2022-05-28 13:59:06 +02:00
Renovate Bot
d1d27e1762 Update Kotlin to v1.6.2 2022-05-27 21:47:31 +02:00
Renovate Bot
da0a8a4ff1 Update aboutlibraries to v10.3.0 2022-05-27 18:29:27 +02:00
Renovate Bot
2e926390b9 Update dependency com.android.tools.build:gradle to v7.2.1 2022-05-25 19:18:30 +02:00
radimous
7307a85740 Translated using Weblate (Czech)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/cs/
2022-05-22 05:22:01 -04:00
Renovate Bot
9a7c5b9d86 Pin dependencies 2022-05-20 22:21:24 +02:00
Renovate Bot
0f6ed41b9d Update dependency androidx.constraintlayout:constraintlayout to v2.1.4 2022-05-20 22:12:46 +02:00
Niels van Velzen
06df00f7e7 Add splashscreen to login 2022-05-19 13:55:33 +02:00
Johnny Lin
77b50bd2a4 Translated using Weblate (Chinese (Traditional))
Currently translated at 96.7% (477 of 493 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/zh_Hant/
2022-05-19 06:22:00 -04:00
Bill Thornton
aad9eace35 Remove a useless local variable 2022-05-18 22:09:47 +02:00
Weevild
f3d494790a Translated using Weblate (Swedish)
Currently translated at 50.0% (2 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/sv/
2022-05-16 13:13:55 -04:00
Renovate Bot
ff996cebaa Update dependency org.jellyfin.sdk:jellyfin-core to v1.3.0-beta.3 2022-05-16 12:38:52 +02:00
José Albano
9168bdc339 Translated using Weblate (Spanish)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/es/
2022-05-16 04:13:55 -04:00
José Albano
41d8aab873 Translated using Weblate (Spanish)
Currently translated at 100.0% (493 of 493 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es/
2022-05-16 04:13:55 -04:00
Niels van Velzen
e8f14cf83a Update popup menu theme 2022-05-14 10:07:02 +02:00
Niels van Velzen
fd7180f498 Add popupmenu for servers in SelectServerFragment 2022-05-14 10:06:34 +02:00
Niels van Velzen
aeff8940aa Add popupmenu for users in ServerFragment 2022-05-14 10:06:34 +02:00
Niels van Velzen
5fa4e287fc Add MenuBuilder and DefaultCardView.setPopupMenu to easily create context menus for cards 2022-05-14 10:06:34 +02:00
Niels van Velzen
eaf8db542e Move DefaultCardView animation duration to integers.xml 2022-05-14 10:06:34 +02:00
Renovate Bot
f903bf11ed Update aboutlibraries to v10.2.0 2022-05-13 17:10:55 +02:00
Renovate Bot
f214af3103 Update dependency org.jetbrains.kotlinx:kotlinx-serialization-json to v1.3.3 2022-05-12 15:34:10 +02:00
Renovate Bot
c566930aa9 Update dependency io.mockk:mockk to v1.12.4 2022-05-11 18:46:07 +02:00
Page Asgardius
e807f6f893 Translated using Weblate (Spanish (Mexico))
Currently translated at 97.3% (480 of 493 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es_MX/
2022-05-11 12:13:54 -04:00
hoanghuy309
ef433ab97f Translated using Weblate (Vietnamese)
Currently translated at 98.1% (484 of 493 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/vi/
2022-05-11 06:13:54 -04:00
newton181
5a78b7862a Translated using Weblate (Spanish (Latin America))
Currently translated at 96.1% (474 of 493 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es_419/
2022-05-10 23:13:54 -04:00
kraus
bed370a9e5 Translated using Weblate (Polish)
Currently translated at 97.7% (482 of 493 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pl/
2022-05-10 15:13:53 -04:00
Moritz
c32cd64068 Translated using Weblate (German)
Currently translated at 100.0% (493 of 493 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/de/
2022-05-10 12:13:53 -04:00
Renovate Bot
1f1f403838 Update koin to v3.2.0 2022-05-10 08:38:29 +02:00
Renovate Bot
17ab2abe8d Update dependency com.android.tools.build:gradle to v7.2.0 2022-05-09 22:02:02 +02:00
Oatavandi
820936ec46 Translated using Weblate (Tamil)
Currently translated at 100.0% (493 of 493 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ta/
2022-05-08 02:13:53 -04:00
wolong gl
b523fee047 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/zh_Hans/
2022-05-07 03:13:53 -04:00
Oskari Lavinto
f044790748 Translated using Weblate (Finnish)
Currently translated at 98.5% (486 of 493 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fi/
2022-05-07 03:13:52 -04:00
wolong gl
bee9d363ee Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (493 of 493 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/zh_Hans/
2022-05-07 03:13:52 -04:00
millallo
3999c817a2 Translated using Weblate (Italian)
Currently translated at 100.0% (493 of 493 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/it/
2022-05-07 03:13:52 -04:00
Niels van Velzen
876e6bc5e9 Use JF_BOT_TOKEN in app-publish workflow 2022-05-06 20:31:30 +02:00
cameron
408f6073d0 revert subtitle alignment back to left align, fix srt newline parsing 2022-05-05 19:33:03 +02:00
nextlooper42
45324cd0d0 Translated using Weblate (Slovak)
Currently translated at 100.0% (493 of 493 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sk/
2022-05-05 12:13:52 -04:00
Renovate Bot
56b4d0f463 Update com.github.bumptech.glide to v4.13.2 2022-05-05 08:34:48 +02:00
blob03
38240fa9f1 Translated using Weblate (French)
Currently translated at 100.0% (493 of 493 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fr/
2022-05-04 17:13:51 -04:00
Niels van Velzen
b7cb47bc42 Remove sound effects from ItemRowView 2022-05-04 18:46:10 +02:00
Niels van Velzen
0918c73ed2 Inline drawable resources 2022-05-04 10:03:40 +02:00
WWWesten
07b9c84e3b Translated using Weblate (Esperanto)
Currently translated at 100.0% (493 of 493 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/eo/
2022-05-04 03:13:51 -04:00
Csaba
9319d05eaf Translated using Weblate (Hungarian)
Currently translated at 100.0% (493 of 493 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/hu/
2022-05-04 03:13:51 -04:00
WWWesten
82c2403b76 Translated using Weblate (Russian)
Currently translated at 100.0% (493 of 493 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ru/
2022-05-04 03:13:51 -04:00
WWWesten
b48f7da67f Translated using Weblate (Kazakh)
Currently translated at 100.0% (493 of 493 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/kk/
2022-05-04 03:13:51 -04:00
Renovate Bot
756f534e57 Update kotest to v5.3.0 2022-05-03 21:00:25 +02:00
Weblate
702853a540 Update translation files
Updated by "Cleanup translation files" hook in Weblate.

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/
2022-05-03 12:26:34 -04:00
Niels van Velzen
6bfe7bb617 Add dash between server address and issue in ServerAddFragment 2022-05-03 18:26:30 +02:00
Niels van Velzen
1f46104642 Redesign AddServerFragment 2022-05-03 18:26:30 +02:00
millallo
a522a2f9a8 Translated using Weblate (Italian)
Currently translated at 99.5% (491 of 493 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/it/
2022-05-03 07:13:51 -04:00
Thomas Schwery
632fa162a5 Translated using Weblate (French)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/fr/
2022-05-03 04:13:51 -04:00
WWWesten
26fe507ef4 Translated using Weblate (Esperanto)
Currently translated at 100.0% (493 of 493 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/eo/
2022-05-03 04:13:51 -04:00
Csaba
08123209de Translated using Weblate (Hungarian)
Currently translated at 100.0% (493 of 493 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/hu/
2022-05-03 04:13:51 -04:00
WWWesten
8e6aaaac86 Translated using Weblate (Russian)
Currently translated at 100.0% (493 of 493 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ru/
2022-05-03 04:13:51 -04:00
WWWesten
26aadee010 Translated using Weblate (Kazakh)
Currently translated at 100.0% (493 of 493 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/kk/
2022-05-03 04:13:51 -04:00
Thomas Schwery
f07994752d Translated using Weblate (French)
Currently translated at 97.3% (480 of 493 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fr/
2022-05-03 04:13:51 -04:00
Weblate
1115ad9773 Update translation files
Updated by "Cleanup translation files" hook in Weblate.

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/
2022-05-02 12:57:36 -04:00
Rhodri
0880f4c1be Translated using Weblate (Welsh)
Currently translated at 31.7% (156 of 491 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/cy/
2022-05-02 12:57:35 -04:00
Cameron
6dafe0a9d0 Use enum for refresh rate switching setting - allow choosing between scaling on device or on tv (#1647)
* use enum for refresh rate switching preference

* fixed enum value comments

* renamed preference key

* log every considered mode, restored accidentally deleted string

* added missing brackets

* updated comment for migration, use original depends for preference screen

* renamed string

* offset default resolutionDifference by 1 to fix SCALE_ON_DEVICE ranking
2022-05-02 18:57:30 +02:00
Weblate
7ab7563f89 Update translation files
Updated by "Cleanup translation files" hook in Weblate.

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/
2022-05-02 10:45:02 -04:00
cameron
04967b5811 initialize video manager when falling back to vlc 2022-05-02 16:44:58 +02:00
WWWesten
f6d60da090 Translated using Weblate (Esperanto)
Currently translated at 100.0% (491 of 491 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/eo/
2022-05-02 09:13:51 -04:00
Csaba
62326fe6a6 Translated using Weblate (Hungarian)
Currently translated at 100.0% (491 of 491 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/hu/
2022-05-02 09:13:51 -04:00
WWWesten
799ddc9742 Translated using Weblate (Russian)
Currently translated at 100.0% (491 of 491 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ru/
2022-05-02 09:13:51 -04:00
WWWesten
15cd147bd7 Translated using Weblate (Kazakh)
Currently translated at 100.0% (491 of 491 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/kk/
2022-05-02 09:13:51 -04:00
Weblate
82c28eb9cc Update translation files
Updated by "Cleanup translation files" hook in Weblate.

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/
2022-05-02 02:56:59 -04:00
Niels van Velzen
bf358bfd4c Increase margin for "connecting to" subtitle in login fragment 2022-05-02 08:56:55 +02:00
Niels van Velzen
090678ce25 Implement QuickConnect 2022-05-02 08:56:55 +02:00
Niels van Velzen
9feaf107b2 Fix button remapping not saving the new button 2022-05-01 22:28:04 +02:00
Niels van Velzen
4462fd64a7 Add season id when querying video queue based on episode 2022-05-01 22:27:50 +02:00
Niels van Velzen
dd19e23a59 Update LicensesScreen to new AboutLibraries API 2022-05-01 22:27:34 +02:00
Renovate Bot
7005df16c3 Update dependency com.mikepenz:aboutlibraries-core to v10 2022-05-01 22:27:34 +02:00
Renovate Bot
47f256a4e3 Update plugin detekt to v1.20.0 2022-04-30 11:13:02 +02:00
Niels van Velzen
9a0fd6cd43 Update ACRA dialog builder code 2022-04-29 20:57:13 +02:00
Renovate Bot
9675ba2caa Update ch.acra to v5.9.3 2022-04-29 20:57:13 +02:00
Niels van Velzen
ec652b8950 Fix nullability issue in PreferencesFragment 2022-04-29 20:52:42 +02:00
Renovate Bot
213cd633e7 Update dependency androidx.preference:preference-ktx to v1.2.0 2022-04-29 20:52:42 +02:00
Renovate Bot
831035db04 Update io.kotest to v5.2.3 2022-04-29 20:40:47 +02:00
Renovate Bot
3795fe89ef Update dependency com.squareup.leakcanary:leakcanary-android to v2.9.1 2022-04-29 20:33:32 +02:00
Renovate Bot
f8dd24a73d Update com.github.bumptech.glide to v4.13.1 2022-04-29 19:41:35 +02:00
Renovate Bot
a4ae98fdb4 Update org.jetbrains.kotlinx 2022-04-29 18:45:17 +02:00
Renovate Bot
bf95ddca0c Update dependency org.jetbrains.kotlin:kotlin-gradle-plugin to v1.6.21 2022-04-29 17:58:06 +02:00
Renovate Bot
6d13eb75e4 Update dependency io.mockk:mockk to v1.12.3 2022-04-29 17:57:06 +02:00
Renovate Bot
7c38864f65 Update dependency com.android.tools.build:gradle to v7.1.3 2022-04-29 17:06:09 +02:00
Renovate Bot
b383fd5774 Update dependency androidx.fragment:fragment-ktx to v1.4.1 2022-04-29 17:05:06 +02:00
Renovate Bot
2aed16ac2f Update dependency androidx.appcompat:appcompat to v1.4.1 2022-04-29 17:04:28 +02:00
Renovate Bot
212c11368c Update dependency androidx.constraintlayout:constraintlayout to v2.1.3 2022-04-29 17:03:56 +02:00
Renovate Bot
17defd5705 Update dependency androidx.window:window to v1.0.0 2022-04-29 17:03:19 +02:00
Renovate Bot
74be025ccb Update io.insert-koin to v3.1.6 2022-04-29 17:02:42 +02:00
Niels van Velzen
448fc99291 Delete dependabot.yml 2022-04-28 22:08:36 +02:00
renovate[bot]
31af06ee77 Configure Renovate (#1650)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Niels van Velzen <nielsvanvelzen@users.noreply.github.com>
2022-04-28 21:18:53 +02:00
dependabot[bot]
57e814844c Bump github/codeql-action from 1 to 2
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 1 to 2.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/v1...v2)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-25 19:12:09 +02:00
MardukGD
4588872cb8 Translated using Weblate (Polish)
Currently translated at 99.5% (482 of 484 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pl/
2022-04-24 19:13:48 -04:00
Martim Pinheiro
d7889072cd Translated using Weblate (Portuguese (Portugal))
Currently translated at 75.0% (3 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/pt_PT/
2022-04-24 13:13:49 -04:00
Martim Pinheiro
e2015dd288 Translated using Weblate (Portuguese (Portugal))
Currently translated at 99.1% (480 of 484 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pt_PT/
2022-04-24 13:13:48 -04:00
Oskari Lavinto
50abc9b901 Translated using Weblate (Finnish)
Currently translated at 99.1% (480 of 484 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fi/
2022-04-23 07:13:47 -04:00
m33ts4k0z
52d0745ada Translated using Weblate (Greek)
Currently translated at 87.6% (424 of 484 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/el/
2022-04-20 19:13:46 -04:00
nextlooper42
c88edf4c3f Translated using Weblate (Slovak)
Currently translated at 100.0% (484 of 484 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sk/
2022-04-20 10:13:46 -04:00
Niels van Velzen
c3acae06cb Update Jellyfin SDK to 1.3.0-beta.2 2022-04-19 20:45:44 +02:00
Niels van Velzen
bd114167ef Hide currently watching video from next up integration 2022-04-19 13:16:34 +02:00
Niels van Velzen
5d120f2198 Use SDK models in PhotoPlayerActivity 2022-04-19 07:58:59 +02:00
Niels van Velzen
b94fe0f2a6 Update to Kotlin SDK 1.3.0 (Jellyfin 10.8) 2022-04-18 10:21:49 +02:00
Weblate
59ef25091a Update translation files
Updated by "Cleanup translation files" hook in Weblate.

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/
2022-04-17 05:39:40 -04:00
Niels van Velzen
62a19a56fd Fix not opening last active server on authentication clearance 2022-04-17 11:39:36 +02:00
Weblate
cfd8d4d6c4 Update translation files
Updated by "Cleanup translation files" hook in Weblate.

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/
2022-04-17 04:45:28 -04:00
Niels van Velzen
ec6ac9b6e0 Catch exceptions in SocketHandler.updateSession 2022-04-17 10:45:24 +02:00
Niels van Velzen
e4ad084824 Refactor authentication code 2022-04-17 10:45:24 +02:00
zero0200
dc57413fac Translated using Weblate (Thai)
Currently translated at 15.6% (76 of 486 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/th/
2022-04-16 15:13:46 -04:00
Niels van Velzen
748dd56dec Update playback rewrite build files 2022-04-16 12:53:21 +02:00
ccrisinel
a80d303bc2 Translated using Weblate (French)
Currently translated at 100.0% (486 of 486 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fr/
2022-04-15 18:13:44 -04:00
Niels van Velzen
33005e3939 Refactor preference code
- Allow migrations in all store types
- Remove blocking functions from the preference module
- Move Preference.xx functions to global functions
2022-04-15 16:07:36 +02:00
Niels van Velzen
0e9281388a Move preference code to new preference module 2022-04-13 09:40:06 +02:00
Niels van Velzen
5ecaf93b27 Fix WebSocket connection not always reconnecting on session start 2022-04-13 09:30:08 +02:00
David Fairbrother
0d12a149f8 Bump to Exoplayer 1.27.1
This release has been out for 4 weeks (at the time of this commit) so it
reasonably well baked.

Some highlights that might help us from their release notes:
( https://github.com/google/ExoPlayer/releases/tag/r2.17.0 )

- Update video and audio track selection logic to only choose formats for adaptive selections that have the same level of decoder and hardware support
- Update video track selection logic to prefer more efficient codecs if multiple codecs are supported by primary, hardware-accelerated decoders
- Prefer audio content preferences (for example, the "default" audio track or a track matching the system locale language) over technical track selection constraints (for example, preferred MIME type, or maximum channel count).
- Fix decoder fallback logic for Dolby Vision to use a compatible H264/H265 decoder if needed.
- Fix decoder fallback logic for Dolby Atmos (E-AC3-JOC) to use a compatible E-AC3 decoder if needed.
- (HLS) Use chunkless preparation by default to improve start up time.
2022-04-12 12:57:44 +02:00
dependabot[bot]
0c0aee4194 Bump actions/upload-artifact from 2 to 3
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 2 to 3.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v2...v3)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-11 21:08:17 +02:00
dependabot[bot]
7b1b678fcd Bump actions/setup-java from 2 to 3
Bumps [actions/setup-java](https://github.com/actions/setup-java) from 2 to 3.
- [Release notes](https://github.com/actions/setup-java/releases)
- [Commits](https://github.com/actions/setup-java/compare/v2...v3)

---
updated-dependencies:
- dependency-name: actions/setup-java
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-11 21:07:58 +02:00
Niels van Velzen
94b2eb9046 Update Kotlin SDK to 1.2.0-beta.2 2022-04-10 13:31:08 +02:00
millallo
063242ab82 Translated using Weblate (Italian)
Currently translated at 25.0% (1 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/it/
2022-04-09 05:13:42 -04:00
naveensrinivasan
f76ad3765e Set permissions for GitHub actions
- Included permissions for the action. https://github.com/ossf/scorecard/blob/main/docs/checks.md#token-permissions

https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#permissions

https://docs.github.com/en/actions/using-jobs/assigning-permissions-to-jobs

[Keeping your GitHub Actions and workflows secure Part 1: Preventing pwn requests](https://securitylab.github.com/research/github-actions-preventing-pwn-requests/)

 Restrict the GitHub token permissions only to the required ones; this way, even if the attackers will succeed in compromising your workflow, they won’t be able to do much.

Signed-off-by: naveensrinivasan <172697+naveensrinivasan@users.noreply.github.com>
2022-04-09 11:07:47 +02:00
David Fairbrother
67bd4db38d Annotate nullability for java classes
Annotate the parameters as @nonnull for our new subscribe method, and
init which is just adjacent too
2022-04-08 12:56:15 +02:00
David Fairbrother
2d9936b02f Extract existing callback logic into interface
Many call-backs already exist between the VideoManager and
PlaybackController. But they are created on an ad-hoc basis in various
methods.

By extracting these out to a method it means we can:
- Remove the boilerplate of @Override methods in PlaybackController
- Easily refactor these into a seperate class long-term
- Add new handlers
- Pass parameters around in the future
- Not have everything dispatch to a simple onEvent.

This also makes extending the interface easier where we have exoplayer
only notifications (such as onPlaybackSpeedChanged). Since the VLC code
can simply call the notifier without going through a PlaybackListener
2022-04-08 12:56:15 +02:00
Oatavandi
4528eefb99 Translated using Weblate (Tamil)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/ta/
2022-04-07 12:13:41 -04:00
Oatavandi
724c91655e Translated using Weblate (Tamil)
Currently translated at 100.0% (486 of 486 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ta/
2022-04-07 12:13:41 -04:00
millallo
f3721ebc97 Translated using Weblate (Italian)
Currently translated at 100.0% (486 of 486 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/it/
2022-04-06 05:13:41 -04:00
Renaldo Eduardo Freire
75c339ab1b Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (486 of 486 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pt_BR/
2022-04-05 09:13:41 -04:00
Niels van Velzen
98aea02244 Remove TvApp.java 2022-04-05 13:14:17 +02:00
Niels van Velzen
846af69cee Use context for ItemRowAdapter in MediaManager 2022-04-05 13:14:17 +02:00
Niels van Velzen
8c2f64a033 Use context in ItemRowAdapter 2022-04-05 13:14:17 +02:00
Niels van Velzen
2eee420449 Use context in MediaManager 2022-04-05 13:14:17 +02:00
David Fairbrother
8dec56659d Remove obsolete annotation from VideoManager
This one was noticed during refactoring and it's fairly free. Now we use
a float (rather than a Float object) the nullable annotation is
incorrect.
2022-04-05 10:11:03 +02:00
David Fairbrother
752fb114e1 Extract getting max bitrate into call param
Since we are doing this three times we can simply move it out of these
methods. This makes it easier for us to calculate a dynamic bitrate
later.
2022-04-05 10:11:03 +02:00
David Fairbrother
431265c81e Extract methods to populate video options for VLC and ExoPlayer
Since we will be touching this code in a later commit it makes sense to
extract these into private methods as-is.
This commit only extracts the options and does not perform any
additional refactoring steps
2022-04-05 10:11:03 +02:00
Wang Xing Kai
3d7edff19d Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/zh_Hant/
2022-04-04 21:13:43 -04:00
Carlos Perez
8376b09b78 Translated using Weblate (Spanish (Argentina))
Currently translated at 99.1% (482 of 486 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es_AR/
2022-04-04 21:13:43 -04:00
Wang Xing Kai
0d1f74fae5 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (486 of 486 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/zh_Hant/
2022-04-04 21:13:42 -04:00
Casper
2fd076b22c Translated using Weblate (Danish)
Currently translated at 69.9% (340 of 486 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/da/
2022-04-04 08:13:40 -04:00
Niels van Velzen
c18568f315 Update activity lifecycle callbacks to act before activity lifecycle events trigger 2022-04-04 12:51:12 +02:00
Niels van Velzen
c9d6553486 Move lastPlayedItem to DataRefreshService 2022-04-04 12:50:56 +02:00
Niels van Velzen
25ea47962d Remove TvApp.getCurrentUser()
Replaced with direct calls to UserRepository
2022-04-03 13:37:11 +02:00
Niels van Velzen
d7ee86ebb7 Require context in Utils.downMixAudio() 2022-04-03 13:26:33 +02:00
Niels van Velzen
282da7f458 Move LIVE_TV constants to separate file 2022-04-03 13:25:34 +02:00
Niels van Velzen
92b7977657 Add PlaybackControllerContainer to store PlaybackController instance 2022-04-03 13:24:08 +02:00
Niels van Velzen
02e5eeddd1 Fix SessionRepository trying to fetch user data when session is null 2022-04-03 10:44:01 +02:00
Niels van Velzen
7aef63dec8 Remove hotdog theme 2022-04-02 13:55:59 +02:00
Niels van Velzen
171e91914a Add UserRepository to replace TvApp.getCurrentUserLiveData()
Also migrates all usages of getCurrentUser to the UserDto from the SDK
2022-04-02 13:53:58 +02:00
cameron
c79b74dbd8 check item id equality instead of item object equality 2022-04-02 09:32:13 +02:00
Cameron
5fd89ed8c9 fix getSubtitleStreamIndex returning the wrong index (#1594)
* dont use mDefaultSubIndex in getSubtitleStreamIndex

* only set mCurrentOptions SubtitleStreamIndex if subtitles load without error

* clear mDefaultSubIndex in switchSubtitleStream
2022-04-01 19:53:23 +02:00
Niels van Velzen
d5d8229fbb Migrate NextUp code to Kotlin flows 2022-04-01 09:41:36 +02:00
Niels van Velzen
c45733ec22 Migrate SessionRepository to Kotlin flows 2022-04-01 09:41:26 +02:00
Niels van Velzen
427c9f9c96 Migrate LoginViewModel and ServerRepository to Kotlin flow 2022-04-01 09:41:17 +02:00
Niels van Velzen
c66ebcc686 Migrate UserViewsRepository to Kotlin flow 2022-04-01 09:41:08 +02:00
Niels van Velzen
4c50444a2c Remove unnecessary DetailItemLoadResponse 2022-04-01 09:40:12 +02:00
Niels van Velzen
ad259d20b1 Remove unnecessary GotFocusEvent 2022-04-01 09:40:02 +02:00
gradle-update-robot
65ebd3dac8 Update Gradle Wrapper from 7.4.1 to 7.4.2.
Signed-off-by: gradle-update-robot <gradle-update-robot@regolo.cc>
2022-04-01 09:39:42 +02:00
Bill Thornton
d890b4477d Merge pull request #1590 from nielsvanvelzen/double-trouble
Fix ASPECT_RATIO_BANNER again
2022-03-31 15:53:34 -04:00
Niels van Velzen
7d1a653c10 Fix ASPECT_RATIO_BANNER again 2022-03-31 21:47:17 +02:00
Oskari Lavinto
cc79497fce Translated using Weblate (Finnish)
Currently translated at 99.1% (482 of 486 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fi/
2022-03-30 09:13:39 -04:00
Catto
72128d1fe4 Translated using Weblate (Portuguese (Portugal))
Currently translated at 84.7% (412 of 486 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pt_PT/
2022-03-30 09:13:38 -04:00
Niels van Velzen
06e286ef22 Move TvApp.canManageRecordings to Utils 2022-03-30 07:32:12 +02:00
Niels van Velzen
5cc2407a9d Remove 10.8 check for HLS support 2022-03-29 14:53:32 +02:00
Niels van Velzen
e2cdab31ea Add appCategory attribute to manifest 2022-03-29 14:52:04 +02:00
Niels van Velzen
6674c0fe63 Fix PreferenceStoreTests location 2022-03-29 08:22:16 +02:00
Niels van Velzen
0a423e8461 Fix MediaManager not checking ContextExtensionsKt.getActivity for null value 2022-03-28 21:44:33 +02:00
Niels van Velzen
b090868222 Remove currentActivity from TvApp 2022-03-28 21:44:33 +02:00
Niels van Velzen
083e7c11ad Migrate WebSocket code to new SocketApi from our SDK 2022-03-28 21:44:33 +02:00
nextlooper42
a39de4e4ef Translated using Weblate (Slovak)
Currently translated at 100.0% (486 of 486 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sk/
2022-03-28 14:04:29 -04:00
小造xu_zh
3743c4cac0 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/zh_Hans/
2022-03-28 10:51:08 -04:00
小造xu_zh
633742a709 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (486 of 486 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/zh_Hans/
2022-03-28 10:51:08 -04:00
Csaba
36142c504e Translated using Weblate (Hungarian)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/hu/
2022-03-28 02:13:38 -04:00
Csaba
c31adb7b17 Translated using Weblate (Hungarian)
Currently translated at 100.0% (486 of 486 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/hu/
2022-03-28 02:13:37 -04:00
WWWesten
1cb13c8577 Translated using Weblate (Esperanto)
Currently translated at 100.0% (486 of 486 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/eo/
2022-03-27 21:13:37 -04:00
WWWesten
659dcf00cd Translated using Weblate (Russian)
Currently translated at 100.0% (486 of 486 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ru/
2022-03-27 21:13:37 -04:00
WWWesten
e1cdd96cb9 Translated using Weblate (Kazakh)
Currently translated at 100.0% (486 of 486 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/kk/
2022-03-27 21:13:37 -04:00
3ole
60ed8f2543 Translated using Weblate (German)
Currently translated at 100.0% (486 of 486 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/de/
2022-03-27 15:13:37 -04:00
Niels van Velzen
db3af65226 Fix ExpandableTextView focusable when text is not ellipsized 2022-03-27 14:09:50 +02:00
Lukáš Kucharczyk
2f9068890e Translated using Weblate (Czech)
Currently translated at 100.0% (486 of 486 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/cs/
2022-03-27 05:55:21 -04:00
Cameron
7491ed175e fixed playFrom() crash, support queueing entire row (eg: last played) (#1568)
* fixed playFrom() crash, support queueing entire row (eg: last played)

* store MediaManager as a variable for readability
2022-03-27 09:16:32 +00:00
Cameron
df015146e2 fixed subtitles not clearing properly when switching (again) (#1571)
* fixed subtitles not clearing properly when switching (again)

* edited a couple comments so they're clearer
2022-03-27 11:10:52 +02:00
DavidFair
82a935c0f4 Refactor duplicated preferences code (#1341)
* Create abstract base class to move common func into

There's a lot of overlap between both preference stores. Additionally,
long-term it would be good to simply abstract away all the property
handling into one location.

That way each store can handle transactions ...etc. but the boilerplate
is in one place

* Unify common functionality from preference stores

Unifies the common bits, this will make it significantly easier to write
future stores.
It also means the most risky parts (de-serializing enums and dynamic
dispatch) are kept in one place. Making debugging / fixes signficantly
easier.

* Add tests for Preference setter/getters

Adds unit tests for the unified setters and getters.
This replicates the work that would be required to add a new store in
the future too.

* Minor tidy-ups

Minor tidy-ups based on other PR comments
- Don't include duplicate interfaces
- Leave formatting alone

* Revert IPreferenceStore rename

Rename IPreferenceStore to PreferenceStore, to match the other
interfaces in the repo

* Merge IPreferenceStore and BasicPreferenceStore

This merges the two classes into a single abstract class
PreferenceScore

We simplify the inheritance chain, keep the various implementation
details in one place and avoid code churn.

An abstract class has to be used so we can mark internal getT and setT
methods protected, and the enum serialization private. An interface
would require us to mark these methods public, polluting the API.

* Address PR comments

- Rename KeyName -> Key
- Move from method body to statement line

* Refactor enum serialization into impl classes

Since this is an implementation detail not all classes may rely on, we
should shift it into the various stores and only test the bare minimum.

* Switch from Junit to KoTest

Switches PreferenceStore test to use KoTest since JUnit has been
completely dropped from the codebase

* Get enum from string backed store directly where possible

In DisplayPreferencesStore we can directly get this from the store and
check for a null, saving a string allocation.

In SharedPreferenceStore, since we don't have access to the backing
store (which was intentional) we call getString instead. Since this is
the only case where null can appear as an empty string value we will
take the small hit to allocate an empty string. That way other users of
the getString interface don't have to check for null types which is a
store implementation detail.

* Reformat Shared code and tidy up test file

- Reformats the SharedPreferenceStoreCode to use less whitespace
- Tidy up the test file, by moving the test class and enum into their
own private sections rather than inside the test class

* Match FunSpec test style to other tests in project

Rather than use an init block we can simply wrap it in the FunSpec
block. This matches the style of all the other tests and removes some
boilerplate too.
2022-03-27 10:54:35 +02:00
David Fairbrother
cfbadba4e3 Switch to using audio time stretching by default
This matches libVLC's normal default. Looking back in the project
history this was set to no stretching from the very start @commit
9528b9a3ee

Since libVLC use it by default and this wasn't a bug fix I propose we
can opt in the audio stretching by default. This should only trigger when
a user selects a playback speed that isn't 1x anyway.
2022-03-27 10:26:07 +02:00
cameron
079d004f2a center align subtitles 2022-03-27 10:23:57 +02:00
Niels van Velzen
de7ff1c0c5 Update Kotlin SDK to 1.2.0-beta.1 2022-03-27 10:21:45 +02:00
3ole
b63cc26f97 Translated using Weblate (German)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/de/
2022-03-26 19:13:37 -04:00
3ole
ff351d7e3c Translated using Weblate (German)
Currently translated at 100.0% (486 of 486 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/de/
2022-03-26 19:13:37 -04:00
Niels van Velzen
808d055c9a Add markdown support for item and server overviews 2022-03-26 14:31:38 +01:00
Niels van Velzen
70dd01c4f3 Use ItemSortBy constants instead of hardcoded strings 2022-03-26 12:22:18 +01:00
Andrea
f1c90445e7 Translated using Weblate (Italian)
Currently translated at 100.0% (486 of 486 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/it/
2022-03-26 07:13:37 -04:00
Niels van Velzen
988f9209c0 Migrate NumberSpinner to Kotlin 2022-03-26 10:23:35 +01:00
Niels van Velzen
3c97879b0c Migrate ObservableHorizontalScrollView to Kotlin 2022-03-26 10:23:35 +01:00
Niels van Velzen
1f25469a33 Migrate TextUnderButton to Kotlin 2022-03-26 10:23:35 +01:00
Niels van Velzen
7cf815d8c0 Migrate MediaInfoCardView to Kotlin 2022-03-26 10:23:35 +01:00
Niels van Velzen
3028b1e69e Migrate NowPlayingBug to Kotlin 2022-03-26 10:23:35 +01:00
Niels van Velzen
f44a7db3d1 Migrate DetailRowView to Kotlin 2022-03-26 10:23:35 +01:00
Niels van Velzen
5f968b8fe9 Rename .java to .kt 2022-03-26 10:23:35 +01:00
WWWesten
2bb4afbd29 Translated using Weblate (Russian)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/ru/
2022-03-25 17:13:37 -04:00
WWWesten
3f20489e71 Translated using Weblate (Esperanto)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/eo/
2022-03-25 17:13:37 -04:00
Polish Jelly
0c703cf614 Translated using Weblate (Polish)
Currently translated at 50.0% (2 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/pl/
2022-03-25 10:13:36 -04:00
nextlooper42
71afd9637a Translated using Weblate (Slovak)
Currently translated at 75.0% (3 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/sk/
2022-03-25 00:13:36 -04:00
Oskari Lavinto
26364184e2 Translated using Weblate (Finnish)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/fi/
2022-03-25 00:13:36 -04:00
WWWesten
66597adbec Translated using Weblate (Russian)
Currently translated at 75.0% (3 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/ru/
2022-03-24 20:13:37 -04:00
WWWesten
68fc7b126b Translated using Weblate (Kazakh)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/kk/
2022-03-24 20:13:37 -04:00
WWWesten
0b0036c7da Translated using Weblate (Esperanto)
Currently translated at 75.0% (3 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/eo/
2022-03-24 20:13:36 -04:00
Weblate
93fdbbcac0 Added translation using Weblate (Thai) 2022-03-24 16:33:50 -04:00
Weblate
24a46d5fd4 Added translation using Weblate (Albanian) 2022-03-24 16:33:46 -04:00
Weblate
1ce9ae5d39 Added translation using Weblate (Punjabi) 2022-03-24 16:33:44 -04:00
Weblate
c6b6573d74 Added translation using Weblate (Kannada) 2022-03-24 16:33:43 -04:00
Bill Thornton
4396fc2f80 Fix crash getting badge image with null base item 2022-03-24 18:43:58 +01:00
wolong gl
f58f8e8e6b Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (486 of 486 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/zh_Hans/
2022-03-24 01:13:36 -04:00
Rhodri
b7b60d4ee6 Translated using Weblate (Welsh)
Currently translated at 32.0% (156 of 486 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/cy/
2022-03-23 22:40:00 -04:00
newton181
7220544d88 Translated using Weblate (Spanish)
Currently translated at 98.5% (479 of 486 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es/
2022-03-23 22:40:00 -04:00
newton181
f868491ba2 Translated using Weblate (Spanish)
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/es/
2022-03-23 18:13:36 -04:00
newton181
674c8612f2 Translated using Weblate (Spanish)
Currently translated at 89.3% (434 of 486 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es/
2022-03-23 18:13:36 -04:00
Bill Thornton
966ed7f3f9 Merge pull request #1559 from nielsvanvelzen/video-end-crash
Fix player crashing when video ends
2022-03-23 16:02:10 -04:00
Niels van Velzen
ea06fc0319 Fix player crashing when video ends 2022-03-23 20:55:59 +01:00
David Fairbrother
d0fba48aaa Replace deprecated EventListener with Listener
Follows the documentation examples for replacing EventListener. The main
change is dropping the custom logic from "onPlayWhenReadyChanged" to
"onIsPlayingChanged" which handles the pause logic.
This is recommended in
https://exoplayer.dev/listening-to-player-events.html#playback-state-changes
2022-03-23 17:14:11 +01:00
Cameron
92d37dc5b3 only parse exoplayer TracksInfo when needed - instead of once every 0.5-2 seconds (#1556)
* only parse TracksInfo when needed

* only set exoplayerAudioIndex if streamType == MediaStreamType.Audio
2022-03-23 17:06:56 +01:00
David Fairbrother
fa7956721e Add handling for updating end time based on playback speed
Adds handling to update the end time based on the user's current
playback speed.

This is a bit hacky since exoplayer is built on the assumption that we
have bi-directional communication to our UI layer. Instead the
CustomPlaybackTransportControlGlue is uni-directional polling the video
manager.

We unfortunately have to use hacky poll tricks to work-around the fact
we can't wire up on the "onPlaybackParametersChanged" call to notify the
glue class. However, in the short-term a 5s "delay" between setting and
updating is more favourable than setting up reverse listening
support.

Re #1509
2022-03-23 17:05:26 +01:00
Niels van Velzen
2edc47049e Remove server and user ItemType from BaseRowItem 2022-03-23 14:46:08 +01:00
Niels van Velzen
989c78fc65 Reformat menu xml files, remove unused icons 2022-03-23 14:45:53 +01:00
Niels van Velzen
26ac67e302 Add Android 12 backup configuration 2022-03-23 14:45:37 +01:00
Niels van Velzen
56fd1c6e6d Translated using Weblate (Dutch)
Currently translated at 50.0% (2 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv-fastlane/nl/
2022-03-22 11:13:36 -04:00
Renaldo Eduardo Freire
18c1509000 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (486 of 486 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pt_BR/
2022-03-22 11:13:35 -04:00
Niels van Velzen
edd6033f03 Translated using Weblate (Dutch)
Currently translated at 25.0% (1 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android TV Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-android-tv-fastlane/nl/
2022-03-22 08:44:29 -04:00
Niels van Velzen
5f1b43c432 Fix ASPECT_RATIO_BANNER 2022-03-22 13:39:53 +01:00
Niels van Velzen
39c21e607a Add fastlane structure to repository 2022-03-22 13:38:31 +01:00
David Fairbrother
ca9c700c16 Modernise with lambdas instead of explicit overrides
This reduces the verbosity and boilerplate around the methods. It makes
sense to do these whilst we're touching the code.
2022-03-22 09:06:24 +01:00
David Fairbrother
855fa1afe3 Select cancel by default on confirmation dialogs
Select cancel so a user doesn't accidentally delete media by hitting
delete twice. Since we ask it's worth adding this extra step, if we need
to remove the extra step it's arguable we can completely remove alert
dialog all-together
2022-03-22 09:06:24 +01:00
Niels van Velzen
5fdffe58c4 Fix preferences crashing 2022-03-22 08:37:14 +01:00
Niels van Velzen
41d7aeb6df Support resume movies in "next up" integration 2022-03-22 08:37:04 +01:00
Niels van Velzen
c90539b4b9 Merge all codec constants into a single object 2022-03-22 08:36:54 +01:00
Niels van Velzen
7172e14b39 Add SubtitleTypes 2022-03-22 08:36:54 +01:00
Niels van Velzen
b17dd5206f Rewrite constants in Kotlin 2022-03-22 08:36:54 +01:00
Niels van Velzen
72125a2dbe Rename .java to .kt 2022-03-22 08:36:54 +01:00
Bill Thornton
038724b7a2 Merge pull request #1542 from nielsvanvelzen/about-version-consistency
Add app name and flavor to version in about section
2022-03-21 15:41:53 -04:00
Bill Thornton
a9c78f401a Merge pull request #1544 from nielsvanvelzen/modelcompat-blurhash-fix
Fix imageBlurHashes must not be null crash
2022-03-21 15:41:36 -04:00
Niels van Velzen
77f31b9893 Fix imageBlurHashes must not be null crash 2022-03-21 20:34:03 +01:00
Oatavandi
64fd4766c8 Translated using Weblate (Tamil)
Currently translated at 100.0% (486 of 486 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ta/
2022-03-21 14:13:35 -04:00
Niels van Velzen
d8695cb1a2 Add app name and flavor to version in about section 2022-03-21 18:40:32 +01:00
nextlooper42
6a2916ac01 Translated using Weblate (Slovak)
Currently translated at 100.0% (486 of 486 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sk/
2022-03-21 08:13:35 -04:00
NunzioArdi
71833d28e1 Translated using Weblate (French)
Currently translated at 99.7% (485 of 486 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fr/
2022-03-21 08:13:35 -04:00
Lukáš Kucharczyk
1b04b6fa0c Translated using Weblate (Czech)
Currently translated at 100.0% (486 of 486 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/cs/
2022-03-21 08:13:35 -04:00
Niels van Velzen
3483876168 Add ripple effect to all buttons (#1522)
* Add ripple effect to all buttons

* Add buttonDefaultHighlightBackground attribute

* Fix some linter warnings in changed files

* Refactor TextUnderButton to support icon tint

* Fix NowPlayingBug not button text color

* Fix item_row not using button text color

* Use setActivated instead of _red icon for TextUnderButton
2022-03-21 10:17:21 +01:00
Niels van Velzen
bd64d144be Use consistent naming & constructors in custom views 2022-03-21 10:13:04 +01:00
Oskari Lavinto
7f77814e75 Translated using Weblate (Finnish)
Currently translated at 98.9% (481 of 486 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fi/
2022-03-21 00:13:35 -04:00
WWWesten
562fd770e1 Translated using Weblate (Esperanto)
Currently translated at 100.0% (486 of 486 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/eo/
2022-03-20 19:13:35 -04:00
WWWesten
0e450f32b0 Translated using Weblate (Russian)
Currently translated at 100.0% (486 of 486 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ru/
2022-03-20 19:13:35 -04:00
WWWesten
80a5d716b5 Translated using Weblate (Kazakh)
Currently translated at 100.0% (486 of 486 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/kk/
2022-03-20 19:13:35 -04:00
WWWesten
f7011afb3c Translated using Weblate (English (United Kingdom))
Currently translated at 100.0% (486 of 486 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/en_GB/
2022-03-20 19:13:35 -04:00
Weblate
25745f35ab Update translation files
Updated by "Cleanup translation files" hook in Weblate.

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/
2022-03-20 06:00:17 -04:00
cameron
19984e1c1d reworked context menu for audio queue
also removed video queue buttons
2022-03-20 11:00:13 +01:00
cameron
f39ba05b38 fix crash from tracepot issue a46fe8ca0001267b
ActionsAdapter.clear() crashes when adapter is already empty
2022-03-20 10:44:57 +01:00
cameron
b1250de574 fix crash from tracepot issue 1d115b860001267b
crash from StreamInfo being null
2022-03-20 10:44:57 +01:00
cameron
a8dea85a1b fix tracepot issue 1a07276a0001267b
fix crash from null leanbackOverlayFragment
2022-03-20 10:44:57 +01:00
Niels van Velzen
f278f4b048 Move AuthenticationSortBy to model package 2022-03-20 10:43:01 +01:00
Niels van Velzen
629dbc9482 Remove LegacyAccountMigration 2022-03-20 10:42:40 +01:00
Niels van Velzen
18aa8c01fd Fully migrate NextUpActivity to SDK 2022-03-20 10:42:20 +01:00
cameron
be89cf276b prefer refresh rates closest to the source refresh rate 2022-03-19 22:47:11 +01:00
cameron
85a49fe757 prefer changing refresh rate without changing resolution 2022-03-19 22:47:11 +01:00
lyaschuchenko
7a6d63984c Translated using Weblate (Ukrainian)
Currently translated at 67.4% (328 of 486 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/uk/
2022-03-18 12:13:36 -04:00
Weevild
df35a441f4 Translated using Weblate (Swedish)
Currently translated at 100.0% (486 of 486 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sv/
2022-03-18 12:13:35 -04:00
TurtleIdiot
6129f90367 Translated using Weblate (Polish)
Currently translated at 100.0% (486 of 486 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pl/
2022-03-17 20:13:35 -04:00
1231 changed files with 62667 additions and 39122 deletions

View File

@@ -2,6 +2,7 @@ root = true
[*]
insert_final_newline = true
max_line_length = 140
trim_trailing_whitespace = true
[{*.kts,*.kt}]
@@ -11,7 +12,7 @@ tab_width = 4
# Disable wildcard imports in IntelliJ/Android Studio
ij_kotlin_name_count_to_use_star_import = 1000
ij_kotlin_name_count_to_use_star_import_for_members = 1000
ij_kotlin_packages_to_use_import_on_demand =
ij_kotlin_packages_to_use_import_on_demand = unset
[*.md]
trim_trailing_whitespace = false

2
.gitattributes vendored
View File

@@ -5,3 +5,5 @@
CONTRIBUTORS.md merge=union
app/src/main/res/values*/strings.xml merge=union
design/src/main/kotlin/token/* linguist-generated

View File

@@ -4,6 +4,24 @@ labels:
- bug
- playback
body:
- type: checkboxes
id: before-posting
attributes:
label: "This issue respects the following points:"
description: All conditions are **required**.
options:
- label: I have discussed this issue in the [Jellyfin forum](https://forum.jellyfin.org/) and/or [troubleshooting chat](https://jellyfin.org/contact) before opening this issue.
required: true
- label: This issue is **not** already reported on [GitHub](https://github.com/jellyfin/jellyfin-androidtv/issues?q=is%3Aopen+is%3Aissue) _(I've searched it)_.
required: true
- label: I agree to follow Jellyfin's [Code of Conduct](https://jellyfin.org/docs/general/community-standards.html#code-of-conduct).
required: true
- label: This report addresses only a single issue; If you encounter multiple issues, kindly create separate reports for each one.
required: true
- type: markdown
attributes:
value: |
## Bug information
- type: textarea
id: description
attributes:
@@ -20,24 +38,6 @@ body:
Instead, I expect …
validations:
required: true
- type: textarea
id: logs
attributes:
label: Logs
description: |
Please paste your client logs (logcat) here, *NOT* server logs (in most cases).
Learn how to capture those logcats [here](https://wiki.lineageos.org/logcat.html).
Make sure that they don't contain any sensitive information like server URL, auth tokens or passwords.
placeholder: Paste logs…
render: shell
- type: textarea
id: logs-ffmpeg
attributes:
label: FFmpeg logs
description: |
Please paste your FFmpeg logs here. You can find these by going to the dashboard of your Jellyfin server.
placeholder: Paste logs…
render: shell
- type: textarea
id: mediainfo
attributes:
@@ -45,24 +45,72 @@ body:
description: |
Please share the media information for the file causing issues. You can use a variety of tools to retrieve this information.
- Use ffprobe (`ffprobe ./file.mp4`)
- Use the Media Info tool (set to text format, download here: https://mediaarea.net/en/MediaInfo)
- Copy the media info from the web interface
placeholder: Paste media info…
render: shell
- type: textarea
id: mediacapabilitiesreport
attributes:
label: Media capabilities report
description: |
Please share the media capability report generated from within the app. To do some follow these steps:
1. Open the Jellyfin for Android TV app
2. Connect to a server **that you have admin access to**
3. Go to Preferences -> Playback -> Advanced playback preferences
4. On the bottom, press the "Report playback capabilities to server" button
5. Go to the logs in your Jellyfin dashboard (in your browser)
6. Open the newest log file, it should be named similar to `upload_Jellyfin Android TV[...].log`
7. Press the "Download" button and paste the file contents
placeholder: Paste capability report contents…
- type: markdown
attributes:
value: |
## Logs
- type: textarea
id: logs
attributes:
label: Client logs
description: |
Please paste your crash logs here if applicable. You can find these in your servers dashboard under "logs".
The file name should start with "upload_org.jellyfin.androidtv".
Make sure that they don't contain any sensitive information like server URL, auth tokens or passwords.
placeholder: Paste logs…
- type: textarea
id: logs-ffmpeg
attributes:
label: FFmpeg logs
description: |
Please paste your FFmpeg logs here. You can find these in your servers dashboard under "logs".
placeholder: Paste logs…
render: shell
- type: markdown
attributes:
value: |
## Environment
- type: input
id: app-version
attributes:
label: Application version
description: The version of the installed Jellyfin Android TV app.
placeholder: 0.12.0
placeholder: 0.18.2
validations:
required: true
- type: dropdown
id: installation-source
attributes:
label: Where did you install the app from?
description: Choose the appropriate app store or installation method.
options:
- Google Play Store
- Amazon Appstore
- F-Droid
- Sideloaded APK
- type: input
id: device-info
attributes:
label: Device information
description: Manufacturer and model
placeholder: Nvidia Shield Pro (2017), Amazon Fire TV Stick v1 (2014)
placeholder: Nvidia Shield TV Pro (2019), Fire TV Stick HD (2020)
validations:
required: true
- type: input
@@ -70,7 +118,7 @@ body:
attributes:
label: Android version
description: Version of the OS and other information (e.g. custom ROM / OEM skin)
placeholder: Android 9, Fire OS 7
placeholder: Android 13, Fire OS 7
validations:
required: true
- type: input
@@ -78,6 +126,18 @@ body:
attributes:
label: Jellyfin server version
description: If on unstable, please specify the commit hash.
placeholder: 10.7.7
placeholder: 10.10.2
validations:
required: true
- type: markdown
attributes:
value: |
## Additional
- type: input
id: other-sources
attributes:
label: Other sources
description: Please link the related forum topics or chat messages that prompted you open this issue.
placeholder: https://forum.jellyfin.org/…
validations:
required: false

View File

@@ -3,6 +3,24 @@ description: Create a bug report
labels:
- bug
body:
- type: checkboxes
id: before-posting
attributes:
label: "This issue respects the following points:"
description: All conditions are **required**.
options:
- label: I have discussed this issue in the [Jellyfin forum](https://forum.jellyfin.org/) and/or [troubleshooting chat](https://jellyfin.org/contact) before opening this issue.
required: true
- label: This issue is **not** already reported on [GitHub](https://github.com/jellyfin/jellyfin-androidtv/issues?q=is%3Aopen+is%3Aissue) _(I've searched it)_.
required: true
- label: I agree to follow Jellyfin's [Code of Conduct](https://jellyfin.org/docs/general/community-standards.html#code-of-conduct).
required: true
- label: This report addresses only a single issue; If you encounter multiple issues, kindly create separate reports for each one.
required: true
- type: markdown
attributes:
value: |
## Bug information
- type: textarea
id: description
attributes:
@@ -24,17 +42,20 @@ body:
attributes:
label: Logs
description: |
Please paste your client logs (logcat) here, *NOT* server logs (in most cases).
Learn how to capture those logcats [here](https://wiki.lineageos.org/logcat.html).
Please paste your crash logs here if applicable. You can find these in your servers dashboard under "logs".
The file name should start with "upload_org.jellyfin.androidtv".
Make sure that they don't contain any sensitive information like server URL, auth tokens or passwords.
placeholder: Paste logs…
render: shell
- type: markdown
attributes:
value: |
## Environment
- type: input
id: app-version
attributes:
label: Application version
description: The version of the installed Jellyfin Android TV app.
placeholder: 0.12.0
placeholder: 0.18.2
validations:
required: true
- type: dropdown
@@ -43,15 +64,16 @@ body:
label: Where did you install the app from?
description: Choose the appropriate app store or installation method.
options:
- Google Play
- Google Play Store
- Amazon Appstore
- F-Droid
- Sideloaded APK
- type: input
id: device-info
attributes:
label: Device information
description: Manufacturer and model
placeholder: Nvidia Shield Pro (2017), Amazon Fire TV Stick v1 (2014)
placeholder: Nvidia Shield TV Pro (2019), Fire TV Stick HD (2020)
validations:
required: true
- type: input
@@ -59,7 +81,7 @@ body:
attributes:
label: Android version
description: Version of the OS and other information (e.g. custom ROM / OEM skin)
placeholder: Android 9, Fire OS 7
placeholder: Android 13, Fire OS 7
validations:
required: true
- type: input
@@ -67,6 +89,18 @@ body:
attributes:
label: Jellyfin server version
description: If on unstable, please specify the commit hash.
placeholder: 10.7.7
placeholder: 10.10.2
validations:
required: true
- type: markdown
attributes:
value: |
## Additional
- type: input
id: other-sources
attributes:
label: Other sources
description: Please link the related forum topics or chat messages that prompted you open this issue.
placeholder: https://forum.jellyfin.org/…
validations:
required: false

View File

@@ -3,12 +3,54 @@ description: Request a new feature
labels:
- enhancement
body:
- type: textarea
id: description
- type: checkboxes
id: before-posting
attributes:
label: Describe the feature you'd like
description: |
A clear and concise description of what you want to request.
You can also attach screenshots or screen recordings to help explain your request.
label: "This request respects the following points:"
description: All conditions are **required**.
options:
- label: This request is **not** already on [GitHub](https://github.com/jellyfin/jellyfin-androidtv/labels/enhancement) _(I've searched it)_.
required: true
- label: I agree to follow Jellyfin's [Code of Conduct](https://jellyfin.org/docs/general/community-standards.html#code-of-conduct).
required: true
- type: textarea
attributes:
label: Problem description
description: Describe the issue you are experiencing or the gap you are trying to address.
placeholder: |
The Android TV app does not support displaying lyrics, while the Jellyfin web interface does.
This creates an inconsistent user experience across platforms.
validations:
required: true
- type: textarea
attributes:
label: Proposed solution
description: Provide a detailed description of what you would like to see implemented or changed.
placeholder: |
The app could display lyrics in the screensaver. Additionally, a lyrics section could be integrated into the page that opens when music is played.
validations:
required: true
- type: textarea
attributes:
label: Alternatives considered
description: Outline any other approaches you have thought about or explored to solve the problem.
placeholder: |
An alternative approach could involve adding a dedicated "Lyrics" button in the app, similar to the Jellyfin web interface.
Users could press this button to open a full-screen lyrics view.
validations:
required: true
- type: textarea
attributes:
label: Additional information
description: Include any relevant details, resources, or screenshots that might help in understanding or implementing the request.
placeholder: Add any additional context here.
validations:
required: false
- type: input
id: other-sources
attributes:
label: Other sources
description: If this topic has been discussed outside of GitHub, please link it.
placeholder: https://forum.jellyfin.org/…
validations:
required: false

View File

@@ -1,10 +0,0 @@
version: 2
updates:
- package-ecosystem: github-actions
directory: /
schedule:
interval: weekly
labels:
- ci
- github-actions
- dependencies

View File

@@ -1,11 +1,15 @@
<!--
Ensure your title is short, descriptive, and in the imperative mood (Fix X, Change Y, instead of Fixed X, Changed Y).
For a good inspiration of what to write in commit messages and PRs please review https://chris.beams.io/posts/git-commit/ and our https://docs.jellyfin.org/general/contributing/issues.html page.
For a good inspiration of what to write in commit messages and PRs please review https://chris.beams.io/posts/git-commit/ and our https://jellyfin.org/docs/general/contributing/issues/ page.
-->
**Changes**
<!-- Describe your changes here in 1-5 sentences. -->
**Code assistance**
<!-- If code assistance was used, describe how it contributed
e.g., code generated by LLM, explanation of code base, debugging guidance. -->
**Issues**
<!-- Tag any issues that this PR solves here.
ex. Fixes # -->

View File

@@ -1,29 +1,37 @@
name: App Build
name: App / Build
on:
push:
branches:
- master
- release-*
pull_request:
permissions:
contents: read
jobs:
build:
runs-on: ubuntu-20.04
name: Build
runs-on: ubuntu-24.04
steps:
- name: Checkout repository
uses: actions/checkout@v3
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Setup Java
uses: actions/setup-java@v2
uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0
with:
distribution: adopt
java-version: 11
cache: gradle
distribution: temurin
java-version-file: .tools-versions
- name: Setup Gradle
uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5.0.2
- name: Assemble debug APKs
run: ./gradlew --build-cache --no-daemon --info assembleDebug
run: ./gradlew assembleDebug
- name: Create publish bundle
run: mkdir -p build/gh-app-publish/; find app/build/ -iname "*.apk" -exec mv "{}" build/gh-app-publish/ \;
- name: Upload artifacts
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: build-artifacts
retention-days: 14
if-no-files-found: error
path: app/build/outputs/apk/debug/*.apk
path: build/gh-app-publish/

View File

@@ -1,4 +1,4 @@
name: App Lint
name: App / Lint
on:
push:
@@ -7,22 +7,28 @@ on:
- release-*
pull_request:
permissions:
contents: read
security-events: write
jobs:
lint:
runs-on: ubuntu-20.04
name: Lint
runs-on: ubuntu-24.04
steps:
- name: Checkout repository
uses: actions/checkout@v3
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Setup Java
uses: actions/setup-java@v2
uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0
with:
distribution: adopt
java-version: 11
cache: gradle
- name: Run detekt and lint task
run: ./gradlew --build-cache --no-daemon --info detekt lint
distribution: temurin
java-version-file: .tools-versions
- name: Setup Gradle
uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5.0.2
- name: Run detekt and lint tasks
run: ./gradlew detekt lint
- name: Upload SARIF files
uses: github/codeql-action/upload-sarif@v1
uses: github/codeql-action/upload-sarif@c10b8064de6f491fea524254123dbe5e09572f13 # v4.35.1
if: ${{ always() }}
with:
sarif_file: .

View File

@@ -1,4 +1,4 @@
name: App Publish
name: App / Publish
on:
push:
@@ -6,33 +6,40 @@ on:
- v*
jobs:
build:
runs-on: ubuntu-20.04
if: ${{ github.repository == 'jellyfin/jellyfin-androidtv' }}
publish:
name: Publish
runs-on: ubuntu-24.04
if: ${{ contains(github.repository_owner, 'jellyfin') }}
steps:
- name: Checkout repository
uses: actions/checkout@v3
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Setup Java
uses: actions/setup-java@v2
uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0
with:
distribution: adopt
java-version: 11
distribution: temurin
java-version-file: .tools-versions
- name: Setup Gradle
uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5.0.2
- name: Set JELLYFIN_VERSION
run: echo "JELLYFIN_VERSION=$(echo ${GITHUB_REF#refs/tags/v} | tr / -)" >> $GITHUB_ENV
- name: Assemble release files
run: ./gradlew --no-daemon --info assemble bundleRelease versionTxt
run: ./gradlew assemble bundleRelease versionTxt
- name: Sign APK
id: signApk
uses: r0adkll/sign-android-release@v1
uses: r0adkll/sign-android-release@349ebdef58775b1e0d8099458af0816dc79b6407 # tag=v1
env:
BUILD_TOOLS_VERSION: "34.0.0"
with:
releaseDirectory: app/build/outputs/apk/release
signingKeyBase64: ${{ secrets.KEYSTORE }}
keyStorePassword: ${{ secrets.KEYSTORE_PASSWORD }}
alias: ${{ secrets.KEY_ALIAS }}
keyPassword: ${{ secrets.KEY_PASSWORD }}
- name: Sign AAB
- name: Sign app bundle
id: signAab
uses: r0adkll/sign-android-release@v1
uses: r0adkll/sign-android-release@349ebdef58775b1e0d8099458af0816dc79b6407 # tag=v1
env:
BUILD_TOOLS_VERSION: "34.0.0"
with:
releaseDirectory: app/build/outputs/bundle/release
signingKeyBase64: ${{ secrets.KEYSTORE }}
@@ -48,30 +55,34 @@ jobs:
mv ${{ steps.signAab.outputs.signedReleaseFile }} build/jellyfin-publish/jellyfin-androidtv-v${{ env.JELLYFIN_VERSION }}-release.aab
mv app/build/version.txt build/jellyfin-publish/
- name: Upload release archive to GitHub release
uses: alexellis/upload-assets@0.3.0
uses: alexellis/upload-assets@13926a61cdb2cb35f5fdef1c06b8b591523236d3 # 0.4.1
env:
GITHUB_TOKEN: ${{ github.token }}
GITHUB_TOKEN: ${{ secrets.JF_BOT_TOKEN }}
with:
asset_paths: '["build/jellyfin-publish/*"]'
- name: Upload release archive to repo.jellyfin.org
uses: burnett01/rsync-deployments@5.2
uses: burnett01/rsync-deployments@0dc935cdecc5f5e571865e60d2a6cdc673704823 # tag=5.2
with:
switches: -vrptz
path: build/jellyfin-publish/
remote_path: /srv/repository/releases/client/androidtv/versions/v${{ env.JELLYFIN_VERSION }}
remote_host: ${{ secrets.DEPLOY_HOST }}
remote_user: ${{ secrets.DEPLOY_USER }}
remote_key: ${{ secrets.DEPLOY_KEY }}
remote_path: /srv/incoming/androidtv/v${{ env.JELLYFIN_VERSION }}/
remote_host: ${{ secrets.REPO_HOST }}
remote_user: ${{ secrets.REPO_USER }}
remote_key: ${{ secrets.REPO_KEY }}
- name: Update repo.jellyfin.org symlinks
uses: appleboy/ssh-action@v0.1.4
uses: appleboy/ssh-action@0ff4204d59e8e51228ff73bce53f80d53301dee2 # v1.2.5
with:
host: ${{ secrets.DEPLOY_HOST }}
username: ${{ secrets.DEPLOY_USER }}
key: ${{ secrets.DEPLOY_KEY }}
host: ${{ secrets.REPO_HOST }}
username: ${{ secrets.REPO_USER }}
key: ${{ secrets.REPO_KEY }}
envs: JELLYFIN_VERSION
script_stop: true
script: |
cd /srv/repository/releases/client/androidtv;
rm -rf *.apk version.txt;
ln -s versions/v${JELLYFIN_VERSION}/jellyfin-androidtv-v${JELLYFIN_VERSION}-*.apk .;
ln -s versions/v${JELLYFIN_VERSION}/version.txt .;
if [ -d "/srv/repository/main/client/androidtv/versions/v${{ env.JELLYFIN_VERSION }}" ] && [ -n "${{ env.JELLYFIN_VERSION }}" ]; then
sudo rm -r /srv/repository/main/client/androidtv/versions/v${{ env.JELLYFIN_VERSION }}
fi
sudo mv /srv/incoming/androidtv/v${{ env.JELLYFIN_VERSION }} /srv/repository/main/client/androidtv/versions/v${{ env.JELLYFIN_VERSION }}
cd /srv/repository/main/client/androidtv;
sudo rm -rf *.apk version.txt;
sudo ln -s versions/v${JELLYFIN_VERSION}/jellyfin-androidtv-v${JELLYFIN_VERSION}-*.apk .;
sudo ln -s versions/v${JELLYFIN_VERSION}/version.txt .;

View File

@@ -1,4 +1,4 @@
name: App Test
name: App / Test
on:
push:
@@ -7,17 +7,22 @@ on:
- release-*
pull_request:
permissions:
contents: read
jobs:
test:
runs-on: ubuntu-20.04
name: Test
runs-on: ubuntu-24.04
steps:
- name: Checkout repository
uses: actions/checkout@v3
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Setup Java
uses: actions/setup-java@v2
uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0
with:
distribution: adopt
java-version: 11
cache: gradle
distribution: temurin
java-version-file: .tools-versions
- name: Setup Gradle
uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5.0.2
- name: Run test task
run: ./gradlew --build-cache --no-daemon --info test
run: ./gradlew test

View File

@@ -1,17 +0,0 @@
name: Gradle update
on:
schedule:
- cron: '0 4 * * *'
jobs:
update:
runs-on: ubuntu-20.04
if: github.repository == 'jellyfin/jellyfin-androidtv'
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Update Gradle Wrapper
uses: gradle-update/update-gradle-wrapper-action@v1
with:
repo-token: ${{ secrets.JF_BOT_TOKEN }}

View File

@@ -1,4 +1,4 @@
name: Gradle validate
name: Gradle / Validate wrapper
on:
push:
@@ -8,11 +8,15 @@ on:
paths:
- '**/gradlе-wrapper.jar'
permissions:
contents: read
jobs:
validate:
runs-on: ubuntu-20.04
name: Validate
runs-on: ubuntu-24.04
steps:
- name: Checkout repository
uses: actions/checkout@v3
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Validate Gradle Wrapper
uses: gradle/wrapper-validation-action@v1
uses: gradle/actions/wrapper-validation@0723195856401067f7a2779048b490ace7a47d7c # v5.0.2

View File

@@ -1,17 +0,0 @@
name: Merge conflict labeler
on:
push:
pull_request_target:
types:
- synchronize
jobs:
triage:
runs-on: ubuntu-20.04
if: github.repository == 'jellyfin/jellyfin-androidtv'
steps:
- uses: eps1lon/actions-label-merge-conflict@v2.0.1
with:
dirtyLabel: merge conflict
repoToken: ${{ secrets.JF_BOT_TOKEN }}

View File

@@ -0,0 +1,18 @@
name: Repo / Label merge conflict
on:
push:
pull_request_target:
types:
- synchronize
jobs:
triage:
name: Triage
runs-on: ubuntu-24.04
if: ${{ contains(github.repository_owner, 'jellyfin') }}
steps:
- uses: eps1lon/actions-label-merge-conflict@1df065ebe6e3310545d4f4c4e862e43bdca146f0 # v3.0.3
with:
dirtyLabel: merge conflict
repoToken: ${{ secrets.JF_BOT_TOKEN }}

View File

@@ -1,4 +1,4 @@
name: Issue stale check
name: Repo / Reply stale issue
on:
schedule:
@@ -10,11 +10,12 @@ permissions:
pull-requests: write
jobs:
stale:
runs-on: ubuntu-20.04
if: github.repository == 'jellyfin/jellyfin-androidtv'
triage:
name: Triage
runs-on: ubuntu-24.04
if: ${{ contains(github.repository_owner, 'jellyfin') }}
steps:
- uses: actions/stale@v5
- uses: actions/stale@b5d41d4e1d5dceea10e7104786b73624c18a190f # v10.2.0
with:
repo-token: ${{ secrets.JF_BOT_TOKEN }}
days-before-stale: 120

1
.gitignore vendored
View File

@@ -4,5 +4,6 @@ local.properties
/.idea
.gradle
.kotlin/
build/
captures/

1
.tools-versions Normal file
View File

@@ -0,0 +1 @@
java 21

View File

@@ -10,6 +10,12 @@
- [joern-h](https://github.com/joern-h)
- [Niels van Velzen](https://github.com/nielsvanvelzen)
- [GodTamIt](https://github.com/GodTamIt)
- [sparky3387](https://github.com/sparky3387)
- [mohd-akram](https://github.com/mohd-akram)
- [3l0w](https://github.com/3l0w)
- [MajMongoose](https://github.com/majmongoose)
- [Olaren15](https://github.com/Olaren15)
- [dtrexler](https://github.com/dtrexler)
# Emby Contributors

View File

@@ -25,9 +25,6 @@
<a href="https://matrix.to/#/+jellyfin:matrix.org">
<img alt="Chat on Matrix" src="https://img.shields.io/matrix/jellyfin:matrix.org.svg?logo=matrix"/>
</a>
<a href="https://www.reddit.com/r/jellyfin">
<img alt="Join our Subreddit" src="https://img.shields.io/badge/reddit-r%2Fjellyfin-%23FF5700.svg"/>
</a>
<br/>
<a href="https://play.google.com/store/apps/details?id=org.jellyfin.androidtv">
<img width="153" alt="Jellyfin on Google Play" src="https://jellyfin.org/images/store-icons/google-play.png"/>
@@ -35,52 +32,46 @@
<a href="https://www.amazon.com/gp/aw/d/B07TX7Z725">
<img width="153" alt="Jellyfin on Amazon Appstore" src="https://jellyfin.org/images/store-icons/amazon.png"/>
</a>
<a href="https://f-droid.org/en/packages/org.jellyfin.androidtv/">
<img width="153" alt="Jellyfin on F-Droid" src="https://jellyfin.org/images/store-icons/fdroid.png"/>
</a>
<br/>
<a href="https://repo.jellyfin.org/releases/client/androidtv/">Download archive</a>
</p>
Jellyfin Android TV is a Jellyfin client for Android TV, Nvidia Shield, and Amazon Fire TV devices.
We welcome all contributions and pull requests! If you have a larger feature in mind please open an
issue so we can discuss the implementation before you start.
Jellyfin Android TV is a Jellyfin client for Android TV, Nvidia Shield, and Amazon Fire TV devices. We welcome all contributions and pull
requests! If you have a larger feature in mind please open an issue so we can discuss the implementation before you start.
## Translating
## Building
Translations can be improved very easily from our
[Weblate](https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv) instance.
Look through the following graphic to see if your native language could use some work!
The app uses Gradle and requires the Android SDK. We recommend using Android Studio, which includes all required dependencies, for
development and building. For manual building without Android Studio make sure a compatible JDK and Android SDK are installed and in your
PATH, then use the Gradle wrapper (`./gradlew`) to build the project with the `assembleDebug` Gradle task to generate an apk file:
<a href="https://translate.jellyfin.org/engage/jellyfin-android/">
<img alt="Detailed Translation Status" src="https://translate.jellyfin.org/widgets/jellyfin-android/-/jellyfin-androidtv/multi-auto.svg"/>
</a>
## Build Process
### Dependencies
- Android Studio
### Build
1. Clone or download this repository
```sh
git clone https://github.com/jellyfin/jellyfin-androidtv.git
cd jellyfin-androidtv
```
2. Open the project in Android Studio and run it from there or build an APK directly through Gradle:
```sh
```shell
./gradlew assembleDebug
```
Add the Android SDK to you PATH environment variable or create the ANDROID_SDK_ROOT variable for
this to work.
The task will create an APK file in the `/app/build/outputs/apk/debug` directory. This APK file uses a different app-id from our stable
builds and can be manually installed to your device.
### Deploy to device/emulator
## Branching
```sh
./gradlew installDebug
```
The `master` branch is the primary development branch and the target for all pull requests. It is **unstable** and may contain breaking
changes or unresolved bugs. For production deployments and forks, always use the latest `release-x.y.z` branch. Do not base production work
or long-lived forks on `master`.
*You can also replace the "Debug" with "Release" to get an optimized release binary.*
Release branches are created at the start of a beta cycle and are kept up to date with each published release. Maintainers will cherry-pick
selected changes into release branches as needed for backports. These branches are reused for subsequent patch releases.
## Translating
Translations can be improved very easily from our [Weblate](https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv)
instance. Look through the following graphic to see if your native language could use some work! We cannot accept changes to translation
files via pull requests.
<p align="center">
<a href="https://translate.jellyfin.org/engage/jellyfin-android/">
<img alt="Detailed Translation Status" src="https://translate.jellyfin.org/widgets/jellyfin-android/-/jellyfin-androidtv/multi-auto.svg"/>
</a>
</p>

View File

@@ -18,4 +18,8 @@
<issue id="Typos" severity="ignore" />
<issue id="UnknownNullness" severity="informational" />
<issue id="UnusedIds" severity="ignore" />
<issue id="UnusedAttribute">
<ignore regexp="usesCleartextTraffic" />
<ignore regexp="networkSecurityConfig" />
</issue>
</lint>

View File

@@ -1,31 +1,29 @@
plugins {
id("com.android.application")
kotlin("android")
kotlin("kapt")
alias(libs.plugins.kotlin.serialization)
alias(libs.plugins.aboutlibraries)
alias(libs.plugins.android.application)
alias(libs.plugins.kotlin.compose)
alias(libs.plugins.kotlin.serialization)
}
android {
namespace = "org.jellyfin.androidtv"
compileSdk = 31
compileSdk = libs.versions.android.compileSdk.get().toInt()
defaultConfig {
minSdk = 21
targetSdk = 31
minSdk = libs.versions.android.minSdk.get().toInt()
targetSdk = libs.versions.android.targetSdk.get().toInt()
// Release version
applicationId = namespace
versionName = project.getVersionName()
versionCode = getVersionCode(versionName!!)
setProperty("archivesBaseName", "jellyfin-androidtv-v$versionName")
}
sourceSets["main"].java.srcDirs("src/main/kotlin")
sourceSets["test"].java.srcDirs("src/test/kotlin")
buildFeatures {
buildConfig = true
viewBinding = true
compose = true
resValues = true
}
compileOptions {
@@ -33,8 +31,8 @@ android {
}
buildTypes {
val release by getting {
isMinifyEnabled = false
release {
proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro")
// Set package names used in various XML files
resValue("string", "app_id", namespace!!)
@@ -47,7 +45,7 @@ android {
buildConfigField("boolean", "DEVELOPMENT", "false")
}
val debug by getting {
debug {
// Use different application id to run release and debug at the same time
applicationIdSuffix = ".debug"
@@ -75,8 +73,10 @@ android {
}
}
val versionTxt by tasks.registering {
val path = buildDir.resolve("version.txt")
base.archivesName.set("jellyfin-androidtv-v${project.getVersionName()}")
tasks.register("versionTxt") {
val path = layout.buildDirectory.asFile.get().resolve("version.txt")
doLast {
val versionString = "v${android.defaultConfig.versionName}=${android.defaultConfig.versionCode}"
@@ -87,8 +87,12 @@ val versionTxt by tasks.registering {
dependencies {
// Jellyfin
implementation(projects.playback)
implementation(libs.jellyfin.apiclient)
implementation(projects.design)
implementation(projects.playback.core)
implementation(projects.playback.jellyfin)
implementation(projects.playback.media3.exoplayer)
implementation(projects.playback.media3.session)
implementation(projects.preference)
implementation(libs.jellyfin.sdk) {
// Change version if desired
val sdkVersion = findProperty("sdk.version")?.toString()
@@ -106,9 +110,12 @@ dependencies {
// Android(x)
implementation(libs.androidx.core)
implementation(libs.androidx.activity)
implementation(libs.androidx.activity.compose)
implementation(libs.androidx.fragment)
implementation(libs.androidx.fragment.compose)
implementation(libs.androidx.leanback.core)
implementation(libs.androidx.leanback.preference)
implementation(libs.androidx.navigation3.ui)
implementation(libs.androidx.preference)
implementation(libs.androidx.appcompat)
implementation(libs.androidx.tvprovider)
@@ -119,22 +126,25 @@ dependencies {
implementation(libs.androidx.window)
implementation(libs.androidx.cardview)
implementation(libs.androidx.startup)
implementation(libs.bundles.androidx.compose)
implementation(libs.accompanist.permissions)
// Dependency Injection
implementation(libs.bundles.koin)
// GSON
implementation(libs.gson)
// Media players
implementation(libs.exoplayer)
implementation(libs.jellyfin.exoplayer.ffmpegextension)
implementation(libs.libvlc)
implementation(libs.androidx.media3.exoplayer)
implementation(libs.androidx.media3.datasource.okhttp)
implementation(libs.androidx.media3.exoplayer.hls)
implementation(libs.androidx.media3.ui)
implementation(libs.jellyfin.androidx.media3.ffmpeg.decoder)
implementation(libs.libass.media3)
// Markdown
implementation(libs.bundles.markwon)
// Image utility
implementation(libs.glide.core)
kapt(libs.glide.compiler)
implementation(libs.kenburnsview)
implementation(libs.bundles.coil)
// Crash Reporting
implementation(libs.bundles.acra)
@@ -146,10 +156,6 @@ dependencies {
implementation(libs.timber)
implementation(libs.slf4j.timber)
// Debugging
if (getProperty("leakcanary.enable")?.toBoolean() == true)
debugImplementation(libs.leakcanary)
// Compatibility (desugaring)
coreLibraryDesugaring(libs.android.desugar)

1
app/proguard-rules.pro vendored Normal file
View File

@@ -0,0 +1 @@
-dontwarn org.commonmark.ext.gfm.strikethrough.Strikethrough

View File

@@ -1,33 +1,26 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="org.jellyfin.androidtv">
android:installLocation="auto">
<!-- Android TV Integration -->
<uses-permission android:name="com.android.providers.tv.permission.WRITE_EPG_DATA" />
<!-- AccountManager permissions -->
<uses-permission
android:name="android.permission.AUTHENTICATE_ACCOUNTS"
android:maxSdkVersion="22" />
<uses-permission
android:name="android.permission.GET_ACCOUNTS"
android:maxSdkVersion="22" />
<uses-permission
android:name="android.permission.MANAGE_ACCOUNTS"
android:maxSdkVersion="22" />
<!-- Generic permissions -->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission
android:name="android.permission.ACCESS_WIFI_STATE"
tools:ignore="LeanbackUsesWifi" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<!-- Search permissions (voice to text) -->
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<!-- Device feature requirements -->
<uses-feature
android:name="android.software.leanback"
android:required="false" />
<uses-feature
android:name="android.hardware.touchscreen"
android:required="false" />
@@ -35,30 +28,36 @@
android:name="android.hardware.microphone"
android:required="false" />
<queries>
<intent>
<action android:name="android.intent.action.VIEW" />
<data
android:host="youtube.com"
android:scheme="https" />
</intent>
<intent>
<action android:name="android.intent.action.VIEW" />
<data android:mimeType="video/*" />
</intent>
</queries>
<application
android:name=".JellyfinApplication"
android:allowBackup="true"
android:banner="@drawable/app_banner"
android:appCategory="video"
android:banner="@mipmap/app_banner"
android:dataExtractionRules="@xml/backup_rules"
android:fullBackupContent="@xml/backup_content"
android:icon="@drawable/app_icon"
android:icon="@mipmap/app_icon"
android:label="@string/app_name"
android:largeHeap="true"
android:roundIcon="@drawable/app_icon_round"
android:networkSecurityConfig="@xml/network_security_config"
android:supportsRtl="true"
android:theme="@style/Theme.Jellyfin"
android:usesCleartextTraffic="true"
tools:ignore="GoogleAppIndexingWarning">
<service
android:name=".auth.AuthenticatorService"
android:exported="false">
<intent-filter>
<action android:name="android.accounts.AccountAuthenticator" />
</intent-filter>
<meta-data
android:name="android.accounts.AccountAuthenticator"
android:resource="@xml/authenticator" />
</service>
android:usesCleartextTraffic="true">
<!-- Screensaver -->
<service
android:name=".integration.dream.LibraryDreamService"
android:exported="true"
@@ -93,19 +92,23 @@
android:exported="true"
android:initOrder="10" />
<activity
android:name=".ui.browsing.MainActivity"
android:screenOrientation="landscape" />
<provider
android:name=".integration.provider.ImageProvider"
android:authorities="${applicationId}.integration.provider.ImageProvider"
android:exported="true"
android:initOrder="10" />
<!-- Authentication -->
<activity
android:name=".ui.startup.StartupActivity"
android:exported="true"
android:launchMode="singleTask"
android:noHistory="true"
android:screenOrientation="landscape"
android:windowSoftInputMode="adjustResize">
android:windowSoftInputMode="adjustNothing">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<action android:name="android.intent.action.SEARCH" />
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.LAUNCHER" />
<category android:name="android.intent.category.LEANBACK_LAUNCHER" />
@@ -115,83 +118,16 @@
android:name="android.app.searchable"
android:resource="@xml/searchable" />
</activity>
<activity-alias
android:name=".startup.StartupActivity"
android:targetActivity=".ui.startup.StartupActivity" />
<!-- Main application -->
<activity
android:name=".ui.playback.PlaybackOverlayActivity"
android:screenOrientation="landscape" />
<activity
android:name=".ui.browsing.GenericFolderActivity"
android:screenOrientation="landscape" />
<activity
android:name=".ui.browsing.UserViewActivity"
android:screenOrientation="landscape" />
<activity
android:name=".ui.browsing.CollectionActivity"
android:screenOrientation="landscape" />
<activity
android:name=".ui.browsing.GroupedItemsActivity"
android:screenOrientation="landscape" />
<activity
android:name=".ui.preference.PreferencesActivity"
android:theme="@style/Theme.Jellyfin.Preferences" />
<activity
android:name=".ui.browsing.SuggestedMoviesActivity"
android:screenOrientation="landscape" />
<activity
android:name=".ui.search.SearchActivity"
android:screenOrientation="landscape" />
<activity
android:name=".ui.itemdetail.FullDetailsActivity"
android:screenOrientation="landscape" />
<activity
android:name=".ui.livetv.LiveTvGuideActivity"
android:screenOrientation="landscape" />
<activity
android:name=".ui.browsing.GenericGridActivity"
android:screenOrientation="landscape" />
<activity
android:name=".ui.browsing.BrowseRecordingsActivity"
android:screenOrientation="landscape" />
<activity
android:name=".ui.browsing.BrowseScheduleActivity"
android:screenOrientation="landscape" />
<activity
android:name=".ui.itemdetail.PhotoPlayerActivity"
android:screenOrientation="landscape" />
<activity
android:name=".ui.itemdetail.ItemListActivity"
android:screenOrientation="landscape" />
<activity
android:name=".ui.playback.AudioNowPlayingActivity"
android:screenOrientation="landscape" />
android:name=".ui.browsing.MainActivity"
android:launchMode="singleTask"
android:windowSoftInputMode="adjustNothing" />
<activity android:name=".ui.playback.ExternalPlayerActivity" />
<activity
android:name=".ui.playback.nextup.NextUpActivity"
android:noHistory="true"
android:screenOrientation="landscape" />
<!-- Playback Rewrite - Temporary -->
<activity android:name=".ui.playback.rewrite.PlaybackForwardingActivity" />
</application>
</manifest>

View File

@@ -1,102 +1,64 @@
package org.jellyfin.androidtv
import android.app.Application
import android.content.Context
import androidx.lifecycle.DefaultLifecycleObserver
import androidx.lifecycle.LifecycleOwner
import androidx.lifecycle.ProcessLifecycleOwner
import androidx.work.BackoffPolicy
import androidx.work.ExistingPeriodicWorkPolicy
import androidx.work.PeriodicWorkRequestBuilder
import androidx.work.WorkManager
import androidx.work.await
import kotlinx.coroutines.DelicateCoroutinesApi
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.GlobalScope
import kotlinx.coroutines.launch
import org.acra.config.dialog
import org.acra.config.httpSender
import org.acra.config.limiter
import org.acra.data.StringFormat
import org.acra.ktx.initAcra
import org.acra.sender.HttpSender
import org.jellyfin.androidtv.auth.SessionRepository
import kotlinx.coroutines.withContext
import org.acra.ACRA
import org.jellyfin.androidtv.data.eventhandling.SocketHandler
import org.jellyfin.androidtv.data.repository.NotificationsRepository
import org.jellyfin.androidtv.integration.LeanbackChannelWorker
import org.jellyfin.androidtv.util.AutoBitrate
import org.koin.android.ext.android.get
import org.koin.android.ext.android.getKoin
import org.jellyfin.androidtv.telemetry.TelemetryService
import org.koin.android.ext.android.inject
import timber.log.Timber
import java.util.concurrent.TimeUnit
@Suppress("unused")
class JellyfinApplication : TvApp() {
class JellyfinApplication : Application() {
override fun onCreate() {
super.onCreate()
// Register application lifecycle events
ProcessLifecycleOwner.get().lifecycle.addObserver(object : DefaultLifecycleObserver {
/**
* Called by the Process Lifecycle when the app is created. It is called after [onCreate].
*/
override fun onCreate(owner: LifecycleOwner) {
// Register activity lifecycle callbacks
getKoin().getAll<ActivityLifecycleCallbacks>().forEach(::registerActivityLifecycleCallbacks)
}
// Don't run in ACRA service
if (ACRA.isACRASenderServiceProcess()) return
/**
* Called by the Process Lifecycle when the app is activated in the foreground (activity opened).
*/
override fun onStart(owner: LifecycleOwner) {
Timber.i("Process lifecycle started")
get<SessionRepository>().restoreDefaultSession()
}
})
val notificationsRepository by inject<NotificationsRepository>()
notificationsRepository.addDefaultNotifications()
}
/**
* Called from the StartupActivity when the user session is started.
*/
@DelicateCoroutinesApi
suspend fun onSessionStart() {
suspend fun onSessionStart() = withContext(Dispatchers.IO) {
val workManager by inject<WorkManager>()
val autoBitrate by inject<AutoBitrate>()
val socketListener by inject<SocketHandler>()
// Update background worker
launch {
// Cancel all current workers
workManager.cancelAllWork().await()
// Recreate periodic workers
workManager.enqueueUniquePeriodicWork(
LeanbackChannelWorker.PERIODIC_UPDATE_REQUEST_NAME,
ExistingPeriodicWorkPolicy.REPLACE,
ExistingPeriodicWorkPolicy.UPDATE,
PeriodicWorkRequestBuilder<LeanbackChannelWorker>(1, TimeUnit.HOURS)
.setBackoffCriteria(BackoffPolicy.LINEAR, 10, TimeUnit.MINUTES)
.build()
).await()
}
// Detect auto bitrate
GlobalScope.launch(Dispatchers.IO) { autoBitrate.detect() }
// Update WebSockets
launch { socketListener.updateSession() }
}
override fun attachBaseContext(base: Context?) {
super.attachBaseContext(base)
initAcra {
buildConfigClass = BuildConfig::class.java
reportFormat = StringFormat.JSON
httpSender {
uri = "https://collector.tracepot.com/a2eda9d9"
httpMethod = HttpSender.Method.POST
}
dialog {
withResTitle(R.string.acra_dialog_title)
withResText(R.string.acra_dialog_text)
withResTheme(R.style.Theme_Jellyfin)
}
limiter {}
}
TelemetryService.init(this)
}
}

View File

@@ -1,22 +0,0 @@
package org.jellyfin.androidtv
import android.content.Context
import android.util.Log
import com.bumptech.glide.GlideBuilder
import com.bumptech.glide.annotation.GlideModule
import com.bumptech.glide.load.engine.DiskCacheStrategy
import com.bumptech.glide.module.AppGlideModule
import com.bumptech.glide.request.RequestOptions
@GlideModule
class JellyfinGlideModule : AppGlideModule() {
override fun applyOptions(context: Context, builder: GlideBuilder): Unit = with(builder) {
setDefaultRequestOptions(
// Set default disk cache strategy
RequestOptions().diskCacheStrategy(DiskCacheStrategy.RESOURCE)
)
// Silence image load errors
setLogLevel(Log.ERROR)
}
}

View File

@@ -1,9 +1,13 @@
package org.jellyfin.androidtv
import android.content.Context
import androidx.lifecycle.ProcessLifecycleOwner
import androidx.lifecycle.lifecycleScope
import androidx.startup.AppInitializer
import androidx.startup.Initializer
import org.jellyfin.androidtv.auth.SessionRepository
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
import org.jellyfin.androidtv.auth.repository.SessionRepository
import org.jellyfin.androidtv.di.KoinInitializer
@Suppress("unused")
@@ -14,7 +18,9 @@ class SessionInitializer : Initializer<Unit> {
.koin
// Restore system session
koin.get<SessionRepository>().restoreDefaultSystemSession()
ProcessLifecycleOwner.get().lifecycleScope.launch(Dispatchers.IO) {
koin.get<SessionRepository>().restoreSession(destroyOnly = false)
}
}
override fun dependencies() = listOf(KoinInitializer::class.java)

View File

@@ -1,93 +0,0 @@
package org.jellyfin.androidtv;
import android.app.Activity;
import android.app.Application;
import androidx.annotation.Nullable;
import androidx.lifecycle.LiveData;
import androidx.lifecycle.MediatorLiveData;
import org.jellyfin.androidtv.ui.livetv.TvManager;
import org.jellyfin.androidtv.ui.playback.PlaybackController;
import org.jellyfin.apiclient.model.dto.BaseItemDto;
import org.jellyfin.apiclient.model.dto.UserDto;
public class TvApp extends Application {
public static final int LIVE_TV_GUIDE_OPTION_ID = 1000;
public static final int LIVE_TV_RECORDINGS_OPTION_ID = 2000;
public static final int VIDEO_QUEUE_OPTION_ID = 3000;
public static final int LIVE_TV_SCHEDULE_OPTION_ID = 4000;
public static final int LIVE_TV_SERIES_OPTION_ID = 5000;
private static TvApp app;
private MediatorLiveData<UserDto> currentUser = new MediatorLiveData<UserDto>();
private BaseItemDto lastPlayedItem;
private PlaybackController playbackController;
private Activity currentActivity;
@Override
public void onCreate() {
super.onCreate();
app = this;
}
@Nullable
public static TvApp getApplication() {
return app;
}
@Deprecated
@Nullable
public UserDto getCurrentUser() {
return currentUser.getValue();
}
@Deprecated
public LiveData<UserDto> getCurrentUserLiveData() {
return currentUser;
}
@Deprecated
public void setCurrentUser(UserDto currentUser) {
this.currentUser.postValue(currentUser);
TvManager.clearCache();
}
/**
* @deprecated This function is causing a **lot** of issues because not all activities will set their self as "currentactivity". Try to receive a Context instance instead.
*/
@Deprecated
@Nullable
public Activity getCurrentActivity() {
return currentActivity;
}
public void setCurrentActivity(Activity activity) {
currentActivity = activity;
}
@Nullable
public PlaybackController getPlaybackController() {
return playbackController;
}
public void setPlaybackController(PlaybackController playbackController) {
this.playbackController = playbackController;
}
public boolean canManageRecordings() {
UserDto currentUser = getCurrentUser();
return currentUser != null && currentUser.getPolicy().getEnableLiveTvManagement();
}
@Nullable
public BaseItemDto getLastPlayedItem() {
return lastPlayedItem;
}
public void setLastPlayedItem(BaseItemDto lastPlayedItem) {
this.lastPlayedItem = lastPlayedItem;
}
}

View File

@@ -1,81 +0,0 @@
package org.jellyfin.androidtv.auth
import android.accounts.Account
import android.accounts.AccountManager
import android.os.Bundle
import org.jellyfin.androidtv.BuildConfig
import org.jellyfin.androidtv.auth.model.AccountManagerAccount
import org.jellyfin.sdk.model.serializer.toUUID
import org.jellyfin.sdk.model.serializer.toUUIDOrNull
import java.util.UUID
import kotlin.coroutines.resume
import kotlin.coroutines.suspendCoroutine
class AccountManagerHelper(
private val accountManager: AccountManager
) {
companion object {
const val ACCOUNT_TYPE = BuildConfig.APPLICATION_ID
const val ACCOUNT_DATA_ID = "$ACCOUNT_TYPE.id"
const val ACCOUNT_DATA_SERVER = "$ACCOUNT_TYPE.server"
const val ACCOUNT_DATA_NAME = "$ACCOUNT_TYPE.name"
const val ACCOUNT_ACCESS_TOKEN_TYPE = "$ACCOUNT_TYPE.access_token"
}
private fun getAccountData(account: Account): AccountManagerAccount = AccountManagerAccount(
id = accountManager.getUserData(account, ACCOUNT_DATA_ID).toUUID(),
server = accountManager.getUserData(account, ACCOUNT_DATA_SERVER).toUUID(),
name = accountManager.getUserData(account, ACCOUNT_DATA_NAME),
accessToken = accountManager.peekAuthToken(account, ACCOUNT_ACCESS_TOKEN_TYPE)
)
suspend fun putAccount(accountManagerAccount: AccountManagerAccount) {
var androidAccount = accountManager.getAccountsByType(ACCOUNT_TYPE)
.firstOrNull { accountManager.getUserData(it, ACCOUNT_DATA_ID)?.toUUIDOrNull() == accountManagerAccount.id }
// Update credentials
if (androidAccount == null) {
androidAccount = Account(accountManagerAccount.name, ACCOUNT_TYPE)
accountManager.addAccountExplicitly(
androidAccount,
"", // Leave password empty
Bundle()
)
accountManager.setUserData(androidAccount, ACCOUNT_DATA_ID, accountManagerAccount.id.toString())
}
// Update name
if (androidAccount.name != accountManagerAccount.name) {
androidAccount = suspendCoroutine { continuation ->
accountManager.renameAccount(androidAccount, accountManagerAccount.name, { continuation.resume(it.result) }, null)
}
}
accountManager.setUserData(androidAccount, ACCOUNT_DATA_NAME, accountManagerAccount.name)
accountManager.setUserData(androidAccount, ACCOUNT_DATA_SERVER, accountManagerAccount.server.toString())
accountManager.setAuthToken(androidAccount, ACCOUNT_ACCESS_TOKEN_TYPE, accountManagerAccount.accessToken)
}
fun removeAccount(accountManagerAccount: AccountManagerAccount) {
val androidAccount = accountManager.getAccountsByType(ACCOUNT_TYPE)
.first { accountManager.getUserData(it, ACCOUNT_DATA_ID)?.toUUIDOrNull() == accountManagerAccount.id }
// Remove current account info
@Suppress("DEPRECATION")
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP_MR1)
accountManager.removeAccountExplicitly(androidAccount)
else
accountManager.removeAccount(androidAccount, null, null)
}
fun getAccounts() = accountManager.getAccountsByType(ACCOUNT_TYPE).map(::getAccountData)
fun getAccountsByServer(server: UUID) = accountManager.getAccountsByType(ACCOUNT_TYPE).filter { account ->
accountManager.getUserData(account, ACCOUNT_DATA_SERVER)?.toUUIDOrNull() == server
}.map(::getAccountData)
fun getAccount(id: UUID) = accountManager.getAccountsByType(ACCOUNT_TYPE).firstOrNull { account ->
accountManager.getUserData(account, ACCOUNT_DATA_ID)?.toUUIDOrNull() == id
}?.let(::getAccountData)
}

View File

@@ -1,81 +0,0 @@
package org.jellyfin.androidtv.auth
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.GlobalScope
import kotlinx.coroutines.launch
import org.jellyfin.androidtv.JellyfinApplication
import org.jellyfin.androidtv.util.apiclient.callApi
import org.jellyfin.androidtv.util.apiclient.callApiEmpty
import org.jellyfin.androidtv.util.sdk.legacy
import org.jellyfin.apiclient.interaction.ApiClient
import org.jellyfin.apiclient.model.apiclient.ServerInfo
import org.jellyfin.apiclient.model.dto.UserDto
import org.jellyfin.apiclient.model.entities.MediaType
import org.jellyfin.apiclient.model.session.ClientCapabilities
import org.jellyfin.apiclient.model.session.GeneralCommandType
import org.jellyfin.sdk.model.DeviceInfo
import timber.log.Timber
class ApiBinder(
private val application: JellyfinApplication,
private val api: ApiClient,
private val authenticationStore: AuthenticationStore,
) {
fun updateSession(session: Session?, deviceInfo: DeviceInfo, resultCallback: ((Boolean) -> Unit)? = null) {
GlobalScope.launch(Dispatchers.IO) {
@Suppress("TooGenericExceptionCaught")
val success = try {
updateSessionInternal(session, deviceInfo)
} catch (throwable: Throwable) {
Timber.e(throwable, "Unable to update legacy API session.")
false
}
resultCallback?.invoke(success)
}
}
private suspend fun updateSessionInternal(session: Session?, deviceInfo: DeviceInfo): Boolean {
if (session == null) {
application.currentUser = null
return true
}
val server = authenticationStore.getServer(session.serverId)
if (server == null) {
Timber.e("Could not bind API because server ${session.serverId} was not found in the store.")
return false
}
api.device = deviceInfo.legacy()
api.SetAuthenticationInfo(session.accessToken, session.userId.toString())
api.EnableAutomaticNetworking(ServerInfo().apply {
id = session.serverId.toString()
name = server.name
address = server.address.removeSuffix("/")
userId = session.userId.toString()
accessToken = session.accessToken
})
// Update currentUser DTO
val user = callApi<UserDto> { callback -> api.GetUserAsync(session.userId.toString(), callback) }
application.currentUser = user
callApiEmpty { callback ->
api.ReportCapabilities(ClientCapabilities().apply {
playableMediaTypes = arrayListOf(MediaType.Video, MediaType.Audio)
supportsMediaControl = true
supportedCommands = arrayListOf(
GeneralCommandType.DisplayContent.toString(),
GeneralCommandType.DisplayMessage.toString(),
)
}, callback)
}
// Connect to WebSocket AFTER HTTP connection confirmed working
// to catch exceptions not catchable with the legacy websocket client
api.ensureWebSocket()
return true
}
}

View File

@@ -1,276 +0,0 @@
package org.jellyfin.androidtv.auth
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.emitAll
import kotlinx.coroutines.flow.flow
import org.jellyfin.androidtv.auth.model.AccountManagerAccount
import org.jellyfin.androidtv.auth.model.AuthenticatedState
import org.jellyfin.androidtv.auth.model.AuthenticatingState
import org.jellyfin.androidtv.auth.model.AuthenticationStoreServer
import org.jellyfin.androidtv.auth.model.AuthenticationStoreUser
import org.jellyfin.androidtv.auth.model.LoginState
import org.jellyfin.androidtv.auth.model.PrivateUser
import org.jellyfin.androidtv.auth.model.RequireSignInState
import org.jellyfin.androidtv.auth.model.Server
import org.jellyfin.androidtv.auth.model.ServerVersionNotSupported
import org.jellyfin.androidtv.auth.model.User
import org.jellyfin.androidtv.preference.AuthenticationPreferences
import org.jellyfin.androidtv.util.ImageUtils
import org.jellyfin.androidtv.util.sdk.forUser
import org.jellyfin.sdk.Jellyfin
import org.jellyfin.sdk.api.client.ApiClient
import org.jellyfin.sdk.api.client.exception.ApiClientException
import org.jellyfin.sdk.api.client.extensions.authenticateUserByName
import org.jellyfin.sdk.api.client.extensions.imageApi
import org.jellyfin.sdk.api.client.extensions.userApi
import org.jellyfin.sdk.model.DeviceInfo
import org.jellyfin.sdk.model.api.ImageType
import timber.log.Timber
import java.util.Date
import java.util.UUID
interface AuthenticationRepository {
fun getServers(): List<Server>
fun getServer(id: UUID): Server?
fun getUsers(server: UUID): List<PrivateUser>?
fun getUser(server: UUID, user: UUID): PrivateUser?
fun saveServer(id: UUID, name: String, address: String, version: String?, loginDisclaimer: String?)
fun authenticateUser(user: User): Flow<LoginState>
fun authenticateUser(user: User, server: Server): Flow<LoginState>
fun login(server: Server, username: String, password: String = ""): Flow<LoginState>
fun logout(user: User)
fun removeUser(user: User)
fun getUserImageUrl(server: Server, user: User): String?
}
class AuthenticationRepositoryImpl(
private val jellyfin: Jellyfin,
private val sessionRepository: SessionRepository,
private val accountManagerHelper: AccountManagerHelper,
private val authenticationStore: AuthenticationStore,
private val userApiClient: ApiClient,
private val authenticationPreferences: AuthenticationPreferences,
private val defaultDeviceInfo: DeviceInfo,
) : AuthenticationRepository {
private val serverComparator = compareByDescending<Server> { it.dateLastAccessed }.thenBy { it.name }
private val userComparator = compareByDescending<PrivateUser> { it.lastUsed }.thenBy { it.name }
private fun AuthenticationStoreServer.asServer(id: UUID) = Server(
id = id,
name = name,
address = address,
version = version,
loginDisclaimer = loginDisclaimer,
dateLastAccessed = Date(lastUsed),
)
override fun getServers() = authenticationStore.getServers()
.map { (id, entry) -> entry.asServer(id) }
.sortedWith(serverComparator)
override fun getServer(id: UUID) = authenticationStore.getServer(id)?.asServer(id)
private fun mapUser(
serverId: UUID,
userId: UUID,
userInfo: AuthenticationStoreUser,
authInfo: AccountManagerAccount?,
) = PrivateUser(
id = authInfo?.id ?: userId,
serverId = authInfo?.server ?: serverId,
name = userInfo.name,
accessToken = authInfo?.accessToken,
requirePassword = userInfo.requirePassword,
imageTag = userInfo.imageTag,
lastUsed = userInfo.lastUsed,
)
override fun getUsers(server: UUID): List<PrivateUser>? =
authenticationStore.getUsers(server)?.mapNotNull { (userId, userInfo) ->
accountManagerHelper.getAccount(userId).let { authInfo ->
mapUser(server, userId, userInfo, authInfo)
}
}?.sortedWith(userComparator)
override fun getUser(server: UUID, user: UUID): PrivateUser? {
val userInfo = authenticationStore.getUser(server, user) ?: return null
val authInfo = accountManagerHelper.getAccount(user) ?: return null
return mapUser(server, user, userInfo, authInfo)
}
override fun saveServer(id: UUID, name: String, address: String, version: String?, loginDisclaimer: String?) {
val current = authenticationStore.getServer(id)
val server = if (current != null) current.copy(name = name, address = address, version = version, loginDisclaimer = loginDisclaimer, lastUsed = Date().time)
else AuthenticationStoreServer(name, address, version, loginDisclaimer)
authenticationStore.putServer(id, server)
}
/**
* Set the active session to the information in [user] and [server].
* Connects to the server and requests the info of the currently authenticated user.
*
* @return Whether the user information can be retrieved.
*/
private suspend fun setActiveSession(user: User, server: Server): Boolean {
val authenticated = sessionRepository.switchCurrentSession(user.id)
if (authenticated) {
// Update last use in store
authenticationStore.getServer(server.id)?.let { storedServer ->
authenticationStore.putServer(server.id, storedServer.copy(lastUsed = Date().time))
}
authenticationStore.getUser(server.id, user.id)?.let { storedUser ->
authenticationStore.putUser(server.id, user.id, storedUser.copy(lastUsed = Date().time))
}
}
return authenticated
}
override fun authenticateUser(user: User): Flow<LoginState> = flow {
Timber.d("Authenticating serverless user %s", user)
emit(AuthenticatingState)
val server = authenticationStore.getServer(user.serverId)?.let {
Server(
id = user.serverId,
name = it.name,
address = it.address,
version = it.version,
loginDisclaimer = it.loginDisclaimer,
dateLastAccessed = Date(it.lastUsed),
)
}
if (server == null) emit(RequireSignInState)
else if (!server.versionSupported) emit(ServerVersionNotSupported(server))
else emitAll(authenticateUser(user, server))
}
override fun authenticateUser(user: User, server: Server): Flow<LoginState> = flow {
Timber.d("Authenticating user %s", user)
emit(AuthenticatingState)
val account = accountManagerHelper.getAccount(user.id)
when {
!server.versionSupported -> emit(ServerVersionNotSupported(server))
// Access token found, proceed with sign in
!authenticationPreferences[AuthenticationPreferences.alwaysAuthenticate] && account?.accessToken != null -> when {
// Update session
setActiveSession(user, server) -> {
// Update stored user
try {
val userInfo by userApiClient.userApi.getCurrentUser()
val currentUser = authenticationStore.getUser(server.id, user.id)
val updatedUser = currentUser?.copy(
name = userInfo.name!!,
requirePassword = userInfo.hasPassword,
imageTag = userInfo.primaryImageTag
) ?: AuthenticationStoreUser(
name = userInfo.name!!,
requirePassword = userInfo.hasPassword,
imageTag = userInfo.primaryImageTag
)
authenticationStore.putUser(server.id, user.id, updatedUser)
accountManagerHelper.putAccount(AccountManagerAccount(user.id, server.id, updatedUser.name, account.accessToken))
emit(AuthenticatedState)
} catch (err: ApiClientException) {
Timber.e(err, "Unable to get current user data")
emit(RequireSignInState)
}
}
// Login failed
else -> when {
// No password required - try login
!user.requirePassword -> emitAll(login(server, user.name))
// Require new sign in
else -> emit(RequireSignInState)
}
}
// User is known to not require a password, try a sign in
!user.requirePassword -> emitAll(login(server, user.name))
// Account found without access token, require sign in
else -> emit(RequireSignInState)
}
}
override fun login(server: Server, username: String, password: String) = flow {
if (!server.versionSupported) {
emit(ServerVersionNotSupported(server))
return@flow
}
val api = jellyfin.createApi(server.address, deviceInfo = defaultDeviceInfo.forUser(username))
val result = try {
val response = api.userApi.authenticateUserByName(username, password)
response.content
} catch (err: ApiClientException) {
Timber.e(err, "Unable to sign in as $username")
emit(RequireSignInState)
return@flow
}
val userInfo = result.user ?: return@flow emit(RequireSignInState)
val userId = userInfo.id
val currentUser = authenticationStore.getUser(server.id, userId)
val updatedUser = currentUser?.copy(
name = userInfo.name!!,
lastUsed = Date().time,
requirePassword = userInfo.hasPassword,
imageTag = userInfo.primaryImageTag
) ?: AuthenticationStoreUser(
name = userInfo.name!!,
requirePassword = userInfo.hasPassword,
imageTag = userInfo.primaryImageTag
)
authenticationStore.putUser(server.id, userId, updatedUser)
val accountManagerAccount = AccountManagerAccount(userId, server.id, updatedUser.name, result.accessToken)
accountManagerHelper.putAccount(accountManagerAccount)
val user = PrivateUser(
id = userId,
serverId = server.id,
name = updatedUser.name,
accessToken = result.accessToken,
requirePassword = userInfo.hasPassword,
imageTag = userInfo.primaryImageTag,
lastUsed = Date().time,
)
// We just added the account so it should activate properly although in rare cases it doesn't.
// this is often caused by issues in the platforms account manager
if (setActiveSession(user, server)) emit(AuthenticatedState)
else {
// Try to remove the account and ask for sign in
accountManagerHelper.removeAccount(accountManagerAccount)
emit(RequireSignInState)
}
}
override fun logout(user: User) {
accountManagerHelper.getAccount(user.id)?.let(accountManagerHelper::removeAccount)
}
override fun removeUser(user: User) {
authenticationStore.removeUser(user.serverId, user.id)
logout(user)
}
override fun getUserImageUrl(server: Server, user: User): String? {
return user.imageTag?.let { imageTag ->
jellyfin.createApi(baseUrl = server.address).imageApi.getUserImageUrl(
userId = user.id,
tag = imageTag,
imageType = ImageType.PRIMARY,
maxHeight = ImageUtils.MAX_PRIMARY_IMAGE_HEIGHT
)
}
}
}

View File

@@ -1,11 +0,0 @@
package org.jellyfin.androidtv.auth
import org.jellyfin.androidtv.R
import org.jellyfin.androidtv.ui.preference.dsl.EnumDisplayOptions
enum class AuthenticationSortBy {
@EnumDisplayOptions(name = R.string.last_use)
LAST_USE,
@EnumDisplayOptions(name = R.string.alphabetical)
ALPHABETICAL
}

View File

@@ -1,49 +0,0 @@
package org.jellyfin.androidtv.auth
import android.accounts.AbstractAccountAuthenticator
import android.accounts.Account
import android.accounts.AccountAuthenticatorResponse
import android.accounts.AccountManager
import android.app.Service
import android.content.Intent
import android.os.Bundle
import android.os.IBinder
import androidx.core.os.bundleOf
import org.jellyfin.androidtv.ui.preference.PreferencesActivity
class AuthenticatorService : Service() {
private val authenticator by lazy {
Authenticator(this)
}
override fun onBind(intent: Intent): IBinder? = authenticator.iBinder
private inner class Authenticator(
private val service: AuthenticatorService
) : AbstractAccountAuthenticator(service) {
private val unsupportedOperationBundle = bundleOf(
AccountManager.KEY_ERROR_CODE to 1,
AccountManager.KEY_ERROR_MESSAGE to "Unsupported operation"
)
override fun addAccount(response: AccountAuthenticatorResponse, accountType: String, authTokenType: String?, requiredFeatures: Array<String>?, options: Bundle): Bundle = unsupportedOperationBundle
override fun confirmCredentials(response: AccountAuthenticatorResponse, account: Account, options: Bundle?): Bundle = unsupportedOperationBundle
override fun editProperties(response: AccountAuthenticatorResponse, accountType: String): Bundle = bundleOf(
AccountManager.KEY_INTENT to Intent(service, PreferencesActivity::class.java)
)
override fun getAccountRemovalAllowed(response: AccountAuthenticatorResponse, account: Account): Bundle = bundleOf(
AccountManager.KEY_BOOLEAN_RESULT to true
)
override fun getAuthToken(response: AccountAuthenticatorResponse, account: Account, authTokenType: String, options: Bundle): Bundle = unsupportedOperationBundle
override fun getAuthTokenLabel(authTokenType: String): String? = null
override fun hasFeatures(response: AccountAuthenticatorResponse, account: Account, features: Array<String>): Bundle = unsupportedOperationBundle
override fun updateCredentials(response: AccountAuthenticatorResponse, account: Account, authTokenType: String?, options: Bundle?): Bundle = unsupportedOperationBundle
}
}

View File

@@ -1,98 +0,0 @@
package org.jellyfin.androidtv.auth
import android.content.Context
import kotlinx.serialization.json.Json
import kotlinx.serialization.json.booleanOrNull
import kotlinx.serialization.json.jsonObject
import kotlinx.serialization.json.jsonPrimitive
import kotlinx.serialization.modules.SerializersModule
import kotlinx.serialization.modules.contextual
import org.jellyfin.androidtv.auth.model.AccountManagerAccount
import org.jellyfin.androidtv.auth.model.AuthenticationStoreServer
import org.jellyfin.androidtv.auth.model.AuthenticationStoreUser
import org.jellyfin.androidtv.preference.SystemPreferences
import org.jellyfin.sdk.model.serializer.UUIDSerializer
import org.jellyfin.sdk.model.serializer.toUUIDOrNull
import timber.log.Timber
class LegacyAccountMigration(
private val context: Context,
private val authenticationStore: AuthenticationStore,
private val accountManagerHelper: AccountManagerHelper,
private val systemPreferences: SystemPreferences,
) {
companion object {
const val LEGACY_CREDENTIAL_FILE = "org.jellyfin.androidtv.login.json"
}
suspend fun migrate() {
val path = context.filesDir.resolve(LEGACY_CREDENTIAL_FILE)
if (path.exists() && !systemPreferences[SystemPreferences.legacyCredentialsMigrated]) {
Timber.d("Starting migration of legacy credentials from $path")
val json = Json {
serializersModule = SerializersModule {
contextual(UUIDSerializer())
}
ignoreUnknownKeys = true
}
val root = json.parseToJsonElement(path.readText()).jsonObject
val server = root["serverInfo"]?.jsonObject
val user = root["userDto"]?.jsonObject
val serverId = server?.get("Id")?.jsonPrimitive?.content?.toUUIDOrNull()
if (serverId != null) {
val serverName = server["Name"]?.jsonPrimitive?.content
val serverAddress = server["Address"]?.jsonPrimitive?.content
val serverVersion = server["Version"]?.jsonPrimitive?.content
if (!authenticationStore.containsServer(serverId)) {
Timber.i("Migrating server $serverId")
authenticationStore.putServer(
id = serverId,
server = AuthenticationStoreServer(
name = serverName ?: "",
address = serverAddress ?: "",
loginDisclaimer = null,
version = serverVersion,
lastRefreshed = 0,
)
)
}
val userId = user?.get("Id")?.jsonPrimitive?.content?.toUUIDOrNull()
if (userId != null && !authenticationStore.containsUser(serverId, userId)) {
Timber.i("Migrating user $userId")
val name = user["Name"]?.jsonPrimitive?.content ?: userId.toString()
val requirePassword = user["HasPassword"]?.jsonPrimitive?.booleanOrNull ?: true
val imageTag = user["PrimaryImageTag"]?.jsonPrimitive?.content
val accessToken = user["AccessToken"]?.jsonPrimitive?.content ?: server["AccessToken"]?.jsonPrimitive?.content
authenticationStore.putUser(
server = serverId,
userId = userId,
userInfo = AuthenticationStoreUser(
name = name,
requirePassword = requirePassword,
imageTag = imageTag
)
)
accountManagerHelper.putAccount(AccountManagerAccount(
id = userId,
server = serverId,
name = name,
accessToken = accessToken?.let {
// Convert empty string to null
if (it.isBlank()) null
else it
}
))
}
}
systemPreferences[SystemPreferences.legacyCredentialsMigrated] = true
} else {
Timber.d("Skipping migration of legacy credentials from $path (file does not exist)")
}
}
}

View File

@@ -1,200 +0,0 @@
package org.jellyfin.androidtv.auth
import androidx.lifecycle.LiveData
import androidx.lifecycle.liveData
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.emitAll
import kotlinx.coroutines.flow.firstOrNull
import kotlinx.coroutines.flow.flow
import kotlinx.coroutines.flow.flowOn
import kotlinx.coroutines.flow.mapNotNull
import org.jellyfin.androidtv.auth.model.ConnectedState
import org.jellyfin.androidtv.auth.model.ConnectingState
import org.jellyfin.androidtv.auth.model.PrivateUser
import org.jellyfin.androidtv.auth.model.PublicUser
import org.jellyfin.androidtv.auth.model.Server
import org.jellyfin.androidtv.auth.model.ServerAdditionState
import org.jellyfin.androidtv.auth.model.UnableToConnectState
import org.jellyfin.androidtv.auth.model.User
import org.jellyfin.androidtv.util.sdk.toPublicUser
import org.jellyfin.androidtv.util.sdk.toServer
import org.jellyfin.sdk.Jellyfin
import org.jellyfin.sdk.api.client.exception.ApiClientException
import org.jellyfin.sdk.api.client.extensions.brandingApi
import org.jellyfin.sdk.api.client.extensions.systemApi
import org.jellyfin.sdk.api.client.extensions.userApi
import org.jellyfin.sdk.discovery.RecommendedServerInfo
import org.jellyfin.sdk.discovery.RecommendedServerInfoScore
import org.jellyfin.sdk.model.api.ServerDiscoveryInfo
import org.jellyfin.sdk.model.api.UserDto
import org.jellyfin.sdk.model.serializer.toUUID
import timber.log.Timber
import java.util.Date
import java.util.UUID
interface ServerRepository {
fun getStoredServers(): List<Server>
fun getDiscoveryServers(): Flow<Server>
suspend fun migrateLegacyCredentials()
fun getServerUsers(server: Server): LiveData<List<User>>
fun removeServer(serverId: UUID): Boolean
fun addServer(address: String): Flow<ServerAdditionState>
suspend fun refreshServerInfo(server: Server): Boolean
companion object {
val minimumServerVersion = Jellyfin.minimumVersion.copy(build = null)
}
}
class ServerRepositoryImpl(
private val jellyfin: Jellyfin,
private val authenticationRepository: AuthenticationRepository,
private val authenticationStore: AuthenticationStore,
private val legacyAccountMigration: LegacyAccountMigration,
) : ServerRepository {
override fun getStoredServers() = authenticationRepository.getServers()
override fun getDiscoveryServers() = flow {
val servers = jellyfin.discovery.discoverLocalServers().mapNotNull(ServerDiscoveryInfo::toServer)
emitAll(servers)
}.flowOn(Dispatchers.IO)
private suspend fun getServerPublicUsers(server: Server): List<PublicUser> {
val api = jellyfin.createApi(server.address)
return try {
val users by api.userApi.getPublicUsers()
users.mapNotNull(UserDto::toPublicUser)
} catch (err: ApiClientException) {
Timber.e(err, "Unable to retrieve public users")
emptyList()
}
}
public override suspend fun refreshServerInfo(server: Server): Boolean {
// Only update existing servers
val serverInfo = authenticationStore.getServer(server.id) ?: return false
val now = Date().time
// Only update every 10 minutes
if (now - serverInfo.lastRefreshed < 600000 && serverInfo.version != null) return false
return try {
val api = jellyfin.createApi(server.address)
// Get login disclaimer
val branding by api.brandingApi.getBrandingOptions()
val systemInfo by api.systemApi.getPublicSystemInfo()
authenticationStore.putServer(server.id, serverInfo.copy(
name = systemInfo.serverName ?: serverInfo.name,
version = systemInfo.version ?: serverInfo.version,
loginDisclaimer = branding.loginDisclaimer ?: serverInfo.loginDisclaimer,
lastRefreshed = now
))
} catch (err: ApiClientException) {
Timber.e(err, "Unable to update server")
false
}
}
private fun getServerStoredUsers(server: Server): List<PrivateUser> = authenticationRepository
.getUsers(server.id)
.orEmpty()
override fun getServerUsers(server: Server): LiveData<List<User>> = liveData {
val users = mutableListOf<User>()
users.addAll(getServerStoredUsers(server))
emit(users.toList())
getServerPublicUsers(server)
.sortedBy { it.name }
.forEach { user ->
val index = users.indexOfFirst { it.id == user.id }
if (index == -1) users.add(user)
else {
users[index] = when (val currentUser = users[index]) {
is PublicUser -> user
is PrivateUser -> currentUser.copy(
name = user.name,
requirePassword = user.requirePassword,
imageTag = user.imageTag
)
}
}
}
emit(users.toList())
}
override suspend fun migrateLegacyCredentials() = legacyAccountMigration.migrate()
override fun removeServer(serverId: UUID) = authenticationStore.removeServer(serverId)
override fun addServer(address: String): Flow<ServerAdditionState> = flow {
Timber.d("Adding server %s", address)
emit(ConnectingState(address))
val addressCandidates = jellyfin.discovery.getAddressCandidates(address)
Timber.d("Found ${addressCandidates.size} candidates")
val goodRecommendations = mutableListOf<RecommendedServerInfo>()
val badRecommendations = mutableListOf<RecommendedServerInfo>()
val greatRecommendaton = jellyfin.discovery.getRecommendedServers(addressCandidates).firstOrNull { recommendedServer ->
when (recommendedServer.score) {
RecommendedServerInfoScore.GREAT -> true
RecommendedServerInfoScore.GOOD -> {
goodRecommendations += recommendedServer
false
}
else -> {
badRecommendations += recommendedServer
false
}
}
}
Timber.d(buildString {
append("Recommendations: ")
if (greatRecommendaton == null) append(0)
else append(1)
append(" great, ")
append(goodRecommendations.size)
append(" good, ")
append(badRecommendations.size)
append(" bad")
})
val chosenRecommendation = greatRecommendaton ?: goodRecommendations.firstOrNull()
if (chosenRecommendation != null && chosenRecommendation.systemInfo.isSuccess) {
// Get system info
val systemInfo = chosenRecommendation.systemInfo.getOrThrow()
// Get branding info
val api = jellyfin.createApi(chosenRecommendation.address).brandingApi
val branding by api.getBrandingOptions()
val id = systemInfo.id!!.toUUID()
authenticationRepository.saveServer(
id = id,
name = systemInfo.serverName ?: "Jellyfin Server",
address = chosenRecommendation.address,
version = systemInfo.version,
loginDisclaimer = branding.loginDisclaimer,
)
emit(ConnectedState(id, systemInfo))
} else {
// No great or good recommendations, only add bad recommendations
val addressCandidatesWithIssues = (badRecommendations + goodRecommendations)
.groupBy { it.address }
.mapValues { (_, entry) -> entry.flatMap { server -> server.issues } }
emit(UnableToConnectState(addressCandidatesWithIssues))
}
}
}

View File

@@ -1,179 +0,0 @@
package org.jellyfin.androidtv.auth
import androidx.lifecycle.LiveData
import androidx.lifecycle.MutableLiveData
import kotlinx.coroutines.runBlocking
import org.jellyfin.androidtv.preference.AuthenticationPreferences
import org.jellyfin.androidtv.preference.PreferencesRepository
import org.jellyfin.androidtv.preference.constant.UserSelectBehavior.DISABLED
import org.jellyfin.androidtv.preference.constant.UserSelectBehavior.LAST_USER
import org.jellyfin.androidtv.preference.constant.UserSelectBehavior.SPECIFIC_USER
import org.jellyfin.androidtv.util.sdk.forUser
import org.jellyfin.sdk.api.client.ApiClient
import org.jellyfin.sdk.model.DeviceInfo
import org.jellyfin.sdk.model.serializer.toUUIDOrNull
import timber.log.Timber
import java.util.UUID
import kotlin.coroutines.resume
import kotlin.coroutines.suspendCoroutine
data class Session(
val userId: UUID,
val serverId: UUID,
val accessToken: String,
)
interface SessionRepository {
val currentSession: LiveData<Session?>
val currentSystemSession: LiveData<Session?>
fun restoreDefaultSession()
fun restoreDefaultSystemSession()
suspend fun switchCurrentSession(userId: UUID): Boolean
fun destroyCurrentSession()
}
class SessionRepositoryImpl(
private val authenticationPreferences: AuthenticationPreferences,
private val accountManagerHelper: AccountManagerHelper,
private val apiBinder: ApiBinder,
private val authenticationStore: AuthenticationStore,
private val userApiClient: ApiClient,
private val systemApiClient: ApiClient,
private val preferencesRepository: PreferencesRepository,
private val defaultDeviceInfo: DeviceInfo,
) : SessionRepository {
private val _currentSession = MutableLiveData<Session?>()
override val currentSession: LiveData<Session?> get() = _currentSession
private val _currentSystemSession = MutableLiveData<Session?>()
override val currentSystemSession: LiveData<Session?> get() = _currentSystemSession
override fun restoreDefaultSession() {
Timber.d("Restoring default session")
if (authenticationPreferences[AuthenticationPreferences.alwaysAuthenticate]) return destroyCurrentSession()
val behavior = authenticationPreferences[AuthenticationPreferences.autoLoginUserBehavior]
val userId = authenticationPreferences[AuthenticationPreferences.autoLoginUserId].toUUIDOrNull()
when (behavior) {
DISABLED -> destroyCurrentSession()
LAST_USER -> setCurrentSession(createLastUserSession(), false)
SPECIFIC_USER -> setCurrentSession(createUserSession(userId), false)
}
}
override fun restoreDefaultSystemSession() {
Timber.d("Restoring default system session")
if (authenticationPreferences[AuthenticationPreferences.alwaysAuthenticate]) return setCurrentSession(null, false)
val behavior = authenticationPreferences[AuthenticationPreferences.systemUserBehavior]
val userId = authenticationPreferences[AuthenticationPreferences.systemUserId].toUUIDOrNull()
when (behavior) {
DISABLED -> setCurrentSystemSession(null)
LAST_USER -> setCurrentSystemSession(createLastUserSession())
SPECIFIC_USER -> setCurrentSystemSession(createUserSession(userId))
}
}
override suspend fun switchCurrentSession(userId: UUID): Boolean {
// No change in user - don't switch
if (currentSession.value?.userId == userId) return false
Timber.d("Switching current session to user $userId")
val session = createUserSession(userId)
if (session == null) {
Timber.d("Could not switch to non-existing session for user $userId")
return false
}
return suspendCoroutine { continuation ->
setCurrentSession(session, true) { success ->
continuation.resume(success)
}
}
}
override fun destroyCurrentSession() {
Timber.d("Destroying current session")
_currentSession.value = null
userApiClient.applySession(null)
apiBinder.updateSession(null, userApiClient.deviceInfo)
}
private fun setCurrentSession(session: Session?, includeSystemUser: Boolean, callback: ((Boolean) -> Unit)? = null) {
// No change in session - don't switch
if (session != null && currentSession.value?.userId == session.userId) return
if (session != null) authenticationPreferences[AuthenticationPreferences.lastUserId] = session.userId.toString()
val systemUserBehavior = authenticationPreferences[AuthenticationPreferences.systemUserBehavior]
if (includeSystemUser && systemUserBehavior == LAST_USER) setCurrentSystemSession(session)
// Update session after binding the apiclient settings
val deviceInfo = session?.let { defaultDeviceInfo.forUser(it.userId) } ?: defaultDeviceInfo
apiBinder.updateSession(session, deviceInfo) { success ->
Timber.d("Updating current session. userId=${session?.userId} apiBindingSuccess=${success}")
if (success) {
userApiClient.applySession(session, deviceInfo)
runBlocking { preferencesRepository.onSessionChanged() }
_currentSession.postValue(session)
} else {
userApiClient.applySession(null, deviceInfo)
_currentSession.postValue(null)
}
callback?.invoke(success)
}
}
private fun setCurrentSystemSession(session: Session?) {
// No change in session - don't switch
if (session != null && currentSession.value?.userId == session.userId) return
_currentSystemSession.postValue(session)
systemApiClient.applySession(session)
}
private fun createLastUserSession(): Session? {
val lastUserId = authenticationPreferences[AuthenticationPreferences.lastUserId].toUUIDOrNull()
return createUserSession(lastUserId)
}
private fun createUserSession(userId: UUID?): Session? {
if (userId == null) return null
val account = accountManagerHelper.getAccount(userId)
if (account?.accessToken == null) return null
return Session(
userId = account.id,
serverId = account.server,
accessToken = account.accessToken
)
}
private fun ApiClient.applySession(session: Session?, newDeviceInfo: DeviceInfo = defaultDeviceInfo) {
deviceInfo = newDeviceInfo
if (session == null) {
baseUrl = null
accessToken = null
userId = null
} else {
val server = authenticationStore.getServer(session.serverId)
?: return applySession(null)
baseUrl = server.address
accessToken = session.accessToken
userId = session.userId
}
}
}

View File

@@ -1,10 +0,0 @@
package org.jellyfin.androidtv.auth.model
import java.util.UUID
data class AccountManagerAccount(
val id: UUID,
val server: UUID,
val name: String,
val accessToken: String? = null,
)

View File

@@ -0,0 +1,6 @@
package org.jellyfin.androidtv.auth.model
sealed class AuthenticateMethod
data class AutomaticAuthenticateMethod(val user: User) : AuthenticateMethod()
data class CredentialAuthenticateMethod(val username: String, val password: String = "") : AuthenticateMethod()
data class QuickConnectAuthenticateMethod(val secret: String) : AuthenticateMethod()

View File

@@ -0,0 +1,11 @@
package org.jellyfin.androidtv.auth.model
import org.jellyfin.androidtv.R
import org.jellyfin.preference.PreferenceEnum
enum class AuthenticationSortBy(
override val nameRes: Int
) : PreferenceEnum {
LAST_USE(R.string.last_use),
ALPHABETICAL(R.string.alphabetical);
}

View File

@@ -6,7 +6,7 @@ import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
import kotlinx.serialization.UseSerializers
import org.jellyfin.sdk.model.serializer.UUIDSerializer
import java.util.Date
import java.time.Instant
import java.util.UUID
/**
@@ -18,7 +18,9 @@ data class AuthenticationStoreServer(
val address: String,
val version: String? = null,
@SerialName("login_disclaimer") val loginDisclaimer: String? = null,
@SerialName("last_used") val lastUsed: Long = Date().time,
@SerialName("last_refreshed") val lastRefreshed: Long = Date().time,
@SerialName("splashscreen_enabled") val splashscreenEnabled: Boolean = false,
@SerialName("setup_completed") val setupCompleted: Boolean = true,
@SerialName("last_used") val lastUsed: Long = Instant.now().toEpochMilli(),
@SerialName("last_refreshed") val lastRefreshed: Long = Instant.now().toEpochMilli(),
val users: Map<UUID, AuthenticationStoreUser> = emptyMap(),
)

View File

@@ -2,7 +2,7 @@ package org.jellyfin.androidtv.auth.model
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
import java.util.Date
import java.time.Instant
/**
* Locally stored user information. New properties require default values or deserialization will fail.
@@ -10,7 +10,7 @@ import java.util.Date
@Serializable
data class AuthenticationStoreUser(
val name: String,
@SerialName("last_used") val lastUsed: Long = Date().time,
@SerialName("require_password") val requirePassword: Boolean = true,
@SerialName("image_tag") val imageTag: String? = null
@SerialName("last_used") val lastUsed: Long = Instant.now().toEpochMilli(),
@SerialName("image_tag") val imageTag: String? = null,
@SerialName("access_token") val accessToken: String? = null,
)

View File

@@ -1,8 +1,11 @@
package org.jellyfin.androidtv.auth.model
import org.jellyfin.sdk.api.client.exception.ApiClientException
sealed class LoginState
object AuthenticatingState : LoginState()
object RequireSignInState : LoginState()
object ServerUnavailableState : LoginState()
data object AuthenticatingState : LoginState()
data object RequireSignInState : LoginState()
data object ServerUnavailableState : LoginState()
data class ServerVersionNotSupported(val server: Server) : LoginState()
object AuthenticatedState : LoginState()
data class ApiClientErrorLoginState(val error: ApiClientException) : LoginState()
data object AuthenticatedState : LoginState()

View File

@@ -0,0 +1,23 @@
package org.jellyfin.androidtv.auth.model
sealed class QuickConnectState
/**
* State unknown until first poll completed.
*/
data object UnknownQuickConnectState : QuickConnectState()
/**
* Server does not have QuickConnect enabled.
*/
data object UnavailableQuickConnectState : QuickConnectState()
/**
* Connection is pending.
*/
data class PendingQuickConnectState(val code: String) : QuickConnectState()
/**
* User connected.
*/
data object ConnectedQuickConnectState : QuickConnectState()

View File

@@ -1,8 +1,8 @@
package org.jellyfin.androidtv.auth.model
import org.jellyfin.androidtv.auth.ServerRepository
import org.jellyfin.androidtv.auth.repository.ServerRepository
import org.jellyfin.sdk.model.ServerVersion
import java.util.Date
import java.time.Instant
import java.util.UUID
/**
@@ -14,9 +14,11 @@ data class Server(
var address: String,
val version: String? = null,
val loginDisclaimer: String? = null,
var dateLastAccessed: Date = Date(0),
val splashscreenEnabled: Boolean = false,
val setupCompleted: Boolean = true,
var dateLastAccessed: Instant = Instant.MIN,
) {
private val serverVersion = version?.let(ServerVersion::fromString)
val serverVersion = version?.let(ServerVersion::fromString)
val versionSupported = serverVersion != null && serverVersion >= ServerRepository.minimumServerVersion
operator fun compareTo(other: ServerVersion): Int = serverVersion?.compareTo(other) ?: -1

View File

@@ -10,9 +10,10 @@ sealed class User {
abstract val serverId: UUID
abstract val name: String
abstract val accessToken: String?
abstract val requirePassword: Boolean
abstract val imageTag: String?
abstract fun withToken(accessToken: String): User
override fun equals(other: Any?) = other is User
&& serverId == other.serverId
&& id == other.id
@@ -32,10 +33,11 @@ data class PrivateUser(
override val serverId: UUID,
override val name: String,
override val accessToken: String?,
override val requirePassword: Boolean,
override val imageTag: String?,
val lastUsed: Long,
) : User()
) : User() {
override fun withToken(accessToken: String) = copy(accessToken = accessToken)
}
/**
* Represents a user stored server side. Found using the Public User endpoint.
@@ -45,6 +47,7 @@ data class PublicUser(
override val serverId: UUID,
override val name: String,
override val accessToken: String?,
override val requirePassword: Boolean,
override val imageTag: String?,
) : User()
) : User() {
override fun withToken(accessToken: String) = copy(accessToken = accessToken)
}

View File

@@ -0,0 +1,217 @@
package org.jellyfin.androidtv.auth.repository
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.emitAll
import kotlinx.coroutines.flow.flow
import kotlinx.coroutines.flow.flowOf
import kotlinx.coroutines.flow.flowOn
import org.jellyfin.androidtv.auth.model.ApiClientErrorLoginState
import org.jellyfin.androidtv.auth.model.AuthenticateMethod
import org.jellyfin.androidtv.auth.model.AuthenticatedState
import org.jellyfin.androidtv.auth.model.AuthenticatingState
import org.jellyfin.androidtv.auth.model.AuthenticationStoreUser
import org.jellyfin.androidtv.auth.model.AutomaticAuthenticateMethod
import org.jellyfin.androidtv.auth.model.CredentialAuthenticateMethod
import org.jellyfin.androidtv.auth.model.LoginState
import org.jellyfin.androidtv.auth.model.PrivateUser
import org.jellyfin.androidtv.auth.model.QuickConnectAuthenticateMethod
import org.jellyfin.androidtv.auth.model.RequireSignInState
import org.jellyfin.androidtv.auth.model.Server
import org.jellyfin.androidtv.auth.model.ServerUnavailableState
import org.jellyfin.androidtv.auth.model.ServerVersionNotSupported
import org.jellyfin.androidtv.auth.model.User
import org.jellyfin.androidtv.auth.store.AuthenticationPreferences
import org.jellyfin.androidtv.auth.store.AuthenticationStore
import org.jellyfin.androidtv.util.apiclient.JellyfinImage
import org.jellyfin.androidtv.util.apiclient.JellyfinImageSource
import org.jellyfin.androidtv.util.apiclient.getUrl
import org.jellyfin.androidtv.util.apiclient.primaryImage
import org.jellyfin.androidtv.util.sdk.forUser
import org.jellyfin.sdk.Jellyfin
import org.jellyfin.sdk.api.client.ApiClient
import org.jellyfin.sdk.api.client.exception.ApiClientException
import org.jellyfin.sdk.api.client.exception.TimeoutException
import org.jellyfin.sdk.api.client.extensions.authenticateUserByName
import org.jellyfin.sdk.api.client.extensions.authenticateWithQuickConnect
import org.jellyfin.sdk.api.client.extensions.userApi
import org.jellyfin.sdk.model.DeviceInfo
import org.jellyfin.sdk.model.api.AuthenticationResult
import org.jellyfin.sdk.model.api.ImageType
import org.jellyfin.sdk.model.api.UserDto
import timber.log.Timber
import java.time.Instant
/**
* Repository to manage authentication of the user in the app.
*/
interface AuthenticationRepository {
fun authenticate(server: Server, method: AuthenticateMethod): Flow<LoginState>
fun logout(user: User): Boolean
fun getUserImageUrl(server: Server, user: User): String?
}
class AuthenticationRepositoryImpl(
private val jellyfin: Jellyfin,
private val sessionRepository: SessionRepository,
private val authenticationStore: AuthenticationStore,
private val userApiClient: ApiClient,
private val authenticationPreferences: AuthenticationPreferences,
private val defaultDeviceInfo: DeviceInfo,
) : AuthenticationRepository {
override fun authenticate(server: Server, method: AuthenticateMethod): Flow<LoginState> {
return when (method) {
is AutomaticAuthenticateMethod -> authenticateAutomatic(server, method.user)
is CredentialAuthenticateMethod -> authenticateCredential(server, method.username, method.password)
is QuickConnectAuthenticateMethod -> authenticateQuickConnect(server, method.secret)
}
}
private fun authenticateAutomatic(server: Server, user: User): Flow<LoginState> {
Timber.i("Authenticating user ${user.id}")
// Automatic logic is disabled when the always authenticate preference is enabled
if (authenticationPreferences[AuthenticationPreferences.alwaysAuthenticate]) return flowOf(RequireSignInState)
val authStoreUser = authenticationStore.getUser(server.id, user.id)
// Try login with access token
return if (authStoreUser?.accessToken != null) authenticateToken(server, user.withToken(authStoreUser.accessToken))
// Require login
else flowOf(RequireSignInState)
}
private fun authenticateCredential(server: Server, username: String, password: String) = flow {
val api = jellyfin.createApi(server.address, deviceInfo = defaultDeviceInfo.forUser(username))
val result = try {
val response = api.userApi.authenticateUserByName(username, password)
response.content
} catch (err: TimeoutException) {
Timber.e(err, "Failed to connect to server trying to sign in $username")
emit(ServerUnavailableState)
return@flow
} catch (err: ApiClientException) {
Timber.e(err, "Unable to sign in as $username")
emit(ApiClientErrorLoginState(err))
return@flow
}
emitAll(authenticateAuthenticationResult(server, result))
}.flowOn(Dispatchers.IO)
private fun authenticateQuickConnect(server: Server, secret: String) = flow {
val api = jellyfin.createApi(server.address, deviceInfo = defaultDeviceInfo)
val result = try {
val response = api.userApi.authenticateWithQuickConnect(secret)
response.content
} catch (err: TimeoutException) {
Timber.e(err, "Failed to connect to server")
emit(ServerUnavailableState)
return@flow
} catch (err: ApiClientException) {
Timber.e(err, "Unable to sign in with Quick Connect secret")
emit(ApiClientErrorLoginState(err))
return@flow
}
emitAll(authenticateAuthenticationResult(server, result))
}.flowOn(Dispatchers.IO)
private fun authenticateAuthenticationResult(server: Server, result: AuthenticationResult) = flow {
val accessToken = result.accessToken ?: return@flow emit(RequireSignInState)
val userInfo = result.user ?: return@flow emit(RequireSignInState)
val user = PrivateUser(
id = userInfo.id,
serverId = server.id,
name = userInfo.name!!,
accessToken = result.accessToken,
imageTag = userInfo.primaryImage?.tag,
lastUsed = Instant.now().toEpochMilli(),
)
authenticateFinish(server, userInfo, accessToken)
val success = setActiveSession(user, server)
if (success) {
emit(AuthenticatedState)
} else {
Timber.w("Failed to set active session after authenticating")
if (!server.versionSupported) emit(ServerVersionNotSupported(server))
else emit(RequireSignInState)
}
}.flowOn(Dispatchers.IO)
private fun authenticateToken(server: Server, user: User) = flow {
emit(AuthenticatingState)
val success = setActiveSession(user, server)
if (!success) {
if (!server.versionSupported) emit(ServerVersionNotSupported(server))
else emit(RequireSignInState)
} else try {
// Update user info
val userInfo by userApiClient.userApi.getCurrentUser()
authenticateFinish(server, userInfo, user.accessToken.orEmpty())
emit(AuthenticatedState)
} catch (err: TimeoutException) {
Timber.e(err, "Failed to connect to server")
emit(ServerUnavailableState)
return@flow
} catch (err: ApiClientException) {
Timber.e(err, "Unable to get current user data")
emit(ApiClientErrorLoginState(err))
}
}.flowOn(Dispatchers.IO)
private suspend fun authenticateFinish(server: Server, userInfo: UserDto, accessToken: String) {
val currentUser = authenticationStore.getUser(server.id, userInfo.id)
val updatedUser = currentUser?.copy(
name = userInfo.name!!,
lastUsed = Instant.now().toEpochMilli(),
imageTag = userInfo.primaryImage?.tag,
accessToken = accessToken,
) ?: AuthenticationStoreUser(
name = userInfo.name!!,
imageTag = userInfo.primaryImage?.tag,
accessToken = accessToken,
)
authenticationStore.putUser(server.id, userInfo.id, updatedUser)
}
private suspend fun setActiveSession(user: User, server: Server): Boolean {
val authenticated = sessionRepository.switchCurrentSession(server.id, user.id)
if (authenticated) {
// Update last use in store
authenticationStore.getServer(server.id)?.let { storedServer ->
authenticationStore.putServer(server.id, storedServer.copy(lastUsed = Instant.now().toEpochMilli()))
}
authenticationStore.getUser(server.id, user.id)?.let { storedUser ->
authenticationStore.putUser(server.id, user.id, storedUser.copy(lastUsed = Instant.now().toEpochMilli()))
}
}
return authenticated
}
override fun logout(user: User): Boolean {
val authStoreUser = authenticationStore
.getUser(user.serverId, user.id)
?.copy(accessToken = null)
return if (authStoreUser != null) authenticationStore.putUser(user.serverId, user.id, authStoreUser)
else false
}
override fun getUserImageUrl(server: Server, user: User): String? = user.imageTag?.let { primaryImageTag ->
JellyfinImage(
item = user.id,
source = JellyfinImageSource.USER,
type = ImageType.PRIMARY,
tag = primaryImageTag,
blurHash = null,
aspectRatio = null,
index = null
)
}?.getUrl(jellyfin.createApi(server.address))
}

View File

@@ -0,0 +1,271 @@
package org.jellyfin.androidtv.auth.repository
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.StateFlow
import kotlinx.coroutines.flow.asStateFlow
import kotlinx.coroutines.flow.flow
import kotlinx.coroutines.flow.flowOn
import kotlinx.coroutines.flow.map
import kotlinx.coroutines.withContext
import org.jellyfin.androidtv.auth.model.AuthenticationStoreServer
import org.jellyfin.androidtv.auth.model.ConnectedState
import org.jellyfin.androidtv.auth.model.ConnectingState
import org.jellyfin.androidtv.auth.model.Server
import org.jellyfin.androidtv.auth.model.ServerAdditionState
import org.jellyfin.androidtv.auth.model.UnableToConnectState
import org.jellyfin.androidtv.auth.store.AuthenticationStore
import org.jellyfin.androidtv.util.sdk.toServer
import org.jellyfin.sdk.Jellyfin
import org.jellyfin.sdk.api.client.ApiClient
import org.jellyfin.sdk.api.client.exception.ApiClientException
import org.jellyfin.sdk.api.client.exception.InvalidContentException
import org.jellyfin.sdk.api.client.extensions.brandingApi
import org.jellyfin.sdk.api.client.extensions.systemApi
import org.jellyfin.sdk.discovery.RecommendedServerInfo
import org.jellyfin.sdk.discovery.RecommendedServerInfoScore
import org.jellyfin.sdk.model.ServerVersion
import org.jellyfin.sdk.model.api.BrandingOptionsDto
import org.jellyfin.sdk.model.api.ServerDiscoveryInfo
import org.jellyfin.sdk.model.serializer.toUUID
import timber.log.Timber
import java.time.Instant
import java.util.UUID
/**
* Repository to maintain servers.
*/
interface ServerRepository {
val storedServers: StateFlow<List<Server>>
val discoveredServers: StateFlow<List<Server>>
val currentServer: StateFlow<Server?>
suspend fun loadStoredServers()
suspend fun loadDiscoveryServers()
fun setCurrentServer(server: Server?)
fun addServer(address: String): Flow<ServerAdditionState>
suspend fun getServer(id: UUID, eagerUpdate: Boolean = false): Server?
suspend fun updateServer(server: Server, force: Boolean = false): Boolean
suspend fun deleteServer(server: UUID): Boolean
companion object {
val minimumServerVersion = Jellyfin.minimumVersion.copy(build = null)
val recommendedServerVersion = Jellyfin.apiVersion.copy(build = null)
val upcomingMinimumServerVersion = ServerVersion(10, 11, 0)
}
}
class ServerRepositoryImpl(
private val jellyfin: Jellyfin,
private val authenticationStore: AuthenticationStore,
) : ServerRepository {
// State
private val _storedServers = MutableStateFlow(emptyList<Server>())
override val storedServers = _storedServers.asStateFlow()
private val _discoveredServers = MutableStateFlow(emptyList<Server>())
override val discoveredServers = _discoveredServers.asStateFlow()
private val _currentServer = MutableStateFlow<Server?>(null)
override val currentServer = _currentServer.asStateFlow()
// Loading data
override suspend fun loadStoredServers() {
authenticationStore.getServers()
.map { (id, entry) -> entry.asServer(id) }
.sortedWith(compareByDescending<Server> { it.dateLastAccessed }.thenBy { it.name })
.let { _storedServers.emit(it) }
}
override suspend fun loadDiscoveryServers() {
val servers = mutableListOf<Server>()
jellyfin.discovery
.discoverLocalServers()
.map(ServerDiscoveryInfo::toServer)
.collect { server ->
servers += server
_discoveredServers.emit(servers.toList())
}
}
override fun setCurrentServer(server: Server?) {
_currentServer.value = server
}
// Mutating data
override fun addServer(address: String): Flow<ServerAdditionState> = flow {
Timber.i("Adding server %s", address)
emit(ConnectingState(address))
val addressCandidates = jellyfin.discovery.getAddressCandidates(address)
Timber.i("Found ${addressCandidates.size} candidates")
val goodRecommendations = mutableListOf<RecommendedServerInfo>()
val badRecommendations = mutableListOf<RecommendedServerInfo>()
val greatRecommendation = jellyfin.discovery.getRecommendedServers(addressCandidates).firstOrNull { recommendedServer ->
when (recommendedServer.score) {
RecommendedServerInfoScore.GREAT -> true
RecommendedServerInfoScore.GOOD -> {
goodRecommendations += recommendedServer
false
}
else -> {
badRecommendations += recommendedServer
false
}
}
}
Timber.i(buildString {
append("Recommendations: ")
if (greatRecommendation == null) append(0)
else append(1)
append(" great, ")
append(goodRecommendations.size)
append(" good, ")
append(badRecommendations.size)
append(" bad")
})
val chosenRecommendation = greatRecommendation ?: goodRecommendations.firstOrNull()
if (chosenRecommendation != null && chosenRecommendation.systemInfo.isSuccess) {
// Get system info
val systemInfo = chosenRecommendation.systemInfo.getOrThrow()
// Get branding info
val api = jellyfin.createApi(chosenRecommendation.address)
val branding = api.getBrandingOptionsOrDefault()
val id = systemInfo.id!!.toUUID()
val server = authenticationStore.getServer(id)?.copy(
name = systemInfo.serverName ?: "Jellyfin Server",
address = chosenRecommendation.address,
version = systemInfo.version,
loginDisclaimer = branding.loginDisclaimer,
splashscreenEnabled = branding.splashscreenEnabled,
setupCompleted = systemInfo.startupWizardCompleted ?: true,
lastUsed = Instant.now().toEpochMilli()
) ?: AuthenticationStoreServer(
name = systemInfo.serverName ?: "Jellyfin Server",
address = chosenRecommendation.address,
version = systemInfo.version,
loginDisclaimer = branding.loginDisclaimer,
splashscreenEnabled = branding.splashscreenEnabled,
setupCompleted = systemInfo.startupWizardCompleted ?: true,
)
authenticationStore.putServer(id, server)
loadStoredServers()
emit(ConnectedState(id, systemInfo))
} else {
// No great or good recommendations, only add bad recommendations
val addressCandidatesWithIssues = (badRecommendations + goodRecommendations)
.groupBy { it.address }
.mapValues { (_, entry) -> entry.flatMap { server -> server.issues } }
emit(UnableToConnectState(addressCandidatesWithIssues))
}
}.flowOn(Dispatchers.IO)
override suspend fun getServer(id: UUID, eagerUpdate: Boolean): Server? {
val server = authenticationStore.getServer(id) ?: return null
val updatedServer = try {
val forceUpdate = eagerUpdate && server.version
?.let(ServerVersion::fromString)
?.let { version -> version < ServerRepository.minimumServerVersion } == true
updateServerInternal(id, server, forceUpdate)
} catch (err: ApiClientException) {
Timber.e(err, "Unable to update server")
null
}
return (updatedServer ?: server).asServer(id)
}
override suspend fun updateServer(server: Server, force: Boolean): Boolean {
// Only update existing servers
val serverInfo = authenticationStore.getServer(server.id) ?: return false
return try {
updateServerInternal(server.id, serverInfo, force) != null
} catch (err: ApiClientException) {
Timber.e(err, "Unable to update server")
false
}
}
private suspend fun updateServerInternal(
id: UUID,
server: AuthenticationStoreServer,
forceUpdate: Boolean
): AuthenticationStoreServer? {
val now = Instant.now().toEpochMilli()
// Only update every 10 minutes
if (now - server.lastRefreshed < 600000 && server.version != null && !forceUpdate) return null
val newServer = withContext(Dispatchers.IO) {
val api = jellyfin.createApi(server.address)
// Get login disclaimer
val branding = api.getBrandingOptionsOrDefault()
val systemInfo by api.systemApi.getPublicSystemInfo()
server.copy(
name = systemInfo.serverName ?: server.name,
version = systemInfo.version ?: server.version,
loginDisclaimer = branding.loginDisclaimer ?: server.loginDisclaimer,
splashscreenEnabled = branding.splashscreenEnabled,
setupCompleted = systemInfo.startupWizardCompleted ?: server.setupCompleted,
lastRefreshed = now
)
}
authenticationStore.putServer(id, newServer)
return newServer
}
override suspend fun deleteServer(server: UUID): Boolean {
val success = authenticationStore.removeServer(server)
if (success) loadStoredServers()
return success
}
// Helper functions
private fun AuthenticationStoreServer.asServer(id: UUID) = Server(
id = id,
name = name,
address = address,
version = version,
loginDisclaimer = loginDisclaimer,
splashscreenEnabled = splashscreenEnabled,
setupCompleted = setupCompleted,
dateLastAccessed = Instant.ofEpochMilli(lastUsed),
)
/**
* Try to retrieve the branding options. If the response JSON is invalid it will return a default value.
* This makes sure we can still work with older Jellyfin versions.
*/
private suspend fun ApiClient.getBrandingOptionsOrDefault() = try {
brandingApi.getBrandingOptions().content
} catch (exception: InvalidContentException) {
Timber.w(exception, "Invalid branding options response, using default value")
BrandingOptionsDto(
loginDisclaimer = null,
customCss = null,
splashscreenEnabled = false,
)
}
}

View File

@@ -0,0 +1,67 @@
package org.jellyfin.androidtv.auth.repository
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.withContext
import org.jellyfin.androidtv.auth.model.PrivateUser
import org.jellyfin.androidtv.auth.model.PublicUser
import org.jellyfin.androidtv.auth.model.Server
import org.jellyfin.androidtv.auth.store.AuthenticationStore
import org.jellyfin.androidtv.util.sdk.toPublicUser
import org.jellyfin.sdk.Jellyfin
import org.jellyfin.sdk.api.client.exception.ApiClientException
import org.jellyfin.sdk.api.client.extensions.userApi
import org.jellyfin.sdk.model.api.UserDto
import timber.log.Timber
/**
* Repository to maintain users for servers.
* Authentication is done using the [AuthenticationRepository].
*/
interface ServerUserRepository {
//server
fun getStoredServerUsers(server: Server): List<PrivateUser>
suspend fun getPublicServerUsers(server: Server): List<PublicUser>
fun deleteStoredUser(user: PrivateUser)
}
class ServerUserRepositoryImpl(
private val jellyfin: Jellyfin,
private val authenticationStore: AuthenticationStore,
) : ServerUserRepository {
override fun getStoredServerUsers(server: Server) = authenticationStore.getUsers(server.id)
?.mapNotNull { (userId, userInfo) ->
val authInfo = authenticationStore.getUser(server.id, userId)
PrivateUser(
id = userId,
serverId = server.id,
name = userInfo.name,
accessToken = authInfo?.accessToken,
imageTag = userInfo.imageTag,
lastUsed = userInfo.lastUsed,
)
}
?.sortedWith(compareByDescending<PrivateUser> { it.lastUsed }.thenBy { it.name })
.orEmpty()
override suspend fun getPublicServerUsers(server: Server): List<PublicUser> {
// Create a fresh API because the shared one might be authenticated for a different server
val api = jellyfin.createApi(server.address)
return try {
val users = withContext(Dispatchers.IO) {
api.userApi.getPublicUsers().content
}
users.mapNotNull(UserDto::toPublicUser)
} catch (err: ApiClientException) {
Timber.e(err, "Unable to retrieve public users")
emptyList()
}
}
override fun deleteStoredUser(user: PrivateUser) {
// Remove user info from store
authenticationStore.removeUser(user.serverId, user.id)
}
}

View File

@@ -0,0 +1,208 @@
package org.jellyfin.androidtv.auth.repository
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.NonCancellable
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.StateFlow
import kotlinx.coroutines.flow.asStateFlow
import kotlinx.coroutines.sync.Mutex
import kotlinx.coroutines.sync.withLock
import kotlinx.coroutines.withContext
import org.jellyfin.androidtv.auth.model.Server
import org.jellyfin.androidtv.auth.store.AuthenticationPreferences
import org.jellyfin.androidtv.auth.store.AuthenticationStore
import org.jellyfin.androidtv.preference.PreferencesRepository
import org.jellyfin.androidtv.preference.TelemetryPreferences
import org.jellyfin.androidtv.preference.constant.UserSelectBehavior.DISABLED
import org.jellyfin.androidtv.preference.constant.UserSelectBehavior.LAST_USER
import org.jellyfin.androidtv.preference.constant.UserSelectBehavior.SPECIFIC_USER
import org.jellyfin.androidtv.util.sdk.forUser
import org.jellyfin.sdk.api.client.ApiClient
import org.jellyfin.sdk.api.client.exception.ApiClientException
import org.jellyfin.sdk.api.client.extensions.clientLogApi
import org.jellyfin.sdk.api.client.extensions.userApi
import org.jellyfin.sdk.model.DeviceInfo
import org.jellyfin.sdk.model.serializer.toUUIDOrNull
import timber.log.Timber
import java.util.UUID
data class Session(
val userId: UUID,
val serverId: UUID,
val accessToken: String,
)
enum class SessionRepositoryState {
READY,
RESTORING_SESSION,
SWITCHING_SESSION,
}
interface SessionRepository {
val currentSession: StateFlow<Session?>
val state: StateFlow<SessionRepositoryState>
suspend fun restoreSession(destroyOnly: Boolean)
suspend fun switchCurrentSession(serverId: UUID, userId: UUID): Boolean
fun destroyCurrentSession()
}
class SessionRepositoryImpl(
private val authenticationPreferences: AuthenticationPreferences,
private val authenticationStore: AuthenticationStore,
private val userApiClient: ApiClient,
private val preferencesRepository: PreferencesRepository,
private val defaultDeviceInfo: DeviceInfo,
private val userRepository: UserRepository,
private val serverRepository: ServerRepository,
private val telemetryPreferences: TelemetryPreferences,
) : SessionRepository {
private val currentSessionMutex = Mutex()
private val _currentSession = MutableStateFlow<Session?>(null)
override val currentSession = _currentSession.asStateFlow()
private val _state = MutableStateFlow(SessionRepositoryState.READY)
override val state = _state.asStateFlow()
override suspend fun restoreSession(destroyOnly: Boolean): Unit = withContext(NonCancellable) {
currentSessionMutex.withLock {
Timber.i("Restoring session")
_state.value = SessionRepositoryState.RESTORING_SESSION
val alwaysAuthenticate = authenticationPreferences[AuthenticationPreferences.alwaysAuthenticate]
val autoLoginBehavior = authenticationPreferences[AuthenticationPreferences.autoLoginUserBehavior]
when {
alwaysAuthenticate -> destroyCurrentSession()
autoLoginBehavior == DISABLED -> destroyCurrentSession()
autoLoginBehavior == LAST_USER && !destroyOnly -> setCurrentSession(createLastUserSession())
autoLoginBehavior == SPECIFIC_USER && !destroyOnly -> {
val serverId = authenticationPreferences[AuthenticationPreferences.autoLoginServerId].toUUIDOrNull()
val userId = authenticationPreferences[AuthenticationPreferences.autoLoginUserId].toUUIDOrNull()
if (serverId != null && userId != null) setCurrentSession(createUserSession(serverId, userId))
}
}
_state.value = SessionRepositoryState.READY
}
}
override suspend fun switchCurrentSession(serverId: UUID, userId: UUID): Boolean {
// No change in user - don't switch
if (currentSession.value?.userId == userId) {
Timber.d("Current session user is the same as the requested user")
return false
}
_state.value = SessionRepositoryState.SWITCHING_SESSION
Timber.i("Switching current session to user $userId")
val session = createUserSession(serverId, userId)
if (session == null) {
Timber.w("Could not switch to non-existing session for user $userId")
_state.value = SessionRepositoryState.READY
return false
}
val switched = setCurrentSession(session)
_state.value = SessionRepositoryState.READY
return switched
}
override fun destroyCurrentSession() {
Timber.i("Destroying current session")
userRepository.setCurrentUser(null)
serverRepository.setCurrentServer(null)
_currentSession.value = null
_state.value = SessionRepositoryState.READY
}
private suspend fun setCurrentSession(session: Session?): Boolean {
var server: Server? = null
if (session != null) {
// No change in session - don't switch
if (currentSession.value?.userId == session.userId) return true
// Update last active user
authenticationPreferences[AuthenticationPreferences.lastServerId] = session.serverId.toString()
authenticationPreferences[AuthenticationPreferences.lastUserId] = session.userId.toString()
// Check if server version is supported
server = serverRepository.getServer(session.serverId, true)
if (server == null || !server.versionSupported) return false
}
// Update session after binding the apiclient settings
val deviceInfo = session?.let { defaultDeviceInfo.forUser(it.userId) } ?: defaultDeviceInfo
Timber.i("Updating current session. userId=${session?.userId} server=${server?.serverVersion}")
val applied = userApiClient.applySession(session, deviceInfo)
if (applied && session != null) {
try {
val user = withContext(Dispatchers.IO) {
userApiClient.userApi.getCurrentUser().content
}
userRepository.setCurrentUser(user)
serverRepository.setCurrentServer(server)
} catch (err: ApiClientException) {
Timber.e(err, "Unable to authenticate: bad response when getting user info")
destroyCurrentSession()
return false
}
// Update crash reporting URL
val crashReportUrl = userApiClient.clientLogApi.logFileUrl()
telemetryPreferences[TelemetryPreferences.crashReportUrl] = crashReportUrl
telemetryPreferences[TelemetryPreferences.crashReportToken] = session.accessToken
} else {
userRepository.setCurrentUser(null)
serverRepository.setCurrentServer(null)
}
preferencesRepository.onSessionChanged()
_currentSession.value = session
return true
}
private fun createLastUserSession(): Session? {
val lastUserId = authenticationPreferences[AuthenticationPreferences.lastUserId].toUUIDOrNull()
val lastServerId = authenticationPreferences[AuthenticationPreferences.lastServerId].toUUIDOrNull()
return if (lastUserId != null && lastServerId != null) createUserSession(lastServerId, lastUserId)
else null
}
private fun createUserSession(serverId: UUID, userId: UUID): Session? {
val account = authenticationStore.getUser(serverId, userId)
if (account?.accessToken == null) return null
return Session(
userId = userId,
serverId = serverId,
accessToken = account.accessToken
)
}
private fun ApiClient.applySession(session: Session?, newDeviceInfo: DeviceInfo = defaultDeviceInfo): Boolean {
if (session == null) {
update(
baseUrl = null,
accessToken = null,
deviceInfo = newDeviceInfo,
)
} else {
val server = authenticationStore.getServer(session.serverId)
?: return false
update(
baseUrl = server.address,
accessToken = session.accessToken,
deviceInfo = newDeviceInfo,
)
}
return true
}
}

View File

@@ -0,0 +1,22 @@
package org.jellyfin.androidtv.auth.repository
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.StateFlow
import org.jellyfin.sdk.model.api.UserDto
/**
* Repository to get the current authenticated user.
*/
interface UserRepository {
val currentUser: StateFlow<UserDto?>
fun setCurrentUser(user: UserDto?)
}
class UserRepositoryImpl : UserRepository {
override val currentUser = MutableStateFlow<UserDto?>(null)
override fun setCurrentUser(user: UserDto?) {
currentUser.value = user
}
}

View File

@@ -0,0 +1,43 @@
package org.jellyfin.androidtv.auth.store
import android.content.Context
import org.jellyfin.androidtv.auth.model.AuthenticationSortBy
import org.jellyfin.androidtv.preference.constant.UserSelectBehavior
import org.jellyfin.preference.booleanPreference
import org.jellyfin.preference.enumPreference
import org.jellyfin.preference.store.SharedPreferenceStore
import org.jellyfin.preference.stringPreference
class AuthenticationPreferences(context: Context) : SharedPreferenceStore(
sharedPreferences = context.getSharedPreferences("authentication", Context.MODE_PRIVATE)
) {
companion object {
// Preferences
val autoLoginUserBehavior = enumPreference("auto_login_user_behavior", UserSelectBehavior.LAST_USER)
val autoLoginServerId = stringPreference("auto_login_server_id", "")
val autoLoginUserId = stringPreference("auto_login_user_id", "")
val sortBy = enumPreference("sort_by", AuthenticationSortBy.LAST_USE)
val alwaysAuthenticate = booleanPreference("always_authenticate", false)
// Persistent state
val lastServerId = stringPreference("last_server_id", "")
val lastUserId = stringPreference("last_user_id", "")
}
init {
runMigrations {
// v0.15.4 to v0.15.5
migration(toVersion = 2) {
// Unfortunately we cannot migrate the "specific user" login option
// so we'll reset the preference to disabled if it was used
if (it.getString("auto_login_user_behavior", null) === UserSelectBehavior.SPECIFIC_USER.name) {
putString("auto_login_user_id", "")
putString("auto_login_user_behavior", UserSelectBehavior.DISABLED.name)
}
putString("last_user_id", "")
}
}
}
}

View File

@@ -1,7 +1,7 @@
package org.jellyfin.androidtv.auth
package org.jellyfin.androidtv.auth.store
import android.content.Context
import kotlinx.serialization.encodeToString
import kotlinx.serialization.SerializationException
import kotlinx.serialization.json.Json
import kotlinx.serialization.json.JsonObject
import kotlinx.serialization.json.JsonPrimitive
@@ -19,14 +19,13 @@ import timber.log.Timber
import java.util.UUID
/**
* Storage for authentication related entities. Stores servers with users inside. Should be used in
* combination with the [AccountManagerHelper] to store access tokens and integrate with the
* operating system.
* Storage for authentication related entities. Stores servers with users inside, including
* access tokens.
*
* The data is stored in a JSON file located in the applications data directory.
*/
class AuthenticationStore(
private val context: Context
private val context: Context,
) {
private val storePath
get() = context.filesDir.resolve("authentication_store.json")
@@ -47,14 +46,30 @@ class AuthenticationStore(
// No store found
if (!storePath.exists()) return emptyMap()
// Parse JSON document
val root = try {
json.parseToJsonElement(storePath.readText()).jsonObject
} catch (e: SerializationException) {
Timber.e(e, "Unable to read JSON")
JsonObject(emptyMap())
}
// Check for version
val root = json.parseToJsonElement(storePath.readText()).jsonObject
return when (root["version"]?.jsonPrimitive?.intOrNull) {
1 -> json.decodeFromJsonElement<Map<UUID, AuthenticationStoreServer>>(root["servers"]!!)
// Migration was removed, clear stored servers
1 -> {
Timber.e("Migrating from version 1 is no longer possible")
emptyMap()
}
// Current version, return as-is
2 -> json.decodeFromJsonElement<Map<UUID, AuthenticationStoreServer>>(root["servers"]!!)
null -> {
Timber.e("Authentication Store is corrupt!")
emptyMap()
}
else -> {
Timber.e("Authentication Store is using an unknown version!")
emptyMap()
@@ -62,10 +77,10 @@ class AuthenticationStore(
}
}
private fun save(): Boolean {
private fun write(servers: Map<UUID, AuthenticationStoreServer>): Boolean {
val root = JsonObject(mapOf(
"version" to JsonPrimitive(1),
"servers" to json.encodeToJsonElement(store)
"version" to JsonPrimitive(2),
"servers" to json.encodeToJsonElement(servers)
))
storePath.writeText(json.encodeToString(root))
@@ -73,6 +88,10 @@ class AuthenticationStore(
return true
}
private fun save(): Boolean {
return write(store)
}
fun getServers(): Map<UUID, AuthenticationStoreServer> = store
fun getUsers(server: UUID): Map<UUID, AuthenticationStoreUser>? = getServer(server)?.users
@@ -94,10 +113,6 @@ class AuthenticationStore(
return save()
}
fun containsServer(server: UUID): Boolean = server in store
fun containsUser(server: UUID, user: UUID): Boolean = server in store && user in store[server]!!.users
/**
* Removes the server and stored users from the credential store.
*/

View File

@@ -1,12 +0,0 @@
package org.jellyfin.androidtv.constant;
public enum ChangeTriggerType {
LibraryUpdated,
MoviePlayback,
TvPlayback,
GuideNeedsLoad,
MusicPlayback,
Always,
VideoQueueChange,
FavoriteUpdate
}

View File

@@ -0,0 +1,9 @@
package org.jellyfin.androidtv.constant
enum class ChangeTriggerType {
LibraryUpdated,
MoviePlayback,
TvPlayback,
MusicPlayback,
FavoriteUpdate,
}

View File

@@ -0,0 +1,89 @@
package org.jellyfin.androidtv.constant
object Codec {
object Container {
@Suppress("ObjectPropertyName", "ObjectPropertyNaming")
const val `3GP` = "3gp"
const val ASF = "asf"
const val AVI = "avi"
const val DVR_MS = "dvr-ms"
const val HLS = "hls"
const val M2V = "m2v"
const val M4V = "m4v"
const val MKV = "mkv"
const val MOV = "mov"
const val MP3 = "mp3"
const val MP4 = "mp4"
const val MPEG = "mpeg"
const val MPEGTS = "mpegts"
const val MPG = "mpg"
const val OGM = "ogm"
const val OGV = "ogv"
const val TS = "ts"
const val VOB = "vob"
const val WEBM = "webm"
const val WMV = "wmv"
const val WTV = "wtv"
const val XVID = "xvid"
}
object Audio {
const val AAC = "aac"
const val AAC_LATM = "aac_latm"
const val AC3 = "ac3"
const val ALAC = "alac"
const val APE = "ape"
const val DCA = "dca"
const val DTS = "dts"
const val EAC3 = "eac3"
const val FLAC = "flac"
const val MLP = "mlp"
const val MP2 = "mp2"
const val MP3 = "mp3"
const val MPA = "mpa"
const val OGA = "oga"
const val OGG = "ogg"
const val OPUS = "opus"
const val PCM = "pcm"
const val PCM_ALAW = "pcm_alaw"
const val PCM_MULAW = "pcm_mulaw"
const val PCM_S16LE = "pcm_s16le"
const val PCM_S20LE = "pcm_s20le"
const val PCM_S24LE = "pcm_s24le"
const val TRUEHD = "truehd"
const val VORBIS = "vorbis"
const val WAV = "wav"
const val WEBMA = "webma"
const val WMA = "wma"
const val WMAV2 = "wmav2"
}
object Video {
const val H264 = "h264"
const val HEVC = "hevc"
const val MPEG = "mpeg"
const val MPEG2VIDEO = "mpeg2video"
const val VP8 = "vp8"
const val VP9 = "vp9"
const val AV1 = "av1"
const val VC1 = "vc1"
}
object Subtitle {
const val ASS = "ass"
const val DVBSUB = "dvbsub"
const val DVDSUB = "dvdsub"
const val IDX = "idx"
const val PGS = "pgs"
const val PGSSUB = "pgssub"
const val SMI = "smi"
const val SRT = "srt"
const val SSA = "ssa"
const val SUB = "sub"
const val SUBRIP = "subrip"
const val VTT = "vtt"
const val SMIL = "smil"
const val TTML = "ttml"
const val WEBVTT = "webvtt"
}
}

View File

@@ -1,40 +0,0 @@
package org.jellyfin.androidtv.constant;
public class CodecTypes {
/* Audio Codec Types */
public static final String AAC = "aac";
public static final String AAC_LATM = "aac_latm";
public static final String AC3 = "ac3";
public static final String ALAC = "alac";
public static final String APE = "ape";
public static final String DCA = "dca";
public static final String DTS = "dts";
public static final String EAC3 = "eac3";
public static final String FLAC = "flac";
public static final String MLP = "mlp";
public static final String MP2 = "mp2";
public static final String MP3 = "mp3";
public static final String MPA = "mpa";
public static final String OPUS = "opus";
public static final String PCM = "pcm";
public static final String PCM_ALAW = "pcm_alaw";
public static final String PCM_MULAW = "pcm_mulaw";
public static final String PCM_S16LE = "pcm_s16le";
public static final String PCM_S24LE = "pcm_s24le";
public static final String TRUEHD = "truehd";
public static final String VORBIS = "vorbis";
public static final String WAV = "wav";
public static final String WMA = "wma";
public static final String WMAV2 = "wmav2";
/* Video Codec Types */
public static final String AVC = "avc";
public static final String H264 = "h264";
public static final String H265 = "h265";
public static final String HEVC = "hevc";
public static final String MPEG2 = "mpeg2";
public static final String MPEG2VIDEO = "mpeg2video";
public static final String MPEG4 = "mpeg4";
public static final String VP8 = "vp8";
public static final String VP9 = "vp9";
}

View File

@@ -1,29 +0,0 @@
package org.jellyfin.androidtv.constant;
public class ContainerTypes {
public static final String _3GP = "3gp";
public static final String _3GPP = "3gpp";
public static final String ASF = "asf";
public static final String AVI = "avi";
public static final String DVR_MS = "dvr-ms";
public static final String M2TS = "m2ts";
public static final String M2V = "m2v";
public static final String M4V = "m4v";
public static final String MKV = "mkv";
public static final String MOV = "mov";
public static final String MP4 = "mp4";
public static final String MPEG = "mpeg";
public static final String MPEGTS = "mpegts";
public static final String MPG = "mpg";
public static final String OGA = "oga";
public static final String OGG = "ogg";
public static final String OGM = "ogm";
public static final String OGV = "ogv";
public static final String TS = "ts";
public static final String VOB = "vob";
public static final String WEBM = "webm";
public static final String WEBMA = "webma";
public static final String WMV = "wmv";
public static final String WTV = "wtv";
public static final String XVID = "xvid";
}

View File

@@ -1,6 +0,0 @@
package org.jellyfin.androidtv.constant;
public enum CustomMessage {
RefreshCurrentItem,
ActionComplete,
}

View File

@@ -0,0 +1,6 @@
package org.jellyfin.androidtv.constant
sealed interface CustomMessage {
data object RefreshCurrentItem : CustomMessage
data object ActionComplete : CustomMessage
}

View File

@@ -2,5 +2,6 @@ package org.jellyfin.androidtv.constant
object Extras {
const val Folder = "folder"
const val IsLiveTvSeriesRecordings = "is_livetv_series_recordings"
const val IncludeType = "type_include"
}

View File

@@ -1,18 +1,18 @@
package org.jellyfin.androidtv.constant
import org.jellyfin.androidtv.R
import org.jellyfin.androidtv.ui.preference.dsl.EnumDisplayOptions
import org.jellyfin.preference.PreferenceEnum
enum class GridDirection {
enum class GridDirection(
override val nameRes: Int,
) : PreferenceEnum {
/**
* Horizontal.
*/
@EnumDisplayOptions(R.string.grid_direction_horizontal)
HORIZONTAL,
HORIZONTAL(R.string.grid_direction_horizontal),
/**
* Vertical.
*/
@EnumDisplayOptions(R.string.grid_direction_vertical)
VERTICAL,
VERTICAL(R.string.grid_direction_vertical),
}

View File

@@ -1,8 +1,7 @@
package org.jellyfin.androidtv.constant
import org.jellyfin.androidtv.R
import org.jellyfin.androidtv.preference.PreferenceEnum
import org.jellyfin.androidtv.ui.preference.dsl.EnumDisplayOptions
import org.jellyfin.preference.PreferenceEnum
/**
* All possible homesections, "synced" with jellyfin-web.
@@ -10,35 +9,17 @@ import org.jellyfin.androidtv.ui.preference.dsl.EnumDisplayOptions
* https://github.com/jellyfin/jellyfin-web/blob/master/src/components/homesections/homesections.js
*/
enum class HomeSectionType(
override val serializedName: String
override val serializedName: String,
override val nameRes: Int,
) : PreferenceEnum {
@EnumDisplayOptions(R.string.home_section_latest_media)
LATEST_MEDIA("latestmedia"),
@EnumDisplayOptions(R.string.home_section_library)
LIBRARY_TILES_SMALL("smalllibrarytiles"),
@EnumDisplayOptions(R.string.home_section_library_small)
LIBRARY_BUTTONS("librarybuttons"),
@EnumDisplayOptions(R.string.home_section_resume)
RESUME("resume"),
@EnumDisplayOptions(R.string.home_section_resume_audio)
RESUME_AUDIO("resumeaudio"),
@EnumDisplayOptions(R.string.home_section_resume_book)
RESUME_BOOK("resumebook"),
@EnumDisplayOptions(R.string.home_section_active_recordings)
ACTIVE_RECORDINGS("activerecordings"),
@EnumDisplayOptions(R.string.home_section_next_up)
NEXT_UP("nextup"),
@EnumDisplayOptions(R.string.home_section_livetv)
LIVE_TV("livetv"),
@EnumDisplayOptions(R.string.home_section_none)
NONE("none"),
LATEST_MEDIA("latestmedia", R.string.home_section_latest_media),
LIBRARY_TILES_SMALL("smalllibrarytiles", R.string.home_section_library),
LIBRARY_BUTTONS("librarybuttons", R.string.home_section_library_small),
RESUME("resume", R.string.home_section_resume),
RESUME_AUDIO("resumeaudio", R.string.home_section_resume_audio),
RESUME_BOOK("resumebook", R.string.home_section_resume_book),
ACTIVE_RECORDINGS("activerecordings", R.string.home_section_active_recordings),
NEXT_UP("nextup", R.string.home_section_next_up),
LIVE_TV("livetv", R.string.home_section_livetv),
NONE("none", R.string.home_section_none),
}

View File

@@ -1,24 +1,23 @@
package org.jellyfin.androidtv.constant
import org.jellyfin.androidtv.R
import org.jellyfin.androidtv.ui.preference.dsl.EnumDisplayOptions
import org.jellyfin.preference.PreferenceEnum
enum class ImageType {
enum class ImageType(
override val nameRes: Int,
) : PreferenceEnum {
/**
* Default.
* Poster.
*/
@EnumDisplayOptions(R.string.image_type_default)
DEFAULT,
POSTER(R.string.image_type_poster),
/**
* Thumbnail.
*/
@EnumDisplayOptions(R.string.image_type_thumbnail)
THUMB,
THUMB(R.string.image_type_thumbnail),
/**
* Banner.
*/
@EnumDisplayOptions(R.string.image_type_banner)
BANNER
BANNER(R.string.image_type_banner),
}

View File

@@ -0,0 +1,8 @@
package org.jellyfin.androidtv.constant
object LiveTvOption {
const val LIVE_TV_GUIDE_OPTION_ID = 1000
const val LIVE_TV_RECORDINGS_OPTION_ID = 2000
const val LIVE_TV_SCHEDULE_OPTION_ID = 4000
const val LIVE_TV_SERIES_OPTION_ID = 5000
}

View File

@@ -1,5 +0,0 @@
package org.jellyfin.androidtv.constant;
public class MediaTypes {
public static final String HLS = "hls";
}

View File

@@ -1,30 +1,32 @@
package org.jellyfin.androidtv.constant
import org.jellyfin.androidtv.R
import org.jellyfin.androidtv.ui.preference.dsl.EnumDisplayOptions
import org.jellyfin.preference.PreferenceEnum
enum class PosterSize {
enum class PosterSize(
override val nameRes: Int,
) : PreferenceEnum {
/**
* Automatic.
* Smallest.
*/
@EnumDisplayOptions(R.string.image_size_auto)
AUTO,
SMALLEST(R.string.image_size_smallest),
/**
* Small.
*/
@EnumDisplayOptions(R.string.image_size_small)
SMALL,
SMALL(R.string.image_size_small),
/**
* Medium.
*/
@EnumDisplayOptions(R.string.image_size_medium)
MED,
MED(R.string.image_size_medium),
/**
* Large.
*/
@EnumDisplayOptions(R.string.image_size_large)
LARGE
LARGE(R.string.image_size_large),
/**
* Extra Large.
*/
X_LARGE(R.string.image_size_xlarge),
}

View File

@@ -0,0 +1,25 @@
package org.jellyfin.androidtv.constant
import android.content.Context
import org.jellyfin.androidtv.R
@Suppress("MagicNumber")
private val qualityOptions = setOf(
200.0, 180.0, 140.0, 120.0, 110.0, 100.0, // 100 >=
90.0, 80.0, 70.0, 60.0, 50.0, 40.0, 30.0, 20.0, 15.0, 10.0, // 10 >=
5.0, 3.0, 2.0, 1.0, // 1 >=
0.72, 0.42 // 0 >=
)
@Suppress("MagicNumber")
fun getQualityProfiles(
context: Context
): Map<String, String> = qualityOptions.associate {
val value = when {
it >= 1.0 -> context.getString(R.string.bitrate_mbit, it)
else -> context.getString(R.string.bitrate_kbit, it * 1000.0)
}
it.toString().removeSuffix(".0") to value
}

View File

@@ -1,28 +0,0 @@
package org.jellyfin.androidtv.constant;
public enum QueryType {
Items,
NextUp,
Views,
Season,
Upcoming,
SimilarSeries,
SimilarMovies,
StaticPeople,
StaticChapters,
Search,
Specials,
Trailers,
LiveTvChannel,
LiveTvProgram,
LiveTvRecording,
LiveTvRecordingGroup,
StaticItems,
Persons,
StaticAudioQueueItems,
AlbumArtists,
AudioPlaylists,
LatestItems,
SeriesTimer,
Premieres
}

View File

@@ -0,0 +1,28 @@
package org.jellyfin.androidtv.constant
enum class QueryType {
Items,
NextUp,
Views,
Season,
Upcoming,
SimilarSeries,
SimilarMovies,
StaticPeople,
StaticChapters,
Search,
Specials,
AdditionalParts,
Trailers,
LiveTvChannel,
LiveTvProgram,
LiveTvRecording,
StaticItems,
Artists,
AlbumArtists,
AudioPlaylists,
LatestItems,
SeriesTimer,
Premieres,
Resume,
}

View File

@@ -1,127 +0,0 @@
package org.jellyfin.androidtv.data.compat;
import org.jellyfin.apiclient.model.dlna.DeviceProfile;
import org.jellyfin.apiclient.model.dlna.EncodingContext;
import org.jellyfin.apiclient.model.dto.MediaSourceInfo;
import java.util.ArrayList;
/**
* Class AudioOptions.
*
* @deprecated
*/
@Deprecated
public class AudioOptions {
public AudioOptions() {
setContext(EncodingContext.Streaming);
setEnableDirectPlay(true);
setEnableDirectStream(true);
}
private boolean EnableDirectPlay;
public final boolean getEnableDirectPlay() {
return EnableDirectPlay;
}
public final void setEnableDirectPlay(boolean value) {
EnableDirectPlay = value;
}
private boolean EnableDirectStream;
public final boolean getEnableDirectStream() {
return EnableDirectStream;
}
public final void setEnableDirectStream(boolean value) {
EnableDirectStream = value;
}
private String ItemId;
public final String getItemId() {
return ItemId;
}
public final void setItemId(String value) {
ItemId = value;
}
private ArrayList<MediaSourceInfo> MediaSources;
public final ArrayList<MediaSourceInfo> getMediaSources() {
return MediaSources;
}
public final void setMediaSources(ArrayList<MediaSourceInfo> value) {
MediaSources = value;
}
private DeviceProfile Profile;
public final DeviceProfile getProfile() {
return Profile;
}
public final void setProfile(DeviceProfile value) {
Profile = value;
}
/**
* Optional. Only needed if a specific AudioStreamIndex or SubtitleStreamIndex are requested.
*/
private String MediaSourceId;
public final String getMediaSourceId() {
return MediaSourceId;
}
public final void setMediaSourceId(String value) {
MediaSourceId = value;
}
/**
* Allows an override of supported number of audio channels
* Example: DeviceProfile supports five channel, but user only has stereo speakers
*/
private Integer MaxAudioChannels = null;
public final Integer getMaxAudioChannels() {
return MaxAudioChannels;
}
public final void setMaxAudioChannels(Integer value) {
MaxAudioChannels = value;
}
/**
* The application's configured quality setting
*/
private Integer MaxBitrate = null;
public final Integer getMaxBitrate() {
return MaxBitrate;
}
public final void setMaxBitrate(Integer value) {
MaxBitrate = value;
}
/**
* Gets or sets the context.
*
* <value>The context.</value>
*/
private EncodingContext Context = EncodingContext.values()[0];
public final EncodingContext getContext() {
return Context;
}
public final void setContext(EncodingContext value) {
Context = value;
}
}

View File

@@ -0,0 +1,24 @@
package org.jellyfin.androidtv.data.compat
import org.jellyfin.sdk.model.api.DeviceProfile
import org.jellyfin.sdk.model.api.MediaSourceInfo
import java.util.UUID
open class AudioOptions {
var enableDirectPlay = true
var enableDirectStream = true
var itemId: UUID? = null
var mediaSources: List<MediaSourceInfo>? = null
var profile: DeviceProfile? = null
/**
* Optional. Only needed if a specific AudioStreamIndex or SubtitleStreamIndex are requested.
*/
var mediaSourceId: String? = null
/**
* Allows an override of supported number of audio channels
* Example: DeviceProfile supports five channel, but user only has stereo speakers
*/
var maxAudioChannels: Int? = null
}

View File

@@ -1,16 +0,0 @@
package org.jellyfin.androidtv.data.compat;
import org.jellyfin.apiclient.model.dlna.PlaybackErrorCode;
@Deprecated
public class PlaybackException extends RuntimeException {
private PlaybackErrorCode ErrorCode = PlaybackErrorCode.values()[0];
public final PlaybackErrorCode getErrorCode() {
return ErrorCode;
}
public final void setErrorCode(PlaybackErrorCode value) {
ErrorCode = value;
}
}

View File

@@ -0,0 +1,7 @@
package org.jellyfin.androidtv.data.compat
import org.jellyfin.sdk.model.api.PlaybackErrorCode
class PlaybackException : RuntimeException() {
var errorCode = PlaybackErrorCode.NOT_ALLOWED
}

View File

@@ -1,87 +0,0 @@
package org.jellyfin.androidtv.data.compat;
import org.jellyfin.androidtv.util.Utils;
import org.jellyfin.apiclient.model.dlna.SubtitleDeliveryMethod;
import org.jellyfin.apiclient.model.dlna.SubtitleProfile;
import org.jellyfin.apiclient.model.entities.MediaStream;
import org.jellyfin.apiclient.model.session.PlayMethod;
@Deprecated
public class StreamBuilder
{
public static SubtitleProfile GetSubtitleProfile(MediaStream subtitleStream, SubtitleProfile[] subtitleProfiles, PlayMethod playMethod)
{
if (playMethod != PlayMethod.Transcode && !subtitleStream.getIsExternal())
{
// Look for supported embedded subs
for (SubtitleProfile profile : subtitleProfiles)
{
if (!profile.SupportsLanguage(subtitleStream.getLanguage()))
{
continue;
}
if (profile.getMethod() != SubtitleDeliveryMethod.Embed)
{
continue;
}
if (subtitleStream.getIsTextSubtitleStream() == MediaStream.IsTextFormat(profile.getFormat()) && Utils.equalsIgnoreCase(profile.getFormat(), subtitleStream.getCodec()))
{
return profile;
}
}
}
// Look for an external or hls profile that matches the stream type (text/graphical) and doesn't require conversion
SubtitleProfile tempVar = new SubtitleProfile();
tempVar.setMethod(SubtitleDeliveryMethod.Encode);
tempVar.setFormat(subtitleStream.getCodec());
SubtitleProfile tempVar2 = GetExternalSubtitleProfile(subtitleStream, subtitleProfiles, playMethod, false);
SubtitleProfile tempVar3 = GetExternalSubtitleProfile(subtitleStream, subtitleProfiles, playMethod, true);
return (tempVar2 != null) ? tempVar2 : (tempVar3 != null) ? tempVar3 : tempVar;
}
private static SubtitleProfile GetExternalSubtitleProfile(MediaStream subtitleStream, SubtitleProfile[] subtitleProfiles, PlayMethod playMethod, boolean allowConversion)
{
for (SubtitleProfile profile : subtitleProfiles)
{
if (profile.getMethod() != SubtitleDeliveryMethod.External && profile.getMethod() != SubtitleDeliveryMethod.Hls)
{
continue;
}
if (profile.getMethod() == SubtitleDeliveryMethod.Hls && playMethod != PlayMethod.Transcode)
{
continue;
}
if (!profile.SupportsLanguage(subtitleStream.getLanguage()))
{
continue;
}
if ((profile.getMethod() == SubtitleDeliveryMethod.External && subtitleStream.getIsTextSubtitleStream() == MediaStream.IsTextFormat(profile.getFormat())) || (profile.getMethod() == SubtitleDeliveryMethod.Hls && subtitleStream.getIsTextSubtitleStream()))
{
boolean requiresConversion = !Utils.equalsIgnoreCase(subtitleStream.getCodec(), profile.getFormat());
if (!requiresConversion)
{
return profile;
}
if (!allowConversion)
{
continue;
}
if (subtitleStream.getIsTextSubtitleStream() && subtitleStream.getSupportsExternalStream() && subtitleStream.SupportsSubtitleConversionTo(profile.getFormat()))
{
return profile;
}
}
}
return null;
}
}

View File

@@ -1,43 +1,22 @@
package org.jellyfin.androidtv.data.compat;
import org.jellyfin.androidtv.util.Utils;
import org.jellyfin.apiclient.model.dlna.DeviceProfile;
import org.jellyfin.apiclient.model.dlna.DlnaProfileType;
import org.jellyfin.apiclient.model.dlna.EncodingContext;
import org.jellyfin.apiclient.model.dlna.SubtitleDeliveryMethod;
import org.jellyfin.apiclient.model.dlna.SubtitleProfile;
import org.jellyfin.apiclient.model.dlna.TranscodeSeekInfo;
import org.jellyfin.apiclient.model.dto.MediaSourceInfo;
import org.jellyfin.apiclient.model.dto.NameValuePair;
import org.jellyfin.apiclient.model.entities.MediaStream;
import org.jellyfin.apiclient.model.entities.MediaStreamType;
import org.jellyfin.apiclient.model.mediainfo.MediaProtocol;
import org.jellyfin.apiclient.model.session.PlayMethod;
import org.jellyfin.sdk.model.api.MediaSourceInfo;
import org.jellyfin.sdk.model.api.MediaStream;
import org.jellyfin.sdk.model.api.MediaStreamType;
import org.jellyfin.sdk.model.api.PlayMethod;
import org.jellyfin.sdk.model.api.SubtitleDeliveryMethod;
import java.util.ArrayList;
import java.util.UUID;
/**
* Class StreamInfo.
*
* @deprecated
*/
@Deprecated
public class StreamInfo {
private static final String START_TIME_TICKS = "StartTimeTicks";
private static final String SUBTITLE_STREAM_INDEX = "SubtitleStreamIndex";
private static final String STATIC = "Static";
private UUID ItemId;
public StreamInfo() {
setAudioCodecs(new String[]{});
}
private String ItemId;
public final String getItemId() {
public final UUID getItemId() {
return ItemId;
}
public final void setItemId(String value) {
public final void setItemId(UUID value) {
ItemId = value;
}
@@ -51,34 +30,14 @@ public class StreamInfo {
MediaUrl = value;
}
private PlayMethod PlayMethod = getPlayMethod().values()[0];
private PlayMethod playMethod = PlayMethod.DIRECT_PLAY;
public final PlayMethod getPlayMethod() {
return PlayMethod;
return playMethod;
}
public final void setPlayMethod(PlayMethod value) {
PlayMethod = value;
}
private EncodingContext Context = EncodingContext.values()[0];
public final EncodingContext getContext() {
return Context;
}
public final void setContext(EncodingContext value) {
Context = value;
}
private DlnaProfileType MediaType = DlnaProfileType.values()[0];
public final DlnaProfileType getMediaType() {
return MediaType;
}
public final void setMediaType(DlnaProfileType value) {
MediaType = value;
playMethod = value;
}
private String Container;
@@ -91,46 +50,6 @@ public class StreamInfo {
Container = value;
}
private long StartPositionTicks;
public final long getStartPositionTicks() {
return StartPositionTicks;
}
public final void setStartPositionTicks(long value) {
StartPositionTicks = value;
}
private String[] AudioCodecs;
public final String[] getAudioCodecs() {
return AudioCodecs;
}
public final void setAudioCodecs(String[] value) {
AudioCodecs = value;
}
private DeviceProfile DeviceProfile;
public final DeviceProfile getDeviceProfile() {
return DeviceProfile;
}
public final void setDeviceProfile(DeviceProfile value) {
DeviceProfile = value;
}
private String DeviceId;
public final String getDeviceId() {
return DeviceId;
}
public final void setDeviceId(String value) {
DeviceId = value;
}
private Long RunTimeTicks = null;
public final Long getRunTimeTicks() {
@@ -141,12 +60,6 @@ public class StreamInfo {
RunTimeTicks = value;
}
private TranscodeSeekInfo TranscodeSeekInfo = getTranscodeSeekInfo().values()[0];
public final TranscodeSeekInfo getTranscodeSeekInfo() {
return TranscodeSeekInfo;
}
private MediaSourceInfo MediaSource;
public final MediaSourceInfo getMediaSource() {
@@ -157,10 +70,10 @@ public class StreamInfo {
MediaSource = value;
}
private SubtitleDeliveryMethod SubtitleDeliveryMethod = getSubtitleDeliveryMethod().values()[0];
public final SubtitleDeliveryMethod getSubtitleDeliveryMethod() {
return SubtitleDeliveryMethod;
public final org.jellyfin.sdk.model.api.SubtitleDeliveryMethod getSubtitleDeliveryMethod() {
Integer subtitleStreamIndex = MediaSource.getDefaultSubtitleStreamIndex();
if (subtitleStreamIndex == null || subtitleStreamIndex == -1) return SubtitleDeliveryMethod.DROP;
return MediaSource.getMediaStreams().get(subtitleStreamIndex).getDeliveryMethod();
}
private String PlaySessionId;
@@ -177,191 +90,14 @@ public class StreamInfo {
return getMediaSource() == null ? null : getMediaSource().getId();
}
public final boolean getIsDirectStream() {
return getPlayMethod() == PlayMethod.DirectStream || getPlayMethod() == PlayMethod.DirectPlay;
public final ArrayList<MediaStream> getSelectableAudioStreams() {
return getSelectableStreams(MediaStreamType.AUDIO);
}
public final String ToUrl(String baseUrl, String accessToken) {
if (!Utils.isEmpty(getMediaUrl())) {
return getMediaUrl();
}
public final ArrayList<org.jellyfin.sdk.model.api.MediaStream> getSelectableStreams(MediaStreamType type) {
ArrayList<org.jellyfin.sdk.model.api.MediaStream> list = new ArrayList<org.jellyfin.sdk.model.api.MediaStream>();
if (getPlayMethod() == PlayMethod.DirectPlay) {
return getMediaSource().getPath();
}
if (Utils.isEmpty(baseUrl)) {
throw new IllegalArgumentException(baseUrl);
}
ArrayList<String> list = new ArrayList<String>();
for (NameValuePair pair : BuildParams(this, accessToken, false)) {
if (Utils.isEmpty(pair.getValue())) {
continue;
}
// Try to keep the url clean by omitting defaults
if (START_TIME_TICKS.equalsIgnoreCase(pair.getName()) && "0".equalsIgnoreCase(pair.getValue())) {
continue;
}
if (SUBTITLE_STREAM_INDEX.equalsIgnoreCase(pair.getName()) && "-1".equalsIgnoreCase(pair.getValue())) {
continue;
}
if (STATIC.equalsIgnoreCase(pair.getName()) && "false".equalsIgnoreCase(pair.getValue())) {
continue;
}
list.add(String.format("%1$s=%2$s", pair.getName(), pair.getValue()));
}
String queryString = Utils.join("&", list);
return GetUrl(baseUrl, queryString);
}
private String GetUrl(String baseUrl, String queryString) {
if (Utils.isEmpty(baseUrl)) {
throw new IllegalArgumentException(baseUrl);
}
String extension = Utils.isEmpty(getContainer()) ? "" : "." + getContainer();
// remove trailing slashes
baseUrl = baseUrl.replaceAll("[/]+$", "");
if (getMediaType() == DlnaProfileType.Audio) {
return String.format("%1$s/audio/%2$s/stream%3$s?%4$s", baseUrl, getItemId(), extension, queryString);
}
return String.format("%1$s/videos/%2$s/stream%3$s?%4$s", baseUrl, getItemId(), extension, queryString);
}
private static ArrayList<NameValuePair> BuildParams(StreamInfo item, String accessToken, boolean isDlna) {
ArrayList<NameValuePair> list = new ArrayList<NameValuePair>();
String audioCodecs = item.getAudioCodecs().length == 0 ? "" : Utils.join(",", item.getAudioCodecs());
list.add(new NameValuePair("DeviceProfileId", ""));
String tempVar2 = item.getDeviceId();
list.add(new NameValuePair("DeviceId", (tempVar2 != null) ? tempVar2 : ""));
String tempVar3 = item.getMediaSourceId();
list.add(new NameValuePair("MediaSourceId", (tempVar3 != null) ? tempVar3 : ""));
list.add(new NameValuePair(STATIC, Boolean.valueOf(item.getIsDirectStream()).toString().toLowerCase()));
list.add(new NameValuePair("VideoCodec", ""));
list.add(new NameValuePair("AudioCodec", audioCodecs));
list.add(new NameValuePair("AudioStreamIndex", ""));
list.add(new NameValuePair("SubtitleStreamIndex", ""));
list.add(new NameValuePair("VideoBitrate", ""));
list.add(new NameValuePair("AudioBitrate", ""));
list.add(new NameValuePair("MaxAudioChannels", ""));
list.add(new NameValuePair("MaxFramerate", ""));
list.add(new NameValuePair("MaxWidth", ""));
list.add(new NameValuePair("MaxHeight", ""));
list.add(new NameValuePair(START_TIME_TICKS, String.valueOf(item.getStartPositionTicks())));
list.add(new NameValuePair("Level", ""));
list.add(new NameValuePair("MaxRefFrames", ""));
list.add(new NameValuePair("MaxVideoBitDepth", ""));
list.add(new NameValuePair("Profile", ""));
// no longer used
list.add(new NameValuePair("Cabac", ""));
String tempVar6 = item.getPlaySessionId();
list.add(new NameValuePair("PlaySessionId", (tempVar6 != null) ? tempVar6 : ""));
list.add(new NameValuePair("api_key", (accessToken != null) ? accessToken : ""));
String liveStreamId = item.getMediaSource() == null ? null : item.getMediaSource().getLiveStreamId();
list.add(new NameValuePair("LiveStreamId", (liveStreamId != null) ? liveStreamId : ""));
if (isDlna) {
list.add(new NameValuePair("ItemId", item.getItemId()));
}
list.add(new NameValuePair("CopyTimestamps", "false"));
list.add(new NameValuePair("ForceLiveStream", "false"));
list.add(new NameValuePair("SubtitleMethod", ""));
list.add(new NameValuePair("TranscodingMaxAudioChannels", ""));
list.add(new NameValuePair("EnableSubtitlesInManifest", "false"));
String tempVar7 = item.getMediaSource().getETag();
list.add(new NameValuePair("Tag", (tempVar7 != null) ? tempVar7 : ""));
return list;
}
public final ArrayList<SubtitleStreamInfo> GetSubtitleProfiles(boolean includeSelectedTrackOnly, String baseUrl, String accessToken) {
return GetSubtitleProfiles(includeSelectedTrackOnly, false, baseUrl, accessToken);
}
public final ArrayList<SubtitleStreamInfo> GetSubtitleProfiles(boolean includeSelectedTrackOnly, boolean enableAllProfiles, String baseUrl, String accessToken) {
ArrayList<SubtitleStreamInfo> list = new ArrayList<SubtitleStreamInfo>();
// HLS will preserve timestamps so we can just grab the full subtitle stream
long startPositionTicks = getPlayMethod() == PlayMethod.Transcode ? getStartPositionTicks() : 0;
if (!includeSelectedTrackOnly) {
for (MediaStream stream : getMediaSource().getMediaStreams()) {
if (stream.getType() == MediaStreamType.Subtitle) {
AddSubtitleProfiles(list, stream, enableAllProfiles, baseUrl, accessToken, startPositionTicks);
}
}
}
return list;
}
private void AddSubtitleProfiles(ArrayList<SubtitleStreamInfo> list, MediaStream stream, boolean enableAllProfiles, String baseUrl, String accessToken, long startPositionTicks) {
if (enableAllProfiles) {
for (SubtitleProfile profile : getDeviceProfile().getSubtitleProfiles()) {
SubtitleStreamInfo info = GetSubtitleStreamInfo(stream, baseUrl, accessToken, startPositionTicks, new SubtitleProfile[]{profile});
list.add(info);
}
} else {
SubtitleStreamInfo info = GetSubtitleStreamInfo(stream, baseUrl, accessToken, startPositionTicks, getDeviceProfile().getSubtitleProfiles());
list.add(info);
}
}
private SubtitleStreamInfo GetSubtitleStreamInfo(MediaStream stream, String baseUrl, String accessToken, long startPositionTicks, SubtitleProfile[] subtitleProfiles) {
SubtitleProfile subtitleProfile = StreamBuilder.GetSubtitleProfile(stream, subtitleProfiles, getPlayMethod());
SubtitleStreamInfo tempVar = new SubtitleStreamInfo();
String tempVar2 = stream.getLanguage();
tempVar.setName((tempVar2 != null) ? tempVar2 : "Unknown");
tempVar.setFormat(subtitleProfile.getFormat());
tempVar.setIndex(stream.getIndex());
tempVar.setDeliveryMethod(subtitleProfile.getMethod());
tempVar.setDisplayTitle(stream.getDisplayTitle());
SubtitleStreamInfo info = tempVar;
if (info.getDeliveryMethod() == SubtitleDeliveryMethod.External) {
if (getMediaSource().getProtocol() == MediaProtocol.File || !stream.getCodec().equalsIgnoreCase(subtitleProfile.getFormat())) {
info.setUrl(String.format("%1$s/Videos/%2$s/%3$s/Subtitles/%4$s/%5$s/Stream.%6$s", baseUrl, getItemId(), getMediaSourceId(), String.valueOf(stream.getIndex()), String.valueOf(startPositionTicks), subtitleProfile.getFormat()));
if (!Utils.isEmpty(accessToken)) {
info.setUrl(info.getUrl() + "?api_key=" + accessToken);
}
} else {
info.setUrl(stream.getPath());
}
}
return info;
}
public final ArrayList<MediaStream> GetSelectableAudioStreams() {
return GetSelectableStreams(MediaStreamType.Audio);
}
public final ArrayList<MediaStream> GetSelectableStreams(MediaStreamType type) {
ArrayList<MediaStream> list = new ArrayList<MediaStream>();
for (MediaStream stream : getMediaSource().getMediaStreams()) {
for (org.jellyfin.sdk.model.api.MediaStream stream : getMediaSource().getMediaStreams()) {
if (type == stream.getType()) {
list.add(stream);
}

View File

@@ -1,66 +0,0 @@
package org.jellyfin.androidtv.data.compat;
import org.jellyfin.apiclient.model.dlna.SubtitleDeliveryMethod;
@Deprecated
public class SubtitleStreamInfo {
private String Url;
public final String getUrl() {
return Url;
}
public final void setUrl(String value) {
Url = value;
}
private String Name;
public final String getName() {
return Name;
}
public final void setName(String value) {
Name = value;
}
private String Format;
public final String getFormat() {
return Format;
}
public final void setFormat(String value) {
Format = value;
}
private String DisplayTitle;
public final String getDisplayTitle() {
return DisplayTitle;
}
public final void setDisplayTitle(String value) {
DisplayTitle = value;
}
private int Index;
public final int getIndex() {
return Index;
}
public final void setIndex(int value) {
Index = value;
}
private SubtitleDeliveryMethod DeliveryMethod = SubtitleDeliveryMethod.values()[0];
public final SubtitleDeliveryMethod getDeliveryMethod() {
return DeliveryMethod;
}
public final void setDeliveryMethod(SubtitleDeliveryMethod value) {
DeliveryMethod = value;
}
}

View File

@@ -1,28 +0,0 @@
package org.jellyfin.androidtv.data.compat;
/**
* Class VideoOptions.
*
* @deprecated
*/
@Deprecated
public class VideoOptions extends AudioOptions {
private Integer AudioStreamIndex;
private Integer SubtitleStreamIndex;
public final Integer getAudioStreamIndex() {
return AudioStreamIndex;
}
public final void setAudioStreamIndex(Integer value) {
AudioStreamIndex = value;
}
public final Integer getSubtitleStreamIndex() {
return SubtitleStreamIndex;
}
public final void setSubtitleStreamIndex(Integer value) {
SubtitleStreamIndex = value;
}
}

View File

@@ -0,0 +1,6 @@
package org.jellyfin.androidtv.data.compat
class VideoOptions : AudioOptions() {
var audioStreamIndex: Int? = null
var subtitleStreamIndex: Int? = null
}

View File

@@ -0,0 +1,254 @@
package org.jellyfin.androidtv.data.eventhandling
import android.content.Context
import android.media.AudioManager
import android.widget.Toast
import androidx.lifecycle.Lifecycle
import androidx.lifecycle.coroutineScope
import androidx.lifecycle.repeatOnLifecycle
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.flow.launchIn
import kotlinx.coroutines.flow.onEach
import kotlinx.coroutines.launch
import kotlinx.coroutines.runBlocking
import kotlinx.coroutines.withContext
import org.jellyfin.androidtv.data.model.DataRefreshService
import org.jellyfin.androidtv.ui.itemhandling.ItemLauncher
import org.jellyfin.androidtv.ui.navigation.Destinations
import org.jellyfin.androidtv.ui.navigation.NavigationRepository
import org.jellyfin.androidtv.ui.playback.MediaManager
import org.jellyfin.androidtv.ui.playback.PlaybackControllerContainer
import org.jellyfin.androidtv.ui.playback.setSubtitleIndex
import org.jellyfin.androidtv.util.PlaybackHelper
import org.jellyfin.sdk.api.client.ApiClient
import org.jellyfin.sdk.api.client.exception.ApiClientException
import org.jellyfin.sdk.api.client.extensions.sessionApi
import org.jellyfin.sdk.api.client.extensions.userLibraryApi
import org.jellyfin.sdk.api.sockets.subscribe
import org.jellyfin.sdk.api.sockets.subscribeGeneralCommand
import org.jellyfin.sdk.api.sockets.subscribeGeneralCommands
import org.jellyfin.sdk.model.api.BaseItemKind
import org.jellyfin.sdk.model.api.GeneralCommandType
import org.jellyfin.sdk.model.api.LibraryChangedMessage
import org.jellyfin.sdk.model.api.LibraryUpdateInfo
import org.jellyfin.sdk.model.api.MediaType
import org.jellyfin.sdk.model.api.PlayMessage
import org.jellyfin.sdk.model.api.PlaystateCommand
import org.jellyfin.sdk.model.api.PlaystateMessage
import org.jellyfin.sdk.model.extensions.get
import org.jellyfin.sdk.model.extensions.getValue
import org.jellyfin.sdk.model.serializer.toUUIDOrNull
import timber.log.Timber
import java.time.Instant
import java.util.UUID
class SocketHandler(
private val context: Context,
private val api: ApiClient,
private val dataRefreshService: DataRefreshService,
private val mediaManager: MediaManager,
private val playbackControllerContainer: PlaybackControllerContainer,
private val navigationRepository: NavigationRepository,
private val audioManager: AudioManager,
private val itemLauncher: ItemLauncher,
private val playbackHelper: PlaybackHelper,
private val lifecycle: Lifecycle,
) {
init {
lifecycle.coroutineScope.launch(Dispatchers.IO) {
lifecycle.repeatOnLifecycle(Lifecycle.State.RESUMED) {
subscribe(this)
}
}
}
suspend fun updateSession() {
try {
withContext(Dispatchers.IO) {
api.sessionApi.postCapabilities(
playableMediaTypes = listOf(MediaType.VIDEO, MediaType.AUDIO),
supportsMediaControl = true,
supportedCommands = buildList {
add(GeneralCommandType.DISPLAY_CONTENT)
add(GeneralCommandType.SET_SUBTITLE_STREAM_INDEX)
add(GeneralCommandType.SET_AUDIO_STREAM_INDEX)
add(GeneralCommandType.DISPLAY_MESSAGE)
add(GeneralCommandType.SEND_STRING)
// Note: These are used in the PlaySessionSocketService
if (!audioManager.isVolumeFixed) {
add(GeneralCommandType.VOLUME_UP)
add(GeneralCommandType.VOLUME_DOWN)
add(GeneralCommandType.SET_VOLUME)
add(GeneralCommandType.MUTE)
add(GeneralCommandType.UNMUTE)
add(GeneralCommandType.TOGGLE_MUTE)
}
},
)
}
} catch (err: ApiClientException) {
Timber.e(err, "Unable to update capabilities")
}
}
private fun subscribe(coroutineScope: CoroutineScope) = api.webSocket.apply {
// Library
subscribe<LibraryChangedMessage>()
.onEach { message -> message.data?.let(::onLibraryChanged) }
.launchIn(coroutineScope)
// Media playback
subscribe<PlayMessage>()
.onEach { message -> onPlayMessage(message) }
.launchIn(coroutineScope)
subscribe<PlaystateMessage>()
.onEach { message -> onPlayStateMessage(message) }
.launchIn(coroutineScope)
subscribeGeneralCommand(GeneralCommandType.SET_SUBTITLE_STREAM_INDEX)
.onEach { message ->
val index = message["index"]?.toIntOrNull() ?: return@onEach
withContext(Dispatchers.Main) {
playbackControllerContainer.playbackController?.setSubtitleIndex(index)
}
}
.launchIn(coroutineScope)
subscribeGeneralCommand(GeneralCommandType.SET_AUDIO_STREAM_INDEX)
.onEach { message ->
val index = message["index"]?.toIntOrNull() ?: return@onEach
withContext(Dispatchers.Main) {
playbackControllerContainer.playbackController?.switchAudioStream(index)
}
}
.launchIn(coroutineScope)
// General commands
subscribeGeneralCommand(GeneralCommandType.DISPLAY_CONTENT)
.onEach { message ->
val itemId by message
val itemType by message
val itemUuid = itemId?.toUUIDOrNull()
val itemKind = itemType?.let { type ->
BaseItemKind.entries.find { value ->
value.serialName.equals(type, true)
}
}
if (itemUuid != null && itemKind != null) onDisplayContent(itemUuid, itemKind)
}
.launchIn(coroutineScope)
subscribeGeneralCommands(setOf(GeneralCommandType.DISPLAY_MESSAGE, GeneralCommandType.SEND_STRING))
.onEach { message ->
val header by message
val text by message
val string by message
onDisplayMessage(header, text ?: string)
}
.launchIn(coroutineScope)
}
private fun onLibraryChanged(info: LibraryUpdateInfo) {
Timber.d(buildString {
appendLine("Library changed.")
appendLine("Added ${info.itemsAdded.size} items")
appendLine("Removed ${info.itemsRemoved.size} items")
appendLine("Updated ${info.itemsUpdated.size} items")
})
if (info.itemsAdded.any() || info.itemsRemoved.any())
dataRefreshService.lastLibraryChange = Instant.now()
}
private fun onPlayMessage(message: PlayMessage) {
val itemIds = message.data?.itemIds ?: return
runCatching {
playbackHelper.retrieveAndPlay(
itemIds,
false,
message.data?.startPositionTicks,
message.data?.startIndex,
context
)
}.onFailure { Timber.w(it, "Failed to start playback") }
}
@Suppress("ComplexMethod")
private suspend fun onPlayStateMessage(message: PlaystateMessage) = withContext(Dispatchers.Main) {
Timber.i("Received PlayStateMessage with command ${message.data?.command}")
// Audio playback uses (Rewrite)MediaManager, (legacy) video playback uses playbackController
when {
mediaManager.hasAudioQueueItems() -> {
Timber.i("Ignoring PlayStateMessage: should be handled by PlaySessionSocketService")
return@withContext
}
// PlaybackController
else -> {
val playbackController = playbackControllerContainer.playbackController
when (message.data?.command) {
PlaystateCommand.STOP -> playbackController?.endPlayback(true)
PlaystateCommand.PAUSE, PlaystateCommand.UNPAUSE, PlaystateCommand.PLAY_PAUSE -> playbackController?.playPause()
PlaystateCommand.NEXT_TRACK -> playbackController?.next()
PlaystateCommand.PREVIOUS_TRACK -> playbackController?.prev()
PlaystateCommand.SEEK -> playbackController?.seek(
(message.data?.seekPositionTicks ?: 0) / TICKS_TO_MS
)
PlaystateCommand.REWIND -> playbackController?.rewind()
PlaystateCommand.FAST_FORWARD -> playbackController?.fastForward()
null -> Unit
}
}
}
}
private suspend fun onDisplayContent(itemId: UUID, itemKind: BaseItemKind) = withContext(Dispatchers.Main) {
val playbackController = playbackControllerContainer.playbackController
if (playbackController?.isPlaying == true || playbackController?.isPaused == true) {
Timber.i("Not launching $itemId: playback in progress")
return@withContext
}
Timber.i("Launching $itemId")
when (itemKind) {
BaseItemKind.USER_VIEW,
BaseItemKind.COLLECTION_FOLDER -> {
val item by api.userLibraryApi.getItem(itemId = itemId)
itemLauncher.launchUserView(item)
}
else -> navigationRepository.navigate(Destinations.itemDetails(itemId))
}
}
private fun onDisplayMessage(header: String?, text: String?) {
val toastMessage = buildString {
if (!header.isNullOrBlank()) append(header, ": ")
append(text)
}
runBlocking(Dispatchers.Main) {
Toast.makeText(context, toastMessage, Toast.LENGTH_LONG).show()
}
}
companion object {
const val TICKS_TO_MS = 10000L
}
}

View File

@@ -1,218 +0,0 @@
package org.jellyfin.androidtv.data.eventhandling;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.os.Handler;
import android.os.Looper;
import android.widget.Toast;
import org.jellyfin.androidtv.R;
import org.jellyfin.androidtv.TvApp;
import org.jellyfin.androidtv.data.model.DataRefreshService;
import org.jellyfin.androidtv.data.querying.StdItemQuery;
import org.jellyfin.androidtv.ui.itemhandling.BaseRowItem;
import org.jellyfin.androidtv.ui.itemhandling.ItemLauncher;
import org.jellyfin.androidtv.ui.playback.MediaManager;
import org.jellyfin.androidtv.ui.playback.PlaybackController;
import org.jellyfin.androidtv.ui.playback.PlaybackLauncher;
import org.jellyfin.androidtv.ui.playback.PlaybackOverlayActivity;
import org.jellyfin.androidtv.util.Utils;
import org.jellyfin.androidtv.util.apiclient.PlaybackHelper;
import org.jellyfin.apiclient.interaction.ApiClient;
import org.jellyfin.apiclient.interaction.ApiEventListener;
import org.jellyfin.apiclient.interaction.Response;
import org.jellyfin.apiclient.model.dto.BaseItemDto;
import org.jellyfin.apiclient.model.entities.LibraryUpdateInfo;
import org.jellyfin.apiclient.model.querying.ItemFields;
import org.jellyfin.apiclient.model.querying.ItemsResult;
import org.jellyfin.apiclient.model.session.BrowseRequest;
import org.jellyfin.apiclient.model.session.MessageCommand;
import org.jellyfin.apiclient.model.session.PlayRequest;
import org.jellyfin.apiclient.model.session.PlaystateRequest;
import org.jellyfin.apiclient.model.session.SessionInfoDto;
import org.koin.java.KoinJavaComponent;
import java.util.Arrays;
import timber.log.Timber;
public class TvApiEventListener extends ApiEventListener {
private final DataRefreshService dataRefreshService;
private final MediaManager mediaManager;
private final Handler mainThreadHandler;
public TvApiEventListener(DataRefreshService dataRefreshService, MediaManager mediaManager) {
this.dataRefreshService = dataRefreshService;
this.mediaManager = mediaManager;
//handler to interact with the players (exoplayer doesn't allow access from another thread)
mainThreadHandler = new Handler(Looper.getMainLooper());
}
@Override
public void onPlaybackStopped(ApiClient client, SessionInfoDto info) {
TvApp app = TvApp.getApplication();
Timber.d("Got Playback stopped message from server");
if (info.getUserId().equals(app.getCurrentUser().getId())) {
dataRefreshService.setLastPlayback(System.currentTimeMillis());
if (info.getNowPlayingItem() == null) return;
switch (info.getNowPlayingItem().getType()) {
case "Movie":
dataRefreshService.setLastMoviePlayback(System.currentTimeMillis());
break;
case "Episode":
dataRefreshService.setLastTvPlayback(System.currentTimeMillis());
break;
}
}
}
@Override
public void onLibraryChanged(ApiClient client, LibraryUpdateInfo info) {
Timber.d("Library Changed. Added %o items. Removed %o items. Changed %o items.", info.getItemsAdded().size(), info.getItemsRemoved().size(), info.getItemsUpdated().size());
if (info.getItemsAdded().size() > 0 || info.getItemsRemoved().size() > 0)
dataRefreshService.setLastLibraryChange(System.currentTimeMillis());
}
@Override
public void onPlaystateCommand(ApiClient client, PlaystateRequest command) {
PlaybackController playbackController = TvApp.getApplication().getPlaybackController();
Timber.d("caught playstate command: %s", command.getCommand());
switch (command.getCommand()) {
case Stop:
if (mediaManager.getIsAudioPlayerInitialized())
mainThreadHandler.post(() -> mediaManager.stopAudio(true));
else {
Activity currentActivity = TvApp.getApplication().getCurrentActivity();
if(playbackController != null && mediaManager.hasVideoQueueItems() && playbackController.hasInitializedVideoManager())
mainThreadHandler.post(() -> playbackController.endPlayback());
if(currentActivity instanceof PlaybackOverlayActivity)
currentActivity.finish();
}
break;
case Pause:
case Unpause:
case PlayPause:
if (mediaManager.getIsAudioPlayerInitialized())
mainThreadHandler.post(() -> mediaManager.playPauseAudio());
else if(playbackController != null && mediaManager.hasVideoQueueItems() && playbackController.hasInitializedVideoManager())
mainThreadHandler.post(() -> playbackController.playPause());
break;
case NextTrack:
if (mediaManager.getIsAudioPlayerInitialized() && mediaManager.hasAudioQueueItems())
mainThreadHandler.post(() -> mediaManager.nextAudioItem());
else if(playbackController != null && mediaManager.hasVideoQueueItems() && playbackController.hasInitializedVideoManager())
mainThreadHandler.post(() -> playbackController.next());
break;
case PreviousTrack:
if (mediaManager.getIsAudioPlayerInitialized() && mediaManager.hasAudioQueueItems())
mainThreadHandler.post(() -> mediaManager.prevAudioItem());
else if(playbackController != null && mediaManager.hasVideoQueueItems() && playbackController.hasInitializedVideoManager())
mainThreadHandler.post(() -> playbackController.prev());
break;
case Seek:
if(playbackController != null && mediaManager.hasVideoQueueItems() && playbackController.hasInitializedVideoManager()) {
long pos = command.getSeekPositionTicks() / 10000;
mainThreadHandler.post(() -> playbackController.seek(pos));
}
break;
case Rewind:
if (playbackController != null && mediaManager.hasVideoQueueItems() && playbackController.hasInitializedVideoManager())
mainThreadHandler.post(() -> playbackController.skip(-11000));
break;
case FastForward:
if (playbackController != null && mediaManager.hasVideoQueueItems() && playbackController.hasInitializedVideoManager())
mainThreadHandler.post(() -> playbackController.skip(30000));
break;
}
}
@Override
public void onBrowseCommand(ApiClient client, BrowseRequest command) {
Timber.d("Browse command received");
if (Utils.isEmpty(command.getItemId())) return;
mainThreadHandler.post(() -> {
if (TvApp.getApplication().getCurrentActivity() == null ||
(TvApp.getApplication().getPlaybackController() != null && (TvApp.getApplication().getPlaybackController().isPlaying() || TvApp.getApplication().getPlaybackController().isPaused()))) {
Timber.i("Command ignored due to no activity or playback in progress");
return;
}
client.GetItemAsync(command.getItemId(), TvApp.getApplication().getCurrentUser().getId(), new Response<BaseItemDto>() {
@Override
public void onResponse(BaseItemDto response) {
//Create a rowItem and pass to our handler
ItemLauncher.launch(new BaseRowItem(0, response), null, -1, TvApp.getApplication().getCurrentActivity(), true);
}
});
});
}
@Override
public void onPlayCommand(ApiClient client, PlayRequest command) {
mainThreadHandler.post(() -> {
if (TvApp.getApplication().getPlaybackController() != null && (TvApp.getApplication().getPlaybackController().isPlaying() || TvApp.getApplication().getPlaybackController().isPaused())) {
TvApp.getApplication().getCurrentActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
Utils.showToast(TvApp.getApplication().getCurrentActivity(), TvApp.getApplication().getString(R.string.msg_remote_already_playing));
}
});
return;
}
if (command.getItemIds().length > 1) {
Timber.i("Playing multiple items by remote request");
if (TvApp.getApplication().getCurrentActivity() == null) {
Timber.e("No current activity. Cannot play");
return;
}
int startIndex = command.getStartIndex() == null ? 0 : command.getStartIndex().intValue();
int startPosition = command.getStartPositionTicks() == null || command.getStartPositionTicks().longValue() == 0 ? 0 : Long.valueOf(command.getStartPositionTicks() / 10000L).intValue();
Timber.d("got queue start index: %s position %s", startIndex, startPosition);
StdItemQuery query = new StdItemQuery(new ItemFields[]{
ItemFields.MediaSources,
ItemFields.ChildCount
});
query.setIds(command.getItemIds());
KoinJavaComponent.<ApiClient>get(ApiClient.class).GetItemsAsync(query, new Response<ItemsResult>() {
@Override
public void onResponse(ItemsResult response) {
if (response.getItems() != null && response.getItems().length > 0) {
PlaybackLauncher playbackLauncher = KoinJavaComponent.<PlaybackLauncher>get(PlaybackLauncher.class);
if (playbackLauncher.interceptPlayRequest(TvApp.getApplication(), response.getItems()[0])) return;
//peek at first item to see what type it is
switch (response.getItems()[0].getMediaType()) {
case "Video":
Class activity = KoinJavaComponent.<PlaybackLauncher>get(PlaybackLauncher.class).getPlaybackActivityClass(response.getItems()[0].getBaseItemType());
mediaManager.setCurrentVideoQueue(Arrays.asList(response.getItems()));
Intent intent = new Intent(TvApp.getApplication().getCurrentActivity(), activity);
intent.putExtra("Position", startPosition);
TvApp.getApplication().getCurrentActivity().startActivity(intent);
break;
case "Audio":
mediaManager.playNow(TvApp.getApplication().getCurrentActivity(), Arrays.asList(response.getItems()), startIndex, false);
break;
}
}
}
});
} else {
if (command.getItemIds().length > 0) {
Timber.i("Playing single item by remote request");
Context context = TvApp.getApplication().getCurrentActivity() != null ? TvApp.getApplication().getCurrentActivity() : TvApp.getApplication();
PlaybackHelper.retrieveAndPlay(command.getItemIds()[0], false, command.getStartPositionTicks(), context);
}
}
});
}
@Override
public void onMessageCommand(ApiClient client, MessageCommand command) {
new Handler(TvApp.getApplication().getMainLooper()).post(() -> Toast.makeText(TvApp.getApplication(), command.getText(), Toast.LENGTH_LONG).show());
}
}

View File

@@ -0,0 +1,7 @@
package org.jellyfin.androidtv.data.model
data class AppNotification(
val message: String,
val dismiss: () -> Unit,
val public: Boolean,
)

View File

@@ -1,15 +0,0 @@
package org.jellyfin.androidtv.data.model;
import org.jellyfin.apiclient.model.entities.ChapterInfo;
public class ChapterItemInfo extends ChapterInfo {
private String itemId;
public String getItemId() {
return itemId;
}
public void setItemId(String itemId) {
this.itemId = itemId;
}
}

View File

@@ -0,0 +1,11 @@
package org.jellyfin.androidtv.data.model
import org.jellyfin.androidtv.util.apiclient.JellyfinImage
import java.util.UUID
data class ChapterItemInfo(
val itemId: UUID,
val name: String?,
val startPositionTicks: Long,
val image: JellyfinImage?,
)

View File

@@ -1,12 +1,15 @@
package org.jellyfin.androidtv.data.model
import org.jellyfin.sdk.model.api.BaseItemDto
import java.time.Instant
import java.util.UUID
class DataRefreshService {
var lastDeletedItemId: String? = null
var lastPlayback: Long = 0
var lastMoviePlayback: Long = 0
var lastTvPlayback: Long = 0
var lastMusicPlayback: Long = 0
var lastLibraryChange: Long = 0
var lastVideoQueueChange: Long = 0
var lastFavoriteUpdate: Long = 0
var lastDeletedItemId: UUID? = null
var lastPlayback: Instant? = null
var lastMoviePlayback: Instant? = null
var lastTvPlayback: Instant? = null
var lastLibraryChange: Instant? = null
var lastFavoriteUpdate: Instant? = null
var lastPlayedItem: BaseItemDto? = null
}

View File

@@ -1,25 +0,0 @@
package org.jellyfin.androidtv.data.model;
import org.jellyfin.androidtv.ui.itemdetail.FullDetailsActivity;
import org.jellyfin.apiclient.interaction.Response;
import org.jellyfin.apiclient.model.dto.BaseItemDto;
import timber.log.Timber;
public class DetailItemLoadResponse extends Response<BaseItemDto> {
private FullDetailsActivity activity;
public DetailItemLoadResponse(FullDetailsActivity activity) {
this.activity = activity;
}
@Override
public void onResponse(BaseItemDto response) {
activity.setBaseItem(response);
}
@Override
public void onError(Exception exception) {
Timber.e(exception, "Error retrieving full object");
}
}

View File

@@ -1,37 +0,0 @@
package org.jellyfin.androidtv.data.model;
import org.jellyfin.apiclient.model.querying.ItemFilter;
import java.util.ArrayList;
import java.util.List;
public class FilterOptions {
private boolean favoriteOnly;
private boolean unwatchedOnly;
public void setFavoriteOnly(boolean value) {
favoriteOnly = value;
}
public void setUnwatchedOnly(boolean value) {
unwatchedOnly = value;
}
public boolean isUnwatchedOnly() {
return unwatchedOnly;
}
public boolean isFavoriteOnly() {
return favoriteOnly;
}
public ItemFilter[] getFilters() {
if (!unwatchedOnly && !favoriteOnly) return null;
List<ItemFilter> filters = new ArrayList<>();
if (favoriteOnly) filters.add(ItemFilter.IsFavorite);
if (unwatchedOnly) filters.add(ItemFilter.IsUnplayed);
return filters.toArray(new ItemFilter[0]);
}
}

View File

@@ -0,0 +1,15 @@
package org.jellyfin.androidtv.data.model
import org.jellyfin.sdk.model.api.ItemFilter
class FilterOptions {
var isFavoriteOnly = false
var isUnwatchedOnly = false
val filters: Set<ItemFilter>
get() = buildSet {
if (isFavoriteOnly) add(ItemFilter.IS_FAVORITE)
if (isUnwatchedOnly) add(ItemFilter.IS_UNPLAYED)
}
}

View File

@@ -1,7 +0,0 @@
package org.jellyfin.androidtv.data.model;
import android.view.View;
public class GotFocusEvent {
public void gotFocus(View v) {}
}

View File

@@ -1,23 +0,0 @@
package org.jellyfin.androidtv.data.model;
public class InfoItem {
private String label;
private String value;
public InfoItem() {
this("", "");
}
public InfoItem(String label, String value) {
this.label = label;
this.value = value;
}
public String getLabel() {
return label;
}
public String getValue() {
return value;
}
}

View File

@@ -0,0 +1,6 @@
package org.jellyfin.androidtv.data.model
data class InfoItem @JvmOverloads constructor(
val label: String = "",
val value: String = "",
)

View File

@@ -0,0 +1,7 @@
package org.jellyfin.androidtv.data.querying;
import java.util.UUID
data class GetAdditionalPartsRequest(
val itemId: UUID,
)

View File

@@ -0,0 +1,3 @@
package org.jellyfin.androidtv.data.querying
data object GetSeriesTimersRequest

View File

@@ -0,0 +1,7 @@
package org.jellyfin.androidtv.data.querying
import java.util.UUID
data class GetSpecialsRequest(
val itemId: UUID,
)

View File

@@ -0,0 +1,7 @@
package org.jellyfin.androidtv.data.querying
import java.util.UUID
data class GetTrailersRequest(
val itemId: UUID,
)

View File

@@ -0,0 +1,3 @@
package org.jellyfin.androidtv.data.querying
data object GetUserViewsRequest

View File

@@ -1,13 +0,0 @@
package org.jellyfin.androidtv.data.querying;
public class SpecialsQuery {
private String ItemId;
public SpecialsQuery(String itemId) {
ItemId = itemId;
}
public String getItemId() {
return ItemId;
}
}

View File

@@ -1,25 +0,0 @@
package org.jellyfin.androidtv.data.querying;
import org.jellyfin.androidtv.TvApp;
import org.jellyfin.apiclient.model.querying.ItemFields;
import org.jellyfin.apiclient.model.querying.ItemQuery;
public class StdItemQuery extends ItemQuery {
public StdItemQuery(ItemFields[] fields) {
if (fields == null) {
fields = new ItemFields[]{
ItemFields.PrimaryImageAspectRatio,
ItemFields.Overview,
ItemFields.ItemCounts,
ItemFields.DisplayPreferencesId,
ItemFields.ChildCount
};
}
setUserId(TvApp.getApplication().getCurrentUser().getId());
setFields(fields);
}
public StdItemQuery() {
this(null);
}
}

View File

@@ -1,13 +0,0 @@
package org.jellyfin.androidtv.data.querying;
public class TrailersQuery {
private String ItemId;
public TrailersQuery(String itemId) {
ItemId = itemId;
}
public String getItemId() {
return ItemId;
}
}

View File

@@ -1,5 +0,0 @@
package org.jellyfin.androidtv.data.querying;
public class ViewQuery {
//Dummy indicator class
}

View File

@@ -0,0 +1,23 @@
package org.jellyfin.androidtv.data.repository
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.StateFlow
import kotlinx.coroutines.flow.asStateFlow
import org.jellyfin.androidtv.constant.CustomMessage
interface CustomMessageRepository {
val message: StateFlow<CustomMessage?>
fun pushMessage(message: CustomMessage)
}
class CustomMessageRepositoryImpl : CustomMessageRepository {
private val _message = MutableStateFlow<CustomMessage?>(null)
override val message get() = _message.asStateFlow()
override fun pushMessage(message: CustomMessage) {
// Make sure to re-emit the same message if requested
if (_message.value == message) _message.value = null
_message.value = message
}
}

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