Compare commits

...

2425 Commits

Author SHA1 Message Date
Niels van Velzen
b4753ebeae Fix skipBackwardLength instead of skipBackLength (#1182)
(cherry picked from commit 379e3e7c2c)
2021-10-07 18:51:42 +02:00
Niels van Velzen
e300dd4187 Check nullability for mFragment in PlaybackController
(cherry picked from commit f9fa23953f)
2021-10-07 18:51:28 +02:00
Niels van Velzen
f7dee09fd3 Remove build number from internal version reference
This fixes the "server version not supported" toast from showing the build number. 10.7.7.0 now shows as 10.7.7

(cherry picked from commit 9e48578366)
2021-10-07 18:51:19 +02:00
nextlooper42
4e427f2bc9 Translated using Weblate (Slovak)
Currently translated at 100.0% (444 of 444 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sk/
2021-09-28 07:30:04 -04:00
Tomislav
907e2f23fc Translated using Weblate (Croatian)
Currently translated at 100.0% (444 of 444 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/hr/
2021-09-27 22:30:06 -04:00
millallo
ac48af7cce Translated using Weblate (Italian)
Currently translated at 98.1% (436 of 444 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/it/
2021-09-27 09:30:04 -04:00
Ouail Ouazani
dfdfd2182d Translated using Weblate (Arabic)
Currently translated at 97.9% (435 of 444 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ar/
2021-09-23 23:30:06 -04:00
Moritz
5aca9345a7 Translated using Weblate (German)
Currently translated at 100.0% (444 of 444 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/de/
2021-09-23 09:30:03 -04:00
newton181
9aeb72a809 Translated using Weblate (Spanish (Latin America))
Currently translated at 100.0% (444 of 444 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es_419/
2021-09-22 15:30:03 -04:00
wolong gl
86633bd766 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (444 of 444 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/zh_Hans/
2021-09-21 06:30:03 -04:00
Bartłomiej Ruk
e2e0e12bf8 Translated using Weblate (Polish)
Currently translated at 100.0% (444 of 444 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pl/
2021-09-20 10:30:03 -04:00
meehel
9865da06de Translated using Weblate (Ukrainian)
Currently translated at 45.0% (200 of 444 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/uk/
2021-09-16 07:30:03 -04:00
meehel
2d05594b2b Translated using Weblate (Ukrainian)
Currently translated at 35.1% (156 of 444 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/uk/
2021-09-15 14:30:03 -04:00
danieladov
dfbc4c91a8 Translated using Weblate (Spanish)
Currently translated at 100.0% (444 of 444 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es/
2021-09-15 14:30:00 -04:00
newton181
ebb3e3adf5 Translated using Weblate (Spanish)
Currently translated at 100.0% (444 of 444 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es/
2021-09-14 19:30:00 -04:00
newton181
21e0c13fe5 Translated using Weblate (Spanish (Mexico))
Currently translated at 100.0% (444 of 444 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es_MX/
2021-09-14 19:30:00 -04:00
hoanghuy309
9460d3e7a2 Translated using Weblate (Vietnamese)
Currently translated at 100.0% (444 of 444 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/vi/
2021-09-14 13:30:01 -04:00
Csaba
a5876b1631 Translated using Weblate (Hungarian)
Currently translated at 100.0% (444 of 444 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/hu/
2021-09-13 04:30:00 -04:00
WWWesten
0c7641c51b Translated using Weblate (Russian)
Currently translated at 100.0% (444 of 444 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ru/
2021-09-12 09:29:59 -04:00
WWWesten
b5686ead4f Translated using Weblate (Kazakh)
Currently translated at 100.0% (444 of 444 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/kk/
2021-09-12 09:29:59 -04:00
cocool97
d3cd7ca111 Translated using Weblate (French)
Currently translated at 100.0% (444 of 444 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fr/
2021-09-12 06:30:00 -04:00
Lukáš Kucharczyk
9d11062e90 Translated using Weblate (Czech)
Currently translated at 100.0% (444 of 444 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/cs/
2021-09-12 06:29:59 -04:00
Bill Thornton
5e9a8b74f8 Merge pull request #1140 from JannikHoelling/add-star-rating-sort-to-grid
add star rating sort to grid view
2021-09-12 00:24:21 -04:00
Bill Thornton
cb3c0d0748 Merge pull request #1145 from nielsvanvelzen/autologin-fix
Fix crash when autologin is off
2021-09-12 00:20:23 -04:00
Niels van Velzen
eb170f8a28 Fix crash when autologin is off
- Use `destroyCurrentSession` instead of `setCurrentSession` with null value
- Change `destroyCurrentSession` to set api etc. to null in a **synchronous** way instead of calling `setCurrentSession`
2021-09-11 23:40:36 +02:00
cocool97
890d5753d0 Translated using Weblate (French)
Currently translated at 100.0% (443 of 443 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fr/
2021-09-11 05:29:59 -04:00
lojden
a6a40dff7e Translated using Weblate (Swedish)
Currently translated at 100.0% (443 of 443 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sv/
2021-09-10 15:29:59 -04:00
Jannik Hoelling
490dd45ecb rename sorting from Stars to Community Rating 2021-09-10 19:05:35 +02:00
Bill Thornton
43b7d52efd Remove unused tile colors and update default theme (#1138)
* Remove unused tile colors and update default theme

* Fix tile_land_series_timer_bg not being used correctly
2021-09-10 08:48:15 +02:00
Bill Thornton
4f456088f8 Merge pull request #1139 from nielsvanvelzen/no-offline
Remove isOffline from PlaybackManager (always false)
2021-09-10 00:34:06 -04:00
Jannik Hoelling
8636533a06 add star rating sort to grid view 2021-09-10 01:14:08 +02:00
Niels van Velzen
4a6aaf537f Remove isOffline from PlaybackManager (always false) 2021-09-08 09:14:19 +02:00
millallo
0eecf3c8e4 Translated using Weblate (Italian)
Currently translated at 98.1% (435 of 443 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/it/
2021-09-06 10:29:57 -04:00
millallo
cd13dcee9b Translated using Weblate (Italian)
Currently translated at 98.1% (435 of 443 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/it/
2021-09-05 12:29:57 -04:00
Maxim Mironyuk
976fe6ecf2 Translated using Weblate (Russian)
Currently translated at 100.0% (443 of 443 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ru/
2021-09-04 19:29:57 -04:00
cocool97
83aa6dc21f Translated using Weblate (French)
Currently translated at 99.7% (442 of 443 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fr/
2021-09-04 16:29:57 -04:00
Bill Thornton
42558dbd54 Fix now playing bug layout (#1125)
* Fix now playing bug layout

* Add max width to now playing bug

* Fix low resolution art in now playing bug
2021-09-02 20:16:26 +02:00
Bill Thornton
1c854f4212 Merge pull request #1114 from nielsvanvelzen/playback-audio-intercept
Forward audio play requests to playback module
2021-09-02 09:46:03 -07:00
nextlooper42
24824d9e18 Translated using Weblate (Slovak)
Currently translated at 100.0% (443 of 443 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sk/
2021-09-01 09:29:56 -04:00
Bill Thornton
885f511944 Merge pull request #1123 from nielsvanvelzen/gh-gradle-cache
Use actions/setup-java caching
2021-08-31 13:38:54 -07:00
linetrimmer
06ea7c4094 Use parentThumbItemId in LeanbackChannelWorker (#1119)
* Use parentThumbItemId

* Fallback to parentThumb
2021-08-31 18:41:09 +02:00
Niels van Velzen
a31da7afc8 Use caching via actions/setup-java 2021-08-31 18:36:20 +02:00
Moritz
1be253e69a Translated using Weblate (German)
Currently translated at 100.0% (443 of 443 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/de/
2021-08-30 08:29:55 -04:00
Niels van Velzen
5b6527bd4a Forward audio play requests to playback module 2021-08-27 21:14:14 +02:00
Bill Thornton
56f3211eed Merge pull request #1099 from linetrimmer/grid-adjustments
Adjust positions of grid UI elements
2021-08-27 06:51:34 -07:00
Bill Thornton
aef0abc16c Merge pull request #1112 from linetrimmer/pbssub 2021-08-26 19:20:39 -07:00
linetrimmer
c0677e6f28 Fix tyop 2021-08-26 19:12:08 -04:00
linetrimmer
27d7a4bde4 Move down toolBar and infoRow 2021-08-26 16:05:17 -04:00
Bill Thornton
21591a7ac1 Remove useless check method (#1111) 2021-08-26 18:22:35 +00:00
Bill Thornton
98f870da86 Downmix audio by default on Chromecast with Google TV (#1110) 2021-08-26 20:01:40 +02:00
Bill Thornton
ea6aba6196 Merge pull request #1109 from nielsvanvelzen/android-opaque
Add android-opaque to supported as supported VLC video output
2021-08-26 08:11:15 -07:00
Bill Thornton
f5208a1663 Add guide card to live tv library views (#1108) 2021-08-26 13:37:46 +02:00
Niels van Velzen
49a7541d76 Add android-opaque to supported as supported VLC video output 2021-08-26 13:33:29 +02:00
Bill Thornton
55dcb95f13 Merge pull request #1105 from nielsvanvelzen/hardware-marquee
Use hardware layer for text views with marquee ellipsize
2021-08-25 12:51:30 -07:00
Bill Thornton
f4882779c4 Merge pull request #1104 from nielsvanvelzen/dts-always-true
Remove isDtsEnabled from ExoPlayerProfile (always true)
2021-08-25 12:46:36 -07:00
Niels van Velzen
2b3ecf735c Use hardware layer for text views with marquee ellipsize 2021-08-25 20:16:06 +02:00
Niels van Velzen
465270ec11 Remove isDtsEnabled from ExoPlayerProfile (always true) 2021-08-25 19:52:19 +02:00
linetrimmer
9d5d56da57 Adjust person/user card colors and non-active button color for Muted Purple theme (#1100)
* Separate person and user cards, change colors for Muted Purple

* Theme button_default_normal background color

* Use camelCase and reorder
2021-08-25 19:46:23 +02:00
Bill Thornton
524eb3ef56 Restore direct play support for avi with libvlc (#1102) 2021-08-25 18:21:25 +02:00
Bill Thornton
e86540e0ef Enable multichannel audio support for Fire TVs (#1103) 2021-08-25 18:20:42 +02:00
Bill Thornton
4268c54e35 Merge pull request #1096 from nielsvanvelzen/vlc-misc-fix
Fix VLC error reporting and black screens
2021-08-25 07:00:37 -07:00
Niels van Velzen
29479b7ea9 Add missing break 2021-08-25 08:49:15 +02:00
linetrimmer
d10ae09a7a Swap toolBar and npBug positions, revert toolBar size change 2021-08-25 00:50:21 -04:00
Bill Thornton
076aef64bb Merge pull request #1087 from MrChip53/revert-ff-rw
Revert FF and RW
2021-08-24 20:43:33 -07:00
Weevild
661d119c30 Translated using Weblate (Swedish)
Currently translated at 100.0% (443 of 443 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sv/
2021-08-24 18:29:53 -04:00
Oatavandi
515b15be0a Translated using Weblate (Malayalam)
Currently translated at 100.0% (443 of 443 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ml/
2021-08-23 13:29:53 -04:00
Oatavandi
c05af8333b Translated using Weblate (Tamil)
Currently translated at 100.0% (443 of 443 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ta/
2021-08-23 13:29:52 -04:00
Csaba
2afb99bec5 Translated using Weblate (Hungarian)
Currently translated at 100.0% (443 of 443 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/hu/
2021-08-23 03:29:52 -04:00
linetrimmer
7d5e26a713 Match counter and statusText margins 2021-08-23 00:25:13 -04:00
linetrimmer
2de4f02602 Reposition toolBar and npBug 2021-08-22 23:49:14 -04:00
Niels van Velzen
b3319e8850 Fix VLC output not using android-display
The onNewVideoLayout function we use to scale the video view does not work on the opengl video output from LibVLC
2021-08-22 16:50:21 +02:00
Niels van Velzen
f7d3c7154d Fix VLC error reporting 2021-08-22 16:49:49 +02:00
hoanghuy309
03afa8fa27 Translated using Weblate (Vietnamese)
Currently translated at 100.0% (443 of 443 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/vi/
2021-08-22 06:29:52 -04:00
Niels van Velzen
b64c5efed2 Add PlaybackForwardingActivity for bridging to new playback module (#1092) 2021-08-22 09:55:01 +02:00
Rober Molina
da14ac9f3d Translated using Weblate (Spanish (Latin America))
Currently translated at 99.7% (442 of 443 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es_419/
2021-08-21 17:29:52 -04:00
Christopher Tam
5cf569bc1c Remove vpx (unused) as a CodecType (#1095) 2021-08-21 10:32:36 +02:00
MrChip53
d5fd21b935 Revert FF and RW; pull values from user settings 2021-08-18 19:51:11 -05:00
jellyfin-bot
49748457bb Update Gradle Wrapper from 7.1.1 to 7.2. (#1093)
Signed-off-by: gradle-update-robot <gradle-update-robot@regolo.cc>

Co-authored-by: gradle-update-robot <gradle-update-robot@regolo.cc>
2021-08-18 17:39:42 +02:00
newton181
7109a88e27 Translated using Weblate (Spanish)
Currently translated at 100.0% (443 of 443 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es/
2021-08-17 15:29:51 -04:00
newton181
944340eff7 Translated using Weblate (Spanish (Mexico))
Currently translated at 100.0% (443 of 443 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es_MX/
2021-08-17 15:29:51 -04:00
wolong gl
47f506efec Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (443 of 443 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/zh_Hans/
2021-08-17 05:29:50 -04:00
WWWesten
ac0ced7ac1 Translated using Weblate (Kazakh)
Currently translated at 100.0% (443 of 443 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/kk/
2021-08-16 18:29:51 -04:00
Lukáš Kucharczyk
5a9bcd2fa0 Translated using Weblate (Czech)
Currently translated at 100.0% (443 of 443 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/cs/
2021-08-16 18:29:51 -04:00
WWWesten
3263b7bb44 Translated using Weblate (Russian)
Currently translated at 100.0% (443 of 443 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ru/
2021-08-16 18:29:50 -04:00
dependabot[bot]
c5d848b285 Bump burnett01/rsync-deployments from 5.0 to 5.1 (#1091)
Bumps [burnett01/rsync-deployments](https://github.com/burnett01/rsync-deployments) from 5.0 to 5.1.
- [Release notes](https://github.com/burnett01/rsync-deployments/releases)
- [Commits](https://github.com/burnett01/rsync-deployments/compare/5.0...5.1)

---
updated-dependencies:
- dependency-name: burnett01/rsync-deployments
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-08-16 17:11:12 +00:00
hoanghuy309
c40f9bb7d5 Translated using Weblate (Vietnamese)
Currently translated at 100.0% (440 of 440 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/vi/
2021-08-16 12:41:58 -04:00
Niels van Velzen
5a0127f472 Add option to always require authentication (#1084) 2021-08-16 18:41:54 +02:00
Lukáš Kucharczyk
ed9cf9e09d Translated using Weblate (Czech)
Currently translated at 100.0% (440 of 440 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/cs/
2021-08-16 04:29:50 -04:00
Gubb Jonas
4310bc46c8 Translated using Weblate (Swedish)
Currently translated at 93.6% (412 of 440 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sv/
2021-08-14 21:29:51 -04:00
WWWesten
066898c422 Translated using Weblate (Kazakh)
Currently translated at 100.0% (440 of 440 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/kk/
2021-08-14 21:29:50 -04:00
lautundobszoen
59a0ffdda0 Translated using Weblate (German)
Currently translated at 100.0% (440 of 440 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/de/
2021-08-14 21:29:50 -04:00
WWWesten
3d3edea350 Translated using Weblate (Russian)
Currently translated at 100.0% (440 of 440 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ru/
2021-08-14 21:29:50 -04:00
Oatavandi
3b1f2f7e3e Translated using Weblate (Malayalam)
Currently translated at 100.0% (440 of 440 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ml/
2021-08-14 14:29:50 -04:00
Oatavandi
6be83fe940 Translated using Weblate (Tamil)
Currently translated at 100.0% (440 of 440 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ta/
2021-08-14 14:29:50 -04:00
nextlooper42
cc80a79531 Translated using Weblate (Slovak)
Currently translated at 100.0% (440 of 440 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sk/
2021-08-14 10:29:50 -04:00
Bill Thornton
e8fd0d76d9 Merge pull request #1082 from nielsvanvelzen/fix-double-session-load
Fix session loading twice on app startup
2021-08-13 10:46:26 -07:00
Bill Thornton
2bf877143e Merge pull request #1079 from nielsvanvelzen/auth-sort-by
Add preference to change user sort order in login screen
2021-08-13 10:20:53 -07:00
newton181
d3e2c6e498 Translated using Weblate (Spanish (Latin America))
Currently translated at 100.0% (438 of 438 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es_419/
2021-08-11 19:29:50 -04:00
volumeinspection
2137a7ccc2 Translated using Weblate (Norwegian Bokmål)
Currently translated at 98.1% (430 of 438 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nb_NO/
2021-08-11 19:29:49 -04:00
newton181
8db9c7e60c Translated using Weblate (Spanish)
Currently translated at 100.0% (438 of 438 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es/
2021-08-11 19:29:49 -04:00
newton181
5592809f91 Translated using Weblate (Spanish (Mexico))
Currently translated at 100.0% (438 of 438 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es_MX/
2021-08-11 19:29:49 -04:00
Niels van Velzen
cbcf2c9b7c Use the process lifecycle to (re)load user sessions
This simplifies our code as there is now only a single place to restore the session. This automatically supports opening the app after putting it in the background.
2021-08-11 23:00:15 +02:00
Oatavandi
672201e86b Translated using Weblate (Malayalam)
Currently translated at 100.0% (438 of 438 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ml/
2021-08-11 14:29:50 -04:00
hoanghuy309
7590ace5c9 Translated using Weblate (Vietnamese)
Currently translated at 100.0% (438 of 438 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/vi/
2021-08-11 14:29:49 -04:00
Oatavandi
9d2b2da60d Translated using Weblate (Tamil)
Currently translated at 100.0% (438 of 438 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ta/
2021-08-11 14:29:49 -04:00
Moritz
0b7659786c Translated using Weblate (German)
Currently translated at 100.0% (438 of 438 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/de/
2021-08-11 14:29:49 -04:00
Niels van Velzen
1ab524cf08 Add preference to change user sort order in login screen 2021-08-10 20:47:24 +02:00
wolong gl
d8c57dc0e8 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (438 of 438 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/zh_Hans/
2021-08-10 03:29:48 -04:00
Anthony Lavado
12e0014c8a Merge pull request #1076 from thornbill/fix-setting-null-sessions 2021-08-10 02:49:00 -04:00
Bill Thornton
edc615aba9 Allow user sessions to be set to null again 2021-08-10 00:16:21 -04:00
dependabot[bot]
ddfd98a26f Bump burnett01/rsync-deployments from 4.1 to 5.0 (#1075)
Bumps [burnett01/rsync-deployments](https://github.com/burnett01/rsync-deployments) from 4.1 to 5.0.
- [Release notes](https://github.com/burnett01/rsync-deployments/releases)
- [Commits](https://github.com/burnett01/rsync-deployments/compare/4.1...5.0)

---
updated-dependencies:
- dependency-name: burnett01/rsync-deployments
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-08-09 21:42:25 +02:00
Niels van Velzen
1c4e76a934 Fix going back from home screen (#1074) 2021-08-09 16:34:01 +02:00
Csaba
9532805990 Translated using Weblate (Hungarian)
Currently translated at 100.0% (438 of 438 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/hu/
2021-08-09 03:29:48 -04:00
Lukáš Kucharczyk
c013ae1acd Translated using Weblate (Czech)
Currently translated at 100.0% (438 of 438 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/cs/
2021-08-08 20:29:48 -04:00
WWWesten
c85b8d01f1 Translated using Weblate (Russian)
Currently translated at 100.0% (438 of 438 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ru/
2021-08-08 17:29:48 -04:00
WWWesten
88f1308e94 Translated using Weblate (Kazakh)
Currently translated at 100.0% (438 of 438 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/kk/
2021-08-08 17:29:48 -04:00
Weblate
8351bd1558 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/
2021-08-08 13:05:06 -04:00
Niels van Velzen
fe75e4ba5b Move useExternalPlayer and getPlaybackActivityClass functions to new PlaybackLauncher interface (#1064)
* Move useExternalPlayer and getPlaybackActivityClass functions to new PlaybackLauncher interface

* Add toggle to enable new playback module

* Add BuildConfig.DEVELOPMENT
2021-08-08 19:04:58 +02:00
Weblate
5177800be4 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/
2021-08-08 13:03:33 -04:00
jakeapp
14a3a815b1 Move from 4 zoom options to 3 (#1062)
* Update VideoManager.java

* Update VideoManager.java

* Update ZoomAction.java

* Update strings.xml
2021-08-08 19:03:29 +02:00
Niels van Velzen
510a3c4901 Fix wrong supported commands reported (#1073) 2021-08-08 17:29:13 +02:00
Niels van Velzen
6f3943cdb5 Add (empty) playback module and CODEOWNERS (#1072)
* Add (empty) playback module

* Add CODEOWNERS file
2021-08-08 17:28:56 +02:00
Matt
4e9a239b2c Translated using Weblate (Italian)
Currently translated at 98.1% (428 of 436 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/it/
2021-08-06 14:29:49 -04:00
Bill Thornton
90b5ef4c9f Merge pull request #1068 from nielsvanvelzen/1065-check-intent
Fix being unable to switch users
2021-08-05 10:22:03 -07:00
Niels van Velzen
8f1584d648 Fix being unable to switch users
StartupActivity now checks if the action in the launch intent is ACTION_MAIN (opened from launcher)
2021-08-05 19:14:53 +02:00
Bill Thornton
ad89c30b79 Merge pull request #1059 from nielsvanvelzen/always-restore-session 2021-08-01 08:03:43 -07:00
Niels van Velzen
b417be554a Restore user session when starting after soft-closing the app 2021-08-01 15:02:19 +02:00
Ali Amer
24ef2cf3e8 Translated using Weblate (Arabic)
Currently translated at 76.6% (334 of 436 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ar/
2021-07-30 16:29:48 -04:00
Bill Thornton
cba34da68b Merge pull request #1052 from nielsvanvelzen/unused-funcs
Remove utility functions only used by tests
2021-07-29 06:46:50 -07:00
Bill Thornton
bf63a07713 Merge pull request #1051 from nielsvanvelzen/useless-sdk-check
Remove is50 check (always true)
2021-07-29 06:42:23 -07:00
Bill Thornton
8a4e0b3afc Merge pull request #1033 from nielsvanvelzen/acra-update
Update ACRA to 5.8.x
2021-07-29 06:39:18 -07:00
Niels van Velzen
e44a7490a7 Remove utility functions only used by tests 2021-07-29 14:26:27 +02:00
Niels van Velzen
7f85107160 Remove is50 check (always true)
The app only supports Android API 21 and up, the check would always return true.
2021-07-29 14:21:31 +02:00
Niels van Velzen
818784635f Hide system bars during video playback (#1047) 2021-07-28 19:38:55 +02:00
Niels van Velzen
f1414902f8 Update androidx.window to alpha09 (#1042) 2021-07-28 19:38:40 +02:00
wolong gl
6d45d4d353 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (436 of 436 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/zh_Hans/
2021-07-28 11:29:44 -04:00
WWWesten
f5e81099af Translated using Weblate (Russian)
Currently translated at 100.0% (436 of 436 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ru/
2021-07-28 07:29:45 -04:00
Sverre
e0ee7f190f Translated using Weblate (Norwegian Bokmål)
Currently translated at 96.7% (422 of 436 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nb_NO/
2021-07-28 07:29:45 -04:00
linetrimmer
146d8dd847 Round up runtime calculation and match server resolution text in InfoLayoutHelper (#1036)
* Round up runtime calculation

* Match server resolution text
2021-07-26 17:37:26 +02:00
Niels van Velzen
33bfb43253 Update ACRA to 5.8.x 2021-07-25 11:09:15 +02:00
Adrian Borowski
03a155f098 Translated using Weblate (Polish)
Currently translated at 100.0% (436 of 436 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pl/
2021-07-24 17:29:44 -04:00
SaddFox
ba658e0f7a Translated using Weblate (Slovenian)
Currently translated at 80.2% (350 of 436 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sl/
2021-07-24 17:29:43 -04:00
SaddFox
5689a79aa6 Translated using Weblate (Slovenian)
Currently translated at 79.8% (348 of 436 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sl/
2021-07-24 11:29:43 -04:00
Bill Thornton
60fd6e3fb9 Merge pull request #1031 from nielsvanvelzen/fix-credential-migration 2021-07-24 07:24:26 -07:00
Niels van Velzen
a09abd9869 Fix legacy credential migration not working as expected 2021-07-24 10:38:02 +02:00
Sam
bff2638d0c Translated using Weblate (Arabic)
Currently translated at 44.4% (194 of 436 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ar/
2021-07-23 23:29:43 -04:00
Nico83500
ac1c74bb9c Translated using Weblate (French)
Currently translated at 100.0% (436 of 436 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fr/
2021-07-23 19:29:42 -04:00
Bill Thornton
20f9bf0da0 Fix user information not reflecting updates (#977)
* Fix user information not reflecting updates

* Fix converting PrivateUsers to PublicUsers

* Migrate AuthenticationRepository to sdk

* Update user store on authentication

* Fix user image displayed after being deleted

* Fix review issues

* Use when instead of if/else
2021-07-23 16:55:02 +02:00
Sam
b16a2bda8e Translated using Weblate (Arabic)
Currently translated at 41.0% (179 of 436 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ar/
2021-07-22 11:29:45 -04:00
Bill Thornton
a1e7eb7f63 Merge pull request #1020 from nielsvanvelzen/ux-update
Add new banner/icon resources
2021-07-14 13:09:39 -04:00
Niels van Velzen
a966de09e7 Add new banner/icon resources 2021-07-14 15:07:11 +02:00
Niels van Velzen
8407cc6638 Merge pull request #1019 from thornbill/change-default-screen
Change default screen
2021-07-14 10:28:48 +02:00
Bill Thornton
e4afd13136 Merge pull request #1018 from nielsvanvelzen/update-system-session
Update system session when system user is modified
2021-07-14 01:04:08 -04:00
Bill Thornton
f18390fa44 Disable smart screen by default 2021-07-14 01:00:52 -04:00
Niels van Velzen
c726cf73cb Update system session when system user is modified 2021-07-13 22:15:35 +02:00
Bill Thornton
bf40f3b32d Fix property access style in DisplayPreferencesScreen 2021-07-13 15:28:46 -04:00
Bill Thornton
c51b92265d Merge pull request #1016 from nielsvanvelzen/leanback-channels-check-provider
Check if content provider is available in LeanbackChannelWorker
2021-07-13 15:17:20 -04:00
Niels van Velzen
91991eec5f Merge pull request #1013 from thornbill/4k-on-1080
Playback fixes for Fire TVs
2021-07-13 19:40:11 +02:00
Niels van Velzen
11a8d5a028 Check if content provider is available in LeanbackChannelWorker 2021-07-13 17:04:27 +02:00
Bill Thornton
51f7e5424e Merge pull request #1010 from nielsvanvelzen/auto-bitrate
Fix auto bitrate issues
2021-07-13 10:29:55 -04:00
Bill Thornton
56cba06e5d Merge pull request #1017 from nielsvanvelzen/sdk-101
Update jellyfin-sdk-kotlin to 1.0.1
2021-07-13 10:24:36 -04:00
Niels van Velzen
cda958d30e Update jellyfin-sdk-kotlin to 1.0.1
Fixes an issue with special characters in device names
2021-07-13 16:10:34 +02:00
Niels van Velzen
5853e057da Fix maxRate comparison 2021-07-13 09:24:58 +02:00
Oatavandi
e6e3811401 Translated using Weblate (Malayalam)
Currently translated at 100.0% (436 of 436 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ml/
2021-07-12 06:29:49 -04:00
Oatavandi
fb80004d90 Translated using Weblate (Malayalam)
Currently translated at 11.9% (52 of 436 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ml/
2021-07-11 18:29:41 -04:00
Oatavandi
6f472ba405 Translated using Weblate (Tamil)
Currently translated at 100.0% (436 of 436 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ta/
2021-07-11 18:29:40 -04:00
Lukáš Kucharczyk
0c48f2cba2 Translated using Weblate (Czech)
Currently translated at 100.0% (436 of 436 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/cs/
2021-07-11 18:29:39 -04:00
Bill Thornton
b2cbf4a2ab Merge pull request #1006 from dhiaayachi/master 2021-07-11 11:29:28 -04:00
Dhia Ayachi
4f8000c63b Fix comment 2021-07-10 13:25:27 -04:00
Niels van Velzen
6c891ac661 Remove getMaxBitrate rounding 2021-07-10 13:49:35 +02:00
Bill Thornton
a2401c5f47 Merge pull request #1001 from nielsvanvelzen/redo-gradle
Refactor build scripts for consistency with jellyfin-sdk-kotlin
2021-07-09 16:52:04 -04:00
Bill Thornton
dcaef4ad39 Fix max supported resolution for Fire TVs 2021-07-09 16:32:23 -04:00
Bill Thornton
8b3c178824 Fix supported h264 levels for Fire TV devices 2021-07-09 16:32:23 -04:00
Mayeul Cantan
d0708afb1b Translated using Weblate (French)
Currently translated at 100.0% (436 of 436 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fr/
2021-07-09 08:47:38 -04:00
Antti Rae
c24187df64 Translated using Weblate (Finnish)
Currently translated at 50.9% (222 of 436 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fi/
2021-07-09 08:47:38 -04:00
Niels van Velzen
01db6e195b Refactor build scripts for consistency with jellyfin-sdk-kotlin 2021-07-08 22:33:05 +02:00
Niels van Velzen
2c843f0724 Fix always using auto bitrate 2021-07-08 21:56:18 +02:00
Niels van Velzen
6ca802d561 Set maxBitrate default to 100 2021-07-08 21:56:18 +02:00
Niels van Velzen
5fef467b49 Use bitrate utility function from SDK 2021-07-08 21:56:18 +02:00
Bill Thornton
405069dc98 Merge pull request #1005 from nielsvanvelzen/browse-folder-clock
Fix clock in BrowseFolderFragment(s)
2021-07-08 00:47:39 -04:00
Bill Thornton
b04b322cfb Merge pull request #999 from nielsvanvelzen/inflate-root
Add root to NowPlayingBug and NumberSpinner layout inflation
2021-07-08 00:30:22 -04:00
Bill Thornton
97b37bf447 Merge pull request #1004 from nielsvanvelzen/image-center
Fix incorrect placeholder scaling
2021-07-08 00:15:21 -04:00
Bill Thornton
70fc585531 Merge pull request #1000 from nielsvanvelzen/double-valueof
Use Double.valueOf
2021-07-08 00:13:56 -04:00
Bill Thornton
c997ad7490 Merge pull request #997 from linetrimmer/endtime
Hide end time when clock is hidden while browsing
2021-07-08 00:13:07 -04:00
Bill Thornton
65e90b1a39 Merge pull request #996 from nielsvanvelzen/card-fractions
Use consistent animations for different card views
2021-07-08 00:11:35 -04:00
Bill Thornton
939195168c Merge pull request #1008 from nielsvanvelzen/sdk-100 2021-07-07 01:31:28 -04:00
Niels van Velzen
d5ebf11a69 Update SDK to 1.0.0 release 2021-07-06 22:04:03 +02:00
dhiaayachi
562e56c93b fix to check for PAUSED state 2021-07-05 15:36:53 -04:00
wolong gl
cdbe015e78 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (436 of 436 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/zh_Hans/
2021-07-05 13:05:03 -04:00
Gubb Jonas
2c03d03458 Translated using Weblate (Swedish)
Currently translated at 92.8% (405 of 436 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sv/
2021-07-05 13:05:03 -04:00
Niels van Velzen
6791147f4c Remove unused noise bitmap/style 2021-07-04 14:59:08 +02:00
Niels van Velzen
b51c45f94b Fix clock in BrowseFolderFragment(s) 2021-07-04 14:58:59 +02:00
Niels van Velzen
0ab100d6ae Fix incorrect placeholder scaling 2021-07-04 14:47:46 +02:00
Niels van Velzen
99a1cb5b9f Merge pull request #1003 from linetrimmer/logo-fallback
Fall back to item title if loading logo fails in playback overlay
2021-07-04 13:53:20 +02:00
linetrimmer
eb2ee3dd50 Fall back to item title if loading logo fails 2021-07-04 06:29:43 -04:00
Niels van Velzen
4971bcb16b Merge pull request #1002 from jellyfin/gradlew-update-7.1.1
Update Gradle Wrapper from 7.1 to 7.1.1
2021-07-03 08:33:20 +02:00
gradle-update-robot
2f7d0ca116 Update Gradle Wrapper from 7.1 to 7.1.1.
Signed-off-by: gradle-update-robot <gradle-update-robot@regolo.cc>
2021-07-03 04:23:46 +00:00
Niels van Velzen
0dcb963829 Use Double.valueOf
This improves memory performance according to the Android linter rule
2021-07-02 10:42:27 +02:00
Niels van Velzen
328a8bad53 Add root to NowPlayingBug and NumberSpinner layout inflation 2021-07-02 10:29:05 +02:00
Niels van Velzen
172a310009 Merge pull request #998 from linetrimmer/seek-fix
Fix crash when seeking in video
2021-07-02 09:59:28 +02:00
linetrimmer
ee9daeb820 Fix crash when seeking in video 2021-07-02 01:31:59 -04:00
linetrimmer
395f127f97 Hide end time when clock is hidden while browsing 2021-07-01 17:42:00 -04:00
Niels van Velzen
a287697bed Use consistent animations for different card views
The leanback based cards previously used 114% scaling and the animation is hardcoded to 150ms. The timing of our own DefaultCardView is now also 150ms and the scaling for the leanback cards is now 115%. This makes our own card and the leanback based cards consistent in their animations.
2021-07-01 23:12:59 +02:00
Niels van Velzen
b2ab7ba2cc Merge pull request #995 from thornbill/why-util
Remove unnecessary createPopupMenu util
2021-07-01 18:56:52 +02:00
Bill Thornton
2acd048601 Use Gravity.END instead of RIGHT 2021-07-01 12:17:54 -04:00
Niels van Velzen
0d8b63b1b0 Merge pull request #993 from thornbill/audio-delay-popup
Fix audio delay popup positioning
2021-07-01 18:06:49 +02:00
Niels van Velzen
87bce25ed3 Merge pull request #994 from thornbill/audio-delay-step
Change default step value in NumberSpinner
2021-07-01 18:05:30 +02:00
Bill Thornton
e81532c6a7 Remove unnecessary createPopupMenu util 2021-07-01 11:54:48 -04:00
Bill Thornton
ca72ab4c4b Fix audio delay popup positioning 2021-07-01 11:23:03 -04:00
Bill Thornton
8a58f0932b Change default step value in NumberSpinner 2021-07-01 11:18:19 -04:00
Niels van Velzen
d1d5872335 Merge pull request #973 from thornbill/playback-overlay
Update playback overlay layout
2021-06-30 17:20:24 +02:00
Bill Thornton
2c965527d9 Merge pull request #988 from nielsvanvelzen/linter-issues 2021-06-30 09:39:26 -04:00
Niels van Velzen
f1f0d46f87 Sort lint.xml list alphabetically 2021-06-30 13:08:02 +02:00
Niels van Velzen
a2f9685c02 Ignore Typos issue 2021-06-30 13:07:26 +02:00
Niels van Velzen
6232f74ba9 Ignore DuplicateStrings issue 2021-06-30 13:07:26 +02:00
Weblate
9f5e7d83e6 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/
2021-06-30 06:56:37 -04:00
hoanghuy309
1839a9b01c Translated using Weblate (Vietnamese)
Currently translated at 100.0% (436 of 436 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/vi/
2021-06-30 06:56:35 -04:00
nextlooper42
bfcebba678 Translated using Weblate (Slovak)
Currently translated at 100.0% (436 of 436 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sk/
2021-06-30 06:56:35 -04:00
Bill Thornton
c19b0c0511 Remove unneeded LinearLayout 2021-06-30 00:20:24 -04:00
Bill Thornton
8055727187 Fix review issues 2021-06-29 17:04:47 -04:00
Bill Thornton
c030311876 Merge pull request #986 from nielsvanvelzen/net-crash
Fix app crash on startup when network is unstable
2021-06-29 15:19:17 -04:00
Bill Thornton
c51abf03f4 Merge pull request #985 from nielsvanvelzen/sdk-flavor
Support different SDK flavors
2021-06-29 13:40:28 -04:00
Niels van Velzen
98e1f6b9d5 Fix SDK compiler error 2021-06-29 17:29:24 +02:00
Niels van Velzen
1385cfba7e Support different SDK flavors 2021-06-29 17:29:24 +02:00
Niels van Velzen
285d02598f Catch and handle exceptions in startup activity 2021-06-29 17:25:12 +02:00
Niels van Velzen
242900ffa1 Properly catch networking errors in ApiBinder
The old WebSocket code in the apiclient can not forward exceptions properly and would crash the main thread. By moving it to a lower position we can catch networking exceptions with the API call above it.
2021-06-29 16:44:25 +02:00
Niels van Velzen
b7770a4200 Merge pull request #983 from thornbill/background-opacity
Update background filter transparency
2021-06-29 16:23:59 +02:00
danielxb-ar
d235f689e5 Translated using Weblate (Spanish (Latin America))
Currently translated at 100.0% (436 of 436 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es_419/
2021-06-29 10:18:06 -04:00
danielxb-ar
839a311119 Translated using Weblate (Spanish (Argentina))
Currently translated at 100.0% (436 of 436 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es_AR/
2021-06-29 10:18:05 -04:00
Csaba
ccf80ebf29 Translated using Weblate (Hungarian)
Currently translated at 100.0% (436 of 436 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/hu/
2021-06-29 10:18:05 -04:00
wolong gl
6fa2896e81 Translated using Weblate (Chinese (Simplified))
Currently translated at 98.3% (429 of 436 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/zh_Hans/
2021-06-29 10:18:04 -04:00
WWWesten
93c41967af Translated using Weblate (Russian)
Currently translated at 100.0% (436 of 436 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ru/
2021-06-29 10:18:04 -04:00
WWWesten
91fde37bb1 Translated using Weblate (Kazakh)
Currently translated at 100.0% (436 of 436 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/kk/
2021-06-29 10:18:03 -04:00
newton181
f2e7bf1820 Translated using Weblate (Spanish)
Currently translated at 100.0% (436 of 436 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es/
2021-06-29 10:18:03 -04:00
newton181
1e9c9434c7 Translated using Weblate (Spanish (Mexico))
Currently translated at 100.0% (436 of 436 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es_MX/
2021-06-29 10:18:02 -04:00
Moritz
d965895d40 Translated using Weblate (German)
Currently translated at 100.0% (436 of 436 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/de/
2021-06-29 10:18:02 -04:00
Bill Thornton
4fe0f54b96 Update background filter transparency 2021-06-25 17:35:44 -04:00
Bill Thornton
7d323c19dd Use display name for episodes 2021-06-24 10:58:00 -04:00
Bill Thornton
0fcbad6ff4 Cleanup CustomPlaybackOverlayFragment and update title display 2021-06-24 10:10:24 -04:00
Weblate
d49a4cb16b 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/
2021-06-24 02:50:49 -04:00
Niels van Velzen
08b30eb029 Merge pull request #981 from thornbill/fix-grid-crash
Fix crash due to missing context on grid
2021-06-24 08:49:04 +02:00
Bill Thornton
27dee64994 Merge pull request #974 from linetrimmer/translated-season-episode 2021-06-23 21:15:48 -04:00
Bill Thornton
ee6aa6851f Fix crash due to missing context on grid 2021-06-23 17:30:05 -04:00
Niels van Velzen
09d86ab37a Merge pull request #980 from thornbill/add-glide-app-module
Add glide app module for configuration
2021-06-23 22:30:01 +02:00
Weblate
2ec4e4cac6 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/
2021-06-23 16:28:01 -04:00
WWWesten
3a7adb31cf Translated using Weblate (Russian)
Currently translated at 100.0% (424 of 424 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ru/
2021-06-23 16:27:59 -04:00
WWWesten
b703ca74bd Translated using Weblate (Romanian)
Currently translated at 94.3% (400 of 424 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ro/
2021-06-23 16:27:59 -04:00
WWWesten
effdaf23fe Translated using Weblate (Macedonian)
Currently translated at 26.6% (113 of 424 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/mk/
2021-06-23 16:27:59 -04:00
WWWesten
69a17d49ad Translated using Weblate (Russian)
Currently translated at 100.0% (424 of 424 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ru/
2021-06-23 16:27:59 -04:00
WWWesten
43c8d3c039 Translated using Weblate (Polish)
Currently translated at 95.2% (404 of 424 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pl/
2021-06-23 16:27:59 -04:00
WWWesten
a3b4791477 Translated using Weblate (Greek)
Currently translated at 73.3% (311 of 424 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/el/
2021-06-23 16:27:59 -04:00
XueSNH
44c94d47bb Translated using Weblate (Spanish (Dominican Republic))
Currently translated at 32.0% (136 of 424 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es_DO/
2021-06-23 16:27:59 -04:00
WWWesten
43aa4d6c93 Translated using Weblate (Norwegian Bokmål)
Currently translated at 95.2% (404 of 424 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nb_NO/
2021-06-23 16:27:59 -04:00
WWWesten
f5fe6afbbf Translated using Weblate (Danish)
Currently translated at 94.8% (402 of 424 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/da/
2021-06-23 16:27:59 -04:00
WWWesten
e1d0b1eca8 Translated using Weblate (Vietnamese)
Currently translated at 94.8% (402 of 424 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/vi/
2021-06-23 16:27:59 -04:00
danielxb-ar
d3e99ff45a Translated using Weblate (Spanish (Argentina))
Currently translated at 100.0% (424 of 424 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es_AR/
2021-06-23 16:27:59 -04:00
WWWesten
540816325b Translated using Weblate (Serbian)
Currently translated at 94.3% (400 of 424 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sr/
2021-06-23 16:27:59 -04:00
WWWesten
eba4966b8f Translated using Weblate (Italian)
Currently translated at 95.0% (403 of 424 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/it/
2021-06-23 16:27:59 -04:00
XueSNH
0efb4178a6 Translated using Weblate (Spanish)
Currently translated at 100.0% (424 of 424 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es/
2021-06-23 16:27:59 -04:00
WWWesten
f870b238b3 Translated using Weblate (Ukrainian)
Currently translated at 22.4% (95 of 424 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/uk/
2021-06-23 16:27:59 -04:00
WWWesten
3394006635 Translated using Weblate (Portuguese (Portugal))
Currently translated at 94.3% (400 of 424 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pt_PT/
2021-06-23 16:27:59 -04:00
WWWesten
1765f22b4b Translated using Weblate (Croatian)
Currently translated at 83.0% (352 of 424 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/hr/
2021-06-23 16:27:59 -04:00
Moritz
21b240196a Translated using Weblate (German)
Currently translated at 100.0% (424 of 424 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/de/
2021-06-23 16:27:59 -04:00
WWWesten
fa9ecb16fd Translated using Weblate (Mongolian)
Currently translated at 42.4% (180 of 424 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/mn/
2021-06-23 16:27:59 -04:00
Oatavandi
c1e0c218ca Translated using Weblate (Tamil)
Currently translated at 100.0% (424 of 424 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ta/
2021-06-23 16:27:59 -04:00
DrZack-CN
658011fd58 Translated using Weblate (Chinese (Simplified))
Currently translated at 98.5% (418 of 424 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/zh_Hans/
2021-06-23 16:27:59 -04:00
WWWesten
5a97195e78 Translated using Weblate (Slovenian)
Currently translated at 78.5% (333 of 424 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sl/
2021-06-23 16:27:59 -04:00
WWWesten
b3691737fb Translated using Weblate (Latvian)
Currently translated at 72.1% (306 of 424 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/lv/
2021-06-23 16:27:59 -04:00
sephrat
58f95a4916 Translated using Weblate (French)
Currently translated at 100.0% (424 of 424 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fr/
2021-06-23 16:27:59 -04:00
WWWesten
ce943e0995 Translated using Weblate (Kazakh)
Currently translated at 100.0% (424 of 424 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/kk/
2021-06-23 16:27:59 -04:00
WWWesten
8251362227 Translated using Weblate (Swedish)
Currently translated at 94.8% (402 of 424 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sv/
2021-06-23 16:27:59 -04:00
WWWesten
888e950aa2 Translated using Weblate (English (United Kingdom))
Currently translated at 94.8% (402 of 424 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/en_GB/
2021-06-23 16:27:59 -04:00
WWWesten
2861f7324a Translated using Weblate (Turkish)
Currently translated at 83.2% (353 of 424 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/tr/
2021-06-23 16:27:59 -04:00
WWWesten
46f16642e5 Translated using Weblate (Catalan)
Currently translated at 85.1% (361 of 424 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ca/
2021-06-23 16:27:59 -04:00
Csaba
3d3c4bfa07 Translated using Weblate (Hungarian)
Currently translated at 100.0% (424 of 424 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/hu/
2021-06-23 16:27:59 -04:00
WWWesten
d7005e1d3c Translated using Weblate (Indonesian)
Currently translated at 72.1% (306 of 424 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/id/
2021-06-23 16:27:59 -04:00
XueSNH
536c53e7cd Translated using Weblate (Spanish (Mexico))
Currently translated at 100.0% (424 of 424 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es_MX/
2021-06-23 16:27:59 -04:00
WWWesten
b206925034 Translated using Weblate (Portuguese (Brazil))
Currently translated at 94.8% (402 of 424 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/pt_BR/
2021-06-23 16:27:59 -04:00
danielxb-ar
6632a87c19 Translated using Weblate (Spanish (Latin America))
Currently translated at 100.0% (424 of 424 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es_419/
2021-06-23 16:27:59 -04:00
WWWesten
f4a33f390d Translated using Weblate (French)
Currently translated at 99.0% (420 of 424 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fr/
2021-06-23 16:27:59 -04:00
sephrat
c0fc87e632 Translated using Weblate (French)
Currently translated at 99.0% (420 of 424 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/fr/
2021-06-23 16:27:59 -04:00
WWWesten
c245b24d7b Translated using Weblate (Spanish (Mexico))
Currently translated at 95.2% (404 of 424 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es_MX/
2021-06-23 16:27:59 -04:00
WWWesten
f523923015 Translated using Weblate (Spanish)
Currently translated at 99.0% (420 of 424 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es/
2021-06-23 16:27:59 -04:00
XueSNH
d49d9fc3a5 Translated using Weblate (Spanish)
Currently translated at 99.0% (420 of 424 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es/
2021-06-23 16:27:59 -04:00
WWWesten
96821310de Translated using Weblate (Russian)
Currently translated at 100.0% (424 of 424 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ru/
2021-06-23 16:27:59 -04:00
WWWesten
13bad95c34 Added translation using Weblate (Arabic) 2021-06-23 16:27:59 -04:00
WWWesten
393cee15c2 Added translation using Weblate (Malayalam) 2021-06-23 16:27:59 -04:00
linetrimmer
01af1b79db Remove unused strings 2021-06-23 16:21:41 -04:00
linetrimmer
d49701a5d6 Review changes 2021-06-23 15:56:41 -04:00
Bill Thornton
30c2b543d4 Fix review issues 2021-06-23 15:41:51 -04:00
Bill Thornton
018fa91398 Add glide app module for configuration 2021-06-23 14:42:53 -04:00
linetrimmer
a56a31f588 Remove TvApp from getting strings 2021-06-23 14:35:02 -04:00
linetrimmer
2b1fc67963 Add child count, name (date), time range strings 2021-06-23 14:35:02 -04:00
linetrimmer
aad0d0cb8e Combine series overview strings for translations 2021-06-23 14:35:02 -04:00
linetrimmer
6c5353deb8 Move title function to BaseItemUtils 2021-06-23 14:35:02 -04:00
linetrimmer
57902daec4 Rename BaseItemUtils to Kotlin file 2021-06-23 14:35:02 -04:00
linetrimmer
55a4e4bc92 Refactor BaseItemUtils in Kotlin 2021-06-23 14:35:01 -04:00
linetrimmer
77f253f514 Use translated season/episode number strings throughout app 2021-06-23 14:31:14 -04:00
Niels van Velzen
b017091492 Merge pull request #921 from thornbill/crashes
Fix nullability issues
2021-06-23 17:46:43 +02:00
Niels van Velzen
85ebcf29f2 Merge pull request #979 from thornbill/fix-prev-channel-crash
Fix crash when previous channel id is empty
2021-06-23 17:36:08 +02:00
Bill Thornton
b92fe392a0 Fix crash when previous channel id is empty 2021-06-23 11:29:27 -04:00
Bill Thornton
fb712a4797 Mark TvApp.getApplication() as nullable 2021-06-23 11:11:47 -04:00
Bill Thornton
223a863445 Make context nonnull in getThemeColor 2021-06-23 10:41:09 -04:00
Bill Thornton
8993df3cef Make context nonnull in convertDpToPixel and avoid using TvApp.getApplication() 2021-06-23 10:39:18 -04:00
Bill Thornton
8bb0de5b74 Fix nullability issues 2021-06-23 09:55:24 -04:00
Niels van Velzen
226c558272 Merge pull request #978 from thornbill/fix-watching-and-recording
Fix crash when watching and recording live tv
2021-06-23 09:05:41 +02:00
Bill Thornton
95a1886581 Fix crash when watching and recording live tv 2021-06-23 00:40:05 -04:00
Bill Thornton
3e01aebc71 Merge pull request #926 from nielsvanvelzen/directplay-fix
Fix direct play
2021-06-22 23:39:20 -04:00
Bill Thornton
eee0323021 Merge pull request #976 from nielsvanvelzen/publish-sign-fix 2021-06-21 23:30:38 -04:00
Niels van Velzen
e6426fa611 Sign release files using apksigner instead of Gradle and include debug files in release 2021-06-21 21:57:31 +02:00
Bill Thornton
cdb84407b3 Merge pull request #970 from nielsvanvelzen/version-check-b
Show server not supported error in user login alert and replace ServerVersion.asText() with ServerVersion.toString()
2021-06-17 00:14:34 -04:00
Bill Thornton
29587252a2 Merge pull request #969 from jellyfin/nvv-issue-template-contact
Add link to contact page in issue template config
2021-06-16 15:01:13 -04:00
Bill Thornton
f425429ce8 Merge pull request #971 from nielsvanvelzen/fix-nextup-dead
Don't pause video on activity pause
2021-06-16 14:58:12 -04:00
Niels van Velzen
53e435cb3c Also stop playback things when fragment stops 2021-06-16 20:42:08 +02:00
Niels van Velzen
bc9293d74d Don't pause video on activity pause
This is consistent with other apps like YouTube
2021-06-16 20:39:36 +02:00
Weblate
0c07ced35b 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/
2021-06-16 14:34:34 -04:00
Csaba
8a7923c60c Translated using Weblate (Hungarian)
Currently translated at 100.0% (418 of 418 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/hu/
2021-06-16 14:34:32 -04:00
danielxb-ar
ca11e17748 Translated using Weblate (Spanish (Argentina))
Currently translated at 100.0% (418 of 418 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es_AR/
2021-06-16 14:34:32 -04:00
Luis Rhenals
8ad4355732 Translated using Weblate (Spanish (Latin America))
Currently translated at 100.0% (418 of 418 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es_419/
2021-06-16 14:34:32 -04:00
Moritz
507ab611e5 Translated using Weblate (German)
Currently translated at 100.0% (418 of 418 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/de/
2021-06-16 14:34:32 -04:00
Luis Rhenals
1697456c4d Translated using Weblate (Spanish)
Currently translated at 99.2% (415 of 418 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es/
2021-06-16 14:34:32 -04:00
WWWesten
90c542bccc Translated using Weblate (Kazakh)
Currently translated at 100.0% (418 of 418 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/kk/
2021-06-16 14:34:32 -04:00
WWWesten
6798d5d37d Translated using Weblate (Russian)
Currently translated at 100.0% (418 of 418 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/ru/
2021-06-16 14:34:32 -04:00
Csaba
4b2ea94c67 Translated using Weblate (Hungarian)
Currently translated at 100.0% (411 of 411 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/hu/
2021-06-16 14:34:32 -04:00
danielxb-ar
11eaf6eddf Translated using Weblate (Spanish (Argentina))
Currently translated at 100.0% (411 of 411 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es_AR/
2021-06-16 14:34:32 -04:00
Niels van Velzen
2587d673a0 Translated using Weblate (Dutch)
Currently translated at 100.0% (411 of 411 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nl/
2021-06-16 14:34:32 -04:00
danielxb-ar
b600a538e1 Translated using Weblate (Spanish (Latin America))
Currently translated at 100.0% (411 of 411 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/es_419/
2021-06-16 14:34:32 -04:00
nextlooper42
3f179e81bc Translated using Weblate (Slovak)
Currently translated at 100.0% (411 of 411 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/sk/
2021-06-16 14:34:32 -04:00
Moritz
496e9e6444 Translated using Weblate (German)
Currently translated at 100.0% (411 of 411 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/de/
2021-06-16 14:34:32 -04:00
Lukáš Kucharczyk
9d4e3fb0f8 Translated using Weblate (Czech)
Currently translated at 100.0% (411 of 411 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/cs/
2021-06-16 14:34:32 -04:00
Csaba
8b30f5b1ff Translated using Weblate (Hungarian)
Currently translated at 100.0% (411 of 411 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/hu/
2021-06-16 14:34:32 -04:00
Niels van Velzen
06d5444490 Translated using Weblate (Dutch)
Currently translated at 99.0% (407 of 411 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nl/
2021-06-16 14:34:32 -04:00
linetrimmer
19eaeb898f Merge pull request #850 from linetrimmer/next_up
Adjust layout of next up screen, add option to hide thumbnail
2021-06-16 20:31:49 +02:00
Niels van Velzen
b60c3a3f06 Show server not supported error in user login alert and replace ServerVersion.asText() with ServerVersion.toString() 2021-06-16 16:54:06 +02:00
Niels van Velzen
8ab11fe261 Update .github/ISSUE_TEMPLATE/config.yml 2021-06-16 15:54:44 +02:00
Bill Thornton
792ca7f8eb Merge pull request #968 from nielsvanvelzen/sdk-beta-8
Update SDK to beta 8
2021-06-16 09:52:05 -04:00
Niels van Velzen
f23eead9c1 Add link to contact page in issue template config 2021-06-16 13:51:51 +02:00
Niels van Velzen
b95a6dbe65 Update SDK to beta 8 2021-06-16 10:15:51 +02:00
Niels van Velzen
f5bdb8e406 Merge pull request #966 from thornbill/consistent-clock
Update clock bug to match toolbar
2021-06-16 09:59:03 +02:00
Niels van Velzen
e9dfdb78cd Merge pull request #965 from linetrimmer/theme-rounding
Use theme rounding value in DefaultCardView
2021-06-16 09:50:10 +02:00
Niels van Velzen
46998964e9 Merge pull request #967 from jellyfin/gradlew-update-7.1
Update Gradle Wrapper from 7.0.2 to 7.1
2021-06-16 08:59:45 +02:00
gradle-update-robot
96d744f62f Update Gradle Wrapper from 7.0.2 to 7.1.
Signed-off-by: gradle-update-robot <gradle-update-robot@regolo.cc>
2021-06-16 04:24:40 +00:00
Bill Thornton
e898216c71 Update clock bug to match toolbar 2021-06-16 00:08:48 -04:00
linetrimmer
8b9934f541 Use theme rounding value in DefaultCardView 2021-06-15 20:04:57 -04:00
Bill Thornton
bfe6e5a927 Merge pull request #964 from nielsvanvelzen/user-wants-to-go-home
Don't close the video player when activity is paused
2021-06-15 16:39:07 -04:00
Bill Thornton
6adeaf945b Merge pull request #963 from nielsvanvelzen/soft-crash
Close activity instead of crashing when playback fails
2021-06-15 16:38:16 -04:00
Niels van Velzen
3a3b39f5d1 Don't close the video player when activity is paused 2021-06-15 21:49:59 +02:00
Niels van Velzen
996144a6b9 Close activity instead of crashing when spaghetti doesn't work 2021-06-15 21:43:17 +02:00
Bill Thornton
1ed6e4de8c Merge pull request #962 from nielsvanvelzen/select-server-ui
Improve select server UI and use the toolbar again
2021-06-15 14:02:10 -04:00
Niels van Velzen
62797d0fe7 Fix critical issue 2021-06-15 19:35:54 +02:00
Niels van Velzen
112455daae Increase QR code size and add border 2021-06-15 19:24:45 +02:00
Niels van Velzen
1265241938 Add help alert 2021-06-15 17:57:50 +02:00
Niels van Velzen
17d44ae8f1 Restructure select server fragment 2021-06-15 17:57:49 +02:00
Niels van Velzen
4db644aaeb Add help and settings buttons to startup toolbar 2021-06-15 17:57:47 +02:00
Bill Thornton
f75cb88b38 Merge pull request #955 from nielsvanvelzen/imagebutton-replace
Replace ImageButton with Button.Icon style
2021-06-15 10:59:07 -04:00
Niels van Velzen
9308643fa6 Fix direct play 2021-06-15 15:15:46 +02:00
Niels van Velzen
71a67db6e5 Remove unused spaced_buttons style and ic_loop_red icon 2021-06-15 15:08:09 +02:00
Niels van Velzen
ecf2a7748c Add "activated" state to icon button in favor of tinted icons 2021-06-15 15:08:08 +02:00
Niels van Velzen
8733a48fe2 Delete ImageButton 2021-06-15 15:08:07 +02:00
Niels van Velzen
dbd2268c99 Remove misused of ImageButton 2021-06-15 15:08:05 +02:00
Niels van Velzen
6579ff976b Add style for disabled buttons 2021-06-15 15:08:04 +02:00
Niels van Velzen
23ea956eec Replace ImageButton in AudioNowPlayingActivity 2021-06-15 15:08:02 +02:00
Niels van Velzen
1cc4322ce4 Replace ImageButton in StdGridFragment 2021-06-15 15:08:00 +02:00
Bill Thornton
2ae29481ae Merge pull request #944 from nielsvanvelzen/server-overview-rewrite
Rewrite authentication UI
2021-06-14 17:20:15 -04:00
Niels van Velzen
f87aea1fa5 Increase Detekt TooManyFunctions threshold 2021-06-14 21:42:33 +02:00
Bill Thornton
52fc7cfca9 Merge pull request #957 from linetrimmer/toolbar_padding
Remove padding from end of toolbar content when clock is hidden
2021-06-14 13:47:07 -04:00
Bill Thornton
1130397588 Merge pull request #959 from Aerion/remove-libvlc-refframes-limitation
Remove libvlc RefFrames restriction
2021-06-14 13:45:41 -04:00
Niels van Velzen
64cb15ad37 Fix tint of icons in Button.Default style and server button 2021-06-14 18:44:00 +02:00
Niels van Velzen
c9c11988ba Change server icon to a house instead of a cloud 2021-06-14 16:33:18 +02:00
Niels van Velzen
48d5f9aec1 Fix removing user not removing the access token
Actions now properly implemented and use the authentication repository as proxy
2021-06-14 12:07:41 +02:00
Niels van Velzen
aaa5aebe57 Fix ServerFragment keeping history when closing due too invalid server 2021-06-14 11:55:25 +02:00
Niels van Velzen
c85bfeaee0 Fix incorrect scale in DefaultCardView when focused by default 2021-06-14 11:55:25 +02:00
Niels van Velzen
5d387deca9 Add inline state to server button when connecting to a discovery server 2021-06-14 11:55:24 +02:00
Niels van Velzen
1e7338197b Merge pull request #960 from jellyfin/dependabot/github_actions/actions/cache-2.1.6
Bump actions/cache from 2.1.5 to 2.1.6
2021-06-14 09:39:41 +02:00
dependabot[bot]
e2abeac784 Bump actions/cache from 2.1.5 to 2.1.6
Bumps [actions/cache](https://github.com/actions/cache) from 2.1.5 to 2.1.6.
- [Release notes](https://github.com/actions/cache/releases)
- [Commits](https://github.com/actions/cache/compare/v2.1.5...v2.1.6)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-14 06:44:29 +00:00
linetrimmer
f74b3c7047 Include padding only when clock is visible 2021-06-13 15:08:19 -04:00
Guillaume Taquet Gasperini
975b58a523 Remove libvlc RefFrames restriction
There is a limitation hardcoded in jellyfin-androidtv that prevents
direct playing a h264 file with libvlc if it has a number of reference
frames == 1.

This limitation was added 5 years ago (da38c02) and causes files to
be transcoded. But since then, libvlc seems to support files with
reference frames < 2.

Thus, this commit removes that limitation, as from my tests
jellyfin-androidtv directs streams and plays those files without any
issue when libvlc is selected.

Closes #958
2021-06-13 20:11:02 +02:00
Bill Thornton
a49ec4cc2a Merge pull request #956 from nielsvanvelzen/apiclient-jitpack
Use Jellyfin apiclient from JitPack, remove JCenter repository
2021-06-13 00:27:30 -04:00
Niels van Velzen
d9244e1fa6 Update Detekt 2021-06-12 12:28:34 +02:00
Niels van Velzen
67b3d0742b Use Jellyfin apiclient from JitPack, remove JCenter repository 2021-06-12 12:25:10 +02:00
Niels van Velzen
96fa1523dc Fix incorrect overscan values 2021-06-12 09:52:57 +02:00
Niels van Velzen
e4539da1cc Rewrite authentication UI 2021-06-12 09:52:57 +02:00
Bill Thornton
ca213f0ff4 Merge pull request #952 from nielsvanvelzen/gh-publish
Move release publishing to GHA
2021-06-12 02:00:17 -04:00
Bill Thornton
6bca926594 Merge pull request #953 from nielsvanvelzen/home-toolbar
Add toolbar to home activity
2021-06-12 01:59:03 -04:00
Niels van Velzen
f6432a2eba Use toolbar on home activity 2021-06-11 21:03:04 +02:00
Bill Thornton
c68bb02004 Merge pull request #954 from nielsvanvelzen/fix-grid-refresh
Fix StdGridFragment always refreshing on resume
2021-06-11 12:21:56 -04:00
Niels van Velzen
5cad7c5128 Fix StdGridFragment always refreshing on resume
Now properly checks changes and updates only when necessary
2021-06-11 16:15:17 +02:00
Niels van Velzen
894af9655a Add fade transition to buttons 2021-06-11 14:24:08 +02:00
Niels van Velzen
04e1718855 Add publish workflow 2021-06-11 11:59:28 +02:00
Bill Thornton
5029248804 Merge pull request #950 from nielsvanvelzen/str-fixes
Use ellipsis character instead of 3 dots and fix positional arguments
2021-06-11 01:43:32 -04:00
Niels van Velzen
ed2c19df95 Use ellipsis character instead of 3 dots and fix positional arguments 2021-06-10 17:50:52 +02:00
Niels van Velzen
3b67367987 Remove unused strings across all languages 2021-06-10 17:17:50 +02:00
Bill Thornton
9cf6803b27 Merge pull request #949 from nielsvanvelzen/unused-res
Remove unused non-string resources
2021-06-10 11:13:32 -04:00
Niels van Velzen
cbb5a46045 Remove unused non-string resources 2021-06-10 17:08:34 +02:00
Niels van Velzen
33465fe119 Translated using Weblate (English)
Currently translated at 93.5% (446 of 477 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/en/
2021-06-10 11:07:42 -04:00
Bill Thornton
c11ae6882d Merge pull request #946 from nielsvanvelzen/gradle-publishing
Prepare Gradle build scripts for new publish CI
2021-06-10 11:03:29 -04:00
Bill Thornton
4705cb6846 Merge pull request #948 from nielsvanvelzen/weblate-move
Update weblate links
2021-06-10 11:01:24 -04:00
Weblate
7ef2f7835b 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/
2021-06-10 10:37:56 -04:00
Weblate
c7bf930dc4 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/
2021-06-10 10:37:54 -04:00
Weblate
94c4ce7a0f 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/
2021-06-10 10:37:54 -04:00
Niels van Velzen
79746d279c Translated using Weblate (Dutch)
Currently translated at 98.9% (471 of 476 strings)

Translation: Jellyfin Android/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/nl/
2021-06-10 10:37:54 -04:00
bugthug
a2734a8eb1 Translated using Weblate (Hebrew)
Currently translated at 97.6% (465 of 476 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/he/
2021-06-10 10:37:54 -04:00
Niels van Velzen
d3e94ad512 Translated using Weblate (Dutch)
Currently translated at 98.5% (469 of 476 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/nl/
2021-06-10 10:37:54 -04:00
yasharnategh
46b0f0beb7 Added translation using Weblate (Persian) 2021-06-10 10:37:54 -04:00
Niels van Velzen
6157c247aa Merge pull request #932 from linetrimmer/next_up_external
Use Next Up screen when playing with an external app
2021-06-10 14:01:54 +02:00
linetrimmer
f668e1c66d Use extra constants in player activities 2021-06-10 07:52:06 -04:00
Niels van Velzen
2d8ba845c9 Updatew weblate links 2021-06-10 10:01:25 +02:00
Niels van Velzen
c1247fa068 Merge pull request #947 from thornbill/fix-clock-layout
Fix broken layout on grid pages
2021-06-10 08:51:12 +02:00
Bill Thornton
54b8c662e6 Fix broken layout on grid pages 2021-06-10 00:09:54 -04:00
linetrimmer
958c08fdbb Move extras to constants 2021-06-09 23:43:33 -04:00
Bill Thornton
cfed57921f Merge pull request #945 from nielsvanvelzen/UnusedIds-ignore 2021-06-09 17:46:46 -04:00
Niels van Velzen
e25f5a0693 Prepare Gradle build scripts for new publish CI
- Removes proguard (unused)
- Make output APK name consistent with jellyfin-android
- Add versionTxt task
- Add release signing configuration
2021-06-09 23:15:33 +02:00
Niels van Velzen
24c7b5cbef Merge pull request #920 from thornbill/clock-take-2
Refactor clock view
2021-06-09 22:36:02 +02:00
Niels van Velzen
67b8fc6cf5 Ignore UnusedIds linter check
Doesn't work properly with view binding (causing false-positives)
2021-06-09 22:28:18 +02:00
Bill Thornton
94c48f883b Fix review issues 2021-06-09 16:27:57 -04:00
Niels van Velzen
b6b3775c6b Merge pull request #943 from thornbill/playback-helper-cleanup
Improve null handling in PlaybackHelper.getItemsToPlay
2021-06-09 21:52:42 +02:00
Bill Thornton
8b2d05912b Call onError when current user is null 2021-06-09 15:32:22 -04:00
Bill Thornton
a64d54d78d Improve null handling in PlaybackHelper.getItemsToPlay 2021-06-09 11:41:43 -04:00
Bill Thornton
5516a07cd9 Merge pull request #940 from nielsvanvelzen/cards-against-droid
Refactor all card views
2021-06-09 10:50:27 -04:00
Bill Thornton
bb158f153a Fix review issues 2021-06-09 10:41:27 -04:00
Bill Thornton
27d5f9e7e9 Merge pull request #941 from nielsvanvelzen/IPositionablePresenter
Simplify IPositionablePresenter structure (removed interface)
2021-06-09 00:16:12 -04:00
Bill Thornton
6191a31f24 Merge pull request #914 from nielsvanvelzen/expandabletextview-popup
Rewrite ExpandableTextView to use a popup instead of activity
2021-06-09 00:13:29 -04:00
Bill Thornton
a04d72c8b4 Merge pull request #927 from nielsvanvelzen/actions-build
Move build CI to GitHub Actions
2021-06-09 00:06:54 -04:00
Bill Thornton
b5c3a1d0b0 Merge pull request #924 from nielsvanvelzen/emit-server-id-after-add
Emit server information after adding it in the ServerRepository
2021-06-09 00:04:27 -04:00
Bill Thornton
a922bc4721 Merge pull request #923 from nielsvanvelzen/invalid-token-check
Show login dialog when token is invalid
2021-06-09 00:03:31 -04:00
Bill Thornton
7023e78c58 Merge pull request #851 from linetrimmer/next_up_specials
Include specials when queuing subsequent episodes
2021-06-08 23:58:06 -04:00
Bill Thornton
f58480d4d5 Merge pull request #928 from nielsvanvelzen/sdk-master
Update SDK snapshot version to master-SNAPSHOT
2021-06-07 17:40:33 -04:00
Bill Thornton
c1c5fb7959 Merge pull request #939 from nielsvanvelzen/official-license-text
Update LICENSE file to match exact formatting from gnu.org
2021-06-07 17:39:36 -04:00
Bill Thornton
fbfb455483 Merge pull request #942 from nielsvanvelzen/unused-videoview
Remove unused StdVideoView and IVideoView
2021-06-07 17:38:00 -04:00
Niels van Velzen
1ce4cc59b5 Remove unused StdVideoView and IVideoView 2021-06-07 22:29:06 +02:00
Niels van Velzen
aeed12b938 Simplify IPositionablePresenter structure (removed interface) 2021-06-07 22:12:23 +02:00
Niels van Velzen
549b0aea44 Use view binding in all card views 2021-06-07 21:59:20 +02:00
Niels van Velzen
8204a01068 Rename all card related views to a consistent format 2021-06-07 21:51:42 +02:00
Niels van Velzen
efed4df383 Update LICENSE file to match exact formatting from gnu.org
Exact same license but formatting changed slightly. Sourced from https://www.gnu.org/licenses/old-licenses/gpl-2.0.txt
2021-06-05 22:00:45 +02:00
linetrimmer
9fa3993cb1 Use finishAfterTransition, pass boolean extra if using external player 2021-06-05 14:14:29 -04:00
Niels van Velzen
e6adac44a7 Merge pull request #936 from linetrimmer/separate_series_episodes
Separate series and episodes in person item details, sort items by name
2021-06-05 13:54:12 +02:00
Niels van Velzen
981a461ed3 Merge pull request #935 from linetrimmer/item_details_title
Fix long single-line title pushing item details text up
2021-06-05 10:43:55 +02:00
linetrimmer
d850fa9a66 Separate series and episodes in person item details, sort items by name 2021-06-05 04:34:17 -04:00
linetrimmer
d65428d5cb Add back missing finish(), clear video queue on cancel if not modified 2021-06-05 03:07:21 -04:00
linetrimmer
2c5e862863 Fix condition complexity 2021-06-03 19:52:00 -04:00
linetrimmer
7bf8c6c805 Autoplay with external player if next up screen disabled 2021-06-03 18:56:40 -04:00
linetrimmer
f6ac674008 Set limit as class level constant 2021-06-03 18:35:42 -04:00
linetrimmer
2ee7b77f8d Account for 'Always Ask' player option 2021-06-03 14:58:53 -04:00
linetrimmer
d14bd64c4f Adjust next up option dependencies 2021-06-03 14:20:50 -04:00
linetrimmer
fe5df36624 Use Next Up screen when using an external player 2021-06-03 14:03:00 -04:00
linetrimmer
f7be662aba Fix long single-line title pushing item details text up 2021-06-02 21:56:42 -04:00
Niels van Velzen
3f34bbd845 Merge pull request #929 from jellyfin/dependabot/github_actions/actions/cache-2.1.6
Bump actions/cache from 2.1.5 to 2.1.6
2021-05-31 10:35:14 +02:00
dependabot[bot]
f2661a8c7c Bump actions/cache from 2.1.5 to 2.1.6
Bumps [actions/cache](https://github.com/actions/cache) from 2.1.5 to 2.1.6.
- [Release notes](https://github.com/actions/cache/releases)
- [Commits](https://github.com/actions/cache/compare/v2.1.5...v2.1.6)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-31 06:57:38 +00:00
Niels van Velzen
729ee7d70b Update SDK snapshot version to master-SNAPSHOT 2021-05-29 16:38:35 +02:00
Niels van Velzen
587c50d863 Move APK build CI to GitHub Actions
Azure still used for releases only (not triggered on pull requests anymore)
2021-05-29 09:58:14 +02:00
Niels van Velzen
83423a053e Merge pull request #919 from thornbill/hide-live-tv
Hide live TV section when unavailable
2021-05-28 18:50:56 +02:00
Bill Thornton
420ec1c59d Merge pull request #925 from nielsvanvelzen/compat-junk
Remove junk code from compat package
2021-05-28 10:42:17 -04:00
Bill Thornton
9571182c1f Skip live tv check if not in homesections 2021-05-28 10:22:44 -04:00
Bill Thornton
345dccf0d1 Fix review issues 2021-05-28 10:14:53 -04:00
Niels van Velzen
2e067b9ecc Remove unnecessary ITranscoderSupport and FullTranscoderSupport that always returned true 2021-05-27 19:38:25 +02:00
Niels van Velzen
d2fa4aaf4e Remove unused DrawingUtils compat functions 2021-05-27 19:37:31 +02:00
Niels van Velzen
764e2248df Removed unused compat classes 2021-05-27 19:37:15 +02:00
Niels van Velzen
a06843b801 Emit server information after adding it in the ServerRepository 2021-05-27 19:06:08 +02:00
Niels van Velzen
fac0b8cb81 Show login dialog when token is invalid 2021-05-27 18:56:17 +02:00
Niels van Velzen
a0c839261f Review changes 2021-05-26 16:45:51 +02:00
Bill Thornton
36e21ed66e Check live tv access before requesting recommendations 2021-05-26 09:40:45 -04:00
Bill Thornton
5271d138a6 Add shadows to clock view text 2021-05-26 00:09:16 -04:00
Bill Thornton
abcc5dca1f Add support for clock when user is not signed in 2021-05-25 23:36:17 -04:00
Bill Thornton
44a68535b6 Add viewbinding to ClockUserView 2021-05-25 23:36:01 -04:00
Bill Thornton
7a5bf393bc Convert ClockUserView to Kotlin 2021-05-25 23:30:41 -04:00
Bill Thornton
ec04217e9f Remove clock transparency 2021-05-25 23:18:46 -04:00
Bill Thornton
87b7d0a8df Merge pull request #897 from koying/chgswitchreso
CHG: Be smarter when switching reso
2021-05-25 23:06:39 -04:00
Niels van Velzen
9cd81e81a5 Add close hint to expandable text popup 2021-05-25 23:12:58 +02:00
Bill Thornton
4cf645b59f Hide live TV section when unavailable 2021-05-25 16:26:04 -04:00
Niels van Velzen
82652d6621 Rewrite ExpandableTextView to use a popup instead of activity 2021-05-25 20:02:40 +02:00
Bill Thornton
ef5339e334 Merge pull request #918 from nielsvanvelzen/preference-store-interface
Add PreferenceStore interface
2021-05-25 11:34:03 -04:00
Bill Thornton
65c102f844 Merge pull request #912 from nielsvanvelzen/system-user-api
Add SDK ApiClient and migrate LeanbackChannelWorker
2021-05-25 11:32:07 -04:00
Niels van Velzen
b17adc5f49 Migrate LeanbackChannelWorker to SDK with the system user 2021-05-25 16:45:36 +02:00
Niels van Velzen
6b6a762c24 Add KtorClient instances for user and system and apply sessions in SessionRepository
This allows the use of the new SDK while keeping the old apiclient working
2021-05-25 16:43:01 +02:00
Niels van Velzen
15157fbb5e Merge pull request #917 from thornbill/allow-wildcards
Allow wildcard imports in detekt
2021-05-25 16:40:03 +02:00
Niels van Velzen
94a0f1f882 Add PreferenceStore interface to allow multiple kinds of storage backends in the future 2021-05-25 16:40:01 +02:00
Bill Thornton
e7ab1bad9f Allow wildcard imports in detekt 2021-05-25 10:28:38 -04:00
Niels van Velzen
1609d5d270 Merge pull request #905 from thornbill/blurhashs-back-alright
Decode blur hashes in background thread
2021-05-24 20:16:25 +02:00
Niels van Velzen
95168854f4 Use lifecycle when loading BlurHashes 2021-05-24 19:33:04 +02:00
Bill Thornton
2762b60140 Merge pull request #913 from nielsvanvelzen/sdk-snapshot
Add Gradle property to use SDK snapshot version
2021-05-24 10:11:14 -04:00
Bill Thornton
d5a4751da5 Allow null blur hash strings 2021-05-24 10:08:40 -04:00
Niels van Velzen
75a9ae4e15 Update SDK to 1.0.0-beta.7 2021-05-24 15:29:37 +02:00
Tiago Pinto
4fcc7e9a54 Translated using Weblate (Portuguese (Portugal))
Currently translated at 98.7% (470 of 476 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/pt_PT/
2021-05-23 14:31:01 -04:00
Thomas Schwery
f7581b795b Translated using Weblate (French)
Currently translated at 100.0% (476 of 476 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/fr/
2021-05-23 14:31:01 -04:00
Niels van Velzen
e934e40378 Add gradle property to use snapshot version for the SDK 2021-05-22 11:00:08 +02:00
linetrimmer
8dd4fcf9fd Check for null current user, add limit and StartItemId TODO 2021-05-21 15:26:07 -04:00
Niels van Velzen
ed6b94faa8 Merge pull request #911 from thornbill/can-i-has-flac
Add flac support to exoplayer profile
2021-05-21 20:30:11 +02:00
Bill Thornton
dd60acf58a Merge pull request #910 from nielsvanvelzen/koin-kt15
Update Koin to 2.2.3 and remove temporary logging change to prevent crashes
2021-05-21 14:23:40 -04:00
Bill Thornton
91896c7b80 Add flac support to exoplayer profile 2021-05-21 14:17:57 -04:00
Bill Thornton
fcbd2e375f Merge pull request #880 from nielsvanvelzen/sdk-in-login
Use new Kotlin SDK for server repository
2021-05-21 13:33:52 -04:00
Niels van Velzen
21ce46c3b5 Update sdk version 2021-05-21 19:01:42 +02:00
Niels van Velzen
982bfe5698 Add login disclaimer and version to stored servers 2021-05-21 19:01:41 +02:00
Niels van Velzen
d3ace02ba4 Remove apiclient model extensions 2021-05-21 19:01:41 +02:00
Niels van Velzen
438904ed35 Use UUID functions from SDK 2021-05-21 19:01:41 +02:00
Niels van Velzen
ca1dffb57a Use new SDK for discovery and public user detection in ServerRepository 2021-05-21 19:01:40 +02:00
Niels van Velzen
f765d17306 Add instance of new SDK Jellyfin class to dependency injection module 2021-05-21 19:01:39 +02:00
nextlooper42
10ba2b149c Translated using Weblate (Slovak)
Currently translated at 100.0% (476 of 476 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/sk/
2021-05-21 12:31:01 -04:00
Niels van Velzen
d9afe54f98 Merge pull request #899 from thornbill/separate-profiles
Refactor player profiles
2021-05-21 18:16:34 +02:00
Bill Thornton
d1aee92319 Fix review issues 2021-05-21 12:07:07 -04:00
Bill Thornton
f47fc8fcb6 Merge pull request #908 from nielsvanvelzen/backoff
Add backoff setting for leanback channel worker
2021-05-21 11:24:34 -04:00
Bill Thornton
fcfe4768cb Move shared profile logic to ProfileHelper 2021-05-21 11:01:28 -04:00
Niels van Velzen
734817e191 Merge pull request #903 from thornbill/grid-performance
Grid view improvements
2021-05-21 09:14:55 +02:00
Niels van Velzen
a3e1102239 Merge pull request #888 from thornbill/fireos-alpha-picker
Refactor alpha picker in Kotlin and fix Fire OS compatability
2021-05-21 09:06:59 +02:00
Bill Thornton
db6303b822 Fix code style issues 2021-05-21 01:35:10 -04:00
Bill Thornton
2b79c32eab Refactor profile helper in Kotlin 2021-05-21 01:35:10 -04:00
Bill Thornton
afdd3229cb Move ExoPlayer profile to class 2021-05-21 01:35:08 -04:00
Bill Thornton
f7c20c015a Fix code style issues 2021-05-21 01:31:49 -04:00
Bill Thornton
1f0a4e332b Fix spaces in device profiles 2021-05-21 01:30:15 -04:00
Bill Thornton
44595575d0 Move libVLC profile to class 2021-05-21 01:30:13 -04:00
Bill Thornton
e4b83a3640 Move base player profile to class 2021-05-21 01:11:27 -04:00
Bill Thornton
c4c1ae5350 Move external player profile to class 2021-05-21 01:11:27 -04:00
Bill Thornton
8d33039692 Move device profile classes to new package 2021-05-21 01:11:27 -04:00
Bill Thornton
632260e501 Remove unused imports 2021-05-21 01:09:05 -04:00
Bill Thornton
e90c9bbbca Disable scroll bar in alpha picker 2021-05-21 01:05:01 -04:00
Bill Thornton
5cf988a2d1 Use medium cards by default 2021-05-21 01:00:27 -04:00
Niels van Velzen
8d6b82f258 Update Koin to 2.2.3 and remove temporary logging change to prevent crashes
New Koin version now supports Kotlin 1.5
2021-05-20 22:26:45 +02:00
Niels van Velzen
42b71bd6c5 Use backwards compatible setBackoffCriteria function
Using a Duration class is only possible on Android API 26 and up
2021-05-20 18:47:33 +02:00
Marius Lindvall
661f326ff5 Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (476 of 476 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/nb_NO/
2021-05-20 06:31:00 -04:00
Page Asgardius
1397b77d7d Translated using Weblate (Spanish (Mexico))
Currently translated at 100.0% (476 of 476 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/es_MX/
2021-05-20 06:31:00 -04:00
Niels van Velzen
87a367ef45 Merge pull request #907 from thornbill/disable-ac3-on-fs1
Disable AC3 for Fire Stick Gen 1 devices
2021-05-19 22:30:45 +02:00
Bill Thornton
85cc84e6e9 Add migration for ac3 setting for Gen 1 Fire Sticks 2021-05-19 16:06:49 -04:00
Bill Thornton
c7ff1e5202 Merge pull request #906 from nielsvanvelzen/GradleDependency
Disable GradleDependency lint check
2021-05-19 14:45:07 -04:00
Bill Thornton
ae683291cd Use screen density in size calculations 2021-05-19 13:49:08 -04:00
Niels van Velzen
ace1849a89 Add backoff setting for leanback channel worker 2021-05-19 19:30:59 +02:00
Bill Thornton
5a8783bc0b Disable ac3 for Fire Stick Gen 1 devices 2021-05-19 13:15:44 -04:00
Bill Thornton
7c754cef73 Merge pull request #843 from nielsvanvelzen/google-exo
Update ExoPlayer to 2.14.0
2021-05-19 13:06:25 -04:00
Niels van Velzen
36b62ed858 Disable GradleDependency lint check 2021-05-19 17:45:05 +02:00
Bill Thornton
0a053005e7 Add card image background color 2021-05-19 10:40:06 -04:00
Bill Thornton
716843ba3c Move width/height calculation for blurhash 2021-05-19 10:39:46 -04:00
Bill Thornton
84908e0f79 Added blur hash service and glide extension 2021-05-19 10:39:30 -04:00
Bill Thornton
3924a109d9 Disable blurhash due to performance issues 2021-05-19 10:39:18 -04:00
Bill Thornton
9b5fb35ee0 Use constant fields for preference values 2021-05-19 10:34:31 -04:00
Bill Thornton
eb361585b8 Merge pull request #904 from nielsvanvelzen/my-media-ignore
Hide ignored media libraries from leanback channel integration
2021-05-19 10:25:45 -04:00
Niels van Velzen
33911392bf Hide ignored media libraries from leanback channel integration 2021-05-19 16:10:51 +02:00
Bill Thornton
b9175cd7d4 Reduce chunk size in grids to improve serialization time 2021-05-18 16:11:14 -04:00
Bill Thornton
fa8c9f27b6 Use screen size not library size to determine default card size 2021-05-18 15:18:12 -04:00
Bill Thornton
aa0f05a863 Remove "spinner" from grid fragment 2021-05-18 15:16:49 -04:00
Bill Thornton
2f663992fa Merge pull request #902 from nielsvanvelzen/inject-insulin-into-the-droid
Add desugaring to support java.time
2021-05-18 12:31:09 -04:00
Niels van Velzen
f63de47cba Add desugaring to support java.time 2021-05-18 18:20:07 +02:00
Niels van Velzen
5e27237e97 Merge pull request #901 from koying/fixstartup
FIX: unnecessary object at each startup
2021-05-18 15:33:30 +02:00
Chris "koying" Browet
2be96d9aae FIX: unnecessary object at each startup 2021-05-18 14:54:12 +02:00
Bill Thornton
318a8951e0 Move scroll view to alpha picker 2021-05-18 00:13:57 -04:00
Bill Thornton
06b4b5ee06 Add horizontal scrolling to alpha picker 2021-05-17 14:12:31 -04:00
Niels van Velzen
89565ce6fd Merge pull request #898 from thornbill/no-alpha-icons
Remove transparency from card badges
2021-05-17 19:43:08 +02:00
Niels van Velzen
7e863d401f Merge pull request #896 from koying/fixaudioswitch
FIX: allow switch audio from paused
2021-05-17 19:41:09 +02:00
Bill Thornton
e7fb865972 Merge pull request #891 from koying/fixvlcpt
FIX: [vlc] "setAudioOutput" disables passthrough
2021-05-17 13:27:28 -04:00
Jorge Rodriguez
284be90e6b Translated using Weblate (Spanish)
Currently translated at 100.0% (476 of 476 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/es/
2021-05-17 11:30:58 -04:00
Bill Thornton
75acd2b034 Rename alpha picker button view 2021-05-17 10:48:57 -04:00
Bill Thornton
aee2c21633 Remove transparency from card badges 2021-05-17 09:58:12 -04:00
Chris "koying" Browet
9697732ac2 CHG: Be smarter when switching reso 2021-05-17 11:19:02 +02:00
Chris "koying" Browet
6add9bbd74 FIX: allow switch audio from paused 2021-05-17 10:13:46 +02:00
Niels van Velzen
0c2eb17c28 Merge pull request #895 from thornbill/fix-subtitles-out-of-bounds
Fix subtitles out of bounds crash
2021-05-17 08:57:42 +02:00
Bill Thornton
367ead6965 Fix subtitles out of bounds crash 2021-05-17 00:41:25 -04:00
Bill Thornton
f9ca944a1d Fix alpha picker review issues 2021-05-17 00:26:21 -04:00
Chris "koying" Browet
b7118c22b0 FIX: [vlc] "setAudioOutput" disables passthrough 2021-05-16 11:06:30 +02:00
Marcin Woliński
8437707b47 Translated using Weblate (Polish)
Currently translated at 100.0% (476 of 476 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/pl/
2021-05-15 14:30:57 -04:00
wolong gl
941b7f3047 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (476 of 476 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/zh_Hans/
2021-05-15 14:30:57 -04:00
WWWesten
8f63de4b6d Translated using Weblate (Russian)
Currently translated at 100.0% (476 of 476 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/ru/
2021-05-15 14:30:57 -04:00
WWWesten
2b62e132e9 Translated using Weblate (Kazakh)
Currently translated at 100.0% (476 of 476 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/kk/
2021-05-15 14:30:57 -04:00
cocool97
3c46bd1d9d Translated using Weblate (French)
Currently translated at 99.7% (475 of 476 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/fr/
2021-05-15 14:30:57 -04:00
Bill Thornton
930cdb6847 Merge pull request #890 from jellyfin/gradlew-update-7.0.2
Update Gradle Wrapper from 7.0.1 to 7.0.2
2021-05-15 01:04:26 -04:00
Bill Thornton
760b100acb Fix alpha picker button styling 2021-05-15 00:57:21 -04:00
gradle-update-robot
8d638ee7eb Update Gradle Wrapper from 7.0.1 to 7.0.2.
Signed-off-by: gradle-update-robot <gradle-update-robot@regolo.cc>
2021-05-15 04:30:00 +00:00
Bill Thornton
76664890a5 Fix variable scoping in StdGridFragment 2021-05-14 17:37:23 -04:00
Bill Thornton
b05127f45e Fix Kotlin review issues 2021-05-14 17:26:16 -04:00
Bill Thornton
a5a2af4902 Refactor alpha picker in Kotlin and fix Fire OS compatability 2021-05-14 16:48:50 -04:00
Niels van Velzen
9c516db187 Update ExoPlayer to 2.14.0 (was 2.11.3) and switch from Amazon fork to official Google version 2021-05-14 14:57:42 +02:00
Niels van Velzen
eea080cd7b Merge pull request #882 from ferferga/master
Replace GH_TOKEN with JF_BOT_TOKEN
2021-05-13 20:00:28 +02:00
Fernando Fernández
8ad8eefb4f chore: replace GH_TOKEN with JF_BOT_TOKEN 2021-05-13 19:45:48 +02:00
newton181
81fec42371 Translated using Weblate (Spanish (Mexico))
Currently translated at 93.6% (446 of 476 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/es_MX/
2021-05-13 04:29:06 -04:00
Federico Antoniazzi
9a37ea0667 Translated using Weblate (Italian)
Currently translated at 99.7% (475 of 476 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/it/
2021-05-13 04:29:06 -04:00
danielxb-ar
9e58e9479d Translated using Weblate (Spanish (Latin America))
Currently translated at 100.0% (476 of 476 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/es_419/
2021-05-13 04:29:06 -04:00
Oatavandi
b7a03efbe4 Translated using Weblate (Tamil)
Currently translated at 100.0% (476 of 476 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/ta/
2021-05-13 04:29:06 -04:00
Moritz
befd10ef7b Translated using Weblate (German)
Currently translated at 100.0% (476 of 476 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/de/
2021-05-13 04:29:06 -04:00
danielxb-ar
d6d5e4994e Translated using Weblate (Spanish (Argentina))
Currently translated at 100.0% (476 of 476 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/es_AR/
2021-05-13 04:29:06 -04:00
Csaba
33e2689d4b Translated using Weblate (Hungarian)
Currently translated at 100.0% (476 of 476 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/hu/
2021-05-13 04:29:06 -04:00
hoanghuy309
06196473f7 Translated using Weblate (Vietnamese)
Currently translated at 99.5% (474 of 476 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/vi/
2021-05-13 04:29:06 -04:00
Lukáš Kucharczyk
f6f9760cc7 Translated using Weblate (Czech)
Currently translated at 100.0% (476 of 476 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/cs/
2021-05-13 04:29:06 -04:00
Niels van Velzen
431dcc40dd Merge pull request #874 from thornbill/lacking-focus
Fix Fire OS focus issues on login
2021-05-13 08:37:12 +02:00
Bill Thornton
c7422b614c Merge pull request #878 from nielsvanvelzen/session-start
Move worker initialization and auto bitrate test to after session is created
2021-05-12 18:08:22 -04:00
Bill Thornton
f1431beef4 Merge pull request #879 from nielsvanvelzen/remove-unused-resources
Remove a bunch of unused resources
2021-05-12 17:46:00 -04:00
Bill Thornton
b1c460e771 Fix return value in alert fragments 2021-05-12 17:40:15 -04:00
Niels van Velzen
f99422afe3 Remove a bunch of unused resources 2021-05-12 19:47:46 +02:00
Niels van Velzen
f87d32577c Move worker initialization and auto bitrate test to after session is created 2021-05-12 19:38:52 +02:00
Niels van Velzen
2b6973b8d6 Merge pull request #877 from thornbill/no-dim-card-text
Remove text dimming on inactive cards
2021-05-12 17:02:13 +02:00
Bill Thornton
bb2fc475ed Remove unused lb_basic_card_title_text_color_inactive value 2021-05-12 09:29:08 -04:00
Niels van Velzen
d9b909f417 Merge pull request #876 from thornbill/exoplayer-dvdsubs
Change subtitle delivery method for dvdsubs in exoplayer
2021-05-12 09:08:17 +02:00
Bill Thornton
ea3498f118 Remove text dimming on inactive cards 2021-05-12 01:44:10 -04:00
Bill Thornton
f215b188f3 Fix style issues 2021-05-12 00:01:56 -04:00
Bill Thornton
f829a78e25 Change subtitle delivery method for dvdsubs in exoplayer 2021-05-11 23:53:47 -04:00
Vitorvlv
27d874816b Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (474 of 474 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/pt_BR/
2021-05-11 17:30:57 -04:00
millallo
721955e3f0 Translated using Weblate (Italian)
Currently translated at 100.0% (474 of 474 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/it/
2021-05-11 17:30:57 -04:00
Julio García
b5c9b7fb53 Translated using Weblate (Spanish)
Currently translated at 97.6% (463 of 474 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/es/
2021-05-11 17:30:57 -04:00
Niels van Velzen
07972c4778 Merge pull request #875 from thornbill/default-default-view
Fix default value for DefaultView preference
2021-05-11 22:06:55 +02:00
Bill Thornton
2448c831cf Fix default value for DefaultView preference 2021-05-11 15:04:04 -04:00
Bill Thornton
25d2e2b8c4 Fix focus on disabled username field 2021-05-11 11:14:13 -04:00
Bill Thornton
e04a2f6f79 Fix clearing focus on add user and server screens 2021-05-11 11:14:13 -04:00
Bill Thornton
56cae15d95 Ensure focus is cleared when confirm is clicked 2021-05-11 11:14:13 -04:00
Bill Thornton
3c446f4209 Allow navigating down to confirm button on alert fragments 2021-05-11 11:14:13 -04:00
Bill Thornton
d61b118ca8 Disable automatically opening the keyboard on Fire OS 2021-05-11 11:14:13 -04:00
Bill Thornton
e76e51e798 Merge pull request #853 from nielsvanvelzen/startupactivity-refactor
Refactor StartupActivity with Kotlin extensions and new permission contracts
2021-05-11 09:51:02 -04:00
Niels van Velzen
02a1e83939 Merge branch 'master' into startupactivity-refactor 2021-05-11 11:56:41 +02:00
Niels van Velzen
111eda4f98 Merge pull request #873 from thornbill/subtitle-padding
Add horizontal padding to subtitles
2021-05-11 09:02:36 +02:00
Bill Thornton
f45bd0c6d1 Merge pull request #872 from jellyfin/gradlew-update-7.0.1
Update Gradle Wrapper from 7.0 to 7.0.1
2021-05-11 00:50:54 -04:00
Bill Thornton
390175fbaa Merge pull request #871 from nielsvanvelzen/reenable-localefolder-lint
Enable LocaleFolder lint rule again
2021-05-11 00:50:00 -04:00
Bill Thornton
66ee4d5a08 Merge pull request #869 from nielsvanvelzen/apibinder-logging
Add additional logging to ApiBinder and redo asynchronous functionality
2021-05-11 00:49:26 -04:00
Bill Thornton
c812f9e09c Add horizontal padding to subtitles 2021-05-11 00:46:05 -04:00
gradle-update-robot
c9a13878e3 Update Gradle Wrapper from 7.0 to 7.0.1.
Signed-off-by: gradle-update-robot <gradle-update-robot@regolo.cc>
2021-05-11 04:25:54 +00:00
Niels van Velzen
2a469183f3 Set session to null if it can't be established 2021-05-10 20:42:43 +02:00
Niels van Velzen
e5e5cd8703 Add additional logging to ApiBinder and redo asynchronous functionality 2021-05-10 20:21:56 +02:00
Bill Thornton
46fc788aa5 Merge pull request #849 from linetrimmer/themes
Allow themes to change rounding values/indicator shape, add Muted Purple theme
2021-05-10 11:40:38 -04:00
Niels van Velzen
380fdcbde4 Enable LocaleFolder lint rule again 2021-05-10 17:13:43 +02:00
Niels van Velzen
0e37a97c88 Merge pull request #861 from thornbill/subtitle-render
Improve subtitle rendering
2021-05-10 16:28:23 +02:00
Bill Thornton
aa4de02811 Fix review issues in subtitle rendering 2021-05-10 10:10:04 -04:00
Niels van Velzen
6d60702aad Merge pull request #870 from thornbill/fix-null-url-crash
Fix null media url crash
2021-05-10 15:58:45 +02:00
Bill Thornton
1849cdaae6 Fix null media url crash 2021-05-10 09:47:12 -04:00
hoanghuy309
a319306d07 Translated using Weblate (Vietnamese)
Currently translated at 99.7% (473 of 474 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/vi/
2021-05-09 13:30:58 -04:00
Oatavandi
8c8fdda3db Translated using Weblate (Tamil)
Currently translated at 100.0% (474 of 474 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/ta/
2021-05-09 13:30:58 -04:00
danielxb-ar
721a249376 Translated using Weblate (Spanish (Latin America))
Currently translated at 100.0% (474 of 474 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/es_419/
2021-05-09 13:30:58 -04:00
danielxb-ar
2d5144fa44 Translated using Weblate (Spanish (Argentina))
Currently translated at 100.0% (474 of 474 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/es_AR/
2021-05-09 13:30:58 -04:00
Marcin Woliński
5267094274 Translated using Weblate (Polish)
Currently translated at 100.0% (474 of 474 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/pl/
2021-05-09 13:30:58 -04:00
Csaba
8dac7b6d82 Translated using Weblate (Hungarian)
Currently translated at 100.0% (474 of 474 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/hu/
2021-05-09 13:30:58 -04:00
WWWesten
0ca379dff9 Translated using Weblate (Russian)
Currently translated at 100.0% (474 of 474 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/ru/
2021-05-09 13:30:58 -04:00
WWWesten
a1fbfb2451 Translated using Weblate (Kazakh)
Currently translated at 100.0% (474 of 474 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/kk/
2021-05-09 13:30:58 -04:00
Thomas Schwery
c78ad60845 Translated using Weblate (French)
Currently translated at 100.0% (474 of 474 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/fr/
2021-05-09 13:30:58 -04:00
Moritz
d6b7beae29 Translated using Weblate (German)
Currently translated at 100.0% (474 of 474 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/de/
2021-05-09 13:30:58 -04:00
Lukáš Kucharczyk
9f6e1b1e73 Translated using Weblate (Czech)
Currently translated at 100.0% (474 of 474 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/cs/
2021-05-09 13:30:58 -04:00
Niels van Velzen
43cd58a80d Merge pull request #865 from jsquyres/pr/fix-getting-help-url
ISSUE_TEMPLATE/config.yml: fix URL
2021-05-08 22:17:06 +02:00
Jeff Squyres
1bae2d130a ISSUE_TEMPLATE/config.yml: fix URL
Fix the "Getting help" URL in ISSUE_TEMPLATE/config.yml.

Signed-off-by: Jeff Squyres <jeff@squyres.com>
2021-05-08 14:17:40 -04:00
linetrimmer
9b5110d154 Update string name 2021-05-07 15:13:15 -04:00
Niels van Velzen
b3d7854372 Merge pull request #862 from thornbill/koin-patch
Add workaround for koin logging issue
2021-05-07 19:44:16 +02:00
Bill Thornton
97d45228ad Update detekt config to allow TODOs and FIXMEs 2021-05-07 13:35:04 -04:00
Bill Thornton
b2c997a8c2 Add workaround for koin logging issue 2021-05-07 11:52:39 -04:00
Bill Thornton
7a2807b2f6 Merge pull request #859 from nielsvanvelzen/android-lint
Update Kotlin and Gradle plugin to latest version and add Android linter to linting workflow
2021-05-06 13:19:20 -04:00
Bill Thornton
5c13500a4f Merge pull request #857 from nielsvanvelzen/worker-fix
Always cancel existing workers before recreating
2021-05-06 13:13:01 -04:00
Bill Thornton
c8115e185a Merge pull request #855 from nielsvanvelzen/readme-2021
Update README to 2021
2021-05-06 12:52:01 -04:00
Bill Thornton
2ec1e94270 Fix looping through all subtitles on each render 2021-05-06 12:33:06 -04:00
Jack Comer
93d1a7c009 Translated using Weblate (English (United Kingdom))
Currently translated at 100.0% (474 of 474 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/en_GB/
2021-05-06 10:30:53 -04:00
Bill Thornton
99ddaaac6c Refactor subtitle render methods 2021-05-05 18:11:36 -04:00
Bill Thornton
6fc81b73d0 Fix nullability issues 2021-05-05 17:24:13 -04:00
Niels van Velzen
3b66db8a13 Update README to 2021 2021-05-05 20:55:47 +02:00
Niels van Velzen
5a577a8098 Remove koin-androidx-workmanager 2021-05-05 20:45:26 +02:00
Niels van Velzen
903033b936 Ignore broken LocaleFolder linter rule 2021-05-05 20:16:04 +02:00
Bill Thornton
234c531919 Merge pull request #818 from nielsvanvelzen/lazy-add-server
Use the AddressCandidateHelper of the Kotlin SDK to normalize the inputted server address
2021-05-05 14:10:52 -04:00
Bill Thornton
c382f1037a Merge pull request #858 from nielsvanvelzen/auth-settings-viewmodel
Use viewmodel in startup preferences
2021-05-05 13:58:36 -04:00
Niels van Velzen
69472cd50a Update Kotlin and Gradle plugin to latest version and add Android linter to linting workflow 2021-05-05 17:41:18 +02:00
Bill Thornton
1f81afd449 Merge pull request #854 from nielsvanvelzen/🤖
Remove the hidden robots from the deep depths of the code
2021-05-05 11:32:18 -04:00
Bill Thornton
332418562b Merge pull request #856 from nielsvanvelzen/gh-lint
Move linting and testing to GitHub actions
2021-05-05 11:30:40 -04:00
Niels van Velzen
f4dfa7b8f6 Use viewmodel in startup preferences 2021-05-04 20:22:34 +02:00
Niels van Velzen
4d206301ca Use eps1lon/actions-label-merge-conflict 2021-05-04 16:12:08 +02:00
Niels van Velzen
6b97f082ba Remove linting and testing from Azure pipeline 2021-05-04 15:17:34 +02:00
Niels van Velzen
6fdc61e7d1 Add testing with GitHub Actions 2021-05-04 15:17:13 +02:00
Niels van Velzen
9e80a25a19 Add linting with GitHub Actions 2021-05-04 15:14:22 +02:00
Niels van Velzen
7e367043da Remove the hidden robots from the deep depths of the code
// give some audible feedback
2021-05-04 14:44:39 +02:00
Niels van Velzen
06aa0fea55 Refactor StartupActivity with Kotlin extensions and new permission contracts 2021-05-04 14:07:12 +02:00
linetrimmer
5639c04bf9 Use EpisodeQuery to get next episodes 2021-05-03 23:18:29 -04:00
linetrimmer
0dece23cf1 Include specials when queuing subsequent episodes 2021-05-02 19:09:36 -04:00
Levi
f77f0b8974 Translated using Weblate (Swedish)
Currently translated at 100.0% (474 of 474 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/sv/
2021-05-02 18:30:52 -04:00
Chris Browet
909d12d110 Translated using Weblate (French)
Currently translated at 100.0% (474 of 474 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/fr/
2021-05-02 18:30:51 -04:00
linetrimmer
65b4a099c9 Allow themes to change rounding values/indicator shape, add Muted Purple theme, adjust grid dim level 2021-05-02 16:39:38 -04:00
kiferd
d761ccb5ce Translated using Weblate (Croatian)
Currently translated at 87.3% (414 of 474 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/hr/
2021-04-30 05:30:53 -04:00
Marcus Hsu
9bb3c0607e Translated using Weblate (Chinese (Traditional))
Currently translated at 97.6% (463 of 474 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/zh_Hant/
2021-04-30 05:30:53 -04:00
wolong gl
5c321dfad7 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (474 of 474 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/zh_Hans/
2021-04-30 05:30:53 -04:00
Bill Thornton
5bf960b144 Merge pull request #840 from nielsvanvelzen/koin-maven
Use Koin version published on Maven Central
2021-04-29 13:49:22 -04:00
Niels van Velzen
bef42e8f54 Merge pull request #842 from linetrimmer/glide_cache
Use DiskCacheStrategy.RESOURCE
2021-04-28 22:15:23 +02:00
linetrimmer
8b7b3ba613 Use DiskCacheStrategy.RESOURCE 2021-04-27 02:52:40 -04:00
Niels van Velzen
9e4b622698 Merge pull request #830 from linetrimmer/grid_option
Move grid direction option to DisplayPreferencesScreen
2021-04-26 22:45:26 +02:00
linetrimmer
bf7114c51a Pass String, not GridDirection 2021-04-26 16:32:37 -04:00
Niels van Velzen
65ed62e385 Use Koin from Maven Central 2021-04-26 22:29:32 +02:00
Niels van Velzen
a5cae1ebd6 Prefer Maven Central repository 2021-04-26 22:29:16 +02:00
linetrimmer
2bd150c8aa Check for valid grid direction value 2021-04-26 16:24:54 -04:00
linetrimmer
db3a07853e Remove suppress unused 2021-04-26 14:57:25 -04:00
linetrimmer
a403b9e5b8 Use enums, horizontal default, fix small square spacing 2021-04-26 14:57:25 -04:00
linetrimmer
6cae95e499 Fix shifting columns when a card is missing an image 2021-04-26 14:55:36 -04:00
linetrimmer
121b039518 Add card sizes for square cards 2021-04-26 14:55:36 -04:00
linetrimmer
57a24590c0 Add column sizes for square cards 2021-04-26 14:55:36 -04:00
linetrimmer
6171e91bd6 Move grid direction option to DisplayPreferencesScreen, set default to vertical 2021-04-26 14:55:36 -04:00
Bill Thornton
9e6abf8167 Merge pull request #836 from nielsvanvelzen/duration-round-up
Always round up in runtime calculation
2021-04-26 14:03:13 -04:00
Bill Thornton
90dfb66000 Merge pull request #826 from nielsvanvelzen/addDate-localized
Switch to android DateFormat in addDate function in InfoLayoutHelper
2021-04-26 14:00:06 -04:00
Bill Thornton
29ba6bbb51 Merge pull request #835 from nielsvanvelzen/crashing-favorites
Fix crash when genres in baseitem is null
2021-04-26 13:54:40 -04:00
Niels van Velzen
3975d431ff Use getMediumDateFormat instead of getDateFormat and switch from using an activity reference to a context 2021-04-26 19:51:27 +02:00
Bill Thornton
c971570631 Merge pull request #829 from nielsvanvelzen/remove-loading-card
Remove the static loading.png card when loading item rows
2021-04-26 13:47:55 -04:00
Bill Thornton
82f815960b Merge pull request #827 from jellyfin/nvv-dependabot
Add Dependabot for GitHub Actions updates
2021-04-26 13:44:22 -04:00
Niels van Velzen
fe67b1f039 Merge pull request #837 from linetrimmer/episode_height
Fix height of first episode of next up row in the main item details page
2021-04-26 19:33:09 +02:00
Bill Thornton
847ca9df8f Merge pull request #825 from nielsvanvelzen/819-android-dateformat
Switch to android DateFormat for "ends at" time in playback overlay
2021-04-26 13:32:54 -04:00
Bill Thornton
d4fe7b5434 Merge pull request #824 from nielsvanvelzen/822-save-displaypreferences
Fix DisplayPreferencesScreen not saving the preferences
2021-04-26 13:30:42 -04:00
ClankJake
e2cc67af76 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (474 of 474 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/pt_BR/
2021-04-24 17:30:48 -04:00
linetrimmer
e54df3df8b Set height of first episode of next up row 2021-04-24 12:29:05 -04:00
Niels van Velzen
ff8e59719e Always round up in runtime calculation 2021-04-24 14:44:48 +02:00
Niels van Velzen
29c671164b Fix crash when genres in baseitem is null 2021-04-24 14:22:27 +02:00
WWWesten
cf62e4b0dd Translated using Weblate (Kazakh)
Currently translated at 100.0% (474 of 474 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/kk/
2021-04-23 15:30:50 -04:00
hoanghuy309
428bf429ab Translated using Weblate (Vietnamese)
Currently translated at 99.7% (473 of 474 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/vi/
2021-04-21 11:30:49 -04:00
Jussi Kauppinen
51ec9446e9 Translated using Weblate (Finnish)
Currently translated at 50.6% (240 of 474 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/fi/
2021-04-21 11:30:48 -04:00
PA3LIT0
f8d3ae7cfe Translated using Weblate (Polish)
Currently translated at 100.0% (474 of 474 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/pl/
2021-04-21 11:30:47 -04:00
Oatavandi
e98d269494 Translated using Weblate (Tamil)
Currently translated at 100.0% (474 of 474 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/ta/
2021-04-20 01:30:51 -04:00
danielxb-ar
660fd11fa9 Translated using Weblate (Spanish (Latin America))
Currently translated at 100.0% (474 of 474 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/es_419/
2021-04-20 01:30:51 -04:00
danielxb-ar
f59354690d Translated using Weblate (Spanish (Argentina))
Currently translated at 100.0% (474 of 474 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/es_AR/
2021-04-20 01:30:51 -04:00
Csaba
2ab07bcf54 Translated using Weblate (Hungarian)
Currently translated at 100.0% (474 of 474 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/hu/
2021-04-20 01:30:51 -04:00
nextlooper42
2901e923e6 Translated using Weblate (Slovak)
Currently translated at 97.2% (461 of 474 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/sk/
2021-04-20 01:30:51 -04:00
WWWesten
08e51cad9d Translated using Weblate (Russian)
Currently translated at 100.0% (474 of 474 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/ru/
2021-04-20 01:30:51 -04:00
WWWesten
36999290c4 Translated using Weblate (Kazakh)
Currently translated at 100.0% (474 of 474 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/kk/
2021-04-20 01:30:51 -04:00
millallo
e3d5009aef Translated using Weblate (Italian)
Currently translated at 100.0% (474 of 474 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/it/
2021-04-20 01:30:50 -04:00
Andreas Maier
66c7460251 Translated using Weblate (German)
Currently translated at 100.0% (474 of 474 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/de/
2021-04-20 01:30:50 -04:00
Niels van Velzen
fd1906381a Merge pull request #821 from linetrimmer/vertical_grid
Adjust card and column sizes for vertical grid
2021-04-18 18:50:32 +02:00
Niels van Velzen
43c8f583ec Merge pull request #820 from linetrimmer/episode_card
Display episode cards as 16x9 when no image is present
2021-04-18 18:46:03 +02:00
Niels van Velzen
1582831eb8 Remove the static loading.png card when loading item rows 2021-04-18 18:41:21 +02:00
TheGoose
2126391421 Translated using Weblate (English (United Kingdom))
Currently translated at 100.0% (473 of 473 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/en_GB/
2021-04-17 07:30:49 -04:00
Bill Thornton
3731b25674 Merge pull request #817 from nielsvanvelzen/no-activity-labels
Remove activity labels
2021-04-17 02:16:12 -04:00
Bill Thornton
1a383dfd29 Merge pull request #816 from nielsvanvelzen/switch-user
Replace logout button with switch user button
2021-04-17 02:14:22 -04:00
Bill Thornton
1f26ddb62a Merge pull request #815 from nielsvanvelzen/remove-server-update-screen
Rebuild AuthPreferencesScreen when server is removed
2021-04-17 02:12:08 -04:00
Bill Thornton
2ec7cdd204 Merge pull request #813 from nielsvanvelzen/theme-crash
Fix crash in home when changing theme
2021-04-17 01:03:49 -04:00
Niels van Velzen
f0201ea8dd Replace logout button with switch user button 2021-04-16 20:38:40 +02:00
Niels van Velzen
307d0f29b9 Use the AddressCandidateHelper of the Kotlin SDK to normalize the inputted server address 2021-04-15 19:35:41 +02:00
hoanghuy309
e5c39429ae Translated using Weblate (Vietnamese)
Currently translated at 99.7% (472 of 473 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/vi/
2021-04-15 04:30:45 -04:00
Niels van Velzen
5e580c1ba0 Update .github/dependabot.yml 2021-04-14 23:00:34 +02:00
Niels van Velzen
ac891071dd Add Dependabot for GitHub Actions updates 2021-04-14 22:53:12 +02:00
Niels van Velzen
e8b5788ff6 Switch to android DateFormat in addDate function in InfoLayoutHelper 2021-04-14 19:37:24 +02:00
Niels van Velzen
5fa1798232 Switch to android DateFormat for "ends at" time in playback overlay 2021-04-14 19:20:37 +02:00
Niels van Velzen
da21fb83f4 Fix DisplayPreferencesScreen not saving the preferences 2021-04-14 19:06:36 +02:00
linetrimmer
de21b8c740 Get card height after setting grid type 2021-04-13 22:10:14 -04:00
linetrimmer
4a595f99b4 Adjust card and column sizes for vertical grid 2021-04-13 20:17:57 -04:00
linetrimmer
20f9c21e4a Display episode cards as 16x9 when no image is present 2021-04-13 16:14:25 -04:00
WWWesten
02df583bf2 Translated using Weblate (Tamil)
Currently translated at 99.5% (471 of 473 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/ta/
2021-04-12 14:52:21 -04:00
danielxb-ar
7554aa4287 Translated using Weblate (Spanish (Latin America))
Currently translated at 100.0% (473 of 473 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/es_419/
2021-04-12 14:52:21 -04:00
Csaba
98357b4ccf Translated using Weblate (Hungarian)
Currently translated at 100.0% (473 of 473 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/hu/
2021-04-12 14:52:21 -04:00
WWWesten
a50e91de52 Translated using Weblate (Russian)
Currently translated at 100.0% (473 of 473 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/ru/
2021-04-12 14:52:21 -04:00
WWWesten
2610e9bba5 Translated using Weblate (Italian)
Currently translated at 99.7% (472 of 473 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/it/
2021-04-12 14:52:21 -04:00
WWWesten
3ceafadb9b Translated using Weblate (French)
Currently translated at 100.0% (473 of 473 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/fr/
2021-04-12 14:52:21 -04:00
mLgz0rn
3cf5b24226 Translated using Weblate (Danish)
Currently translated at 100.0% (473 of 473 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/da/
2021-04-12 14:52:21 -04:00
Niels van Velzen
5f4dadfa85 Translated using Weblate (English)
Currently translated at 100.0% (473 of 473 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/en/
2021-04-12 14:52:21 -04:00
Niels van Velzen
da5e99db86 Remove activity labels 2021-04-10 15:11:41 +02:00
Niels van Velzen
ed358c3716 Rebuild AuthPreferencesScreen when server is removed 2021-04-10 14:58:22 +02:00
Niels van Velzen
639d76af04 Merge pull request #814 from jellyfin/gradlew-update-7.0
Update Gradle Wrapper from 6.8.3 to 7.0
2021-04-10 11:25:46 +02:00
gradle-update-robot
06615a73c3 Update Gradle Wrapper from 6.8.3 to 7.0.
Signed-off-by: gradle-update-robot <gradle-update-robot@regolo.cc>
2021-04-10 04:08:21 +00:00
WWWesten
59d84e7d81 Translated using Weblate (Polish)
Currently translated at 100.0% (473 of 473 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/pl/
2021-04-09 15:30:45 -04:00
WWWesten
670b63ee94 Translated using Weblate (Slovenian)
Currently translated at 83.2% (394 of 473 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/sl/
2021-04-09 15:30:45 -04:00
WWWesten
225974d217 Translated using Weblate (Danish)
Currently translated at 97.4% (461 of 473 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/da/
2021-04-09 15:30:45 -04:00
Niels van Velzen
84f2647ee8 Fix logo position after theme change 2021-04-09 17:55:31 +02:00
Niels van Velzen
e481ab8c92 Fix crash in home when changing theme 2021-04-09 17:16:46 +02:00
Niels van Velzen
e2647af2f2 Merge pull request #801 from linetrimmer/blurhashes
Use blurhashes while loading card images
2021-04-09 08:56:02 +02:00
Bill Thornton
6b4bb19bc2 Merge pull request #797 from nielsvanvelzen/fragment-constructor-empty
Rewrite login alerts
2021-04-09 00:13:09 -04:00
linetrimmer
9fc0e37b9b Fix aspect conditions 2021-04-08 18:59:14 -04:00
linetrimmer
a81d3a97bf Adjust blurhash for aspect ratio 2021-04-08 18:43:58 -04:00
Niels van Velzen
9e8185e0c9 Merge pull request #810 from thornbill/fix-null-session-callback
Fix null session causing app to hang
2021-04-08 20:11:38 +02:00
Bill Thornton
9b83f93096 Fix null session causing app to hang 2021-04-08 14:03:03 -04:00
nextlooper42
4fefefbd48 Translated using Weblate (Slovak)
Currently translated at 97.0% (459 of 473 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/sk/
2021-04-08 11:30:46 -04:00
Robolov
35db292e31 Translated using Weblate (French)
Currently translated at 100.0% (473 of 473 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/fr/
2021-04-08 11:30:46 -04:00
Bill Thornton
c0a932faed Merge pull request #808 from nielsvanvelzen/validate-session
Cancel setCurrentSession call if the UserDto cannot be retrieved
2021-04-07 17:26:54 -04:00
linetrimmer
d73b7ebc5b Add BlurHashDecoder source link and get blurhash by image tag 2021-04-07 16:00:09 -04:00
Niels van Velzen
eb370f1a21 Cancel setCurrentSession call if the UserDto cannot be retrieved 2021-04-07 19:34:59 +02:00
WWWesten
720ef8369b Translated using Weblate (Spanish (Latin America))
Currently translated at 100.0% (473 of 473 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/es_419/
2021-04-07 03:30:44 -04:00
WWWesten
0a8d8a0e8c Translated using Weblate (Dutch)
Currently translated at 99.5% (471 of 473 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/nl/
2021-04-07 03:30:44 -04:00
Niels van Velzen
9a28cebc25 Simplify AlertFragment 2021-04-07 09:27:19 +02:00
Niels van Velzen
e88a885a66 Rewrite add server alert 2021-04-07 09:27:19 +02:00
Niels van Velzen
19bae4e49c Rewrite login alert 2021-04-07 09:27:19 +02:00
Bill Thornton
9e6dbfc35a Merge pull request #784 from nielsvanvelzen/sessions
Implement auto-login and introduce SessionRepository for managing sessions
2021-04-07 00:56:54 -04:00
linetrimmer
3ddeb94e9a Move all blurhash code to CardPresenter 2021-04-06 18:54:22 -04:00
Niels van Velzen
771b961ce3 Merge pull request #806 from linetrimmer/background_crash
Change exception type for background service crash
2021-04-06 22:43:43 +02:00
linetrimmer
e382c13063 Change exception type to ExecutionException 2021-04-06 16:11:41 -04:00
linetrimmer
9823dc269f Fix preferParentThumb behavior for episodes 2021-04-06 16:05:37 -04:00
linetrimmer
6e4e3d7ebc Fix blurhash on My Media cards 2021-04-06 15:03:38 -04:00
Bill Thornton
0646712c41 Merge pull request #804 from nielsvanvelzen/dedotated-wam
Use the jvmargs from kotlin sdk to increase memory available to Java process
2021-04-06 13:16:27 -04:00
Niels van Velzen
b30f6e2ad6 Use the jvmargs from kotlin sdk to increase memory available to Java process 2021-04-06 09:10:54 +02:00
Niels van Velzen
9c4cc07dbc Fix nullability in SessionRepository 2021-04-06 09:03:35 +02:00
Niels van Velzen
8693807f23 Add additional logging to StartupActivity 2021-04-06 08:51:09 +02:00
Niels van Velzen
aa0d206bdd Fix session capabilities and socket connection 2021-04-06 08:51:07 +02:00
Niels van Velzen
76fdc702c0 Add SessionRepository to manage sessions 2021-04-06 08:51:05 +02:00
Bill Thornton
a4723e4aa1 Merge pull request #803 from nielsvanvelzen/workmanager-koin
Initialize workmanager factory after setting the modules
2021-04-05 23:29:06 -04:00
Bill Thornton
fd422bf3b1 Merge pull request #792 from nielsvanvelzen/no-flex
Remove flexbox dependency and move GenreButton uses to a simple TextView
2021-04-05 23:22:52 -04:00
Niels van Velzen
41ec249a80 Initialize workmanager factory after setting the modules 2021-04-05 22:20:05 +02:00
Niels van Velzen
c84d4e15e3 Remove flexbox dependency and move GenreButton uses to a simple TextView 2021-04-05 21:56:28 +02:00
Bill Thornton
320a50131a Merge pull request #796 from nielsvanvelzen/795-fix-missing-add-buttonm
Fix missing add user button when no users found for server
2021-04-05 14:16:45 -04:00
Niels van Velzen
423357894d Merge pull request #793 from nielsvanvelzen/updep
Update dependencies
2021-04-05 17:48:24 +02:00
Niels van Velzen
2d4b0c931b Merge pull request #791 from nielsvanvelzen/use-maven
Use Maven Central as primary dependency repository
2021-04-05 17:47:56 +02:00
linetrimmer
09a9e84c4a Add BlurHashDecoder class with license header 2021-04-05 10:40:09 -04:00
Niels van Velzen
e501326565 Merge pull request #802 from linetrimmer/season_headers
Use season name for season row header
2021-04-05 09:33:17 +02:00
linetrimmer
31745fedd5 Use season name for season row header 2021-04-04 21:35:25 -04:00
linetrimmer
1d79b4e242 Fix unnecessary use of ImageType name 2021-04-04 21:26:11 -04:00
linetrimmer
defac12417 Use blurhashes while loading card images 2021-04-04 20:48:01 -04:00
Sebastijan Sivec
562f930108 Translated using Weblate (Slovenian)
Currently translated at 83.2% (394 of 473 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/sl/
2021-04-03 05:30:42 -04:00
Jacob Shen
34bbbb7126 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (473 of 473 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/zh_Hans/
2021-04-03 05:30:41 -04:00
danielxb-ar
3da0e38034 Translated using Weblate (Spanish (Latin America))
Currently translated at 100.0% (473 of 473 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/es_419/
2021-04-01 07:46:23 -04:00
Sebastijan Sivec
0975a3da03 Translated using Weblate (Slovenian)
Currently translated at 82.4% (390 of 473 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/sl/
2021-04-01 07:46:23 -04:00
Predrag Ljubenović
baf15f810b Translated using Weblate (Serbian)
Currently translated at 100.0% (473 of 473 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/sr/
2021-03-31 05:17:52 -04:00
Niels van Velzen
5bdff251ff Fix missing add user button when no users found for server 2021-03-28 10:17:27 +02:00
Niels van Velzen
b363590220 Update dependencies 2021-03-27 21:37:35 +01:00
Niels van Velzen
cf61ad4169 Use maven central as primary repository 2021-03-27 21:02:24 +01:00
Niels van Velzen
20f9e89fd9 Merge pull request #749 from linetrimmer/leanback_channel_order
Leanback channel changes
2021-03-26 17:04:50 +01:00
Niels van Velzen
808f265702 Update LeanbackChannelWorker indentation 2021-03-26 16:45:03 +01:00
4d1m
406ceb37bf Translated using Weblate (Romanian)
Currently translated at 100.0% (473 of 473 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/ro/
2021-03-26 06:52:50 -04:00
Rutger
99cb900bdc Translated using Weblate (Dutch)
Currently translated at 99.5% (471 of 473 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/nl/
2021-03-25 20:44:47 -04:00
linetrimmer
b60211c681 Remove item parameter in getPosterArtImageUrl 2021-03-25 19:39:24 -04:00
linetrimmer
32032dccef Review changes and move NextUpQuery to its own function 2021-03-25 19:32:28 -04:00
linetrimmer
d2695166e2 Initial review changes 2021-03-25 16:06:11 -04:00
Bill Thornton
21669c70cd Merge pull request #783 from nielsvanvelzen/faster-stored-user-loading
Show stored users instantly and update row when public users are retrieved
2021-03-25 13:46:27 -04:00
Niels van Velzen
fe005fcbdd Merge pull request #787 from linetrimmer/always_hdr
Fix for HDR always being activated
2021-03-24 17:30:02 +01:00
Marcin Woliński
bed51d2b2f Translated using Weblate (Polish)
Currently translated at 100.0% (473 of 473 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/pl/
2021-03-24 03:26:54 -04:00
Niels van Velzen
dedf75749e Fix duplicate rows 2021-03-23 17:26:01 +01:00
danielxb-ar
84e7c93c6d Translated using Weblate (Spanish (Argentina))
Currently translated at 100.0% (473 of 473 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/es_AR/
2021-03-23 08:56:50 -04:00
Vitorvlv
c6b9a5211b Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (473 of 473 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/pt_BR/
2021-03-23 02:12:30 -04:00
Bill Thornton
105b467228 Merge pull request #785 from nielsvanvelzen/bgservice-crash
Fix BackgroundService fragment crash and default background not restoring
2021-03-22 23:21:34 -04:00
cocool97
8d0e4bc3a0 Translated using Weblate (French)
Currently translated at 100.0% (473 of 473 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/fr/
2021-03-22 21:01:39 -04:00
Thomas Schwery
e712b2da53 Translated using Weblate (French)
Currently translated at 100.0% (473 of 473 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/fr/
2021-03-22 21:01:38 -04:00
linetrimmer
ac283783e4 Remove wideColorGamut colorMode 2021-03-22 19:02:27 -04:00
Niels van Velzen
b1f4de1699 Fix BackgroundService fragment crash and default background not restoring
The default background didn't restore properly because a bitmap of the backgroundservice background was saved (whoops)
The fragment could crash because it didn't have an empty constructor (as is required for fragments)
2021-03-22 21:23:53 +01:00
Csaba
250e764d21 Translated using Weblate (Hungarian)
Currently translated at 100.0% (473 of 473 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/hu/
2021-03-22 10:33:31 -04:00
Andreas Maier
21533844bf Translated using Weblate (German)
Currently translated at 100.0% (473 of 473 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/de/
2021-03-21 12:45:38 -04:00
millallo
4fab2fe534 Translated using Weblate (Italian)
Currently translated at 100.0% (473 of 473 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/it/
2021-03-21 05:38:57 -04:00
hoanghuy309
758ed1fc95 Translated using Weblate (Vietnamese)
Currently translated at 99.7% (472 of 473 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/vi/
2021-03-21 03:11:47 -04:00
WWWesten
67be765ffc Translated using Weblate (Russian)
Currently translated at 100.0% (473 of 473 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/ru/
2021-03-20 19:32:18 -04:00
WWWesten
772e7f8729 Translated using Weblate (Kazakh)
Currently translated at 100.0% (473 of 473 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/kk/
2021-03-20 19:32:17 -04:00
Oatavandi
63b5bfc2f4 Translated using Weblate (Tamil)
Currently translated at 100.0% (473 of 473 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/ta/
2021-03-20 13:20:19 -04:00
Lukáš Kucharczyk
5d0e43ff8c Translated using Weblate (Czech)
Currently translated at 100.0% (473 of 473 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/cs/
2021-03-20 13:20:17 -04:00
Nyanmisaka
7926306294 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (466 of 466 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/zh_Hans/
2021-03-20 07:05:51 -04:00
Niels van Velzen
b5fce1cbbf Show stored users instantly and update row when public users are retrieved 2021-03-20 11:42:36 +01:00
Niels van Velzen
34fde67a02 Merge pull request #774 from MrChip53/fix-background-crash
Fix crash in background service
2021-03-18 19:19:54 +01:00
Niels van Velzen
bb734f00a3 Reformat 2021-03-18 19:10:57 +01:00
Chris Simoni
67be8a54a4 Requested changes 2021-03-18 12:56:04 -05:00
Bill Thornton
93d2e398a5 Merge pull request #767 from nielsvanvelzen/auto-login
Add new autologin preferences
2021-03-18 11:11:57 -04:00
Niels van Velzen
77d8937ce1 Update strings 2021-03-17 17:11:18 +01:00
Niels van Velzen
f63a6db72d Merge pull request #780 from thornbill/fix-discover-buttons
Fix discovered server button text colors
2021-03-17 17:00:48 +01:00
Bill Thornton
c7b43ef4a7 Fix discovered server button text colors 2021-03-17 00:37:45 -04:00
Bill Thornton
c87d37ba7a Merge pull request #770 from nielsvanvelzen/static
Remove a bunch of static
2021-03-16 23:37:41 -04:00
Vitorvlv
f1675ee65b Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (466 of 466 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/pt_BR/
2021-03-16 23:19:46 -04:00
Thomas Schwery
217b3b1f92 Translated using Weblate (French)
Currently translated at 100.0% (466 of 466 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/fr/
2021-03-16 23:19:46 -04:00
Niels van Velzen
71e52b1bb2 Use static final for consts 2021-03-16 09:08:03 +01:00
Bill Thornton
679d1d9328 Merge pull request #771 from nielsvanvelzen/itemlauncher-crash
Fix ItemLauncher crashing due to unsafe casting
2021-03-16 01:01:38 -04:00
Bill Thornton
7b858940f8 Merge pull request #778 from nielsvanvelzen/baseactivity-aids
Use BaseActivity as parent class for MainActivity
2021-03-15 23:47:04 -04:00
linetrimmer
7bd493e819 Add 'Next Up' channel 2021-03-15 18:00:03 -04:00
Niels van Velzen
a75e30c418 Use BaseActivity as parent class for MainActivity 2021-03-15 18:53:48 +01:00
crybakk
7af0e39531 Translated using Weblate (Italian)
Currently translated at 100.0% (466 of 466 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/it/
2021-03-15 09:17:06 -04:00
Lukáš Kucharczyk
a60bf67acc Translated using Weblate (Czech)
Currently translated at 100.0% (466 of 466 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/cs/
2021-03-14 19:39:54 -04:00
Chris Simoni
622b188d40 Fix issue #752 2021-03-14 18:01:58 -05:00
millallo
8c2afee4cb Translated using Weblate (Italian)
Currently translated at 98.7% (460 of 466 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/it/
2021-03-14 14:22:31 -04:00
Jacob1532
1bcbbcea40 Translated using Weblate (German)
Currently translated at 100.0% (466 of 466 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/de/
2021-03-14 13:06:27 -04:00
Niels van Velzen
7f013d8fa2 Merge pull request #769 from nielsvanvelzen/graphic-design-is-my-passion
Remove background from overview row in FullDetailsActivity
2021-03-13 19:06:39 +01:00
Niels van Velzen
c57dbcfac7 Fix ItemLauncher crashing due too unsafe casting 2021-03-13 16:28:48 +01:00
Niels van Velzen
928f927ff1 Convert MediaManager to be non-static 2021-03-13 16:22:12 +01:00
Niels van Velzen
8920fc32e3 Replace static classes 2021-03-13 16:03:13 +01:00
Niels van Velzen
a63efc1d4e Use authentication repository to retrieve users in EditServerScreen
This fixes the ordering
2021-03-13 15:49:23 +01:00
Niels van Velzen
c253c0bd7c Move server and user sorting to their repositories 2021-03-13 15:46:03 +01:00
Niels van Velzen
c54a0f5269 Remove unused code and reformat file 2021-03-13 15:36:53 +01:00
Niels van Velzen
df905067de Remove background from overview row in FullDetailsActivity 2021-03-13 15:34:36 +01:00
ClankJake
1ed56bda92 Translated using Weblate (Portuguese (Brazil))
Currently translated at 99.5% (464 of 466 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/pt_BR/
2021-03-13 06:52:33 -05:00
Oatavandi
f9b99dcf94 Translated using Weblate (Tamil)
Currently translated at 100.0% (466 of 466 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/ta/
2021-03-13 03:22:23 -05:00
mychenj
054bfc4805 Translated using Weblate (Chinese (Simplified))
Currently translated at 99.1% (462 of 466 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/zh_Hans/
2021-03-12 22:51:35 -05:00
hwa-ryun
b428e492b6 Translated using Weblate (German)
Currently translated at 99.5% (464 of 466 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/de/
2021-03-12 21:21:29 -05:00
linetrimmer
480e829427 Fix 'New' episode condition 2021-03-12 19:38:14 -05:00
hwa-ryun
fe53321fc7 Translated using Weblate (German)
Currently translated at 99.1% (462 of 466 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/de/
2021-03-12 18:04:18 -05:00
erikjunker
c659ad76d3 Translated using Weblate (Danish)
Currently translated at 99.1% (462 of 466 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/da/
2021-03-12 18:04:18 -05:00
Niels van Velzen
099eebb05a Merge pull request #768 from thornbill/disable-folder
Disable folders views because types are missing in the apiclient
2021-03-12 22:22:02 +01:00
Bill Thornton
037e0cdee7 Disable folders views because types are missing in the apiclient 2021-03-12 16:11:58 -05:00
Niels van Velzen
ab0e758ea2 Implement new authentication preference UI 2021-03-12 17:50:01 +01:00
Niels van Velzen
39727f63b3 Add AuthenticationPreferences 2021-03-12 16:07:12 +01:00
Niels van Velzen
52acbf8fab Merge ManageServersScreen into AuthPreferencesScreen 2021-03-12 16:07:11 +01:00
WWWesten
caca21cc5e Translated using Weblate (Kazakh)
Currently translated at 100.0% (466 of 466 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/kk/
2021-03-12 08:21:08 -05:00
WWWesten
943886b89a Translated using Weblate (Kazakh)
Currently translated at 100.0% (466 of 466 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/kk/
2021-03-12 04:55:46 -05:00
SiderealArt
f05dfa88b2 Translated using Weblate (Chinese (Traditional))
Currently translated at 98.7% (460 of 466 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/zh_Hant/
2021-03-12 03:44:47 -05:00
WWWesten
ac96e06846 Translated using Weblate (Russian)
Currently translated at 100.0% (466 of 466 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/ru/
2021-03-12 03:44:42 -05:00
millallo
796a518ef3 Translated using Weblate (Italian)
Currently translated at 98.0% (457 of 466 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/it/
2021-03-11 16:54:48 -05:00
Marcin Woliński
e4fe087b47 Translated using Weblate (Polish)
Currently translated at 100.0% (466 of 466 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/pl/
2021-03-11 16:09:26 -05:00
Bill Thornton
7d9500597a Merge pull request #766 from thornbill/remove-forum-badge
Remove forum badge
2021-03-11 10:04:12 -05:00
danielxb-ar
2bff86b7a2 Translated using Weblate (Spanish (Argentina))
Currently translated at 100.0% (466 of 466 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/es_AR/
2021-03-11 10:03:47 -05:00
Bill Thornton
66688c7539 Remove forum badge 2021-03-11 09:28:10 -05:00
hoanghuy309
5212328303 Translated using Weblate (Vietnamese)
Currently translated at 99.7% (465 of 466 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/vi/
2021-03-11 05:47:07 -05:00
Csaba
5d1bdda011 Translated using Weblate (Hungarian)
Currently translated at 100.0% (466 of 466 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/hu/
2021-03-11 05:47:06 -05:00
cocool97
e8b35260f3 Translated using Weblate (French)
Currently translated at 100.0% (466 of 466 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/fr/
2021-03-11 05:47:06 -05:00
Odd-Roar Brouer-Wangen
18a0715235 Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (466 of 466 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/nb_NO/
2021-03-10 18:40:15 -05:00
hoanghuy309
070810bf35 Translated using Weblate (Vietnamese)
Currently translated at 99.7% (463 of 464 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/vi/
2021-03-10 17:22:24 -05:00
Oatavandi
fd0908dacc Translated using Weblate (Tamil)
Currently translated at 100.0% (464 of 464 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/ta/
2021-03-10 17:22:24 -05:00
Detsibli
b51968a89e Translated using Weblate (Spanish (Latin America))
Currently translated at 100.0% (464 of 464 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/es_419/
2021-03-10 17:22:24 -05:00
Markus Pettersson
a3480676c7 Translated using Weblate (Swedish)
Currently translated at 99.5% (462 of 464 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/sv/
2021-03-10 17:22:24 -05:00
Niels van Velzen
7005ac8c84 Merge pull request #764 from thornbill/fix-live-tv-size
Fix live tv library image size
2021-03-10 23:10:35 +01:00
Bill Thornton
c4632f7a31 Add landscape folder drawable for libraries 2021-03-10 16:59:05 -05:00
Bill Thornton
a8654f614b Fix live tv library image size 2021-03-10 15:34:54 -05:00
linetrimmer
3c6f1a9c62 Aspect ratio line + indent 2021-03-10 15:01:44 -05:00
linetrimmer
1118f9e8a1 Use series thumbnail preference, always check runtime 2021-03-10 15:01:44 -05:00
Niels van Velzen
73cfb02d2f Merge pull request #761 from thornbill/fix-transparent-headers
Fix semitransparent row headers
2021-03-10 19:27:57 +01:00
Bill Thornton
7362b3ba05 Merge pull request #753 from linetrimmer/row_thumbnails
Display episode thumbnails on home screen, add option for series
2021-03-10 12:46:40 -05:00
Bill Thornton
e74cd2422e Fix nullability of ViewHolder 2021-03-10 12:40:30 -05:00
linetrimmer
0d23d8f881 Fix indent 2021-03-10 10:06:22 -05:00
linetrimmer
d74740f79a Merge branch 'master' into row_thumbnails 2021-03-10 10:04:46 -05:00
danielxb-ar
0e7d50c9b6 Translated using Weblate (Spanish (Argentina))
Currently translated at 100.0% (464 of 464 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/es_AR/
2021-03-10 09:24:29 -05:00
cocool97
ccf564dec8 Translated using Weblate (French)
Currently translated at 100.0% (464 of 464 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/fr/
2021-03-10 09:24:28 -05:00
cocool97
fdb953bb53 Translated using Weblate (French)
Currently translated at 100.0% (464 of 464 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/fr/
2021-03-10 05:33:18 -05:00
Moritz
978f5ab9c0 Translated using Weblate (German)
Currently translated at 100.0% (461 of 461 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/de/
2021-03-10 03:41:35 -05:00
Niels van Velzen
c4c111a586 Merge pull request #762 from thornbill/remove-shadows
Remove random text shadows
2021-03-10 09:06:59 +01:00
Bill Thornton
3c0be70a21 Remove random text shadows 2021-03-10 00:43:35 -05:00
Bill Thornton
c279487f43 Fix semitransparent row headers 2021-03-10 00:21:02 -05:00
Bill Thornton
894a58cd58 Merge pull request #757 from nielsvanvelzen/rich-list-preference
Rich list preference
2021-03-09 23:12:07 -05:00
Bill Thornton
a775fd42aa Merge pull request #760 from nielsvanvelzen/enhanced-browse-fragment-fucking-handler
Show item info instantly instead of delayed in EnhancedBrowseFragment
2021-03-09 22:40:38 -05:00
Bill Thornton
fba552a31a Merge pull request #756 from nielsvanvelzen/remap-fix
Refactor remap preference dialog to fix crash
2021-03-09 22:31:23 -05:00
Bill Thornton
0aea2960d1 Merge pull request #741 from linetrimmer/indicator_settings
Add the ability to hide watched/unwatched indicators on cards
2021-03-09 22:23:59 -05:00
Bill Thornton
cc75792fd1 Merge pull request #705 from MrChip53/search-fixes
Improve search activity
2021-03-09 22:23:25 -05:00
Marcin Woliński
816ef6d838 Translated using Weblate (Polish)
Currently translated at 100.0% (461 of 461 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/pl/
2021-03-09 18:23:07 -05:00
ClankJake
0ee66460ec Translated using Weblate (Portuguese (Brazil))
Currently translated at 99.5% (459 of 461 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/pt_BR/
2021-03-09 18:23:04 -05:00
danielxb-ar
126d739695 Translated using Weblate (Spanish (Argentina))
Currently translated at 100.0% (461 of 461 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/es_AR/
2021-03-09 07:56:54 -05:00
Lukáš Kucharczyk
055a869a37 Translated using Weblate (Czech)
Currently translated at 100.0% (461 of 461 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/cs/
2021-03-09 07:00:23 -05:00
Davide-Chioatto
2e27150f42 Translated using Weblate (Italian)
Currently translated at 97.6% (450 of 461 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/it/
2021-03-08 19:02:14 -05:00
Niels van Velzen
c8b848ce43 Reformat EnhancedBrowseFragment and replace some getActivity() usages with requireActivity() 2021-03-08 18:05:11 +01:00
Niels van Velzen
d69b009bca Show item info instantly instead of delayed in EnhancedBrowseFragment 2021-03-08 17:59:53 +01:00
Bill Thornton
b30ad7f404 Merge pull request #759 from nielsvanvelzen/no-unsafe-cast
Fix EnhancedBrowseFragment crash
2021-03-08 11:27:32 -05:00
Niels van Velzen
7fc909cd8c Add visibility to all properties in EnhancedBrowseFragment 2021-03-08 17:16:37 +01:00
Niels van Velzen
7af6228b95 Use BaseActivity for all activities indirectly using EnhancedBrowseFragment 2021-03-08 16:58:56 +01:00
Niels van Velzen
8aa4f293e5 Fix crash in EnhancedBrowseFragment caused by unsafe casting 2021-03-08 16:57:03 +01:00
Csaba
9b9684f551 Translated using Weblate (Hungarian)
Currently translated at 100.0% (461 of 461 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/hu/
2021-03-08 09:23:46 -05:00
nextlooper42
4e6ebac384 Translated using Weblate (Slovak)
Currently translated at 99.3% (458 of 461 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/sk/
2021-03-08 06:05:48 -05:00
Frans Saris
2cdf072470 Translated using Weblate (Dutch)
Currently translated at 99.7% (460 of 461 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/nl/
2021-03-07 13:02:22 -05:00
Frans Saris
001a97e83f Translated using Weblate (Dutch)
Currently translated at 97.8% (451 of 461 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/nl/
2021-03-07 11:59:59 -05:00
Thomas Schwery
82b6ae3507 Translated using Weblate (French)
Currently translated at 93.9% (433 of 461 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/fr/
2021-03-07 11:14:35 -05:00
幻月丶沧歌
77b3f8ff0e Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (461 of 461 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/zh_Hans/
2021-03-07 06:33:11 -05:00
hoanghuy309
0d22729aa2 Translated using Weblate (Vietnamese)
Currently translated at 99.7% (460 of 461 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/vi/
2021-03-07 05:38:24 -05:00
hoanghuy309
d8adb6cd27 Translated using Weblate (Vietnamese)
Currently translated at 99.3% (458 of 461 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/vi/
2021-03-06 15:22:20 -05:00
Niels van Velzen
e904c9b0b2 Fix linter issue 2021-03-06 19:23:16 +01:00
Niels van Velzen
63c5f009fd Add RichListPreference and convert OptionsItemEnum 2021-03-06 18:34:58 +01:00
Niels van Velzen
8372c955a6 Add RichListDialogFragment to replace LeanbackListPreferenceDialogFragmentCompat 2021-03-06 17:59:29 +01:00
Niels van Velzen
41e2c97837 Refactor ButtonRemapDialogFragment to use view binding 2021-03-06 16:21:10 +01:00
Niels van Velzen
96f3165de5 Rename button_remap_preference.xml to preference_button_remap.xml 2021-03-06 16:16:10 +01:00
WWWesten
21844341bf Translated using Weblate (Russian)
Currently translated at 100.0% (461 of 461 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/ru/
2021-03-06 09:22:02 -05:00
WWWesten
ef5da23ad5 Translated using Weblate (Russian)
Currently translated at 95.8% (442 of 461 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/ru/
2021-03-06 09:08:04 -05:00
WWWesten
77c6f98181 Translated using Weblate (Kazakh)
Currently translated at 100.0% (461 of 461 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/kk/
2021-03-06 09:08:03 -05:00
WWWesten
17cf8595cd Translated using Weblate (Kazakh)
Currently translated at 98.2% (453 of 461 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/kk/
2021-03-06 08:20:10 -05:00
Oatavandi
29dd288d67 Translated using Weblate (Tamil)
Currently translated at 100.0% (461 of 461 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/ta/
2021-03-06 05:53:23 -05:00
Detsibli
19382722e6 Translated using Weblate (Spanish (Latin America))
Currently translated at 100.0% (430 of 430 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/es_419/
2021-03-05 22:45:17 -05:00
linetrimmer
abf20b14b4 Oops\n 2021-03-04 22:03:19 -05:00
linetrimmer
f7f0473937 Default and string changes 2021-03-04 13:34:29 -05:00
Mr. Chip53
443dbad9ba Last changes 🤞 2021-03-04 10:15:48 -06:00
Mr. Chip53
05b6e69faa Some requested changes 2021-03-04 09:51:59 -06:00
linetrimmer
ee54f7534a Display episode thumbnails on home screen, add option for series thumbnails 2021-03-04 03:30:07 -05:00
Niels van Velzen
f881c4de44 Merge pull request #751 from linetrimmer/grid_null
Null check for StdGridFragment
2021-03-04 08:51:55 +01:00
linetrimmer
e05155f17a stdgridfragment null check 2021-03-04 00:18:56 -05:00
linetrimmer
1ad1715cb6 Merge branch 'master' into indicator_settings 2021-03-03 16:15:35 -05:00
Bill Thornton
b3060e4dde Merge pull request #750 from nielsvanvelzen/backgroundservice-clear-cancel-load
Cancel loading backgrounds on clear
2021-03-03 15:52:58 -05:00
Bill Thornton
ea1d37a0c9 Merge pull request #730 from nielsvanvelzen/auth-ui
Screen based login UI and tons of fixes
2021-03-03 15:52:25 -05:00
Niels van Velzen
ea665bd4bc Cancel loading backgrounds on clear 2021-03-03 21:07:54 +01:00
Niels van Velzen
c4ad7cac80 Mirate the credentials 2021-03-03 21:02:19 +01:00
Bill Thornton
fed62abce4 Merge pull request #743 from nielsvanvelzen/baseactivity-mess
Remove more code from BaseActivity
2021-03-03 14:08:19 -05:00
Bill Thornton
6e2cd818d8 Merge pull request #748 from nielsvanvelzen/cardview-thumb
Hide cardview overlay by default
2021-03-01 22:49:18 -05:00
linetrimmer
8b6571311e Simplify and revert MyImageCardView 2021-03-01 13:30:34 -05:00
Niels van Velzen
6c56c52cf2 Apply review suggestions
- Fix focus issue when no servers discovered
- Rename "Add server" tab to "Connect"
- Fix NPE
- Change "Need help?" top margin
- Remove descriptions
2021-03-01 19:24:10 +01:00
Niels van Velzen
1bdd477b1e Implement swipe based login UI
- Discovery servers are not shown by default
- Discovery servers are shown in the "add server" tab
- Add button to add server to the same tab
- Add help text in add server tab
- Servers are now sorted on last use
- Users are now sorted on last use
- Servers now update when a new server is added
- Fixed some behavior issues
- Simplified authentication and server repositories
- Miscellaneous fixes
2021-03-01 19:24:10 +01:00
Niels van Velzen
4ecd753c76 Fix null check in StdBrowseFragment 2021-03-01 18:34:30 +01:00
Niels van Velzen
bede87383d Hide cardview overlay by default 2021-03-01 18:30:17 +01:00
linetrimmer
40bc739336 Merge branch 'master' into indicator_settings 2021-03-01 03:13:56 -05:00
Niels van Velzen
c31e5650ab Merge pull request #747 from linetrimmer/My_name_is_checkMark
Check mark name fix
2021-03-01 09:04:09 +01:00
linetrimmer
b79c0fc9fe Indicator fix 2021-03-01 02:45:22 -05:00
linetrimmer
9ccb54b43c Add option to show check marks on episodes only 2021-03-01 01:12:04 -05:00
linetrimmer
bc853abe4b Add an option to hide watched indicators on cards 2021-03-01 01:12:04 -05:00
linetrimmer
0cc353c06d Add an option to hide watched indicators on cards 2021-03-01 01:12:04 -05:00
Bill Thornton
d0b56094c4 Merge pull request #744 from nielsvanvelzen/cardview-refactor
Cardview refactoring
2021-03-01 00:09:43 -05:00
Bill Thornton
473c24aa98 Merge pull request #745 from nielsvanvelzen/cardpresenter-clear-rating
Fix rating not clearing properly
2021-02-28 22:33:41 -05:00
Bill Thornton
691c522549 Merge pull request #742 from nielsvanvelzen/search-activity-fragmentactivity
Use FragmentActivity in SearchActivity
2021-02-28 22:27:34 -05:00
Niels van Velzen
e5858cdeee Fix rating not clearing properly 2021-02-28 12:09:25 +01:00
Niels van Velzen
59981db5a7 Use view binding in MyImageCardView 2021-02-28 12:01:58 +01:00
Niels van Velzen
3bdd3b1f47 Remove dead code from MyImageCardView 2021-02-28 11:54:17 +01:00
Niels van Velzen
3df4561d88 Add tools attributes to card view
Makes it easier to work with in Android Studio
2021-02-28 11:36:08 +01:00
Niels van Velzen
47513bcc20 Remove more code from BaseActivity 2021-02-27 12:17:41 +01:00
Niels van Velzen
2cc1149042 Use FragmentActivity in most browsing activities 2021-02-27 12:17:03 +01:00
Niels van Velzen
bcdbf533f4 Rewrite SearchActivity in Kotlin
Now uses FragmentActivity instead of BaseActivity
2021-02-27 11:39:15 +01:00
Niels van Velzen
03569b07d9 Rename .java to .kt 2021-02-27 11:39:14 +01:00
Niels van Velzen
48f45f670a Merge pull request #740 from linetrimmer/hidden_ratings
Add an option to hide ratings on cards/item details
2021-02-27 11:12:21 +01:00
Mr. Chip53
9c586c5bab Remove duplicate background image loading code 2021-02-25 15:02:28 -06:00
linetrimmer
9e622a28e7 Add setting to hide ratings 2021-02-25 15:50:14 -05:00
Bill Thornton
9a167d7c99 Merge pull request #713 from MrChip53/login-stuff
Manage Servers menu
2021-02-25 13:07:54 -05:00
Mr. Chip53
ec443c3a37 Fix build errors 2021-02-25 10:56:03 -06:00
Chris
21189878ee Merge branch 'master' into login-stuff 2021-02-25 08:47:46 -06:00
Niels van Velzen
3141e28c11 Merge pull request #738 from jellyfin/gradlew-update-6.8.3
Update Gradle Wrapper from 6.7 to 6.8.3
2021-02-25 08:46:55 +01:00
gradle-update-robot
3e52b20292 Update Gradle Wrapper from 6.7 to 6.8.3.
Signed-off-by: gradle-update-robot <gradle-update-robot@regolo.cc>
2021-02-25 04:22:27 +00:00
Bill Thornton
ba2674dea5 Merge pull request #706 from nielsvanvelzen/preferences-2.1_displayprefspopup
Use preferences UI for library display preferences
2021-02-24 13:16:18 -05:00
Niels van Velzen
4888610fc4 Merge branch 'master' into preferences-2.1_displayprefspopup 2021-02-24 19:07:27 +01:00
Bill Thornton
435e06bd9f Merge pull request #737 from nielsvanvelzen/gh-actions-gradle-conflict
Add merge conflict labeler and gradle update and validate tasks
2021-02-24 12:16:02 -05:00
Niels van Velzen
c58d435e3f Use ubuntu-latest image and change some naming 2021-02-24 17:37:06 +01:00
Bill Thornton
d283394b92 Merge pull request #715 from nielsvanvelzen/dev-prefs
Add developer preferences screen
2021-02-24 11:22:21 -05:00
Niels van Velzen
10d346a208 Update gradle validate and add gradle update tasks 2021-02-23 17:04:42 +01:00
Niels van Velzen
9aa7158ac5 Update merge conflict labeler task 2021-02-23 17:04:17 +01:00
Mr. Chip53
3c99d7cd7f Use shiny, new background service 2021-02-22 20:21:58 -06:00
Mr. Chip53
ff2e0df5cf Use CustomListRowPresenter in SearchProvider.java 2021-02-22 20:21:58 -06:00
Chris
e6a5a4c0b7 Merge branch 'master' into login-stuff 2021-02-22 20:01:02 -06:00
Niels van Velzen
42dd789cfb Don't build preferences twice during creation when rebuildOnResume is true 2021-02-22 19:57:48 -06:00
Niels van Velzen
31243c8de5 Miscellaneous fixes
- refresh server/user lists
- small string changes
- update OptionsAction listener (renamed, slightly different behavior)
- renamed optionsScreen to lazyOptionsScreen, add new optionsScreen with direct return
2021-02-22 19:57:47 -06:00
Mr. Chip53
a1e7142aa3 Add EditUserScreen.kt; update strings 2021-02-22 19:57:47 -06:00
Mr. Chip53
6e94db4cfb Fix OptionsLink and OptionsAction to work inside categories properly 2021-02-22 19:57:44 -06:00
Mr. Chip53
2990e240b6 Update OptionsAction.kt comment and imports 2021-02-22 19:57:43 -06:00
Mr. Chip53
6119264998 Remove fragment navigation from OptionsAction.kt and pop back stack manually instead 2021-02-22 19:57:43 -06:00
Mr. Chip53
1060054246 Move manageServers code to StartupToolbarFragment.kt 2021-02-22 19:57:43 -06:00
Mr. Chip53
04d5f0cd53 Finish the screens for managing servers and server users 2021-02-22 19:57:42 -06:00
Mr. Chip53
263b8e22a7 Add ManageServersScreen.kt and click listener to Startup 2021-02-22 19:57:41 -06:00
Marcin Woliński
a916b5ba8d Translated using Weblate (Polish)
Currently translated at 100.0% (430 of 430 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/pl/
2021-02-21 19:24:09 -05:00
Niels van Velzen
c705c32f9d Add developer preferences screen 2021-02-17 21:07:09 +01:00
Niels van Velzen
2324fe59de Merge branch 'master' into preferences-2.1_displayprefspopup
# Conflicts:
#	app/src/main/java/org/jellyfin/androidtv/ui/browsing/StdGridFragment.java
2021-02-17 21:05:39 +01:00
Bill Thornton
9c1238300b Merge pull request #718 from nielsvanvelzen/jumplist-centered-button
Rewrite TextButton in Kotlin and center content.
2021-02-17 14:54:22 -05:00
Bill Thornton
6c502d99fc Merge pull request #735 from jellyfin/nielsvanvelzen-merge-conflict-conflict
Fix merge conflict labeler version
2021-02-17 14:36:26 -05:00
Niels van Velzen
68cdbf18ec Fix merge conflict labeler version 2021-02-17 20:24:29 +01:00
Niels van Velzen
b5aa8123a3 Merge pull request #734 from thornbill/merge-conflict-action
Add github action to label PRs with merge conflicts
2021-02-17 20:21:21 +01:00
Bill Thornton
e1e40678d1 Use specific version for github action
Co-authored-by: Niels van Velzen <nielsvanvelzen@users.noreply.github.com>
2021-02-17 13:02:54 -05:00
Bill Thornton
392a4b76fd Add github action to label PRs with merge conflicts 2021-02-17 10:24:05 -05:00
Bill Thornton
e1ca8ad3f7 Merge pull request #717 from nielsvanvelzen/disable-home-headers
Disable headers on home screen
2021-02-17 10:13:40 -05:00
Bill Thornton
7b7799165f Merge pull request #731 from nielsvanvelzen/static-height
Enable static height on most home rows
2021-02-16 16:57:52 -05:00
Niels van Velzen
6c50e0fd77 Enable static height on most home rows 2021-02-16 17:30:39 +01:00
Aragon
509724d51a Translated using Weblate (Hebrew)
Currently translated at 100.0% (430 of 430 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/he/
2021-02-15 03:47:47 -05:00
Aragon
4a24a1cbb6 Translated using Weblate (Hebrew)
Currently translated at 98.6% (427 of 433 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/he/
2021-02-14 16:01:22 -05:00
Aragon
37b2b392a6 Translated using Weblate (Hebrew)
Currently translated at 98.3% (426 of 433 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/he/
2021-02-14 16:00:48 -05:00
Niels van Velzen
02e4626804 Disable headers in StdBrowseFragment 2021-02-14 10:27:16 +01:00
Bill Thornton
427d08eea2 Merge pull request #721 from nielsvanvelzen/no-audio-warning
Remove audio behavior warning
2021-02-14 01:12:12 -05:00
Bill Thornton
01386d7d56 Merge pull request #703 from nielsvanvelzen/backgroundservice
Rewrite background code
2021-02-14 01:08:56 -05:00
Niels van Velzen
2fc88ca06f Fix NullPointerException 2021-02-12 09:06:29 +01:00
ClankJake
5f5ca7647c Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (433 of 433 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/pt_BR/
2021-02-11 02:20:32 -05:00
Novojit Das
441fd1ec8f Translated using Weblate (Bengali (Bangladesh))
Currently translated at 27.2% (118 of 433 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/bn_BD/
2021-02-10 05:51:16 -05:00
speedstyle
aa2927d1c1 Translated using Weblate (English (United Kingdom))
Currently translated at 100.0% (433 of 433 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/en_GB/
2021-02-10 04:05:20 -05:00
Niels van Velzen
741f21db00 Merge pull request #727 from MrChip53/server-enter
Connect to server instead of focusing on OK button
2021-02-08 22:59:30 +01:00
Mr. Chip53
a144c9a4e9 Kotlin suggested changes 2021-02-08 15:48:00 -06:00
Mr. Chip53
27541acba2 Requested changes 2021-02-08 15:46:17 -06:00
Mr. Chip53
4e2f4e3288 Add editor action listener in AddServerFragment.kt 2021-02-08 15:46:17 -06:00
Niels van Velzen
428ac3e836 Merge pull request #726 from MrChip53/login-enter
Sign in instead of focusing on the OK button
2021-02-08 22:42:18 +01:00
Niels van Velzen
f155c091e2 Merge pull request #725 from MrChip53/nextup-fix
Fix next up bug
2021-02-08 22:34:11 +01:00
Mr. Chip53
ff715870b2 Requested changes 2021-02-08 15:29:33 -06:00
Mr. Chip53
b1d9f71874 Add listener to cancel button in UserLoginFragment.kt 2021-02-08 14:22:18 -06:00
Mr. Chip53
631c664073 Submit login info when password EditText is done 2021-02-08 14:21:54 -06:00
Mr. Chip53
bb103c0c10 Fix next up bug 2021-02-07 17:06:52 -06:00
Niels van Velzen
d953c658c8 Remove unused strings from audio behavior popup 2021-02-06 13:20:12 +01:00
Bill Thornton
d859b63d18 Merge pull request #722 from nielsvanvelzen/deps-20210204
Update dependencies
2021-02-05 22:44:12 -05:00
Bill Thornton
fd495bd4f6 Merge pull request #720 from nielsvanvelzen/compat
Use HtmlCompat in TextUtils String.toHtmlSpanned function
2021-02-05 22:42:33 -05:00
WWWesten
f453efdc47 Translated using Weblate (Kazakh)
Currently translated at 100.0% (433 of 433 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/kk/
2021-02-05 14:00:52 -05:00
WWWesten
de7e9b4c26 Translated using Weblate (Kazakh)
Currently translated at 100.0% (433 of 433 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/kk/
2021-02-05 05:55:58 -05:00
Niels van Velzen
a2dc506d8a Use HtmlCompat in TextUtils String.toHtmlSpanned function 2021-02-04 22:21:52 +01:00
Niels van Velzen
b4b9c9385f Update dependencies
Kotlin 1.4.10 -> 1.4.20
Android Gradle Plugin 4.1.1 -> 4.1.2

Leanback, androidx work, Glide, Junit
2021-02-04 20:05:05 +01:00
Gerry
3eeb75624e Translated using Weblate (Indonesian)
Currently translated at 85.9% (372 of 433 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/id/
2021-02-04 07:47:40 -05:00
Niels van Velzen
5dc1cc0f99 Remove audio behavior warning 2021-02-03 20:36:22 +01:00
Niels van Velzen
bbe6cd237c Rewrite TextButton in Kotlin and center content. 2021-02-03 20:24:45 +01:00
Niels van Velzen
5b2662e158 Rename .java to .kt 2021-02-03 14:37:23 +01:00
Bill Thornton
036fb504a8 Merge pull request #710 from nielsvanvelzen/use-timber
Use Timber everywhere
2021-02-01 11:11:00 -05:00
Bill Thornton
e80b43cd08 Merge pull request #712 from nielsvanvelzen/auth-fix
Fix automatic sign out when switching users
2021-02-01 11:10:02 -05:00
Stelios Diamantis
3a2508a646 Translated using Weblate (Greek)
Currently translated at 84.9% (368 of 433 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/el/
2021-02-01 04:56:27 -05:00
Niels van Velzen
3355f83e42 Merge pull request #714 from MrChip53/episode-subtext
Add episode full name as subtitle while playing TV episode
2021-02-01 09:00:42 +01:00
Mr. Chip53
3dc2271405 Add episode full name as subtitle while playing TV episode 2021-01-31 21:42:29 -06:00
Baptiste Mille-Mathias
ca50ef2740 Translated using Weblate (French)
Currently translated at 100.0% (433 of 433 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/fr/
2021-01-31 17:20:47 -05:00
Niels van Velzen
f4eb9d714a Merge pull request #701 from thornbill/user-login-images
Add user images to login screen
2021-01-31 20:08:58 +01:00
WWWesten
36d1e11e5d Translated using Weblate (Kazakh)
Currently translated at 100.0% (433 of 433 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/kk/
2021-01-31 11:30:43 -05:00
Martin P
eb387e4e0b Translated using Weblate (French)
Currently translated at 100.0% (433 of 433 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/fr/
2021-01-31 11:14:10 -05:00
Niels van Velzen
ceb2f370e2 Update apiclient version 2021-01-31 17:00:30 +01:00
Niels van Velzen
8af9cbf93b Merge branch 'master' into use-timber 2021-01-31 11:19:49 +01:00
Baptiste Mille-Mathias
bb6789c94b Translated using Weblate (French)
Currently translated at 99.7% (432 of 433 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/fr/
2021-01-31 01:05:48 -05:00
Bill Thornton
454226db44 Rename primaryImageTag to imageTag 2021-01-31 00:21:27 -05:00
Bill Thornton
c30faa6c11 Merge pull request #711 from nielsvanvelzen/no-export-auth
Don't export AuthenticatorService
2021-01-30 23:34:42 -05:00
Bill Thornton
00aad60e2a Merge pull request #709 from nielsvanvelzen/font-size-is-sp-not-dp
Use sp unit instead of dp for font size in horizontal_grid_browse.xml
2021-01-30 23:31:20 -05:00
Bill Thornton
5cf4f26bd9 Merge pull request #708 from nielsvanvelzen/fragment-container-view
Use FragmentContainerView instead of fragment in layout XML
2021-01-30 23:30:50 -05:00
Bill Thornton
39d1a69943 Merge pull request #707 from nielsvanvelzen/remove-delayed-message
Remove DelayedMessage
2021-01-30 23:28:25 -05:00
Niels van Velzen
b76d24a043 Set device for active session 2021-01-30 22:10:58 +01:00
Niels van Velzen
4e77a7c28a Use unique device id when requesting access token 2021-01-30 21:47:57 +01:00
Bill Thornton
6d3afb8890 Merge pull request #704 from nielsvanvelzen/leakcanary-disable
Disable LeakCanary by default and add option to gradle properties to enable
2021-01-30 14:46:12 -05:00
Niels van Velzen
c24b5e8fb1 Fix logging call in GridFragment too 2021-01-30 19:19:29 +01:00
Niels van Velzen
c76d8d65f1 Don't export AuthenticatorService 2021-01-30 19:12:42 +01:00
Niels van Velzen
377a4019f9 Fix binary operation in Timber 2021-01-30 19:08:06 +01:00
Niels van Velzen
827da71f67 Use Timber.d instead of Log.v in HorizontalGridPresenter 2021-01-30 19:07:02 +01:00
Niels van Velzen
b77ab018fa Use sp unit instead of dp for font size in horizontal_grid_browse.xml 2021-01-30 19:03:03 +01:00
Niels van Velzen
5e2da1101b Use FragmentContainerView instead of fragment in layout XML (lint issue FragmentTagUsage) 2021-01-30 18:57:37 +01:00
Niels van Velzen
fcd8004406 Remove DelayedMessage 2021-01-30 17:25:39 +01:00
Niels van Velzen
153c0c8d37 Use preferences UI for library display preferences 2021-01-30 17:15:02 +01:00
Niels van Velzen
cd94b3b081 Set backgrounds for FullDetailsActivity 2021-01-29 22:37:25 +01:00
Niels van Velzen
79e3e0eb6e Store backgrounds in fragment and restore on resume 2021-01-29 22:37:13 +01:00
Niels van Velzen
a32fee80c4 Disable LeakCanary by default and add option to gradle properties to enable 2021-01-29 19:30:01 +01:00
Niels van Velzen
7676c44778 Fix compatibility with older API's 2021-01-29 19:11:23 +01:00
Niels van Velzen
2f3847a5f1 Enable backgrounds on all browsing pages 2021-01-29 16:42:11 +01:00
Niels van Velzen
0637084a05 Use AbstractActivityLifecycleCallbacks in other activity lifecycle callback classes 2021-01-29 16:26:19 +01:00
Niels van Velzen
03aa851075 Set background on resume 2021-01-29 16:24:30 +01:00
Bill Thornton
b3c232fb38 Add user images to login screen 2021-01-28 16:30:03 -05:00
Niels van Velzen
b0a55f8357 Add update interval to not "spam update" the backgrounds 2021-01-28 19:28:18 +01:00
Bill Thornton
a1ed018ffd Merge pull request #688 from nielsvanvelzen/goodbye-livetv-mode
Remove live tv mode
2021-01-27 23:19:51 -05:00
WWWesten
808e495e1b Translated using Weblate (Macedonian)
Currently translated at 28.4% (123 of 433 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/mk/
2021-01-27 19:41:43 -05:00
WWWesten
ed1d8eed35 Translated using Weblate (Mongolian)
Currently translated at 45.7% (198 of 433 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/mn/
2021-01-27 19:41:43 -05:00
Niels van Velzen
d4dd3e1ac2 Don't show backdrops when user disabled them 2021-01-27 23:02:34 +01:00
Niels van Velzen
103b3459ac Use androidx.window to get window size 2021-01-27 22:23:25 +01:00
Niels van Velzen
9201096805 Read backgrounds from BaseItem and allow slideshows 2021-01-27 22:12:50 +01:00
Niels van Velzen
ad37160512 Rewrite background management code 2021-01-27 22:12:46 +01:00
Marcus Blennegård
f75f35d421 Translated using Weblate (Swedish)
Currently translated at 100.0% (433 of 433 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/sv/
2021-01-27 12:49:25 -05:00
Xavier Rosell
2c1c505710 Translated using Weblate (Catalan)
Currently translated at 100.0% (433 of 433 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/ca/
2021-01-25 11:04:27 -05:00
Xavier Rosell
58937efb00 Translated using Weblate (Catalan)
Currently translated at 79.4% (344 of 433 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/ca/
2021-01-25 09:56:32 -05:00
Xavier Rosell
6dcbf53b1f Translated using Weblate (Catalan)
Currently translated at 61.8% (268 of 433 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/ca/
2021-01-25 08:36:11 -05:00
Xavier Rosell
616355580e Translated using Weblate (Catalan)
Currently translated at 55.8% (242 of 433 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/ca/
2021-01-25 08:28:28 -05:00
Xavier Rosell
9f92b23370 Translated using Weblate (Catalan)
Currently translated at 27.4% (119 of 433 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/ca/
2021-01-25 07:41:13 -05:00
Thomas Schwery
e2227ff535 Translated using Weblate (French)
Currently translated at 100.0% (433 of 433 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/fr/
2021-01-25 02:57:13 -05:00
Niels van Velzen
1712a11006 Remove live tv mode
Crashed the app, implementation was stupid
2021-01-25 08:54:21 +01:00
Bill Thornton
c5399ff3c5 Merge pull request #684 from nielsvanvelzen/homesections-kt
Home screen rewrite in Kotlin
2021-01-25 00:11:31 -05:00
Bill Thornton
bf83ab76e4 Merge pull request #689 from nielsvanvelzen/mutable-object-adapter
Add mutable object adapter
2021-01-24 23:43:19 -05:00
Xavier Rosell
811c111d22 Translated using Weblate (Catalan)
Currently translated at 25.6% (111 of 433 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/ca/
2021-01-24 23:06:30 -05:00
Niels van Velzen
0114ee0529 Add comment to uniqueRowId to explain it 2021-01-24 10:00:10 +01:00
Niels van Velzen
7576cad61e Add limit constants for HomeFragmentHelper 2021-01-23 10:40:26 +01:00
Norbi
b6750ee7b4 Translated using Weblate (Hungarian)
Currently translated at 100.0% (433 of 433 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/hu/
2021-01-22 17:25:48 -05:00
Frederik Gram
3f21a1e5b0 Translated using Weblate (Danish)
Currently translated at 99.7% (432 of 433 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/da/
2021-01-20 07:39:07 -05:00
Niels van Velzen
20f6accb16 Fix rows list type 2021-01-20 08:53:45 +01:00
Niels van Velzen
0bdaf44ed4 Remove autobitrate from TvApp 2021-01-20 08:53:44 +01:00
Niels van Velzen
89007754ac Convert complete home view to Kotlin
Includes a lot of refactoring and rewriting code while keeping the exact same behavior
2021-01-20 08:53:41 +01:00
Bill Thornton
61917677dc Merge pull request #683 from nielsvanvelzen/tvapp-direct-utils
Remove a lot of TvApp.getApplication() usages from utils package
2021-01-20 00:51:24 -05:00
Bill Thornton
b6e4b24c14 Merge pull request #682 from nielsvanvelzen/tvapp-direct
Don't store instances of TvApp
2021-01-20 00:25:12 -05:00
millallo
25d11f2a1b Translated using Weblate (Italian)
Currently translated at 99.5% (431 of 433 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/it/
2021-01-19 20:45:08 -05:00
Bill Thornton
bab86c288a Merge pull request #693 from nielsvanvelzen/release-auth
Fix authenticator store account type
2021-01-19 12:59:29 -05:00
Predrag Ljubenović
47d78be897 Translated using Weblate (Serbian)
Currently translated at 100.0% (433 of 433 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/sr/
2021-01-19 12:28:40 -05:00
WWWesten
32f896b0ac Translated using Weblate (Russian)
Currently translated at 100.0% (433 of 433 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/ru/
2021-01-17 08:30:54 -05:00
WWWesten
b2e0f327c6 Translated using Weblate (Kazakh)
Currently translated at 100.0% (433 of 433 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/kk/
2021-01-17 08:30:54 -05:00
Niels van Velzen
25ae4e9473 Fix authenticator store account type 2021-01-15 22:45:37 +01:00
hawken
b5d9bdb819 Translated using Weblate (Norwegian Bokmål)
Currently translated at 99.7% (432 of 433 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/nb_NO/
2021-01-14 20:17:21 -05:00
pcenta
62dda32d6c Translated using Weblate (Slovenian)
Currently translated at 90.0% (390 of 433 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/sl/
2021-01-14 15:12:07 -05:00
Eli Yu
5010bb5b57 Translated using Weblate (Japanese)
Currently translated at 73.6% (319 of 433 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/ja/
2021-01-14 04:11:23 -05:00
Eli Yu
14f47c3d3a Translated using Weblate (Japanese)
Currently translated at 71.3% (309 of 433 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/ja/
2021-01-14 00:24:33 -05:00
Alexander Brissman
617ece649f Translated using Weblate (Norwegian Bokmål)
Currently translated at 99.7% (432 of 433 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/nb_NO/
2021-01-13 14:35:21 -05:00
Oriol Serra
55d06ace6f Translated using Weblate (Catalan)
Currently translated at 12.0% (52 of 433 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/ca/
2021-01-12 16:28:16 -05:00
cikeZ00
c59e15ca93 Translated using Weblate (Croatian)
Currently translated at 96.3% (417 of 433 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/hr/
2021-01-10 05:48:14 -05:00
Marcin Woliński
bcb8fe216e Translated using Weblate (Polish)
Currently translated at 100.0% (433 of 433 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/pl/
2021-01-10 05:48:14 -05:00
Niels van Velzen
1e86d66eca Fix ListServerFragment clearing it's rows 2021-01-10 11:47:09 +01:00
Niels van Velzen
caaa004867 Add MutableObjectAdapter to use type safe adapters in Leanback. 2021-01-10 11:21:40 +01:00
Niels van Velzen
f95b431f06 Merge pull request #686 from MrChip53/fix-tomatoes
Flip tomatoE icons because they are funny
2021-01-10 10:10:19 +01:00
Niels van Velzen
b942428f30 Merge pull request #687 from MrChip53/stars-on-cards
Take stars off UserView cards on home screen
2021-01-10 10:09:12 +01:00
Mr. Chip53
421a4c400c Take stars off UserView cards 2021-01-09 20:50:20 -06:00
Mr. Chip53
0756419bde Flip tomatoE icons because they are funny 2021-01-09 20:39:26 -06:00
rimuru-demon-lord
054d80f29f Translated using Weblate (Japanese)
Currently translated at 70.4% (305 of 433 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/ja/
2021-01-09 15:35:20 -05:00
Niels van Velzen
80be2f4d11 Remove a lot of TvApp.getApplication() usages from utils package 2021-01-08 23:02:04 +01:00
Niels van Velzen
4f1d34662f Don't store instance of TvApp, use TvApp.getApplication() directly instead.
This helps with search operations for getApplication() usages
2021-01-08 22:34:12 +01:00
4d1m
e6a74fd103 Translated using Weblate (Romanian)
Currently translated at 100.0% (433 of 433 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/ro/
2021-01-08 08:52:23 -05:00
Christian
1efa5252f0 Translated using Weblate (German)
Currently translated at 100.0% (433 of 433 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/de/
2021-01-08 08:52:22 -05:00
WWWesten
376851bd06 Translated using Weblate (Kazakh)
Currently translated at 100.0% (433 of 433 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/kk/
2021-01-07 09:37:17 -05:00
WWWesten
2901ea6689 Translated using Weblate (Kazakh)
Currently translated at 98.6% (427 of 433 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/kk/
2021-01-06 17:01:03 -05:00
pixelomer
3acc6593e2 Translated using Weblate (Turkish)
Currently translated at 98.1% (425 of 433 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/tr/
2021-01-06 17:01:01 -05:00
WWWesten
0e6806e23a Translated using Weblate (Russian)
Currently translated at 100.0% (433 of 433 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/ru/
2021-01-06 17:01:00 -05:00
TF
abd24f21cc Translated using Weblate (Portuguese (Portugal))
Currently translated at 98.6% (427 of 433 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/pt_PT/
2021-01-06 13:50:35 -05:00
Jorge Turrado Ferrero
28b76e3727 Translated using Weblate (Spanish)
Currently translated at 99.7% (432 of 433 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/es/
2021-01-06 13:50:35 -05:00
WWWesten
72c2145ac4 Translated using Weblate (Kazakh)
Currently translated at 87.9% (381 of 433 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/kk/
2021-01-06 13:50:35 -05:00
Pavlos Papalexiou
72bb17bb91 Translated using Weblate (Greek)
Currently translated at 73.6% (319 of 433 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/el/
2021-01-06 13:50:35 -05:00
Niels van Velzen
01bd26f19a Merge pull request #680 from thornbill/ends-now
Hide end time when duration is unknown
2021-01-05 23:35:30 +01:00
Bill Thornton
27e29b277a Hide end time when duration is unknown 2021-01-05 17:24:04 -05:00
Niels van Velzen
626ba3ba46 Merge pull request #679 from thornbill/accountmanager-null-safety
Add null checks to AccountManagerHelper
2021-01-05 23:17:36 +01:00
Bill Thornton
ff915dff02 Add null checks to AccountManagerHelper 2021-01-05 16:46:05 -05:00
Bill Thornton
6a16c343c7 Merge pull request #678 from nielsvanvelzen/remove-stupid-dialogs
Remove more unnecessary popups
2021-01-05 13:34:20 -05:00
Bill Thornton
4a67024724 Merge pull request #672 from nielsvanvelzen/no-fragment-constructor
Remove constructors from fragments
2021-01-05 13:33:17 -05:00
Niels van Velzen
6adeea3d7d Remove more unnecessary popups 2021-01-05 19:05:53 +01:00
Bill Thornton
429798f9fe Merge pull request #677 from nielsvanvelzen/leakcanary
Add LeakCanary
2021-01-05 11:44:26 -05:00
Niels van Velzen
367fdf6ee8 Add leak canary 2021-01-05 14:18:44 +01:00
Bill Thornton
1bb20b7475 Merge pull request #676 from nielsvanvelzen/oops
Partially revert #656
2021-01-04 16:21:19 -05:00
Niels van Velzen
fce19ca9cf Partially revert #656
The watched state wasn't reset properly
2021-01-04 21:55:48 +01:00
Sam Stewart
51f0ef2fb3 Translated using Weblate (English)
Currently translated at 100.0% (433 of 433 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/en/
2021-01-04 05:47:34 -05:00
Eric
8d7408a919 Translated using Weblate (French)
Currently translated at 100.0% (433 of 433 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/fr/
2021-01-04 05:47:34 -05:00
Sam Stewart
aeb8b1976c Translated using Weblate (English (United Kingdom))
Currently translated at 98.8% (428 of 433 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/en_GB/
2021-01-04 05:47:34 -05:00
Niels van Velzen
f2b638b1ee Translated using Weblate (French)
Currently translated at 100.0% (433 of 433 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/fr/
2021-01-04 05:47:34 -05:00
Bill Thornton
45a32bdec7 Merge pull request #673 from MrChip53/intro-nextup
Remove NextUpActivity from displaying after intro videos or trailers
2021-01-03 16:03:02 -05:00
Mr. Chip53
fe129399da Handle null current item in PlaybackController.java 2021-01-03 09:47:49 -06:00
hoanghuy309
0948c5ed02 Translated using Weblate (Vietnamese)
Currently translated at 99.7% (432 of 433 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/vi/
2021-01-03 08:15:05 -05:00
Oatavandi
502b6b5e26 Translated using Weblate (Tamil)
Currently translated at 100.0% (433 of 433 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/ta/
2021-01-03 08:15:05 -05:00
Franco Castillo
472d8818be Translated using Weblate (Spanish (Argentina))
Currently translated at 100.0% (433 of 433 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/es_AR/
2021-01-03 08:15:05 -05:00
nextlooper42
7c9cc76e36 Translated using Weblate (Slovak)
Currently translated at 100.0% (433 of 433 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/sk/
2021-01-03 08:15:05 -05:00
Nyanmisaka
cd3f600c9c Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (433 of 433 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/zh_Hans/
2021-01-03 08:15:05 -05:00
WWWesten
fa5eb95d25 Translated using Weblate (Russian)
Currently translated at 100.0% (433 of 433 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/ru/
2021-01-03 08:15:05 -05:00
lemmens95
65bd0b0031 Translated using Weblate (Dutch)
Currently translated at 100.0% (433 of 433 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/nl/
2021-01-03 08:15:05 -05:00
Manjot Singh
423bafebf5 Translated using Weblate (French)
Currently translated at 100.0% (433 of 433 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/fr/
2021-01-03 08:15:05 -05:00
Lukáš Kucharczyk
25e26ee068 Translated using Weblate (Czech)
Currently translated at 100.0% (433 of 433 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/cs/
2021-01-03 08:15:05 -05:00
J. Beckmann
b94c5620c4 Translated using Weblate (German)
Currently translated at 100.0% (433 of 433 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/de/
2021-01-03 08:15:05 -05:00
Niels van Velzen
bc599c6c55 Use sharedViewModel in login fragments 2021-01-03 10:58:31 +01:00
Niels van Velzen
e1c890bc0c Remove constructor for StartupToolbarFragment 2021-01-03 10:58:31 +01:00
Niels van Velzen
e4837e5519 Use view model in next up activity/fragment
This removed the constructor
2021-01-03 10:58:30 +01:00
Bill Thornton
192bbee70e Merge pull request #669 from nielsvanvelzen/drop-kotlin-android-extensions
Remove Kotlin Android Extensions Gradle Plugin
2021-01-03 01:05:39 -05:00
Mr. Chip53
1a64794a9f Remove NextUpActivity from displaying after intro videos or trailers 2021-01-02 19:33:08 -06:00
Niels van Velzen
15a6b59e9d Fix cancel button listener in NextUpButtons 2021-01-02 12:13:30 +01:00
Niels van Velzen
5432abd1cb Merge pull request #671 from thornbill/you-get-hevc
Enable hevc support universally
2021-01-02 09:57:58 +01:00
Bill Thornton
6aeb0eced0 Enable hevc support universally 2021-01-02 02:01:34 -05:00
Andi Chandler
61fee4af97 Translated using Weblate (English (United Kingdom))
Currently translated at 100.0% (425 of 425 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/en_GB/
2021-01-01 05:06:43 -05:00
Niels van Velzen
424f1ddd8d Use view binding for NextUpFragment 2020-12-31 12:40:54 +01:00
Niels van Velzen
f22521630c Remove Kotlin Android Extensions Gradle Plugin
Replaced all synthetic uses with findViewById
2020-12-31 12:39:51 +01:00
Bill Thornton
d3fc28d8e5 Merge pull request #644 from nielsvanvelzen/accountmanager
Add initial authentication storage
2020-12-30 17:28:02 -05:00
Niels van Velzen
050fe767c9 Merge branch 'master' into accountmanager
# Conflicts:
#	app/src/main/java/org/jellyfin/androidtv/JellyfinApplication.kt
#	app/src/main/java/org/jellyfin/androidtv/TvApp.java
#	app/src/main/java/org/jellyfin/androidtv/di/AppModule.kt
#	app/src/main/java/org/jellyfin/androidtv/ui/home/HomeFragment.java
#	app/src/main/java/org/jellyfin/androidtv/ui/preference/category/authentication.kt
2020-12-30 22:56:25 +01:00
Bill Thornton
c64830892b Merge pull request #659 from nielsvanvelzen/preferences-2.1
Preferences 2.1
2020-12-30 16:35:16 -05:00
Bill Thornton
791ac440e4 Merge pull request #664 from nielsvanvelzen/workmanager-channels
Convert ChannelManager to work manager
2020-12-30 16:07:39 -05:00
Niels van Velzen
40960d8403 Update update request names
Now uses unique names for both types
2020-12-30 10:51:09 +01:00
Niels van Velzen
5e01dd4df5 Convert ChannelManager to a worker manager 2020-12-30 10:51:07 +01:00
Rubikscraft
865bea0f22 Translated using Weblate (Dutch)
Currently translated at 100.0% (425 of 425 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/nl/
2020-12-29 22:58:09 -05:00
Bill Thornton
32fd777655 Merge pull request #662 from nielsvanvelzen/use-me
Fix a bunch of "unused" warnings
2020-12-29 17:09:18 -05:00
Bill Thornton
c730f0e82d Merge pull request #666 from nielsvanvelzen/no-text-extend-for-empty-text
Disable text expansion for empty textview
2020-12-29 17:02:51 -05:00
Bill Thornton
1c454c1d08 Merge pull request #663 from nielsvanvelzen/covid19-vaccine-is-also-a-kind-of-dependency-injection
Move DataRefreshService to dependency injection
2020-12-29 17:02:32 -05:00
Niels van Velzen
b2fa8327cb Fix login for users without a password prompting for a password
We now remember if a user has a password (using a boolean) in the offline data set. If a user fails to authenticate because a password was added it will prompt for a password. If it's the other way around the user can just proceed in the password-prompt with an empty password and the boolean will be updated for future logins.
2020-12-29 19:26:53 +01:00
Niels van Velzen
5192d63ff9 Remove even more unused code from VideoManager 2020-12-29 18:42:22 +01:00
WWWesten
8c5daa80a9 Translated using Weblate (Kazakh)
Currently translated at 83.7% (356 of 425 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/kk/
2020-12-29 01:06:19 -05:00
RTapeLoadingError
0962b5af83 Translated using Weblate (Spanish)
Currently translated at 100.0% (425 of 425 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/es/
2020-12-28 12:11:56 -05:00
Niels van Velzen
99f6188b50 Disable text expansion for empty textview 2020-12-28 15:06:22 +01:00
Norbi
d44f687229 Translated using Weblate (Hungarian)
Currently translated at 100.0% (425 of 425 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/hu/
2020-12-27 13:17:24 -05:00
cseig
763aeddd3d Translated using Weblate (French)
Currently translated at 99.7% (424 of 425 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/fr/
2020-12-27 07:46:54 -05:00
Mislav Milinković
59e9bb560c Translated using Weblate (Croatian)
Currently translated at 96.9% (412 of 425 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/hr/
2020-12-26 02:48:26 -05:00
Taras
528e2962eb Translated using Weblate (Ukrainian)
Currently translated at 20.4% (87 of 425 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/uk/
2020-12-26 02:48:18 -05:00
Nyanmisaka
4dba5c7139 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (425 of 425 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/zh_Hans/
2020-12-25 19:18:30 -05:00
Niels van Velzen
10baf8cdb5 Apply nullability to Kotlin usages 2020-12-24 17:03:13 +01:00
Niels van Velzen
6733c998c3 Resolve a bunch of linter warnings 2020-12-24 16:57:26 +01:00
Niels van Velzen
6ec00f7746 Add nullability annotations to all set functions in TvApp 2020-12-24 13:01:01 +01:00
Niels van Velzen
5c671ac07d Replace DataRefreshService usages with dependency injection 2020-12-24 12:50:27 +01:00
Niels van Velzen
adfd723159 Fix a bunch of "unused" warnings 2020-12-24 12:32:39 +01:00
nextlooper42
b2b6358345 Translated using Weblate (Slovak)
Currently translated at 100.0% (425 of 425 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/sk/
2020-12-22 23:27:19 -05:00
m0d3rnX
45252c3b2e Translated using Weblate (German)
Currently translated at 100.0% (425 of 425 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/de/
2020-12-22 23:01:32 -05:00
Niels van Velzen
6ab60c9519 Allow setting the screen name + arguments when starting the preferences activity 2020-12-22 22:36:52 +01:00
Niels van Velzen
7e51a096e2 Fix linter issues 2020-12-22 22:36:52 +01:00
Niels van Velzen
142338ae90 Add icon support to links 2020-12-22 22:36:51 +01:00
Niels van Velzen
c12bf04661 Add utility function to create links in a screen 2020-12-22 22:36:50 +01:00
Niels van Velzen
e88442cc1d Fix dialog titles 2020-12-22 22:36:50 +01:00
Niels van Velzen
6f81d2ab52 Add option screen linking 2020-12-22 22:36:49 +01:00
Niels van Velzen
13e736a300 Fix ModelExtensionsTest 2020-12-22 22:34:10 +01:00
Niels van Velzen
7afe640bd1 Fix authentication failing for discovered servers 2020-12-22 22:34:10 +01:00
Niels van Velzen
5e4705d297 Rewrite server/user retrieval flow part 2/2 2020-12-22 22:34:09 +01:00
Niels van Velzen
30241d582d Rewrite server/user retrieval flow part 1/2 2020-12-22 22:34:08 +01:00
Niels van Velzen
16021d12e7 Skip login screen for passwordless public users 2020-12-22 22:34:06 +01:00
Niels van Velzen
a8788556ca Fix server info missing in legacy apiclient 2020-12-22 22:34:05 +01:00
Niels van Velzen
e9a45fb85f Fix discovery crashing the app 2020-12-22 22:34:04 +01:00
Niels van Velzen
c6d1f3e8f1 Fix tests 2020-12-22 22:34:01 +01:00
Niels van Velzen
021ca1c955 Catch bad token condition 2020-12-22 22:34:01 +01:00
Niels van Velzen
cd1ad2e02d Fix compile errors 2020-12-22 22:33:59 +01:00
Niels van Velzen
371320b75d -scratch.md 2020-12-22 22:33:57 +01:00
Niels van Velzen
1117987f97 Add more error handling 2020-12-22 22:33:57 +01:00
Niels van Velzen
87ca3e3069 Refactor packages 2020-12-22 22:33:54 +01:00
Niels van Velzen
ef729fcf6b Clean ModelExtensions 2020-12-22 22:33:52 +01:00
Niels van Velzen
7640ecd731 Refactor Server class 2020-12-22 22:33:49 +01:00
Niels van Velzen
77e2f7800c Refactor User class 2020-12-22 22:33:48 +01:00
Niels van Velzen
8002a68325 Remvoe profile picture (unused, can use id) 2020-12-22 22:33:47 +01:00
Niels van Velzen
7c27daeccc Convert legacy credentials to new format on boot 2020-12-22 22:33:45 +01:00
Niels van Velzen
26d8ceac80 Fix few crashes 2020-12-22 22:33:44 +01:00
Niels van Velzen
0abaff4b71 url -> address 2020-12-22 22:33:43 +01:00
Niels van Velzen
fb7ec6837d More cleaning 2020-12-22 22:33:41 +01:00
Niels van Velzen
d5baf94fe4 Add getUser/getServer functions 2020-12-22 22:33:40 +01:00
Niels van Velzen
6e9454fd1a Optimize models 2020-12-22 22:33:39 +01:00
Niels van Velzen
5cbc249701 Re-order manifest 2020-12-22 22:33:38 +01:00
Niels van Velzen
aa32bf3f90 Store imagetag instead of url 2020-12-22 22:33:37 +01:00
Niels van Velzen
876d87631d Fix legacy user not showing and duplicates not handled when UUID format was different 2020-12-22 22:33:36 +01:00
Niels van Velzen
c4dea67647 Allow login with server from legacy format 2020-12-22 22:33:35 +01:00
Niels van Velzen
80e6118bdd Store user dto after signing in 2020-12-22 22:33:34 +01:00
Niels van Velzen
0beb56edc7 Initial signin support 2020-12-22 22:33:33 +01:00
Niels van Velzen
b980aa9bd4 Save server 2020-12-22 22:33:31 +01:00
Niels van Velzen
07e20b3323 Fix legacy credential uuid's 2020-12-22 22:33:28 +01:00
Niels van Velzen
4c52ae5e9c Add other sources for servers and users and remove duplicates 2020-12-22 22:33:23 +01:00
Niels van Velzen
a4df38a10e New flow based server and user retrieval 2020-12-22 22:33:17 +01:00
Niels van Velzen
27add9f826 Add backups 2020-12-22 22:33:12 +01:00
Niels van Velzen
4836b8b27e Restore saved servers 2020-12-22 22:33:11 +01:00
Niels van Velzen
79e5151741 LiveData mess 2020-12-22 22:33:10 +01:00
Niels van Velzen
8bd6bc82d9 use uuid 2020-12-22 22:33:09 +01:00
Niels van Velzen
de661fe4d4 viewmodel progress 2020-12-22 22:33:07 +01:00
Niels van Velzen
c72895df5f extensions -> class 2020-12-22 22:33:06 +01:00
Niels van Velzen
5a3dcfc448 Integration test 2020-12-22 22:33:05 +01:00
Niels van Velzen
89b0dd577f Initial authentication storage code 2020-12-22 22:33:03 +01:00
Niels van Velzen
63e599f068 Implement the Android AccountStore to save users 2020-12-22 22:33:02 +01:00
Predrag Ljubenović
ae1d39f3f4 Translated using Weblate (Polish)
Currently translated at 97.4% (414 of 425 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/pl/
2020-12-22 13:00:06 -05:00
danielxb-ar
c4cb5991cd Translated using Weblate (Spanish (Argentina))
Currently translated at 100.0% (425 of 425 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/es_AR/
2020-12-22 09:56:06 -05:00
Predrag Ljubenović
2d9c3534de Translated using Weblate (Serbian)
Currently translated at 100.0% (425 of 425 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/sr/
2020-12-22 07:24:06 -05:00
SaddFox
2a39ac399b Translated using Weblate (Slovenian)
Currently translated at 88.4% (376 of 425 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/sl/
2020-12-22 07:24:05 -05:00
hoanghuy309
f6dddbea9c Translated using Weblate (Vietnamese)
Currently translated at 99.7% (424 of 425 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/vi/
2020-12-22 02:46:52 -05:00
Lukáš Kucharczyk
cbbf9cc47e Translated using Weblate (Czech)
Currently translated at 100.0% (425 of 425 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/cs/
2020-12-22 02:46:52 -05:00
Oatavandi
fa3dc19021 Translated using Weblate (Tamil)
Currently translated at 100.0% (425 of 425 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/ta/
2020-12-21 22:50:22 -05:00
WWWesten
832e090fd5 Translated using Weblate (Russian)
Currently translated at 100.0% (425 of 425 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/ru/
2020-12-21 22:50:22 -05:00
WWWesten
91832043b6 Translated using Weblate (Kazakh)
Currently translated at 83.0% (353 of 425 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/kk/
2020-12-21 22:50:22 -05:00
Predrag Ljubenović
ed6c7a7d45 Translated using Weblate (Serbian)
Currently translated at 100.0% (421 of 421 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/sr/
2020-12-21 13:58:47 -05:00
Niels van Velzen
19cf80579b Merge pull request #631 from MrChip53/toggle-clock
Add a setting toggle to change the clocks display behavior
2020-12-20 14:56:21 +01:00
Oatavandi
5ad8837497 Translated using Weblate (Tamil)
Currently translated at 100.0% (421 of 421 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/ta/
2020-12-20 08:28:11 -05:00
WWWesten
865eddae54 Translated using Weblate (Russian)
Currently translated at 100.0% (421 of 421 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/ru/
2020-12-19 19:14:27 -05:00
WWWesten
18c83a04b9 Translated using Weblate (Russian)
Currently translated at 100.0% (421 of 421 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/ru/
2020-12-19 14:19:50 -05:00
WWWesten
cb9bf20f60 Translated using Weblate (Kazakh)
Currently translated at 83.6% (352 of 421 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/kk/
2020-12-19 14:19:50 -05:00
Mr. Chip53
be5204eb8c Specify UserPreferences class in ToolbarView.kt 2020-12-19 12:05:30 -06:00
hoanghuy309
711ec24b03 Translated using Weblate (Vietnamese)
Currently translated at 99.7% (420 of 421 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/vi/
2020-12-19 10:03:10 -05:00
Predrag Ljubenović
9060a3d95a Translated using Weblate (Serbian)
Currently translated at 100.0% (421 of 421 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/sr/
2020-12-18 15:04:22 -05:00
Lukáš Kucharczyk
3d7dbaf5a9 Translated using Weblate (Czech)
Currently translated at 100.0% (421 of 421 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/cs/
2020-12-18 10:31:18 -05:00
Csaba
dd5e374ee5 Translated using Weblate (Hungarian)
Currently translated at 100.0% (421 of 421 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/hu/
2020-12-18 05:51:21 -05:00
m0d3rnX
25606ae849 Translated using Weblate (German)
Currently translated at 100.0% (421 of 421 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/de/
2020-12-18 02:13:52 -05:00
avicarpio
51a22d6cf5 Translated using Weblate (Catalan)
Currently translated at 11.7% (49 of 418 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/ca/
2020-12-18 01:34:59 -05:00
Chris
118e6da2fc Update strings.xml 2020-12-17 12:38:19 -06:00
Niels van Velzen
b69f188bba Add a setting toggle to change the clocks display behavior 2020-12-17 12:28:40 -06:00
Niels van Velzen
909e0281ba Merge pull request #630 from MrChip53/imdb-cards
Add the ability to change the rating type shown on cards
2020-12-17 16:34:34 +01:00
Mr. Chip53
12fc12f124 Add the ability to change the default rating type displayed on cards 2020-12-16 22:24:22 -06:00
Bill Thornton
d690c021bc Merge pull request #656 from nielsvanvelzen/cardpresenter-optimize
Optimize image loading in card presenter
2020-12-16 22:28:11 -05:00
4d1m
bb3e7c2852 Translated using Weblate (Romanian)
Currently translated at 100.0% (418 of 418 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/ro/
2020-12-16 16:58:21 -05:00
Niels van Velzen
b855c35802 Optimize image loading in card presenter 2020-12-16 20:22:14 +01:00
Esli Alvarez
42b8b9ac13 Translated using Weblate (Spanish (Mexico))
Currently translated at 100.0% (418 of 418 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/es_MX/
2020-12-16 04:22:29 -05:00
Bill Thornton
8460f99a7b Merge pull request #655 from nielsvanvelzen/ignore-captures
Ignore captures from Layout Inspector
2020-12-15 13:42:19 -05:00
Niels van Velzen
1ff474ecce Merge pull request #632 from MrChip53/detail-progressbar
Update the progress bar in FullDetailsActivity to the new design
2020-12-15 19:40:20 +01:00
Niels van Velzen
3425527c76 Ignore captures from Layout Inspector 2020-12-15 19:32:21 +01:00
Amit Bezalel
bb70db20ab Translated using Weblate (Hebrew)
Currently translated at 98.3% (411 of 418 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/he/
2020-12-15 06:57:08 -05:00
WWWesten
7e03c8278e Translated using Weblate (Russian)
Currently translated at 100.0% (418 of 418 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/ru/
2020-12-15 06:57:05 -05:00
Amit Bezalel
f9bb1af429 Translated using Weblate (Hebrew)
Currently translated at 76.7% (321 of 418 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/he/
2020-12-15 00:21:01 -05:00
Amit Bezalel
950fe5207a Translated using Weblate (Hebrew)
Currently translated at 62.2% (260 of 418 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/he/
2020-12-14 23:55:24 -05:00
Amit Bezalel
96823d03ab Translated using Weblate (Hebrew)
Currently translated at 60.0% (251 of 418 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/he/
2020-12-14 23:46:08 -05:00
Julian Schmidt
89e0ef35e5 Translated using Weblate (German)
Currently translated at 100.0% (418 of 418 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/de/
2020-12-14 18:22:06 -05:00
avicarpio
13703a3d82 Translated using Weblate (Catalan)
Currently translated at 5.0% (21 of 418 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/ca/
2020-12-14 06:16:24 -05:00
avicarpio
98b5a0eaaa Added translation using Weblate (Catalan) 2020-12-14 04:09:17 -05:00
kaboom83
f83cfa270e Translated using Weblate (Slovenian)
Currently translated at 87.7% (367 of 418 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/sl/
2020-12-13 06:34:04 -05:00
4d1m
f34761505b Translated using Weblate (Romanian)
Currently translated at 96.6% (404 of 418 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/ro/
2020-12-01 10:36:40 -05:00
Niels van Velzen
7ba54b729a Merge pull request #645 from thornbill/fix-end-of-season-crash
Fix crash when the end of a season is reached
2020-11-30 07:22:33 +01:00
Bill Thornton
88c997b09a Merge pull request #642 from nielsvanvelzen/toolbar-view
Convert toolbar base to a view
2020-11-29 23:17:46 -05:00
Bill Thornton
92bea0a24f Fix crash when the end of a season is reached 2020-11-29 22:30:25 -05:00
Enes
093481b1a9 Translated using Weblate (Turkish)
Currently translated at 99.7% (417 of 418 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/tr/
2020-11-29 19:20:14 -05:00
Enes
e58de28bc5 Translated using Weblate (Turkish)
Currently translated at 99.7% (417 of 418 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/tr/
2020-11-29 17:30:43 -05:00
No Available
bcddd756af Translated using Weblate (Danish)
Currently translated at 99.0% (414 of 418 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/da/
2020-11-28 17:33:38 -05:00
Mr. Chip53
81ba524bd1 rename and use progress variable; use centerInside for image view 2020-11-28 11:28:33 -06:00
conashinck
51aca1a3bb Translated using Weblate (Chinese (Traditional))
Currently translated at 88.9% (372 of 418 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/zh_Hant/
2020-11-27 22:23:02 -05:00
Lasse
12068ca9db Translated using Weblate (Swedish)
Currently translated at 99.5% (416 of 418 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/sv/
2020-11-26 14:23:10 -05:00
WWWesten
db50eec496 Translated using Weblate (Russian)
Currently translated at 100.0% (418 of 418 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/ru/
2020-11-26 14:23:09 -05:00
nextlooper42
539f592be0 Translated using Weblate (Slovak)
Currently translated at 100.0% (418 of 418 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/sk/
2020-11-26 10:01:25 -05:00
Rubikscraft
16efced100 Translated using Weblate (Dutch)
Currently translated at 100.0% (418 of 418 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/nl/
2020-11-26 10:01:25 -05:00
Rubikscraft
764e898d1f Translated using Weblate (Dutch)
Currently translated at 99.0% (414 of 418 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/nl/
2020-11-26 05:28:38 -05:00
nextlooper42
dbb1e998ab Translated using Weblate (Slovak)
Currently translated at 100.0% (418 of 418 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/sk/
2020-11-25 18:52:51 -05:00
OtharSmirnow
5ddd8e7916 Translated using Weblate (Polish)
Currently translated at 99.0% (414 of 418 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/pl/
2020-11-24 05:33:58 -05:00
Csaba
0cad127171 Translated using Weblate (Hungarian)
Currently translated at 100.0% (418 of 418 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/hu/
2020-11-23 09:47:13 -05:00
Niels van Velzen
5ebbced939 Convert toolbar base to a view 2020-11-21 15:44:53 +01:00
nextlooper42
10cba2b2c0 Translated using Weblate (Slovak)
Currently translated at 89.7% (375 of 418 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/sk/
2020-11-20 19:33:18 -05:00
Csaba
59855df0fd Translated using Weblate (Hungarian)
Currently translated at 100.0% (418 of 418 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/hu/
2020-11-20 09:10:05 -05:00
Csaba
479f17bb79 Translated using Weblate (Hungarian)
Currently translated at 96.4% (403 of 418 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/hu/
2020-11-20 08:59:32 -05:00
Csaba
faee6135ee Translated using Weblate (Hungarian)
Currently translated at 91.8% (384 of 418 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/hu/
2020-11-20 05:29:44 -05:00
Nyanmisaka
2c237d11c3 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (418 of 418 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/zh_Hans/
2020-11-18 10:05:49 -05:00
Fernando
a684f5bd7f Translated using Weblate (Spanish)
Currently translated at 100.0% (418 of 418 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/es/
2020-11-18 07:15:55 -05:00
Mr. Chip53
5a76b7fa9c Update the progress bar in FullDetailsActivity to the new design 2020-11-17 22:44:07 -06:00
danielxb-ar
064e173b92 Translated using Weblate (Spanish (Argentina))
Currently translated at 100.0% (418 of 418 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/es_AR/
2020-11-17 16:29:47 -05:00
HDmaniac
3406006088 Translated using Weblate (Spanish)
Currently translated at 99.7% (417 of 418 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/es/
2020-11-17 16:29:47 -05:00
Moritz
4bb57abbff Translated using Weblate (German)
Currently translated at 100.0% (418 of 418 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/de/
2020-11-17 16:29:47 -05:00
Bill Thornton
319ec3a3dd Merge pull request #634 from MrChip53/browse-info
Add MediaSources and MediaStreams to additional queries
2020-11-17 16:14:10 -05:00
Niels van Velzen
54169523e6 Merge pull request #637 from thornbill/toolbar-background
Fix toolbar background color
2020-11-17 21:41:55 +01:00
Bill Thornton
04f35ef9b9 Fix toolbar background color 2020-11-17 14:49:46 -05:00
Bill Thornton
e42d4f7757 Merge pull request #636 from nielsvanvelzen/colors
Fix theme colors
2020-11-17 13:43:34 -05:00
Niels van Velzen
c8c20ee52a Fix colors in hotdog theme 2020-11-17 16:09:53 +01:00
Niels van Velzen
be4596cac9 Fix colors in emerald theme 2020-11-17 15:52:28 +01:00
Niels van Velzen
0e145c13b5 Merge pull request #635 from thornbill/live-tv-icons
Update live tv icons
2020-11-17 08:54:16 +01:00
Bill Thornton
883034d3bf Update live tv icons 2020-11-17 00:41:27 -05:00
Ygor Lhano
001049c6f0 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (418 of 418 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/pt_BR/
2020-11-16 18:45:58 -05:00
Bill Thornton
03c71f5a90 Merge pull request #628 from nielsvanvelzen/res-update-themes
Make tiles themable
2020-11-16 17:45:34 -05:00
Niels van Velzen
d09acfcdf6 Add tile colors to theme and split themes to separate files 2020-11-16 16:34:17 +01:00
Niels van Velzen
ae9944311b Rewrite GridButton in Kotlin and don't use Glide to load the drawable for it 2020-11-16 16:34:17 +01:00
Bill Thornton
5fbc9c5714 Merge pull request #626 from nielsvanvelzen/res-update
Replace bitmaps with vectors
2020-11-16 10:25:49 -05:00
Bill Thornton
97b9e841a4 Merge pull request #625 from nielsvanvelzen/play-series
Fix some crashes when trying to play series
2020-11-16 10:24:55 -05:00
Bill Thornton
4bdcdaa058 Merge pull request #623 from nielsvanvelzen/deps-2020-11
Update dependencies (November edition)
2020-11-16 10:23:54 -05:00
Mr. Chip53
1b19de4a15 Remove from StdItemQuery so it is not grabbed when not required and add to SuggestedMoviesFragment 2020-11-15 21:28:24 -06:00
Mr. Chip53
305b0c227b Add ItemFields.MediaSources and ItemFields.MediaStreams to a few queries so this info will be added to the info row. 2020-11-15 21:13:36 -06:00
hoanghuy309
d9e1dd7726 Translated using Weblate (Vietnamese)
Currently translated at 99.7% (417 of 418 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/vi/
2020-11-15 14:53:38 -05:00
Thomas Schwery
ddd9a75520 Translated using Weblate (French)
Currently translated at 100.0% (418 of 418 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/fr/
2020-11-15 14:53:38 -05:00
4d1m
47bb824b72 Translated using Weblate (Romanian)
Currently translated at 96.4% (403 of 418 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/ro/
2020-11-15 09:22:19 -05:00
Niels van Velzen
aa2a1a52a4 Fix codestyle in PlaybackController getCurrentMediaSource 2020-11-15 10:10:46 +01:00
TheGoose
f466e5c0cc Translated using Weblate (English (United Kingdom))
Currently translated at 100.0% (418 of 418 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/en_GB/
2020-11-15 03:36:54 -05:00
Bill Thornton
1054766bfa Merge pull request #627 from nielsvanvelzen/backgroundmanager-double-attach
Don't attach the background manager when it's already attached
2020-11-15 01:22:25 -05:00
cemanga
f3571dd5ec Translated using Weblate (Tamil)
Currently translated at 100.0% (418 of 418 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/ta/
2020-11-15 00:25:56 -05:00
Bill Thornton
4add3ebd55 Merge pull request #624 from nielsvanvelzen/cleaning
Remove docker and jellyfin-build files
2020-11-14 23:44:55 -05:00
cemanga
576099c26e Translated using Weblate (Turkish)
Currently translated at 100.0% (418 of 418 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/tr/
2020-11-14 20:56:39 -05:00
cemanga
6bbf82f591 Translated using Weblate (Turkish)
Currently translated at 67.2% (281 of 418 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/tr/
2020-11-14 19:08:53 -05:00
cemanga
6931a57ff5 Translated using Weblate (Turkish)
Currently translated at 67.2% (281 of 418 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/tr/
2020-11-14 19:08:53 -05:00
Lukáš Kucharczyk
27c89d23fc Translated using Weblate (Czech)
Currently translated at 100.0% (418 of 418 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/cs/
2020-11-14 19:08:44 -05:00
cemanga
3b11edbe69 Added translation using Weblate (Turkish) 2020-11-14 17:43:21 -05:00
Niels van Velzen
7334886e87 Don't attach the background manager when it's already attached
Fixes an application crash
2020-11-14 18:51:34 +01:00
lelamamalgache
753410bb96 Translated using Weblate (French)
Currently translated at 100.0% (417 of 417 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/fr/
2020-11-14 11:38:40 -05:00
Moritz
4f75ba1cd8 Translated using Weblate (German)
Currently translated at 100.0% (417 of 417 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/de/
2020-11-14 11:38:40 -05:00
Niels van Velzen
636926d761 Format all drawable files 2020-11-14 16:05:54 +01:00
Niels van Velzen
4540848e10 ic_channel_bar 2020-11-14 15:59:20 +01:00
Niels van Velzen
d51d45850d ic_jump_letter 2020-11-14 15:46:30 +01:00
Niels van Velzen
0f521c25c9 ic_unwatch custom icon 2020-11-14 15:39:27 +01:00
Niels van Velzen
15c9d637f2 Add landscape tiles and update a few others 2020-11-14 15:20:02 +01:00
Niels van Velzen
cb64822956 Add more tiles part 2 2020-11-14 15:02:40 +01:00
Niels van Velzen
83989e4108 Add more tiles 2020-11-14 14:49:31 +01:00
Niels van Velzen
6765df99c6 Add all missing tile colors 2020-11-14 14:17:30 +01:00
Niels van Velzen
c6ceb4b69e Add custom icon for ic_record_series and ic_record_series_red 2020-11-14 14:11:10 +01:00
Niels van Velzen
5b54c13653 Add ic_more 2020-11-14 12:01:00 +01:00
Niels van Velzen
3726405f6a Replace edit, settings and logout tiles with vector versions 2020-11-14 11:48:39 +01:00
Niels van Velzen
6d785b37d4 Add vector icons from item-details-redesign branch 2020-11-14 11:06:41 +01:00
Niels van Velzen
47b76c7283 Replace bitmap icons with vectors from material design library 2020-11-14 11:01:33 +01:00
Niels van Velzen
0ef742e859 Remove unused drawables 2020-11-14 11:01:14 +01:00
Niels van Velzen
cd0b46580a Move moviebg.jpg to dpi aware drawables 2020-11-14 11:00:54 +01:00
Niels van Velzen
751ba531b2 Merge pull request #585 from MrChip53/image-card-redesign
Image card redesign
2020-11-14 10:44:55 +01:00
Mr. Chip53
c8730df32f Review changes 2020-11-14 00:56:02 -06:00
Oatavandi
41184e1dd2 Translated using Weblate (Tamil)
Currently translated at 100.0% (417 of 417 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/ta/
2020-11-13 17:28:15 -05:00
Niels van Velzen
e5c0acb0cd Fix issue where using the "Play Next Up" button on series would crash the app 2020-11-13 23:09:12 +01:00
Niels van Velzen
3241beec03 Fix issue where using the "Play All" button on series would crash the app 2020-11-13 23:04:35 +01:00
Mr. Chip53
e6a1c01963 Use CustomListRowPresenter 2020-11-13 15:14:07 -06:00
Chris
00af43ab87 Merge branch 'master' into image-card-redesign 2020-11-13 14:02:57 -06:00
Mr. Chip53
2ca1abc9d6 Shift import 2020-11-13 13:58:50 -06:00
Mr. Chip53
3adac0efdc Fix broken AudioNowPlayingActivity.java merge part 2 2020-11-13 13:56:59 -06:00
Mr. Chip53
f8e92b96d2 Fix broken AudioNowPlayingActivity.java merge 2020-11-13 13:55:10 -06:00
Mr. Chip53
0f62c7e2d8 Apply background alpha with Glide 2020-11-13 13:51:24 -06:00
Mr. Chip53
d4d7109d31 Unwatched 99+ 2020-11-13 12:35:43 -06:00
Mr. Chip53
fb48050f80 New progressbar and image_card_view.xml redesign 2020-11-13 12:31:39 -06:00
Niels van Velzen
553eeafd22 Remove unused build.sh/.yaml files 2020-11-13 19:13:01 +01:00
Niels van Velzen
df89e6b3e5 Remove outdated docker files 2020-11-13 19:05:07 +01:00
Niels van Velzen
f1d32efe01 Add missing super call for onRequestPermissionsResult 2020-11-13 18:43:53 +01:00
Bill Thornton
1a3f503923 Merge pull request #622 from nielsvanvelzen/login-ui
Small UI tweaks in login redesign
2020-11-13 11:30:20 -05:00
Niels van Velzen
8e4feafed5 Update Koin usages to fix compile errors 2020-11-13 17:08:35 +01:00
Niels van Velzen
4a7e94c02f Update Gradle, Gradle plugins, Android target/compile version and app dependencies to latest versions 2020-11-13 16:54:25 +01:00
Niels van Velzen
5f52249169 Remove unused dimens file 2020-11-13 16:20:48 +01:00
Niels van Velzen
264025aad3 Slightly improve button positioning 2020-11-13 16:06:01 +01:00
Niels van Velzen
98d0ae15eb Improve toolbar button design 2020-11-13 16:01:21 +01:00
Niels van Velzen
5b6b794777 Improve alert button design 2020-11-13 15:58:03 +01:00
Lukáš Kucharczyk
8139770c5e Translated using Weblate (Czech)
Currently translated at 100.0% (417 of 417 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/cs/
2020-11-13 08:07:21 -05:00
PA3LIT0
82ddcad5ac Translated using Weblate (Polish)
Currently translated at 97.5% (403 of 413 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/pl/
2020-11-13 02:30:13 -05:00
Bill Thornton
3e6c48c230 Merge pull request #621 from nielsvanvelzen/itemlistactivitygobackplease
Fix back action not working in ItemListActivity
2020-11-12 16:37:35 -05:00
Niels van Velzen
8907947e0a Merge pull request #620 from thornbill/apiclient-inject
Fix apiclient injection using Java method
2020-11-12 22:21:54 +01:00
Niels van Velzen
055d0023fb Fix back action not working in ItemListActivity 2020-11-12 22:14:55 +01:00
Bill Thornton
bcace214c9 Fix apiclient injection using Java method 2020-11-12 16:12:32 -05:00
Niels van Velzen
3a4716afc9 Merge pull request #616 from MrChip53/ends-at-v2
Re-add "Ends at" time to playback control overlay
2020-11-12 21:08:38 +01:00
Chris
4e770a45a3 Merge branch 'master' into ends-at-v2 2020-11-12 13:56:45 -06:00
Niels van Velzen
50e64c8840 Merge pull request #578 from thornbill/login-redesign
Login redesign
2020-11-12 20:29:15 +01:00
Mr. Chip53
b04856e58e Codacy issues; align ProgressBar to bottom of ImageView 2020-11-12 13:10:00 -06:00
Bill Thornton
ef88c0032a Fix review feedback 2020-11-12 13:58:41 -05:00
Bill Thornton
4167cb7887 Fix inconsistent message resource naming 2020-11-12 13:31:52 -05:00
Bill Thornton
b72993126d Fix failing tests 2020-11-12 13:15:09 -05:00
Mr. Chip53
3a9d1682cd Round image border 2020-11-12 12:14:40 -06:00
Bill Thornton
3631e2e33d Fix review feedback 2020-11-12 11:53:13 -05:00
Mr. Chip53
b5b0cfc1a1 Fix black bar issue 2020-11-11 19:31:28 -06:00
Mr. Chip53
4e9334d5f9 Fix background for chapter selection, make border color be based off theme, remove drop shadows 2020-11-11 19:31:18 -06:00
Mr. Chip53
79d01fdc60 More xml redesign 2020-11-11 19:31:18 -06:00
Mr. Chip53
d233701f77 Add focus listener for card views in MyImageCardView.java; Remove shadow in PositionableListRowPresenter.java 2020-11-11 19:31:18 -06:00
Mr. Chip53
6522a7670e Remove background transparent black in activity_full_details.xml 2020-11-11 19:31:18 -06:00
Mr. Chip53
8864db6000 Get rid of the RowPresenter out of focus shadow in PositionableListRowPresenter.java 2020-11-11 19:31:17 -06:00
Mr. Chip53
011c4aa163 More xml redesign 2020-11-11 19:31:17 -06:00
Mr. Chip53
1af3ff8083 Add focus listener for card views in MyImageCardView.java; Remove shadow in PositionableListRowPresenter.java 2020-11-11 19:31:17 -06:00
Mr. Chip53
d33b5b203d Add ColorFilter to background drawable in BackgroundManagerExtensions.kt 2020-11-11 19:31:17 -06:00
Mr. Chip53
33cc506665 Add white border and redesign image_card_view.xml 2020-11-11 19:31:17 -06:00
newton181
d7abfb4ed2 Translated using Weblate (Spanish (Mexico))
Currently translated at 99.7% (412 of 413 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/es_MX/
2020-11-11 05:04:29 -05:00
Mr. Chip53
ec78e01e51 Remove refresh end time task when video is resumed 2020-11-10 22:33:58 -06:00
Mr. Chip53
5664e84f59 Use leanback style and initialize mEndsText earlier with proper displayed text 2020-11-10 22:21:30 -06:00
Ted van den Brink
30cdad8658 Translated using Weblate (Dutch)
Currently translated at 100.0% (413 of 413 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/nl/
2020-11-10 18:49:07 -05:00
nusu-github
2bb6842629 Translated using Weblate (Japanese)
Currently translated at 72.6% (300 of 413 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/ja/
2020-11-10 14:48:43 -05:00
nusu-github
b7544a0e66 Translated using Weblate (Japanese)
Currently translated at 72.6% (300 of 413 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/ja/
2020-11-10 10:16:44 -05:00
Mr. Chip53
361771836a Explicit scopes 2020-11-09 23:00:21 -06:00
Mr. Chip53
726632988c Address comments from review; change visibility accordingly in handler 2020-11-09 22:54:30 -06:00
Bill Thornton
83d5c0a4f1 Fix review feedback 2020-11-09 11:08:21 -05:00
Mr. Chip53
69094ffe4c Move TextView initialization back to createRowViewHolder in CustomPlaybackTransportControlGlue.java 2020-11-08 20:33:06 -06:00
Mr. Chip53
307f7962ca Null check mEndsText before adding to playback controls 2020-11-08 16:20:59 -06:00
Mr. Chip53
e6d7a43e2c Use leanback style and initialize mEndsText earlier with proper displayed text 2020-11-08 16:14:50 -06:00
Ricky Zhang
a0cf334189 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (413 of 413 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/zh_Hans/
2020-11-08 12:52:54 -05:00
Mr. Chip53
f8a964d532 Add string entry for "Ends at"; Null checks on context 2020-11-07 13:54:34 -06:00
Mr. Chip53
9ff8654f43 Fix time displayed; moved TextView creation to onCreate; set default text of TextView to "Loading..." 2020-11-07 13:43:46 -06:00
Ludovico Besana
f9c2c1aa59 Translated using Weblate (Italian)
Currently translated at 96.3% (398 of 413 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/it/
2020-11-07 13:52:09 -05:00
Mr. Chip53
8e5db7a1d1 Codacy 2020-11-07 10:13:06 -06:00
Mr. Chip53
b10d90773d Re-add "Ends at" time to playback control overlay 2020-11-07 09:50:09 -06:00
Bill Thornton
e688d55666 Fix some login test feedback 2020-11-07 00:52:27 -05:00
Bill Thornton
33abd60eb0 Rewrite login flow
Rewrite auth to use mvvm and koin

Add add server button

Add catch for null ServerInfo in legacy saved credentials

Fix resource leaking in JsonFileSource

Enable improved logging for resource leaking

Add new login flow

Use KeyboardFocusChangeListener for handling keyboard hiding

Fix codacy issues

Add toolbar to server list screen

Fix padding on server list

Remove unused import

Fix back navigation in MainActivity

Fix crash due to missing ServerInfo

Convert StartupActivity to Kotlin

Move add server button to toolbar

Fix window not resizing in user login fragment

Add hints for username and password fields

Fix codacy issues

Remove old comment

Remove old login code

Test Codacy ignore

Use local serializer for JsonFileSource

Fix codacy issues

Move gson instance to koin module

Add prefill for username in login fragment

Add equals overrides for User and Server models

Update blank server name check

Add UserConfiguration and UserPolicy models

Move resource debug logging to JellyfinApplication

Suppress warnings

Fix formatting

Add loading state to server list

Prevent submission of empty login forms

Add basic error handling for invalid login

Suppress exception handling warnings

Remove hardcoded strings
2020-11-07 00:52:27 -05:00
Bill Thornton
e3459cb35c Translated using Weblate (Korean)
Currently translated at 100.0% (413 of 413 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/ko/
2020-11-07 00:51:30 -05:00
JB
b0617de6c0 Translated using Weblate (Korean)
Currently translated at 100.0% (413 of 413 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/ko/
2020-11-06 14:58:10 -05:00
Bill Thornton
e7a41aa654 Merge pull request #613 from nielsvanvelzen/translation-warn
Set "ExtraTranslation" linting rule to warning
2020-11-05 12:25:54 -05:00
Niels van Velzen
0c7ca926da Set "ExtraTranslation" linting rule to warning 2020-11-05 17:45:54 +01:00
SaddFox
5fbcc1aceb Translated using Weblate (Slovenian)
Currently translated at 54.9% (227 of 413 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/sl/
2020-11-05 09:13:04 -05:00
lldsolitude
091608665f Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (413 of 413 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/zh_Hans/
2020-11-05 07:16:28 -05:00
Bill Thornton
787620e68c Merge pull request #611 from thornbill/fix-format-error
Fix formatting issue in Chinese translations
2020-11-05 01:07:56 -05:00
Bill Thornton
ae354de804 Fix formatting issue in Chinese translations 2020-11-05 00:59:20 -05:00
Tim Gels
f97bed33bf Translated using Weblate (Dutch)
Currently translated at 99.2% (410 of 413 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/nl/
2020-11-04 15:27:30 -05:00
Jan-Pieter Baert
ba1e6f0ae7 Translated using Weblate (Dutch)
Currently translated at 99.2% (410 of 413 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/nl/
2020-11-02 23:18:00 -05:00
Eduardo Fernández
17c33c662d Translated using Weblate (Spanish)
Currently translated at 100.0% (413 of 413 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/es/
2020-11-01 12:37:23 -05:00
federico.antoniazzi.000
2e5744ad17 Translated using Weblate (Italian)
Currently translated at 95.6% (395 of 413 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/it/
2020-10-31 22:03:27 -04:00
Khang Phan
fe9b562518 Translated using Weblate (Vietnamese)
Currently translated at 99.7% (412 of 413 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/vi/
2020-10-31 19:35:17 -04:00
Gubb Jonas
fa861801d8 Translated using Weblate (Swedish)
Currently translated at 100.0% (413 of 413 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/sv/
2020-10-30 19:36:33 -04:00
4d1m
002577e804 Translated using Weblate (Romanian)
Currently translated at 96.3% (398 of 413 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/ro/
2020-10-30 08:47:33 -04:00
Carlos Romani
c8de9e8fd4 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (413 of 413 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/pt_BR/
2020-10-29 21:37:49 -04:00
Oatavandi
522491c7db Translated using Weblate (Tamil)
Currently translated at 100.0% (413 of 413 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/ta/
2020-10-29 14:56:56 -04:00
WWWesten
8879dc5243 Translated using Weblate (Russian)
Currently translated at 100.0% (413 of 413 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/ru/
2020-10-29 14:56:56 -04:00
hoanghuy309
b371976952 Translated using Weblate (Vietnamese)
Currently translated at 99.5% (411 of 413 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/vi/
2020-10-28 10:07:55 -04:00
無情天
61ec27eaf9 Translated using Weblate (Chinese (Simplified))
Currently translated at 98.0% (405 of 413 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/zh_Hans/
2020-10-26 12:11:52 -04:00
Moritz
11a048bf4d Translated using Weblate (German)
Currently translated at 100.0% (413 of 413 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/de/
2020-10-26 12:11:52 -04:00
Thomas Schwery
289e5f2149 Translated using Weblate (French)
Currently translated at 100.0% (413 of 413 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/fr/
2020-10-26 02:39:07 -04:00
Lukáš Kucharczyk
087babe3cc Translated using Weblate (Czech)
Currently translated at 100.0% (413 of 413 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/cs/
2020-10-25 16:56:23 -04:00
Nikita Epifanov
47885a5997 Translated using Weblate (Russian)
Currently translated at 96.8% (397 of 410 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/ru/
2020-10-25 16:00:40 -04:00
Niels van Velzen
ffc58b5a9e Merge pull request #604 from thornbill/libvlc-avi
Remove direct play support for avi with libvlc
2020-10-23 18:39:31 +02:00
Bill Thornton
4b23951f6d Remove direct play support for avi with libvlc 2020-10-23 10:44:11 -04:00
Niels van Velzen
092741f58d Merge pull request #586 from jemlule/content-labels
Fix unlabeled image buttons for accessibility
2020-10-23 10:20:48 +02:00
Niels van Velzen
dd8e8746a8 Merge pull request #603 from thornbill/bump-libvlc
Update to latest libvlc release
2020-10-23 09:06:12 +02:00
Pietro Iuliano
612c69c437 Translated using Weblate (Italian)
Currently translated at 93.4% (383 of 410 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/it/
2020-10-23 00:07:58 -04:00
Bill Thornton
a3e961ed00 Update to latest libvlc release 2020-10-22 23:57:02 -04:00
Bill Thornton
158841cb7d Merge pull request #599 from nielsvanvelzen/tired-of-apiclient-work
Add JellyfinApplication class
2020-10-22 10:06:50 -04:00
Moritz
4d8581d7b4 Translated using Weblate (German)
Currently translated at 100.0% (410 of 410 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/de/
2020-10-21 11:58:15 -04:00
CHO MIN-SOO
6963eb5417 Translated using Weblate (Korean)
Currently translated at 81.2% (333 of 410 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/ko/
2020-10-21 02:26:51 -04:00
Daan
e5c09d27a4 Translated using Weblate (Dutch)
Currently translated at 91.4% (375 of 410 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/nl/
2020-10-20 19:06:03 -04:00
Vitorvlv
3b8033fe29 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (410 of 410 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/pt_BR/
2020-10-19 17:44:21 -04:00
Gubb Jonas
2e051707a9 Translated using Weblate (Swedish)
Currently translated at 98.5% (404 of 410 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/sv/
2020-10-19 16:43:21 -04:00
hoanghuy309
f6c18a7a45 Translated using Weblate (Vietnamese)
Currently translated at 99.0% (406 of 410 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/vi/
2020-10-19 14:22:14 -04:00
Franco Castillo
4d101ba76e Translated using Weblate (Spanish (Argentina))
Currently translated at 28.2% (116 of 410 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/es_AR/
2020-10-19 14:22:14 -04:00
lelamamalgache
b017dc7c13 Translated using Weblate (French)
Currently translated at 100.0% (410 of 410 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/fr/
2020-10-19 13:40:09 -04:00
jemlule
b013c0fb65 Fix multiple declarations for content description 2020-10-19 18:39:26 +02:00
jemlule
2ada436e4d Remove private declaration for buttons view 2020-10-19 18:34:29 +02:00
Oatavandi
9971452f16 Translated using Weblate (Tamil)
Currently translated at 100.0% (410 of 410 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/ta/
2020-10-19 12:02:09 -04:00
Calum Smith
af429f3c47 Translated using Weblate (English (United Kingdom))
Currently translated at 93.4% (383 of 410 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/en_GB/
2020-10-19 07:57:46 -04:00
Lukáš Kucharczyk
ab337663e2 Translated using Weblate (Czech)
Currently translated at 100.0% (410 of 410 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/cs/
2020-10-19 07:57:46 -04:00
Piotr Kraszewski
a97f3b77ee Translated using Weblate (Polish)
Currently translated at 99.2% (402 of 405 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/pl/
2020-10-18 20:06:48 -04:00
Niels van Velzen
483937ca6b Move activity lifecycle callbacks to DI module 2020-10-18 19:45:14 +02:00
Niels van Velzen
813b5fe686 Rearrange JellyfinApplication.kt 2020-10-18 19:45:13 +02:00
Niels van Velzen
d0844470e2 Remove TvApp.getResumePreroll (moved to usage locations) 2020-10-18 19:45:07 +02:00
Niels van Velzen
bc091a8ff2 Remove TvApp.directItemId 2020-10-18 19:42:58 +02:00
Niels van Velzen
2631b9234f Add new JellyfinApplication class to replace TvApp 2020-10-18 19:42:57 +02:00
Niels van Velzen
2e930f90e3 Merge pull request #571 from okan35/featurePlayWith
Feature play with button
2020-10-18 19:39:03 +02:00
okan35
ea11eaadf7 episode check added for play with button 2020-10-18 19:34:11 +02:00
Gubb Jonas
8b9161c81c Translated using Weblate (Swedish)
Currently translated at 91.8% (372 of 405 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/sv/
2020-10-17 05:25:46 -04:00
Niels van Velzen
a4013da616 Merge pull request #598 from thornbill/fix-kotlin-version
Fix invalid formatting of kotlin version
2020-10-15 15:41:38 +02:00
Bill Thornton
d39c4dbf1b Fix invalid formatting of kotlin version 2020-10-15 09:30:01 -04:00
wbrmdz
a6abd861b2 Translated using Weblate (Spanish (Latin America))
Currently translated at 100.0% (405 of 405 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/es_419/
2020-10-14 20:33:51 -04:00
wbrmdz
28864b63d5 Translated using Weblate (Spanish)
Currently translated at 100.0% (405 of 405 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/es/
2020-10-14 20:33:51 -04:00
Niels van Velzen
ec0a6ff4ac Merge pull request #597 from thornbill/bump-kotlin
Bump kotlin version
2020-10-14 20:36:08 +02:00
Bill Thornton
fb9b2b2259 Bump kotlin version 2020-10-14 13:49:31 -04:00
Thomas Schwery
1e97a8e9b8 Translated using Weblate (French)
Currently translated at 100.0% (405 of 405 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/fr/
2020-10-13 18:18:46 -04:00
okan35
893a3bfa5b button icon change 2020-10-10 16:22:20 +02:00
Page Asgardius
727a2e8e35 Translated using Weblate (Spanish)
Currently translated at 99.2% (402 of 405 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/es/
2020-10-09 17:47:42 -04:00
Phillip Zhai
e6eecc8e4a Translated using Weblate (Chinese (Simplified))
Currently translated at 97.7% (396 of 405 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/zh_Hans/
2020-10-09 00:11:00 -04:00
hanka456
df46fcf80e Translated using Weblate (Swedish)
Currently translated at 91.6% (371 of 405 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/sv/
2020-10-08 17:39:04 -04:00
Erik Ušaj
bbaa008ffa Translated using Weblate (Slovenian)
Currently translated at 56.0% (227 of 405 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/sl/
2020-10-08 07:47:28 -04:00
Niels van Velzen
c04eb0da53 Merge pull request #593 from thornbill/lint
Add Lint CI job
2020-10-08 09:01:40 +02:00
Bill Thornton
a03a0a604d Fix lint errors 2020-10-07 17:03:45 -04:00
Bill Thornton
d7a39f950e Move lint to separate job 2020-10-07 16:43:34 -04:00
Bill Thornton
039624622f Add lint task to Test CI job 2020-10-07 16:39:09 -04:00
Niels van Velzen
bc3f8d12d2 Merge pull request #592 from thornbill/use-context-compat
Use ContextCompat and ResourcesCompat for retrieving drawables
2020-10-07 22:28:39 +02:00
Bill Thornton
ebdcb74e4b Use ContextCompat and ResourcesCompat for retrieving drawables 2020-10-07 16:04:32 -04:00
Niels van Velzen
21d5946879 Merge pull request #591 from thornbill/unused-code
General cleanup
2020-10-07 20:01:09 +02:00
Juan Hernández
6189b862b2 Translated using Weblate (Spanish)
Currently translated at 94.0% (381 of 405 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/es/
2020-10-07 13:35:58 -04:00
Niels van Velzen
2d32196bda Merge pull request #589 from MrChip53/fix-live-tv-aspect
Fix Live TV tiles aspect ratio in CardPresenter.java
2020-10-07 08:46:47 +02:00
Mr. Chip53
6435fbd49d Unused import 2020-10-06 18:47:08 -05:00
Mr. Chip53
49fd2ce2da Move Live TV tile fix to ImageUtils and add check that only applies if tile has Primary image 2020-10-06 18:33:05 -05:00
Bill Thornton
e2e5a7f667 Merge pull request #579 from MrChip53/live-tv-favorites
Adds the ability to favorite live tv channels
2020-10-06 15:54:17 -04:00
Bill Thornton
1ec6dfca2b Remove unused imports 2020-10-06 15:40:56 -04:00
Bill Thornton
279e261d3b Use constants for SDK versions and remove unneeded check 2020-10-06 15:31:01 -04:00
Bill Thornton
fabfc60e39 Use ContextCompat for getting resources 2020-10-06 15:29:56 -04:00
Bill Thornton
a0a55599a2 Remove unused util methods 2020-10-06 15:21:00 -04:00
Bill Thornton
ab75388def Remove unused classes 2020-10-06 15:09:08 -04:00
Yoav Levi
78445674bd Translated using Weblate (Hebrew (Israel))
Currently translated at 7.9% (32 of 405 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/he_IL/
2020-10-06 11:18:13 -04:00
DrRenz
475fe0b4f0 Translated using Weblate (German)
Currently translated at 100.0% (405 of 405 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/de/
2020-10-06 05:28:25 -04:00
Mr. Chip53
47b466beb7 Fix Live TV tiles aspect ratio in CardPresenter.java 2020-10-06 00:14:20 -05:00
okan35
401799cb05 show playWith button on certain screens 2020-10-05 20:57:28 +02:00
shower
94b086ac0c Translated using Weblate (Chinese (Simplified))
Currently translated at 93.8% (380 of 405 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/zh_Hans/
2020-10-05 07:47:22 -04:00
Moritz
03247dbe77 Translated using Weblate (German)
Currently translated at 100.0% (405 of 405 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/de/
2020-10-05 07:47:22 -04:00
jemlule
ef4c8a7eed Change PlayPauseButton label when updateButtons() 2020-10-04 14:09:00 +02:00
jemlule
420284414e Use context instead of TvApp.getApplication() 2020-10-04 14:09:00 +02:00
jemlule
c5b21c3478 Assign findViewById to a variable 2020-10-04 14:09:00 +02:00
Niels van Velzen
26158d8d43 Merge pull request #581 from MrChip53/improve-ff-rewind
Improvements to fast forward and rewind
2020-10-04 11:49:32 +02:00
Mr. Chip53
6c4309af42 Remove excess function calls 2020-10-03 16:57:29 -05:00
Odd-Roar Brouer-Wangen
4281096891 Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (405 of 405 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/nb_NO/
2020-10-03 16:42:10 -04:00
Peter McNeil
f31cd6ec52 Translated using Weblate (English (United Kingdom))
Currently translated at 91.8% (372 of 405 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/en_GB/
2020-10-03 16:42:09 -04:00
Oatavandi
ccb47ab9af Translated using Weblate (Tamil)
Currently translated at 100.0% (405 of 405 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/ta/
2020-10-03 14:49:14 -04:00
jemlule
ae6760d20f Label image buttons for accessibility 2020-10-03 11:58:25 +02:00
Mr. Chip53
26680870c0 Fix null pointer bug in the guide activities 2020-10-03 02:22:07 -05:00
Mr. Chip53
2f3774d970 Revert seek bar jump back to 30 seconds in CustomSeekProvider.java 2020-10-02 23:12:50 -05:00
Thomas Schwery
53ef32e322 Translated using Weblate (French)
Currently translated at 99.0% (401 of 405 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/fr/
2020-10-02 16:47:45 -04:00
Page Asgardius
07c585a335 Translated using Weblate (Spanish (Latin America))
Currently translated at 99.2% (402 of 405 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/es_419/
2020-10-02 12:19:00 -04:00
Page Asgardius
2b9918e02a Translated using Weblate (Spanish (Latin America))
Currently translated at 94.0% (381 of 405 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/es_419/
2020-10-02 11:18:15 -04:00
Page Asgardius
ae62627be6 Translated using Weblate (Spanish (Mexico))
Currently translated at 99.0% (401 of 405 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/es_MX/
2020-10-02 11:18:14 -04:00
vinibutturi
4162e11cca Translated using Weblate (Portuguese (Brazil))
Currently translated at 94.3% (382 of 405 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/pt_BR/
2020-10-02 07:09:17 -04:00
Niels van Velzen
d623b10321 Merge pull request #583 from thornbill/remove-color-vomit
Remove color vomit card backgrounds
2020-10-01 22:52:36 +02:00
Bill Thornton
ee546ba963 Remove palette dependency 2020-10-01 16:44:03 -04:00
Bill Thornton
74600517af Remove color vomit card backgrounds 2020-10-01 16:27:10 -04:00
Niels van Velzen
5ffbfd98f2 Merge pull request #582 from thornbill/fix-card-bg
Update default card background color
2020-10-01 21:56:07 +02:00
Bill Thornton
24f2faced2 Update default card background color 2020-10-01 15:43:40 -04:00
Mr. Chip53
c55b2228e1 Fix CustomSeekProviderTest.java for real this time 2020-10-01 14:13:12 -05:00
Mr. Chip53
fe97fd56e7 Fix CustomSeekProviderTest.java 2020-10-01 14:08:10 -05:00
Mr. Chip53
c857b17df4 Fix fastForward() function in PlaybackController.java 2020-10-01 14:02:03 -05:00
Mr. Chip53
97f05390bc Remove unused variables in VideoPlayerAdapter.java 2020-10-01 13:50:32 -05:00
Mr. Chip53
6ccc1a6733 Add "dynamic" fast forward and rewind; split seek bar into more precise steps 2020-10-01 13:41:24 -05:00
hoanghuy309
e6f481ee51 Translated using Weblate (Vietnamese)
Currently translated at 99.0% (401 of 405 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/vi/
2020-10-01 03:31:37 -04:00
Mr. Chip53
59896c3400 Implemented detail update task when scrolling channel headers 2020-10-01 01:15:11 -05:00
Mr. Chip53
9ebbd8348c Remove unused import 2020-10-01 00:38:14 -05:00
Mr. Chip53
57d60de15a Add explicit private scopes 2020-10-01 00:28:19 -05:00
Mr. Chip53
79b7c9f1d8 Adds the ability to favorite live tv channels 2020-10-01 00:09:13 -05:00
Bill Thornton
66d4691acc Merge pull request #577 from MrChip53/live-tv-settings-fix
Fix Live TV settings
2020-09-30 23:25:24 -04:00
Lukáš Kucharczyk
f7fb1a6d70 Translated using Weblate (Czech)
Currently translated at 100.0% (405 of 405 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/cs/
2020-09-30 11:30:47 -04:00
Frederik Andersen
942ce35518 Translated using Weblate (Danish)
Currently translated at 92.0% (371 of 403 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/da/
2020-09-30 10:31:19 -04:00
Mr. Chip53
806baeec47 Fix Live TV settings 2020-09-30 00:56:55 -05:00
Bill Thornton
13e0177e87 Merge pull request #569 from MrChip53/live-tv-improvements
Live TV improvements
2020-09-29 23:23:15 -04:00
Mr. Chip53
0b14be1f4a Remove accidental commit 2020-09-29 19:43:17 -05:00
Mr. Chip53
d274b1d066 Requested changes and a couple more hardcoded strings 2020-09-29 19:37:15 -05:00
Niels van Velzen
96f599bef5 Merge pull request #576 from thornbill/fix-keyboard-focus
Fix keyboard not closing when focus is lost
2020-09-29 22:41:27 +02:00
Bill Thornton
b9d521d57e Remove unneeded null check 2020-09-29 16:11:20 -04:00
Bill Thornton
30d6d81ab5 Fix keyboard not closing when focus is lost 2020-09-29 15:39:05 -04:00
Panopoulos Andreas
a423c4908b Translated using Weblate (Greek)
Currently translated at 78.4% (316 of 403 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/el/
2020-09-29 07:35:57 -04:00
Tomi
5cc85c1f84 Translated using Weblate (Finnish)
Currently translated at 54.8% (221 of 403 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/fi/
2020-09-29 04:18:38 -04:00
Mr. Chip53
8b0bacbc14 Fix for bug that locked up non-live guide when re-entering from main menu 2020-09-28 23:15:31 -05:00
Kristupas
f0cb5b3567 Translated using Weblate (Lithuanian)
Currently translated at 14.6% (59 of 403 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/lt/
2020-09-28 05:13:09 -04:00
Mr. Chip53
c0da70177f Fix issue #284 and the issue I discovered with the infinite spinner when live guide refreshes 2020-09-27 22:08:07 -05:00
Bill Thornton
90df84faa0 Merge pull request #572 from nielsvanvelzen/stalebot
Add Stale bot configuration
2020-09-27 18:12:15 -04:00
Niels van Velzen
47f6541eba Add Stale bot configuration 2020-09-27 21:19:04 +02:00
Mr. Chip53
07e489f6f0 Fix favorites at top bug 2020-09-27 11:38:49 -05:00
okan35
908f99c801 removed unused imports - string change 2020-09-27 11:26:54 +02:00
okan35
8ffba55364 changes from review 2020-09-27 11:19:27 +02:00
Mr. Chip53
461fe1ceb7 Requested changes #1 2020-09-26 21:49:32 -05:00
okan35
d4f57744fe working external player 2020-09-26 20:28:22 +02:00
Panopoulos Andreas
73eb6d97a9 Translated using Weblate (Greek)
Currently translated at 76.1% (307 of 403 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/el/
2020-09-26 08:29:52 -04:00
okan35
502c3ff718 progress on play with feature 2020-09-26 14:21:03 +02:00
Finios
377f69fb51 Translated using Weblate (German)
Currently translated at 100.0% (371 of 371 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/de/
2020-09-26 06:12:25 -04:00
Mr. Chip53
f782cf1dcd Change condition to start channel vs open options 2020-09-25 23:11:44 -05:00
hoanghuy309
a22da816b7 Translated using Weblate (Vietnamese)
Currently translated at 97.5% (393 of 403 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/vi/
2020-09-25 23:54:01 -04:00
hoanghuy309
43a21dea6f Translated using Weblate (Vietnamese)
Currently translated at 82.8% (334 of 403 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/vi/
2020-09-25 23:12:14 -04:00
Mr. Chip53
d468551207 change short press to play channel ONLY if its on the show currently airing; Remove comment 2020-09-25 20:56:29 -05:00
Mr. Chip53
809262a4a7 Long press and short press in live tv guide 2020-09-24 14:56:20 -05:00
Mr. Chip53
57cfc9acc0 Finished with channel surfing feature 2020-09-24 13:13:54 -05:00
Mr. Chip53
85ecab7250 Fix back button for Live TV while viewing show 2020-09-24 12:35:42 -05:00
Mr. Chip53
b452f7fe5f Attach channel header scrolling to program scrolling; fixed half of lost focus bug 2020-09-24 01:20:49 -05:00
Mr. Chip53
3524401a9b Add channel surfing in live guide using channel headers; long press and short press actions in non-live guide; skip adding programs that are for a time slot that has been filled by a previous program; fix issue with live guide over scrolling to the left 2020-09-24 00:46:35 -05:00
Bill Thornton
9e993eedd2 Merge pull request #570 from thornbill/theme-manager-package
Move ThemeManager to proper package
2020-09-23 17:37:00 -04:00
Bill Thornton
8916cb741f Move ThemeManager to proper package 2020-09-23 17:24:27 -04:00
Mr. Chip53
4e8d33d387 Last hard coded string 2020-09-22 23:31:17 -05:00
Mr. Chip53
a913f133c6 Remove hard coded strings; start implementing 30 minutes No Program segments 2020-09-22 23:24:02 -05:00
Mr. Chip53
eb37af39b1 Add channel name to info bar in CustomPlaybackOverlayFragment.java for <No Program Data> programs. 2020-09-22 21:41:16 -05:00
Mr. Chip53
8983d5c8f2 Add channel name to info bar for <No Program Data> programs. 2020-09-22 21:31:48 -05:00
hoanghuy309
ae01685e43 Translated using Weblate (Vietnamese)
Currently translated at 81.6% (329 of 403 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/vi/
2020-09-22 21:47:12 -04:00
nextlooper42
55dda0fc18 Translated using Weblate (Slovak)
Currently translated at 92.8% (374 of 403 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/sk/
2020-09-22 21:47:10 -04:00
okan35
219545b26a menu is working 2020-09-22 21:02:14 +02:00
Thomas Schwery
04d81b3e73 Translated using Weblate (French)
Currently translated at 99.0% (399 of 403 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/fr/
2020-09-22 14:46:38 -04:00
Thomas Schwery
fb3616f021 Translated using Weblate (French)
Currently translated at 98.7% (398 of 403 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/fr/
2020-09-21 15:21:58 -04:00
okan35
461255985c play with work 2020-09-21 21:16:41 +02:00
hoanghuy309
90618dbbfd Translated using Weblate (Vietnamese)
Currently translated at 66.0% (266 of 403 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/vi/
2020-09-20 13:03:03 -04:00
jeremletrol81
6c3ab10dbc Translated using Weblate (French)
Currently translated at 98.7% (398 of 403 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/fr/
2020-09-20 13:02:59 -04:00
jeremletrol81
58fe16d908 Translated using Weblate (French)
Currently translated at 98.0% (395 of 403 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/fr/
2020-09-20 07:35:08 -04:00
hoanghuy309
081314a517 Translated using Weblate (Vietnamese)
Currently translated at 41.6% (168 of 403 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/vi/
2020-09-19 04:39:24 -04:00
hoanghuy309
6cb87565ef Translated using Weblate (Vietnamese)
Currently translated at 29.7% (120 of 403 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/vi/
2020-09-19 03:50:41 -04:00
hoanghuy309
112bd33190 Added translation using Weblate (Vietnamese) 2020-09-19 02:09:09 -04:00
UltraHKR
909a2c24bc Translated using Weblate (Spanish (Latin America))
Currently translated at 100.0% (371 of 371 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/es_419/
2020-09-17 19:06:02 -04:00
tluciomiranda
1903a677e4 Translated using Weblate (Portuguese (Portugal))
Currently translated at 99.0% (399 of 403 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/pt_PT/
2020-09-17 17:41:52 -04:00
tluciomiranda
363891d084 Translated using Weblate (Portuguese (Portugal))
Currently translated at 91.0% (367 of 403 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/pt_PT/
2020-09-17 17:02:06 -04:00
tluciomiranda
de0196db21 Translated using Weblate (Portuguese (Portugal))
Currently translated at 91.0% (367 of 403 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/pt_PT/
2020-09-17 16:56:45 -04:00
Oatavandi
67aa5e8df0 Translated using Weblate (Tamil)
Currently translated at 100.0% (403 of 403 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/ta/
2020-09-17 16:33:35 -04:00
Thomas Schwery
caf68275a0 Translated using Weblate (French)
Currently translated at 96.0% (387 of 403 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/fr/
2020-09-16 16:00:43 -04:00
Niels van Velzen
d308991090 Merge pull request #560 from thornbill/koin
Add Koin for dependency injection
2020-09-15 21:19:31 +02:00
Bill Thornton
2b10c69bf9 Fix spacing for kotlin files
Co-authored-by: Niels van Velzen <nielsvanvelzen@users.noreply.github.com>
2020-09-15 14:53:39 -04:00
Oatavandi
44e758ecda Translated using Weblate (Tamil)
Currently translated at 37.2% (150 of 403 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/ta/
2020-09-15 12:32:15 -04:00
Lukáš Kucharczyk
65bb8a35ae Translated using Weblate (Czech)
Currently translated at 100.0% (403 of 403 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/cs/
2020-09-15 12:32:11 -04:00
federico.antoniazzi.000
36cbe9ebdd Translated using Weblate (Italian)
Currently translated at 99.7% (370 of 371 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/it/
2020-09-15 10:33:40 -04:00
Bill Thornton
82ac4a136c Fix indentation 2020-09-14 14:52:53 -04:00
Bill Thornton
8f6307ad06 Fix function parameter alignment 2020-09-14 14:47:00 -04:00
Bill Thornton
382c1b27fc Remove unused app instance 2020-09-14 13:57:03 -04:00
Bill Thornton
795c88283d Remove unused imports 2020-09-14 11:52:15 -04:00
Bill Thornton
fc273d1663 Use lazy injection 2020-09-14 11:45:37 -04:00
Bill Thornton
acdaa29b20 Use lazy injection 2020-09-14 11:44:49 -04:00
Bill Thornton
637a17a76c Remove unused imports 2020-09-14 11:44:49 -04:00
Bill Thornton
6925390599 Move playback manager to koin 2020-09-14 11:44:49 -04:00
Bill Thornton
560f1e1394 Remove unused imports 2020-09-14 11:44:48 -04:00
Bill Thornton
5576e86e0c Move preferences to koin 2020-09-14 11:40:25 -04:00
Bill Thornton
63948c5c22 Move apiclient instance to koin 2020-09-14 11:39:17 -04:00
Bill Thornton
57ac78ae90 Move Jellyfin instance to Koin 2020-09-14 11:33:14 -04:00
Bill Thornton
00ce142fea Add koin and use di for serializer 2020-09-14 11:33:13 -04:00
Niels van Velzen
b1f9986f2a Merge pull request #557 from thornbill/comment-cruft
Remove the remaining "Created by" comments
2020-09-14 17:03:13 +02:00
Bill Thornton
53cca7982c Remove comment cruft 2020-09-14 08:59:17 -04:00
Niels van Velzen
3270289ff7 Merge pull request #556 from thornbill/restructure
Cleanup app structure
2020-09-14 09:48:48 +02:00
Bill Thornton
a51490b7c8 Update base and preference package names 2020-09-13 23:15:10 -04:00
Bill Thornton
abe5cb3085 Add activity alias for StartupActivity 2020-09-12 17:46:27 -04:00
Bill Thornton
213b91d61a Make package names singular 2020-09-12 17:33:20 -04:00
Bill Thornton
31e49fa8a0 Merge pull request #558 from nielsvanvelzen/consistency-fixes
Slightly change build files to be more consistent with Android mobile app
2020-09-12 13:13:37 -04:00
Niels van Velzen
bda73e9386 Slightly change build files to be more consistent with Android mobile app.
- Updated apiclient
- Changed how version is set
- Updated getVersionCode function to support RC etc.
- Updated Dependency Substitution code after review in Android mobile repo
2020-09-12 12:46:44 +02:00
Oatavandi
964af83ace Translated using Weblate (Tamil)
Currently translated at 2.4% (10 of 403 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/ta/
2020-09-12 05:49:24 -04:00
Oatavandi
3b1320838c Added translation using Weblate (Tamil) 2020-09-12 03:48:54 -04:00
Bill Thornton
2de77f5719 Cleanup app structure 2020-09-11 17:10:42 -04:00
Hilman Maulana
3884c16735 Translated using Weblate (Indonesian)
Currently translated at 100.0% (371 of 371 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/id/
2020-09-11 03:14:25 -04:00
GiJaLo
35f03be038 Translated using Weblate (Dutch)
Currently translated at 100.0% (371 of 371 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/nl/
2020-09-09 06:46:06 -04:00
WWWesten
11850c21d5 Translated using Weblate (Russian)
Currently translated at 100.0% (371 of 371 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/ru/
2020-09-08 18:33:07 -04:00
WWWesten
832bc79993 Translated using Weblate (Russian)
Currently translated at 100.0% (371 of 371 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/ru/
2020-09-08 17:59:44 -04:00
WWWesten
8f43927943 Translated using Weblate (Russian)
Currently translated at 100.0% (371 of 371 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/ru/
2020-09-08 17:46:53 -04:00
Manuel
eb8e1c0c18 Translated using Weblate (Spanish)
Currently translated at 99.7% (370 of 371 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/es/
2020-09-07 21:07:57 -04:00
Hilman Maulana
32b0be3789 Translated using Weblate (Indonesian)
Currently translated at 95.4% (354 of 371 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/id/
2020-09-05 05:17:53 -04:00
Sverre
a27741b8ca Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (371 of 371 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/nb_NO/
2020-09-02 14:51:53 -04:00
WontTell
f248c95ae5 Translated using Weblate (Spanish (Latin America))
Currently translated at 99.7% (370 of 371 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/es_419/
2020-09-01 12:44:55 -04:00
nothing things
484633e3e3 Translated using Weblate (Bengali (Bangladesh))
Currently translated at 29.9% (111 of 371 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/bn_BD/
2020-09-01 12:44:54 -04:00
IR0NCaT
7f101b4440 Translated using Weblate (Russian)
Currently translated at 100.0% (371 of 371 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/ru/
2020-09-01 12:44:53 -04:00
4d1m
35459b74d8 Translated using Weblate (Romanian)
Currently translated at 100.0% (371 of 371 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/ro/
2020-09-01 12:44:53 -04:00
Mário Victor Ribeiro Silva
b809fccb17 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (371 of 371 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/pt_BR/
2020-09-01 12:44:53 -04:00
RiccardoDurante
4adc719ab1 Translated using Weblate (Italian)
Currently translated at 99.4% (369 of 371 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/it/
2020-09-01 12:44:53 -04:00
TheGoose
da7e13264b Translated using Weblate (English (United Kingdom))
Currently translated at 100.0% (371 of 371 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/en_GB/
2020-09-01 12:44:52 -04:00
Moritz
d71e429474 Translated using Weblate (German)
Currently translated at 100.0% (371 of 371 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/de/
2020-09-01 12:44:52 -04:00
XDavidT
bbd9daa137 Added translation using Weblate (Hebrew) 2020-09-01 12:44:36 -04:00
XDavidT
bcea76fb88 Added translation using Weblate (Hebrew (Israel)) 2020-09-01 12:44:36 -04:00
Niels van Velzen
311fafe2e6 Merge pull request #524 from willtrking/fix_vlc_atmos
Fix VLC audio passthrough
2020-08-21 20:58:04 +02:00
Bill Thornton
66d03cb48a Add missing setAudioOutput call 2020-08-21 14:38:32 -04:00
Bill Thornton
6e7ad894fd Merge pull request #540 from nielsvanvelzen/apiclient-070
Upgrade to apiclient 0.7.0
2020-08-21 14:30:14 -04:00
Niels van Velzen
2c2ac5780d Remove unused functions left over after removing server credential logic 2020-08-21 19:52:41 +02:00
Niels van Velzen
92cbb91227 Remove all "remember server" logic from StartupActivity for now
It's not working properly and needs to be rewritten, removing this code at least makes the app usable although each restart requires signin.
2020-08-21 19:45:13 +02:00
Niels van Velzen
ac66ed9875 Fix application crash when playback starts
Because somehow the playback manager needs the id of the server it's connected to (although a null value doesn't matter...)
2020-08-21 19:44:08 +02:00
Bill Thornton
ddcf6dae45 Merge pull request #549 from nielsvanvelzen/git-version
Git version
2020-08-21 10:50:22 -04:00
Niels van Velzen
a68fcc2e9a use JELLYFIN_VERSION for building/publishing in CI 2020-08-20 19:07:00 +02:00
Niels van Velzen
b2e73a1d5d Set app version from git tag 2020-08-20 19:02:12 +02:00
Niels van Velzen
1d931e030e Remove videolan maven repository
It's linked to jcenter so we don't need it
2020-08-19 11:32:56 +02:00
Niels van Velzen
bf823738a7 Use jcenter repository for apiclient and update version to 0.7.2 2020-08-19 11:28:50 +02:00
Niels van Velzen
d7516f6ddb Merge pull request #547 from nielsvanvelzen/😭
Fix weblate bad merge
2020-08-19 11:22:00 +02:00
Niels van Velzen
59aa0e695f Fix weblate bad merge 2020-08-19 10:14:19 +02:00
Hilman Maulana
4a116a9e75 Translated using Weblate (Indonesian)
Currently translated at 88.4% (328 of 371 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/id/
2020-08-19 03:26:35 -04:00
Hilman Maulana
6d88894870 Translated using Weblate (English)
Currently translated at 100.0% (371 of 371 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/en/
2020-08-19 03:26:35 -04:00
Niels van Velzen
ceb9d2ac8d Merge pull request #546 from PalAditya/master
Fix Hardcoded Texts
2020-08-19 09:24:58 +02:00
Marcin Woliński
cfb4f73a63 Translated using Weblate (Polish)
Currently translated at 99.1% (368 of 371 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/pl/
2020-08-18 16:56:31 -04:00
PalAditya
ae8a4f973c Implementing requested changes with template string 2020-08-19 00:25:12 +05:30
Niels van Velzen
0ac19d3912 Merge pull request #545 from thornbill/fix-next-up-crash
Fix corrupt images crashing NextUpActivity
2020-08-18 16:49:35 +02:00
Bill Thornton
b870d02061 Fix code review issues 2020-08-18 09:58:33 -04:00
PalAditya
106f9f2635 Replacing all strings with resource representations 2020-08-18 18:46:31 +05:30
PalAditya
9b55d2368e Test build strategy 2020-08-18 15:19:03 +05:30
Bill Thornton
5865d9ca53 Fix corrupt images crashing NextUpActivity 2020-08-18 00:57:54 -04:00
Niels van Velzen
16fcd41b33 Fix rebase issue 2020-08-15 11:07:10 +02:00
Niels van Velzen
2e0200fb56 Fix latest compile errors 2020-08-15 11:03:49 +02:00
Niels van Velzen
171931cfed Initialize apiclient in tvapp 2020-08-15 11:03:48 +02:00
Niels van Velzen
70c3144d62 Initial connectionManager changes 2020-08-15 11:03:48 +02:00
Niels van Velzen
77fad41890 Fix logger calls and removal of loginApiClient 2020-08-15 11:03:46 +02:00
Niels van Velzen
bc1e84af16 Fix SerializerRepository 2020-08-15 11:03:45 +02:00
Niels van Velzen
f73e882a33 Update TvApp to use the new ApiClient constructors 2020-08-15 11:03:39 +02:00
Marcin Woliński
f23e4bf765 Translated using Weblate (Polish)
Currently translated at 95.9% (356 of 371 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/pl/
2020-08-14 03:45:44 -04:00
Marcin Woliński
718d2abcae Translated using Weblate (Polish)
Currently translated at 73.3% (272 of 371 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/pl/
2020-08-13 15:35:05 -04:00
Marcin Woliński
891e827274 Translated using Weblate (Polish)
Currently translated at 71.1% (264 of 371 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/pl/
2020-08-13 15:27:31 -04:00
Marcin Woliński
9d65eb568b Translated using Weblate (Polish)
Currently translated at 59.8% (222 of 371 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/pl/
2020-08-13 07:41:04 -04:00
biAji
fa80657377 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (371 of 371 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/zh_Hans/
2020-08-13 07:41:04 -04:00
gnehs
2de08a44bc Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (371 of 371 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/zh_Hant/
2020-08-12 11:39:13 -04:00
gnehs
082b9f06b4 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (371 of 371 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/zh_Hant/
2020-08-12 11:10:38 -04:00
gnehs
befcab8e85 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (371 of 371 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/zh_Hant/
2020-08-12 11:10:32 -04:00
gnehs
54f55a8dee Translated using Weblate (Chinese (Traditional))
Currently translated at 99.4% (369 of 371 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/zh_Hant/
2020-08-12 11:00:23 -04:00
gnehs
35366a66c8 Translated using Weblate (Chinese (Traditional))
Currently translated at 99.4% (369 of 371 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/zh_Hant/
2020-08-12 10:59:02 -04:00
Felipe
ac4d335c4e Translated using Weblate (Spanish (Latin America))
Currently translated at 100.0% (371 of 371 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/es_419/
2020-08-10 00:20:04 -04:00
Felipe
a684acbc5b Translated using Weblate (Spanish (Latin America))
Currently translated at 100.0% (371 of 371 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/es_419/
2020-08-09 23:33:59 -04:00
Felipe
b2e674a506 Translated using Weblate (Spanish (Latin America))
Currently translated at 100.0% (371 of 371 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/es_419/
2020-08-09 22:51:30 -04:00
Bill Thornton
3a10fa5c2b Merge pull request #539 from nielsvanvelzen/apiclient-upgrade
Update apiclient version
2020-08-07 16:20:28 -04:00
Niels van Velzen
02667ce7ed Update apiclient version 2020-08-07 21:22:02 +02:00
Raif Coonjah
71a5e0c0e1 Translated using Weblate (Croatian)
Currently translated at 54.4% (202 of 371 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/hr/
2020-08-05 06:19:29 -04:00
Bill Thornton
8df7e6eaaa Merge pull request #534 from vnidens/fix/enter_manually_after_users
`Enter manually` button position
2020-08-04 23:52:21 -04:00
PT
f096513959 Translated using Weblate (Croatian)
Currently translated at 53.9% (200 of 371 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/hr/
2020-08-04 20:54:26 -04:00
PT
0f41fbfd99 Translated using Weblate (Croatian)
Currently translated at 28.5% (106 of 371 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/hr/
2020-08-04 19:47:54 -04:00
schbal
284a41e604 Translated using Weblate (Korean)
Currently translated at 66.8% (248 of 371 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/ko/
2020-08-01 12:33:34 -04:00
Ioan Constantin
8daff95552 Translated using Weblate (Romanian)
Currently translated at 100.0% (371 of 371 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/ro/
2020-07-31 20:01:04 -04:00
Mednis
47cf206155 Translated using Weblate (Latvian)
Currently translated at 100.0% (371 of 371 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/lv/
2020-07-31 13:38:54 -04:00
Niels van Velzen
3a808eecfd Merge pull request #533 from vnidens/fix/time_formatting
Fix time format for current and resume time
2020-07-31 17:15:13 +02:00
Victor Nidens
efcd11900c Updated methods names to follow Java naming conventions 2020-07-31 01:32:12 +03:00
Victor Nidens
65f5fc7221 fix #236 Enter manually button is now displayed after all available users 2020-07-31 01:11:18 +03:00
Victor Nidens
72a1cbc230 fix #505 Fix time format for current and resume time 2020-07-30 01:03:20 +03:00
Victor Nidens
105b52d153 Translated using Weblate (Russian)
Currently translated at 100.0% (371 of 371 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/ru/
2020-07-29 16:59:27 -04:00
Victor Nidens
cb53065822 Translated using Weblate (Russian)
Currently translated at 100.0% (371 of 371 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/ru/
2020-07-29 16:43:34 -04:00
Victor Nidens
0b1606f4da Translated using Weblate (Russian)
Currently translated at 100.0% (371 of 371 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/ru/
2020-07-29 16:35:46 -04:00
Marc Hulsebosch
89c5930e25 Translated using Weblate (Dutch)
Currently translated at 100.0% (371 of 371 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/nl/
2020-07-27 14:25:01 -04:00
Eddie Padilla
4e6948aa42 Translated using Weblate (Spanish (Mexico))
Currently translated at 99.7% (370 of 371 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/es_MX/
2020-07-27 05:44:07 -04:00
daniel1v
99ed8703d4 Translated using Weblate (German)
Currently translated at 100.0% (371 of 371 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/de/
2020-07-27 05:44:07 -04:00
Eddie Padilla
bec81e7592 Translated using Weblate (Spanish (Mexico))
Currently translated at 98.9% (367 of 371 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/es_MX/
2020-07-27 02:48:48 -04:00
daniel1v
3981147220 Translated using Weblate (German)
Currently translated at 100.0% (371 of 371 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/de/
2020-07-27 02:48:48 -04:00
daniel1v
5881662152 Translated using Weblate (German)
Currently translated at 100.0% (371 of 371 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/de/
2020-07-27 02:39:26 -04:00
daniel1v
27210f80a2 Translated using Weblate (German)
Currently translated at 100.0% (371 of 371 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/de/
2020-07-27 02:28:18 -04:00
Bill Thornton
b305a8573c Merge pull request #525 from sachk/master
Fix crash upon loading resumable episodes without runtime field
2020-07-26 18:37:40 -04:00
Wuzado
227269d77e Translated using Weblate (Polish)
Currently translated at 59.5% (221 of 371 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/pl/
2020-07-26 10:21:46 -04:00
Wuzado
30a4469eec Translated using Weblate (Polish)
Currently translated at 57.4% (213 of 371 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/pl/
2020-07-25 12:23:11 -04:00
Sacha Korban
60e2df219d Fix crash upon loading resumable episodes without runtime field 2020-07-25 12:34:12 +10:00
William King
c57454b366 address hdmi setting 2020-07-22 19:20:01 -07:00
SaddFox
2a6d25774b Translated using Weblate (Slovenian)
Currently translated at 51.2% (190 of 371 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/sl/
2020-07-22 16:04:06 -04:00
William King
8c6050760e fix tabs 2020-07-21 17:20:56 -07:00
William King
c921fcdc2d remove tabs 2020-07-21 17:19:22 -07:00
William King
ecbb188062 Fix VLC atmos support 2020-07-21 17:13:37 -07:00
lei liu
b345937196 Translated using Weblate (Chinese (Traditional))
Currently translated at 63.8% (237 of 371 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/zh_Hant/
2020-07-21 05:26:51 -04:00
lei liu
72aeadf200 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (371 of 371 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/zh_Hans/
2020-07-21 05:26:50 -04:00
Yannick
a14f426027 Translated using Weblate (Dutch)
Currently translated at 100.0% (371 of 371 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/nl/
2020-07-20 12:20:04 -04:00
Thomas Schwery
be70c90ca3 Translated using Weblate (French)
Currently translated at 100.0% (371 of 371 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/fr/
2020-07-20 12:20:04 -04:00
LinFor
3b546ec7ca Translated using Weblate (Russian)
Currently translated at 100.0% (371 of 371 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/ru/
2020-07-19 04:12:29 -04:00
Luis Dominguez
3441749f96 Translated using Weblate (Spanish (Mexico))
Currently translated at 98.3% (365 of 371 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/es_MX/
2020-07-19 00:59:16 -04:00
Jiacheng Hou
9736257e62 Translated using Weblate (Chinese (Traditional))
Currently translated at 59.0% (219 of 371 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/zh_Hant/
2020-07-18 21:58:29 -04:00
Nicolas Kheirallah
08c90a2596 Translated using Weblate (Swedish)
Currently translated at 100.0% (371 of 371 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/sv/
2020-07-18 15:23:13 -04:00
Jiacheng Hou
df17efb950 Translated using Weblate (Chinese (Traditional))
Currently translated at 59.0% (219 of 371 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/zh_Hant/
2020-07-18 14:24:09 -04:00
Franco Castillo
c0760d6519 Translated using Weblate (Spanish (Argentina))
Currently translated at 31.2% (116 of 371 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/es_AR/
2020-07-17 17:02:57 -04:00
David
bb2b641fc6 Translated using Weblate (German)
Currently translated at 100.0% (371 of 371 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/de/
2020-07-17 10:03:38 -04:00
lei liu
b8741f6461 Translated using Weblate (Chinese (Traditional))
Currently translated at 53.6% (199 of 371 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/zh_Hant/
2020-07-16 23:16:26 -04:00
lei liu
46b702374e Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (371 of 371 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/zh_Hans/
2020-07-16 23:16:25 -04:00
Gerard Meier
992a9a8736 Translated using Weblate (Dutch)
Currently translated at 98.9% (367 of 371 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/nl/
2020-07-16 17:42:50 -04:00
Martim Pinheiro
c8745be502 Translated using Weblate (Portuguese (Portugal))
Currently translated at 99.4% (369 of 371 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/pt_PT/
2020-07-14 23:12:32 -04:00
fernando012
9c6d49eb12 Translated using Weblate (Spanish (Latin America))
Currently translated at 98.9% (367 of 371 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/es_419/
2020-07-12 21:35:58 -04:00
fernando012
3f2727cc15 Translated using Weblate (Spanish (Argentina))
Currently translated at 30.9% (115 of 371 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/es_AR/
2020-07-12 21:35:58 -04:00
dkanada
f1e1935a72 Merge pull request #521 from nielsvanvelzen/nVidia
Fix spelling of Nvidia in README
2020-07-11 05:18:47 +09:00
Niels van Velzen
e44bd12461 Fix spelling of Nvidia in README 2020-07-10 22:11:24 +02:00
Alan Beale
e68137b6a5 Translated using Weblate (English (United Kingdom))
Currently translated at 100.0% (371 of 371 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/en_GB/
2020-07-10 15:45:24 -04:00
Alan Beale
470bc5b0a2 Translated using Weblate (English (United Kingdom))
Currently translated at 99.4% (369 of 371 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/en_GB/
2020-07-10 08:56:57 -04:00
lelamamalgache
f491db8a41 Translated using Weblate (French)
Currently translated at 100.0% (371 of 371 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/fr/
2020-07-08 20:43:34 -04:00
Nelebh
3df3ffac17 Translated using Weblate (Spanish)
Currently translated at 100.0% (371 of 371 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/es/
2020-07-03 05:35:27 -04:00
Alexander Brissman
b4480f5f41 Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (371 of 371 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/nb_NO/
2020-07-01 20:40:50 -04:00
Viperinius
f3be16a51d Translated using Weblate (German)
Currently translated at 100.0% (371 of 371 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/de/
2020-07-01 13:16:14 -04:00
4d1m
5fa7ecd942 Translated using Weblate (Romanian)
Currently translated at 100.0% (371 of 371 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/ro/
2020-06-30 04:40:51 -04:00
moltrabella
20f639d6cd Translated using Weblate (Spanish)
Currently translated at 99.4% (369 of 371 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/es/
2020-06-28 15:40:24 -04:00
Bill Thornton
8e9b469c25 Merge pull request #517 from nielsvanvelzen/azure-ndk-trash-7
Set NDK version to 21.3.6528147
2020-06-28 14:37:25 -04:00
Adam Bokor
afc1c15b35 Translated using Weblate (Hungarian)
Currently translated at 100.0% (371 of 371 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/hu/
2020-06-28 12:43:45 -04:00
Niels van Velzen
fbcc3371e4 Set NDK version to 21.3.6528147 2020-06-28 17:17:59 +02:00
de1eted
336db5286a Translated using Weblate (Russian)
Currently translated at 100.0% (371 of 371 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/ru/
2020-06-27 13:30:37 -04:00
nextlooper42
4bbf569244 Translated using Weblate (Slovak)
Currently translated at 100.0% (371 of 371 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/sk/
2020-06-26 17:33:28 -04:00
Vitorvlv
ce33d98e02 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (371 of 371 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/pt_BR/
2020-06-26 17:33:27 -04:00
Tamim Arafat
275f1afb33 Translated using Weblate (Bengali (Bangladesh))
Currently translated at 22.3% (83 of 371 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/bn_BD/
2020-06-26 05:46:52 -04:00
Tamim Arafat
06f909dcb4 Translated using Weblate (Bengali (Bangladesh))
Currently translated at 21.2% (79 of 371 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/bn_BD/
2020-06-26 05:18:12 -04:00
Lukáš Kucharczyk
01507bfd1b Translated using Weblate (Czech)
Currently translated at 100.0% (371 of 371 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/cs/
2020-06-26 05:18:12 -04:00
Martin Eilsøe
4ea7d39f86 Translated using Weblate (Danish)
Currently translated at 100.0% (368 of 368 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/da/
2020-06-26 04:59:09 -04:00
Bill Thornton
52891e04c5 Merge pull request #500 from nielsvanvelzen/preferences-dsl
Preferences DSL
2020-06-25 17:09:16 -04:00
Mednis
7a27e41adf Translated using Weblate (Latvian)
Currently translated at 99.7% (367 of 368 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/lv/
2020-06-25 14:45:06 -04:00
Sasa
c49fae3e73 Translated using Weblate (Croatian)
Currently translated at 23.0% (85 of 368 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/hr/
2020-06-24 17:39:18 -04:00
Sasa
333f6efec2 Added translation using Weblate (Croatian) 2020-06-24 16:30:42 -04:00
11112
1df86aeeda Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (368 of 368 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/zh_Hans/
2020-06-23 23:50:04 -04:00
Guillaume QUERO
47328afb15 Translated using Weblate (French)
Currently translated at 100.0% (368 of 368 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/fr/
2020-06-22 12:17:05 -04:00
Dyberg
fa63d71ddb Translated using Weblate (Danish)
Currently translated at 99.4% (366 of 368 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/da/
2020-06-22 09:53:32 -04:00
Joshua Boniface
51a83d5aec Translated using Weblate (English (United Kingdom))
Currently translated at 100.0% (368 of 368 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/en_GB/
2020-06-20 14:58:53 -04:00
Николай Иванов
2d8c09a7cc Translated using Weblate (Bulgarian)
Currently translated at 5.7% (21 of 368 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/bg/
2020-06-16 15:51:38 -04:00
Николай Иванов
982036fafb Translated using Weblate (Bulgarian)
Currently translated at 4.8% (18 of 368 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/bg/
2020-06-16 15:24:39 -04:00
Nainformatiq
85cb568086 Translated using Weblate (French)
Currently translated at 98.9% (364 of 368 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/fr/
2020-06-16 15:24:39 -04:00
4d1m
56a83cae6f Translated using Weblate (Romanian)
Currently translated at 100.0% (368 of 368 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/ro/
2020-06-15 06:13:41 -04:00
Alitero K
2323ca2067 Translated using Weblate (French)
Currently translated at 99.7% (367 of 368 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/fr/
2020-06-15 03:54:07 -04:00
Massimo Carrino
c76edb707c Translated using Weblate (Italian)
Currently translated at 100.0% (368 of 368 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/it/
2020-06-14 11:02:16 -04:00
Massimo Carrino
81c0b727dc Translated using Weblate (Italian)
Currently translated at 100.0% (368 of 368 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/it/
2020-06-14 10:53:45 -04:00
millallo
9f36e926f8 Translated using Weblate (Italian)
Currently translated at 99.4% (366 of 368 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/it/
2020-06-12 14:40:24 -04:00
Bill Thornton
eae15996cf Merge pull request #510 from nielsvanvelzen/ndk-build
Update ndk version
2020-06-10 14:27:08 -04:00
Niels van Velzen
c52c559702 Update NDK version 2020-06-10 20:20:43 +02:00
Joshua M. Boniface
bf57ae3101 Merge pull request #408 from thornbill/azure-build-updates
Update Azure builds
2020-06-10 13:41:31 -04:00
Николай Иванов
90e8d446a9 Added translation using Weblate (Bulgarian) 2020-06-10 11:36:52 -04:00
VaiTon
272f5f580e Translated using Weblate (Italian)
Currently translated at 99.4% (366 of 368 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/it/
2020-06-08 15:33:30 -04:00
Adam Bokor
d39d70eae8 Translated using Weblate (Hungarian)
Currently translated at 100.0% (368 of 368 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/hu/
2020-06-08 04:48:14 -04:00
Niels van Velzen
2e9e599014 Add on/off content for checkbox 2020-06-07 10:41:43 +02:00
Niels van Velzen
19f3466de1 Add dependency code 2020-06-07 10:41:42 +02:00
Niels van Velzen
08fd12bf00 Code cleanup 2020-06-07 10:41:42 +02:00
Niels van Velzen
7209a8763b Remove old preferences XML configuration 2020-06-07 10:41:41 +02:00
Niels van Velzen
64af0e458b Rewrite options DSL 2020-06-07 10:41:40 +02:00
Niels van Velzen
4bf4b2bb2c Fix AppTheme enum names capitalization 2020-06-07 10:41:40 +02:00
Niels van Velzen
8b3fecf279 Fix shortcut reset 2020-06-07 10:41:39 +02:00
Niels van Velzen
cc38559ed4 Remove longpreference 2020-06-07 10:41:38 +02:00
Niels van Velzen
1ff888f305 Split categories to own files 2020-06-07 10:41:29 +02:00
Niels van Velzen
66fe71f2db Add function to bind preferences to the preferences UI 2020-06-07 10:41:28 +02:00
Niels van Velzen
fdd1cf29e3 Add new preference syntax 2020-06-07 10:41:28 +02:00
Niels van Velzen
c2e7797c40 Add DSL for shortcut preference 2020-06-07 10:41:21 +02:00
Niels van Velzen
3eb3a2f5e9 Add custom DSL for preference screen and replace the XML preferences with it 2020-06-07 10:41:20 +02:00
tinect
9cdb6c8884 Translated using Weblate (German)
Currently translated at 100.0% (368 of 368 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/de/
2020-06-06 17:26:12 -04:00
tinect
c01ee5ee1e Translated using Weblate (German)
Currently translated at 100.0% (368 of 368 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/de/
2020-06-06 16:21:20 -04:00
tinect
e9b2a251a5 Translated using Weblate (German)
Currently translated at 100.0% (368 of 368 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/de/
2020-06-06 16:14:12 -04:00
millallo
2fd689c770 Translated using Weblate (Italian)
Currently translated at 99.1% (365 of 368 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/it/
2020-06-06 11:43:56 -04:00
Bill Thornton
c3f26131c9 Merge pull request #508 from nielsvanvelzen/fix-480-bug
Fix rows not refreshing after playback
2020-06-06 11:40:50 -04:00
Nowoboy
85bfa3bc7a Translated using Weblate (German)
Currently translated at 100.0% (368 of 368 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/de/
2020-06-06 09:41:04 -04:00
Niels van Velzen
e656fe151c Fix rows not refreshing after playback 2020-06-06 14:41:49 +02:00
Bill Thornton
e7107b656b Merge pull request #506 from nielsvanvelzen/gradle-wrapper-validation
Add GitHub action to validate the Gradle Wrapper blob
2020-06-06 01:06:07 -04:00
Bill Thornton
6a5fc12eb5 Merge pull request #496 from nielsvanvelzen/errors
Make sure all catch statements in the code log their exception
2020-06-06 01:04:11 -04:00
Ying-Kai Dang
97220ebd16 Translated using Weblate (German)
Currently translated at 99.7% (367 of 368 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/de/
2020-06-05 21:09:30 -04:00
nextlooper42
d162706bba Translated using Weblate (Slovak)
Currently translated at 100.0% (368 of 368 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/sk/
2020-06-05 16:23:20 -04:00
Niels van Velzen
fce49ec766 Add GitHub action to validate the Gradle Wrapper blob
I'd rather add it using the DevOps Pipeline to stay consistent but unfortunately this action is only available on GitHub.
2020-06-05 10:48:36 +02:00
WWWesten
1648b93ed6 Translated using Weblate (Russian)
Currently translated at 100.0% (368 of 368 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/ru/
2020-06-04 17:31:54 -04:00
Vitorvlv
9bb190d837 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (368 of 368 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/pt_BR/
2020-06-04 17:31:54 -04:00
Marius Lindvall
f28c5e6b9f Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (368 of 368 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/nb_NO/
2020-06-04 17:31:54 -04:00
Nelebh
214cf62d4c Translated using Weblate (Spanish)
Currently translated at 100.0% (368 of 368 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/es/
2020-06-04 17:31:53 -04:00
Nelebh
6cb884a9c8 Translated using Weblate (Spanish)
Currently translated at 100.0% (368 of 368 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/es/
2020-06-04 12:12:14 -04:00
Niels van Velzen
36f6808891 Merge pull request #504 from tukilo/removed_unneeded_code
Removed unneeded code
2020-06-03 21:22:32 +02:00
millallo
79562436eb Translated using Weblate (Italian)
Currently translated at 98.3% (362 of 368 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/it/
2020-06-03 14:36:24 -04:00
tukilo
f0d1f62ce2 Removed unneeded mServer obj 2020-06-03 20:29:59 +02:00
tukilo
c6d9ad767e Converted code to Kotlin 2020-06-03 20:16:53 +02:00
tukilo
77f1974d42 Renamed SelectUserFragment from .java to .kt 2020-06-03 20:14:01 +02:00
Niels van Velzen
615b7a6b7c Make sure all catch statements in the code log their exception 2020-06-03 09:55:26 +02:00
Bill Thornton
dcad04ea69 Merge pull request #497 from nielsvanvelzen/wasntevenhelping
Remove unused SubtitleHelper
2020-06-03 03:53:09 -04:00
Bill Thornton
e1a63020f9 Merge pull request #503 from nielsvanvelzen/improve-search
Search improvements
2020-06-03 03:51:25 -04:00
Anthony Rodriguez
7298cfb325 Translated using Weblate (French)
Currently translated at 99.7% (367 of 368 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/fr/
2020-06-02 19:57:56 -04:00
Bill Thornton
1d6fb87989 Merge pull request #495 from nielsvanvelzen/detekt
Add Detekt support
2020-06-02 17:14:44 -04:00
Bill Thornton
e0ba1cc2a0 Merge pull request #499 from nielsvanvelzen/apiclient062
Update apiclient to version 0.6.2
2020-06-02 17:11:22 -04:00
Niels van Velzen
f5a572c3e5 Always show search results
Even if some requests failed
2020-06-02 22:49:22 +02:00
Niels van Velzen
7f48cec066 Don't search the same query twice and decrease search delay 2020-06-02 22:24:44 +02:00
Leo Verto
10b1910dba Translated using Weblate (German)
Currently translated at 99.4% (366 of 368 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/de/
2020-06-02 15:56:45 -04:00
Lukáš Kucharczyk
9bccc3570e Translated using Weblate (Czech)
Currently translated at 100.0% (368 of 368 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/cs/
2020-06-02 15:56:45 -04:00
millallo
5bb24e9c77 Translated using Weblate (Italian)
Currently translated at 99.7% (361 of 362 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/it/
2020-06-02 12:02:39 -04:00
Niels van Velzen
8af8ff1877 Merge pull request #486 from Froghut/remap-tv-remote-buttons
add settings to remap tv remote buttons
2020-06-02 10:53:20 +02:00
Niels van Velzen
8827312f10 Update apiclient to version 0.6.2 2020-06-02 10:27:25 +02:00
Niels van Velzen
f1966e3eed Remove unused SubtitleHelper 2020-06-01 22:30:05 +02:00
Froghut
95c9faee1b make ButtonRemapSummaryProvider capitalize each word again 2020-06-01 21:37:31 +02:00
Niels van Velzen
4eaa2fc1bc Ignore failures 2020-06-01 16:50:30 +02:00
Niels van Velzen
2af454fa08 Add Detekt support 2020-06-01 16:41:21 +02:00
Froghut
1ecc55e4b2 make more strings use resources
code cleanup
2020-06-01 16:37:23 +02:00
Froghut
3383f9bd48 Apply suggestions from code review
Co-authored-by: Niels van Velzen <nielsvanvelzen@users.noreply.github.com>
2020-06-01 16:19:23 +02:00
Bill Thornton
0f0d2ceac8 Merge pull request #493 from nielsvanvelzen/mostimportantfeaturebroke
Fix photo viewer not working
2020-06-01 09:06:18 -04:00
Niels van Velzen
a32c4f9ddd Fix back button not working 2020-06-01 11:03:57 +02:00
Niels van Velzen
2dcaeb0154 Fix photos not loading in photo player 2020-06-01 10:41:35 +02:00
eclecticgeek
e053578846 Translated using Weblate (English (United Kingdom))
Currently translated at 98.8% (358 of 362 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/en_GB/
2020-05-31 13:28:23 -04:00
Niels van Velzen
f276047df4 Merge pull request #490 from tukilo/bugfix/#403_unify_image_libraries
Removed Picasso to be replaced by Glide.
2020-05-31 18:49:50 +02:00
tukilo
bbfceb501f Small details 2020-05-31 18:40:53 +02:00
Froghut
de6fbf32a5 make SummaryProvider usable from the dialog again 2020-05-31 18:39:52 +02:00
Froghut
d59dc5fd2b fix variable names, use proper naming conventions
improve naming of preference keys + texts
convert strings to resources
2020-05-31 18:35:55 +02:00
Froghut
9074472612 Apply suggestions from code review
Co-authored-by: Niels van Velzen <nielsvanvelzen@users.noreply.github.com>
2020-05-31 18:20:53 +02:00
Bill Thornton
f776fa9f0b Merge pull request #488 from nielsvanvelzen/android-builds-tools-upgrade
Upgrade Android build tools
2020-05-31 10:20:44 -04:00
Niels van Velzen
0ee670e763 Update linting rules
Removed MissingRegistered (doesn't exist anymore)
Added KotlinPropertyAccess and LambdaLast
2020-05-30 22:47:39 +02:00
WontTell
42fdf0704f Translated using Weblate (Spanish (Latin America))
Currently translated at 99.1% (359 of 362 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/es_419/
2020-05-30 16:10:46 -04:00
omm
d21b97be9c Update app/src/main/java/org/jellyfin/androidtv/util/BackgroundManagerUtils.kt
Co-authored-by: Niels van Velzen <nielsvanvelzen@users.noreply.github.com>
2020-05-30 20:36:11 +02:00
tukilo
9f01b88996 Removed template by default "Created by". Removed all skipMemoryCache() calls. Removed unused imports. Removed SkipMemoryCache and Transformation params from BackgroundUtils. Added Timber.e in onLoadFailed 2020-05-30 18:32:02 +02:00
Froghut
54a76e555a use syntactic binding and fix complex code 2020-05-30 17:15:51 +02:00
Froghut
3b68e0a946 use SummaryProvider for ButtonRemapPreference and auto close dialog on Save/Reset click 2020-05-30 16:12:55 +02:00
omm
76387cae8e Glide migrated from 3 to 4. Removed Picasso to be replaced by Glide. 2020-05-30 15:37:29 +02:00
Froghut
2f12bb4b24 cleanup + comments 2020-05-30 14:59:39 +02:00
Froghut
f1bf9a2198 improve button remapping preference dialog 2020-05-30 14:57:50 +02:00
Niels van Velzen
65e2b1e1a0 Update Gradle wrapper to version 6.4.1 2020-05-30 10:30:36 +02:00
Niels van Velzen
e1c0fe055b Update Android build tools to version 4.0.0 2020-05-30 10:24:57 +02:00
WontTell
c387cafc88 Added translation using Weblate (Spanish (Latin America)) 2020-05-29 22:35:23 -04:00
WontTell
89c2b7e265 Translated using Weblate (Spanish (Mexico))
Currently translated at 99.1% (359 of 362 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/es_MX/
2020-05-29 20:10:31 -04:00
jobhh
5a29234247 Translated using Weblate (Dutch)
Currently translated at 100.0% (362 of 362 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/nl/
2020-05-28 17:36:40 -04:00
Lumenol
dc6d5ce8f5 Translated using Weblate (French)
Currently translated at 100.0% (362 of 362 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/fr/
2020-05-28 17:36:40 -04:00
Froghut
418106128e add punctuation to KDoc 2020-05-28 09:53:17 +02:00
Gabriel Gil Pinto
c11921e282 Translated using Weblate (Spanish)
Currently translated at 100.0% (362 of 362 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/es/
2020-05-27 23:52:39 -04:00
Peter
c0a71b2173 Translated using Weblate (Dutch)
Currently translated at 100.0% (362 of 362 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/nl/
2020-05-27 19:21:37 -04:00
Elouan MAILLY
cf9b5d10e1 Translated using Weblate (French)
Currently translated at 100.0% (362 of 362 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/fr/
2020-05-27 19:21:37 -04:00
Froghut
6b534d9c24 add missing code documentation 2020-05-27 22:26:43 +02:00
Froghut
b7dd9988c5 fix wrong indent 2020-05-27 22:15:48 +02:00
Froghut
2a12c25ce7 add settings to remap tv remote buttons, implemented are audio language button and subtitle language button
also add logic for handling audio language button
2020-05-27 22:10:41 +02:00
Kunio
ecc0351dd8 Translated using Weblate (Swedish)
Currently translated at 100.0% (362 of 362 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/sv/
2020-05-26 21:26:07 -04:00
lldsolitude
d1199deb0a Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (362 of 362 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/zh_Hans/
2020-05-26 10:56:09 -04:00
lldsolitude
d88e1146ac Translated using Weblate (Chinese (Simplified))
Currently translated at 99.1% (359 of 362 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/zh_Hans/
2020-05-26 09:57:08 -04:00
Franco Castillo
ee32b8b4aa Translated using Weblate (Spanish (Argentina))
Currently translated at 23.2% (84 of 362 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/es_AR/
2020-05-26 08:58:54 -04:00
WWWesten
d5549373e3 Translated using Weblate (Russian)
Currently translated at 100.0% (362 of 362 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/ru/
2020-05-25 17:50:26 -04:00
Varga András
3a1389da54 Translated using Weblate (Hungarian)
Currently translated at 100.0% (362 of 362 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/hu/
2020-05-25 08:19:41 -04:00
Varga András
42701de0aa Translated using Weblate (Romanian)
Currently translated at 100.0% (362 of 362 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/ro/
2020-05-25 08:19:41 -04:00
GeraltOfTrivia
f60b25aa3b Translated using Weblate (Greek)
Currently translated at 70.7% (256 of 362 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/el/
2020-05-25 05:04:53 -04:00
Bill Thornton
52cd497517 Merge pull request #483 from nielsvanvelzen/hotdogcrash
Fix crash when changing theme
2020-05-25 01:08:16 -04:00
David
a051872d3d Translated using Weblate (German)
Currently translated at 100.0% (362 of 362 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/de/
2020-05-24 12:28:23 -04:00
Libor Filípek
fde05deab1 Translated using Weblate (Czech)
Currently translated at 100.0% (362 of 362 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/cs/
2020-05-24 12:28:23 -04:00
Niels van Velzen
a6808a2112 Fix crash when changing theme 2020-05-23 20:16:01 +02:00
nextlooper42
4b0d033ff5 Translated using Weblate (Slovak)
Currently translated at 100.0% (362 of 362 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/sk/
2020-05-23 12:08:08 -04:00
Viperinius
97962d683a Translated using Weblate (German)
Currently translated at 99.7% (361 of 362 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/de/
2020-05-23 12:08:08 -04:00
millallo
abf3b218eb Translated using Weblate (Italian)
Currently translated at 99.1% (359 of 362 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/it/
2020-05-23 08:14:52 -04:00
Vitorvlv
e3017da838 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (362 of 362 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/pt_BR/
2020-05-22 20:38:54 -04:00
WontTell
6093d7a8f6 Translated using Weblate (Spanish (Mexico))
Currently translated at 99.1% (355 of 358 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/es_MX/
2020-05-22 20:14:18 -04:00
Bill Thornton
3bca99d058 Merge pull request #475 from nielsvanvelzen/vertical-grids
Add support for vertical grids
2020-05-22 13:07:18 -04:00
Niels van Velzen
b552d3a455 Change default to horizontal in XML 2020-05-22 18:45:07 +02:00
Niels van Velzen
850ae900a9 Fix some bugs, marked the vertical grid as experimental, determine column count based on image size 2020-05-22 18:45:06 +02:00
Niels van Velzen
cc5e5494ea Fix TODO 2020-05-22 18:45:06 +02:00
Niels van Velzen
d2c5ba8190 Add support for vertical grids 2020-05-22 18:45:06 +02:00
Bill Thornton
bdcaff2f5f Fix DeleteFiles task inputs 2020-05-22 12:35:23 -04:00
Bill Thornton
c38ec6665a Add publish job 2020-05-22 12:30:33 -04:00
Bill Thornton
e279c02368 Use separate azure jobs for tests and build 2020-05-22 11:36:54 -04:00
Bill Thornton
7ec64db24a Fix test reporting 2020-05-22 11:24:37 -04:00
Bill Thornton
b724bec626 Update Azure config for publishing 2020-05-22 11:24:37 -04:00
Niels van Velzen
a77bc227c7 Merge pull request #481 from thornbill/whats-my-device-again
Add device model to app settings about section
2020-05-20 19:15:26 +02:00
Bill Thornton
bd2fa673dc Add manufacturer to displayed device name 2020-05-20 12:27:30 -04:00
Bill Thornton
f8cca56b17 Add device model to app settings about section 2020-05-20 12:03:29 -04:00
Bill Thornton
33b2e7e40a Merge pull request #480 from nielsvanvelzen/tvapp-can-get-even-more-cleaner
Tvapp can get even more cleaner
2020-05-20 11:10:13 -04:00
Bill Thornton
96b13e94b7 Merge pull request #478 from MrLemur/fix-ff-rewind
Fix fast forward/rewind not working on Fire Stick
2020-05-20 10:30:47 -04:00
Niels van Velzen
a8ec656cb8 Move the simple "lastXXX" properties to a separate file 2020-05-20 14:41:02 +02:00
Niels van Velzen
1e8cae0aea Move the implementations for the TvApiEventListener functions 2020-05-20 14:20:45 +02:00
Kassim
c65e22320e Fix indext 2020-05-19 18:25:11 +01:00
Kassim
8e10f4e375 Add filter to only invoke once on key press 2020-05-19 17:26:05 +01:00
Kassim
d6feb0007d Add new logic to playback overlay for ff/rewind
This adds in some nrew logic to intercept the fast forward and rewind
keys presses if the popup panel is not in view.

If the media playing is not live TV, it will skip forwards or backwards
the appropriate amount of seconds. It will show the overlay as expected]
and then iniatite the fadeout timer.
2020-05-19 17:09:45 +01:00
Lukáš Kucharczyk
fb1fe2a3e3 Translated using Weblate (Czech)
Currently translated at 100.0% (358 of 358 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/cs/
2020-05-19 00:09:53 -04:00
erikasne6152
55ac470885 Translated using Weblate (Lithuanian)
Currently translated at 16.4% (59 of 358 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/lt/
2020-05-18 09:44:34 -04:00
erikasne6152
b8e0cd9e8d Translated using Weblate (Lithuanian)
Currently translated at 13.6% (49 of 358 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/lt/
2020-05-18 06:52:51 -04:00
gabtzi
5f1ed04d80 Translated using Weblate (Greek)
Currently translated at 68.1% (244 of 358 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/el/
2020-05-18 02:35:23 -04:00
Franco Castillo
7527c01154 Translated using Weblate (Spanish (Argentina))
Currently translated at 22.6% (81 of 358 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/es_AR/
2020-05-17 16:29:31 -04:00
Bill Thornton
aa8c9cdc65 Merge pull request #476 from nielsvanvelzen/reduce-crap
More cleaning in TvApp.java
2020-05-17 09:55:02 -04:00
Mednis
76c034e632 Translated using Weblate (Latvian)
Currently translated at 100.0% (358 of 358 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/lv/
2020-05-17 08:03:42 -04:00
Lin Ye Ze
cb49d2c506 Translated using Weblate (Chinese (Traditional))
Currently translated at 55.3% (198 of 358 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/zh_Hant/
2020-05-16 02:31:51 -04:00
Niels van Velzen
8d97be727b Remove showSearch function from TvApp 2020-05-15 22:29:48 +02:00
Niels van Velzen
0f71655ff4 Remove TvApp.playingIntros (unused) 2020-05-15 22:19:14 +02:00
Niels van Velzen
b36c5c0501 Remove the "background gradient" artificial intelligence that wasn't even noticeable 2020-05-15 22:15:57 +02:00
Niels van Velzen
24e992a45f Remove unused getters/setters from TvApp 2020-05-15 22:02:40 +02:00
Niels van Velzen
a65e0c2c02 Remove "DisplayPriority" feature (unused) 2020-05-15 21:58:37 +02:00
Franco Castillo
f5e206e476 Translated using Weblate (Spanish (Argentina))
Currently translated at 20.9% (75 of 358 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/es_AR/
2020-05-14 23:26:50 -04:00
Franco Castillo
758c143c67 Added translation using Weblate (Spanish (Argentina)) 2020-05-14 17:59:17 -04:00
Marco Aceti
47001e6d95 Translated using Weblate (Italian)
Currently translated at 100.0% (358 of 358 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/it/
2020-05-14 10:26:14 -04:00
Nazar Bulavko
517f30de8f Translated using Weblate (Ukrainian)
Currently translated at 17.3% (62 of 358 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/uk/
2020-05-14 09:01:26 -04:00
Medzhnun Mehmed
4f1a3d5dfa Translated using Weblate (Russian)
Currently translated at 100.0% (358 of 358 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/ru/
2020-05-13 14:16:34 -04:00
tanvir-ahmed-siddique
0b7fcd1f09 Translated using Weblate (Bengali (Bangladesh))
Currently translated at 19.8% (71 of 358 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/bn_BD/
2020-05-12 17:30:03 -04:00
tanvir-ahmed-siddique
5432d14abf Added translation using Weblate (Bengali (Bangladesh)) 2020-05-12 16:51:54 -04:00
Bill Thornton
f6404435e1 Merge pull request #474 from jellyfin/nielsvanvelzen-fixndk
Remove hardcoded NDK version
2020-05-12 16:22:47 -04:00
Niels van Velzen
689a8e6595 Explicitly set NDK version to 21.1.6352462 2020-05-12 17:50:31 +02:00
Niels van Velzen
8755f4a21b Remove hardcoded NDK version
Should fix the Azure errors
2020-05-12 09:38:25 +02:00
Federico Antoniazzi
5089109b56 Translated using Weblate (Italian)
Currently translated at 100.0% (358 of 358 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/it/
2020-05-11 18:58:03 -04:00
millallo
c15d30c64d Translated using Weblate (Italian)
Currently translated at 98.8% (354 of 358 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/it/
2020-05-11 16:55:56 -04:00
Federico Antoniazzi
cd4c328951 Translated using Weblate (Italian)
Currently translated at 98.8% (354 of 358 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/it/
2020-05-11 16:55:56 -04:00
Federico Antoniazzi
72766960db Translated using Weblate (Italian)
Currently translated at 98.6% (353 of 358 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/it/
2020-05-11 16:01:46 -04:00
Federico Antoniazzi
3e00cb9375 Translated using Weblate (Italian)
Currently translated at 97.4% (349 of 358 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/it/
2020-05-11 09:02:52 -04:00
Snurli
db1d6f5229 Translated using Weblate (Danish)
Currently translated at 100.0% (358 of 358 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/da/
2020-05-10 14:49:17 -04:00
Vitorvlv
1f2cdc4a53 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (358 of 358 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/pt_BR/
2020-05-09 20:38:47 -04:00
Nazar Bulavko
df63b219bb Translated using Weblate (Ukrainian)
Currently translated at 17.0% (61 of 358 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/uk/
2020-05-06 13:09:24 -04:00
Muráncsik Sebestyén
a7d783c53a Translated using Weblate (Hungarian)
Currently translated at 100.0% (358 of 358 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/hu/
2020-05-06 13:09:22 -04:00
newton181
cc0982e483 Translated using Weblate (Spanish (Mexico))
Currently translated at 100.0% (358 of 358 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/es_MX/
2020-05-06 13:09:22 -04:00
newton181
deca4afa65 Translated using Weblate (Spanish)
Currently translated at 100.0% (358 of 358 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/es/
2020-05-06 08:10:04 -04:00
newton181
3991b9e41e Translated using Weblate (Spanish (Mexico))
Currently translated at 99.7% (357 of 358 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/es_MX/
2020-05-06 08:10:04 -04:00
TheGoose
bffe2d78c2 Translated using Weblate (English (United Kingdom))
Currently translated at 100.0% (358 of 358 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/en_GB/
2020-05-06 08:10:04 -04:00
rasser900
7d50ee5db9 Translated using Weblate (Danish)
Currently translated at 97.2% (348 of 358 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/da/
2020-05-06 08:10:04 -04:00
Nazar Bulavko
da74f0f277 Translated using Weblate (Ukrainian)
Currently translated at 4.7% (17 of 358 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/uk/
2020-05-05 14:52:44 -04:00
Moritz
89d0d2ae60 Translated using Weblate (German)
Currently translated at 100.0% (358 of 358 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/de/
2020-05-05 14:52:44 -04:00
Niels van Velzen
3c5ad27c87 Merge pull request #471 from thornbill/logging
Use Timber for logging
2020-05-05 09:58:03 +02:00
Nazar Bulavko
c24c3dfc06 Added translation using Weblate (Ukrainian) 2020-05-04 19:03:00 -04:00
Bill Thornton
86579739b0 Remove commented out logging lines 2020-05-04 16:48:05 -04:00
Bill Thornton
5b0dffbf8b Use timber for logging 2020-05-04 16:38:29 -04:00
Pyry Weckman
055cb602e9 Translated using Weblate (Finnish)
Currently translated at 61.7% (221 of 358 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/fi/
2020-05-04 06:56:27 -04:00
Niels van Velzen
15887a6e13 Merge pull request #468 from thornbill/connectionmanagerrepository
Refactor ConnectionManager intialization
2020-05-02 10:04:39 +02:00
Heikki Jetsonen
1f75353071 Translated using Weblate (Finnish)
Currently translated at 55.5% (199 of 358 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/fi/
2020-05-01 16:40:13 -04:00
Heikki Jetsonen
9acfa62a97 Added translation using Weblate (Finnish) 2020-05-01 09:22:39 -04:00
fesken
500bbac3f7 Translated using Weblate (Swedish)
Currently translated at 100.0% (358 of 358 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/sv/
2020-04-30 23:33:40 -04:00
Bill Thornton
4bad5edd51 Add constants for Extras 2020-04-30 17:14:55 -04:00
Bill Thornton
fbf63642ea Move PlaybackManager initialization 2020-04-30 16:54:13 -04:00
Bill Thornton
3725ce3d38 Remove ILogger instance from ConnectionManagerRepository 2020-04-30 16:47:13 -04:00
Bill Thornton
df3c57f866 Add SerializerRepository 2020-04-30 13:40:52 -04:00
Bill Thornton
2ea8848165 Remove unused HttpClient methods from TvApp 2020-04-30 13:01:12 -04:00
Bill Thornton
6f5f54fc43 Add ConnectionManagerRepository 2020-04-30 12:26:26 -04:00
Bill Thornton
d6aac77625 Merge pull request #467 from nielsvanvelzen/editorconfig-root
Add "root" property to editorconfig
2020-04-30 11:25:50 -04:00
Niels van Velzen
c4241c6fc8 Add "root" property to editorconfig 2020-04-30 16:57:56 +02:00
Bill Thornton
a90b0bed33 Merge pull request #466 from nielsvanvelzen/pin-apiclient
Pin the apiclient version to 0.6.0
2020-04-30 10:31:11 -04:00
Niels van Velzen
72058f0a42 Add the "v" prefix 2020-04-30 10:04:54 +02:00
Niels van Velzen
a28a27d697 Pin the apiclient version to 0.6.0 2020-04-30 09:49:13 +02:00
WWWesten
3f77cfbe06 Translated using Weblate (Russian)
Currently translated at 100.0% (358 of 358 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/ru/
2020-04-30 00:07:04 -04:00
WWWesten
2f4df853df Translated using Weblate (Kazakh)
Currently translated at 98.3% (352 of 358 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/kk/
2020-04-30 00:07:04 -04:00
Bill Thornton
94be57ba8b Merge pull request #465 from nielsvanvelzen/ijustwantedtowatchsomethingbuthadtospendtimefixingthisbecauseibrokeit
Fix playback activity crashing
2020-04-29 15:35:24 -04:00
Niels van Velzen
361beffd5c Fix playback activity crashing 2020-04-29 21:03:00 +02:00
Bill Thornton
1cd336e6d5 Merge pull request #458 from nielsvanvelzen/cinderellaskeys
Remove unnecessary layout xml files
2020-04-29 12:58:36 -04:00
Niels van Velzen
ba461b0165 Redo ExpandableTextView 2020-04-28 17:52:45 +02:00
Niels van Velzen
f5dbd02e58 Convert the modified activities to Kotlin 2020-04-28 17:52:44 +02:00
Niels van Velzen
41098f93a4 Replace all layouts with a single fragment to use the fragmentmanager 2020-04-28 17:52:43 +02:00
Niels van Velzen
33a94393c2 Add own key handling in ItemList and PhotoPlayer activities 2020-04-28 17:52:43 +02:00
Bill Thornton
c6cff6d69b Merge pull request #457 from nielsvanvelzen/feelinglikecinderella
Remove some currentActivity usages
2020-04-28 11:50:30 -04:00
Medzhnun Mehmed
35ca01d6fd Translated using Weblate (Russian)
Currently translated at 99.7% (357 of 358 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/ru/
2020-04-27 12:04:02 -04:00
Shillos
d50dfe9105 Translated using Weblate (Greek)
Currently translated at 50.0% (179 of 358 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/el/
2020-04-27 12:04:02 -04:00
Shillos
ebde583145 Translated using Weblate (Greek)
Currently translated at 40.7% (146 of 358 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/el/
2020-04-27 05:15:49 -04:00
Niels van Velzen
8ca7aa7f73 Merge pull request #459 from Vardex/set-higher-max-bitrate
Set higher max static bitrate
2020-04-27 09:10:53 +02:00
Vardex
431d08c34b Set higher max static bitrate 2020-04-27 01:55:12 +02:00
Unlimitediq
c1b9b2520e Translated using Weblate (Dutch)
Currently translated at 100.0% (358 of 358 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/nl/
2020-04-25 13:21:03 -04:00
Niels van Velzen
aa0955a66f Add comment as to why the onUnbindViewHolder function is unused 2020-04-25 16:15:56 +02:00
Niels van Velzen
7e25d470d7 Reduce usage of currentActivity in MyDetailsOverviewRowPresenter 2020-04-25 15:17:18 +02:00
Niels van Velzen
669f1f7d2f Don't depend on currentActivity in InfoCardPresenter 2020-04-25 15:09:12 +02:00
Niels van Velzen
0a3912392b Don't depend on currentActivity in GridButtonPresenter 2020-04-25 15:08:06 +02:00
Niels van Velzen
ca727fa05a Don't depend on currentActivity in Utils.getThemeColor 2020-04-25 15:06:36 +02:00
Niels van Velzen
082b5b3bec Don't depend on currentActivity in ChannelCardPresenter 2020-04-25 15:05:18 +02:00
Niels van Velzen
348d44c70e Don't depend on currentActivity in CardPresenter 2020-04-25 15:04:19 +02:00
Niels van Velzen
2161af15fb Remove interface already implemented by base class from BaseActivity 2020-04-25 15:00:09 +02:00
Niels van Velzen
943e35263a Remove the "showMessage" functions from TvApp/BaseActivity
Current usages are replaced with toasts
2020-04-25 14:57:13 +02:00
Thomas Wayne
ce48917f16 Translated using Weblate (Swedish)
Currently translated at 99.7% (357 of 358 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/sv/
2020-04-24 13:56:39 -04:00
Niels van Velzen
265b544ecf Merge pull request #454 from Froghut/hanging-playbackstate-fix
Stop progress report if playback was already stopped
2020-04-23 21:37:32 +02:00
Froghut
d18a61ba0a stop progress report if playback was already stopped 2020-04-23 21:09:27 +02:00
Bill Thornton
6c3687a00b Merge pull request #453 from nielsvanvelzen/pullrequesttemplatedidnotwork
Fix pull request template not working
2020-04-22 19:51:46 -04:00
Niels van Velzen
f40b03f53a Fix pull request template not working 2020-04-22 22:35:18 +02:00
Bill Thornton
cc4adbf2ee Merge pull request #449 from nielsvanvelzen/projectmanagement
Add issue and pull request templates
2020-04-22 15:17:57 -04:00
Bill Thornton
0f5d2e8087 Merge pull request #451 from Froghut/resume-button-focus-fix2
Focus resume button when returning from playback and it's visible
2020-04-22 15:17:22 -04:00
Froghut
9b46ab6d9d fix braces 2020-04-22 20:47:01 +02:00
Bill Thornton
375dd3854a Merge pull request #452 from Froghut/control-overlay-transparency
Change the background of the control overlay from dark to light
2020-04-22 13:25:23 -04:00
Bill Thornton
ec060a16e8 Merge pull request #450 from Froghut/tvremote-subtitlebutton
Add support for TV remote subtitle button
2020-04-22 10:04:58 -04:00
Froghut
472dc91d32 change the background of the control overlay from dark to light 2020-04-22 15:21:07 +02:00
Froghut
e79e611394 focus resume button when returning from playback and it's visible 2020-04-22 14:47:27 +02:00
Chen-Tai,Peng
6a3f3c9abe Translated using Weblate (Chinese (Traditional))
Currently translated at 54.1% (194 of 358 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/zh_Hant/
2020-04-22 08:36:03 -04:00
Froghut
01bc7233fa handle TV remote subtitle button 2020-04-22 14:33:20 +02:00
Chen-Tai,Peng
aaca114166 Translated using Weblate (Chinese (Traditional))
Currently translated at 38.5% (138 of 358 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/zh_Hant/
2020-04-21 16:56:10 -04:00
Chen-Tai,Peng
ea3b539b72 Translated using Weblate (Chinese (Traditional))
Currently translated at 35.1% (126 of 358 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/zh_Hant/
2020-04-21 13:36:33 -04:00
4d1m
3cb1ae589b Translated using Weblate (Romanian)
Currently translated at 100.0% (358 of 358 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/ro/
2020-04-21 13:36:33 -04:00
Gregor Hoffleit
68841db4aa Translated using Weblate (German)
Currently translated at 99.7% (357 of 358 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/de/
2020-04-21 13:36:33 -04:00
Niels van Velzen
d390c885d5 Fix faulty whitespace 2020-04-21 15:24:43 +02:00
Niels van Velzen
657e0f06d8 Add config.yml for issues to add link to documentation 2020-04-21 15:22:02 +02:00
Niels van Velzen
4f00fd68d8 Update used labels 2020-04-21 15:21:47 +02:00
Niels van Velzen
f34208af29 Add feature request template 2020-04-21 15:18:55 +02:00
Niels van Velzen
102f415884 Add media playback issue template 2020-04-21 15:11:55 +02:00
Niels van Velzen
25a06f3d10 Add bug report template 2020-04-21 15:11:43 +02:00
Niels van Velzen
09ae1cac11 Add PR template 2020-04-21 15:11:35 +02:00
Bill Thornton
51351352f3 Merge pull request #448 from nielsvanvelzen/startup-layout
Startup layout redesign
2020-04-20 20:13:59 -04:00
Niels van Velzen
9772bff2f8 Remove the label in startup fragment 2020-04-20 22:06:44 +02:00
Bill Thornton
daf303c52d Merge pull request #447 from nielsvanvelzen/stopaskingme
Always replace audio queue
2020-04-20 11:19:53 -04:00
Niels van Velzen
1e730f03da Replace app logo with vector 2020-04-20 15:55:17 +02:00
Niels van Velzen
114ec223cf Improve startup design 2020-04-20 15:51:41 +02:00
Niels van Velzen
de77239ef3 Always replace audio queue 2020-04-20 12:33:04 +02:00
Libor Filípek
dcf2fcc848 Translated using Weblate (Czech)
Currently translated at 100.0% (358 of 358 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/cs/
2020-04-19 11:54:44 -04:00
Andreas
4f8630c9a1 Merge pull request #442 from nielsvanvelzen/userviewfixes
Misc fixes in grid browsing view
2020-04-19 15:16:08 +02:00
Andreas
cc5313366a Merge pull request #445 from nielsvanvelzen/byebyeitempanel
Completely remove the item panel
2020-04-19 15:12:58 +02:00
Andreas
e5f441b164 Merge pull request #446 from nielsvanvelzen/holidayisover
Remove the (badly implemented) HolidayManager
2020-04-19 15:01:07 +02:00
Louis Hermier
7676f58300 Translated using Weblate (French)
Currently translated at 100.0% (358 of 358 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/fr/
2020-04-19 08:47:17 -04:00
Mike
b5a594f196 Translated using Weblate (Hungarian)
Currently translated at 100.0% (358 of 358 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/hu/
2020-04-18 17:34:23 -04:00
nextlooper42
2e9ccd557b Translated using Weblate (Slovak)
Currently translated at 100.0% (358 of 358 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/sk/
2020-04-18 17:34:23 -04:00
Barcode
05e4ab3e87 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (358 of 358 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/zh_Hans/
2020-04-18 17:34:23 -04:00
memnos
6d1e756ca0 Translated using Weblate (Italian)
Currently translated at 89.1% (319 of 358 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/it/
2020-04-18 17:34:22 -04:00
Niels van Velzen
54c387ebd6 Translated using Weblate (English)
Currently translated at 100.0% (358 of 358 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/en/
2020-04-18 12:35:22 -04:00
Niels van Velzen
9bf688bbcb Remove the (badly implemented) HolidayManager 2020-04-18 17:43:14 +02:00
Niels van Velzen
3dc16a9f0f Completely remove the item panel 2020-04-18 17:36:11 +02:00
Niels van Velzen
315a7e247c Update grid sorting options to be more consistent with web 2020-04-18 10:54:16 +02:00
Niels van Velzen
7fb05e906c Replace other instances of HTML.fromHtml to use TextUtils 2020-04-18 10:46:39 +02:00
Niels van Velzen
18d3579474 Allow HTML in browse fragment summaries 2020-04-18 10:42:34 +02:00
Muráncsik Sebestyén
29068ad97b Translated using Weblate (Hungarian)
Currently translated at 100.0% (358 of 358 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/hu/
2020-04-17 15:47:35 -04:00
Bill Thornton
b5c08bd229 Merge pull request #438 from nielsvanvelzen/crashbad
Fix NPE when finished playing media
2020-04-16 17:23:49 -04:00
Niels van Velzen
2df54f2da3 Fix NPE when finished playing media 2020-04-16 21:40:54 +02:00
Bill Thornton
c1fafb96fa Merge pull request #434 from nielsvanvelzen/direct-fragmentx-dependency
Add androidx.fragment as direct dependency, update androidx.preference & update kotlin/android plugins
2020-04-15 15:51:56 -04:00
Maerik
64b191c8a4 Translated using Weblate (Danish)
Currently translated at 95.8% (343 of 358 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/da/
2020-04-15 15:33:50 -04:00
Niels van Velzen
dfe4dbe74e Add androidx.fragment as direct dependency, update androidx.preference & update kotlin/android plugins 2020-04-15 21:28:10 +02:00
Muráncsik Sebestyén
8dc261b0cd Translated using Weblate (Hungarian)
Currently translated at 45.8% (164 of 358 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/hu/
2020-04-14 15:52:25 -04:00
IBD3532
e111003f0f Translated using Weblate (Korean)
Currently translated at 68.1% (244 of 358 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/ko/
2020-04-14 15:52:24 -04:00
Muráncsik Sebestyén
2e5c3b0f4c Translated using Weblate (Hungarian)
Currently translated at 40.5% (145 of 358 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/hu/
2020-04-14 08:03:13 -04:00
millallo
194ac6c624 Translated using Weblate (Italian)
Currently translated at 87.9% (315 of 358 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/it/
2020-04-14 08:03:13 -04:00
Andreas
a63b1c614a Merge pull request #432 from nielsvanvelzen/iamnotadesigner
Add noisy background for "BrowseHeaders" in home screen
2020-04-13 19:35:30 +02:00
Bill Thornton
5d04521b1f Merge pull request #369 from nielsvanvelzen/sony-bravia-hdr-fix
Use transparent background in video player
2020-04-13 13:32:55 -04:00
Niels van Velzen
c40fa3eb61 Merge pull request #427 from thornbill/fix-exoplayer-wtf
Fix Exoplayer Caching
2020-04-13 19:24:20 +02:00
Bill Thornton
bedfe45680 Bump okhttp version 2020-04-13 13:07:15 -04:00
Niels van Velzen
2744604a1d Add noisy background for "BrowseHeaders" in home screen 2020-04-13 10:34:47 +02:00
Leo Verto
d395de6847 Translated using Weblate (German)
Currently translated at 100.0% (358 of 358 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/de/
2020-04-12 18:57:59 -04:00
TheGoose
e77e5aea68 Translated using Weblate (English (United Kingdom))
Currently translated at 100.0% (358 of 358 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/en_GB/
2020-04-12 05:57:06 -04:00
darcostan
a36fdb612d Translated using Weblate (Serbian)
Currently translated at 29.6% (106 of 358 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/sr/
2020-04-11 20:44:21 -04:00
millallo
954918f752 Translated using Weblate (Italian)
Currently translated at 87.9% (315 of 358 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/it/
2020-04-11 20:44:20 -04:00
Vitorvlv
70eb6bf17f Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (358 of 358 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/pt_BR/
2020-04-11 13:19:34 -04:00
Bill Thornton
0863abd93e Add note on why okhttp is needed 2020-04-11 00:44:00 -04:00
Bill Thornton
4b3805153b Revert "Remove (unused) okhttp dependency"
This reverts commit 1a4f9d29d3.
2020-04-11 00:39:07 -04:00
Vitorvlv
20fa5d31d1 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (358 of 358 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/pt_BR/
2020-04-09 20:30:11 -04:00
Niels van Velzen
7d39cedc14 Merge pull request #423 from thornbill/fix-user-buttons
Fix user login buttons
2020-04-09 09:32:06 +02:00
Bill Thornton
d586b14025 Fix user login buttons 2020-04-08 22:13:25 -04:00
Niels van Velzen
95044a8c93 Merge pull request #419 from jassycliq/master
Fix issue #204
2020-04-07 09:35:05 +02:00
Jose Salgado
c393b54ed2 Changed genreRow to Flexbox as well 2020-04-06 13:28:43 -07:00
Proxycon
805fd4b300 Translated using Weblate (German)
Currently translated at 100.0% (358 of 358 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/de/
2020-04-05 18:35:52 -04:00
Jose Salgado
27cb2759d3 Fix issue #204 2020-04-05 15:03:32 -07:00
adrian gustavo martinez
a862d1adaa Translated using Weblate (Spanish (Mexico))
Currently translated at 100.0% (358 of 358 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/es_MX/
2020-04-04 22:28:10 -04:00
MG
cd882e998a Translated using Weblate (Italian)
Currently translated at 86.5% (310 of 358 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/it/
2020-04-02 12:44:36 -04:00
MG
54cc84573f Translated using Weblate (Italian)
Currently translated at 81.0% (290 of 358 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/it/
2020-04-02 12:07:43 -04:00
DJSweder
b763879b23 Translated using Weblate (Czech)
Currently translated at 100.0% (358 of 358 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/cs/
2020-04-02 12:07:43 -04:00
MG
8a9207b503 Translated using Weblate (Italian)
Currently translated at 76.5% (274 of 358 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/it/
2020-04-01 23:14:24 -04:00
Vitorvlv
0358262869 Translated using Weblate (Portuguese (Brazil))
Currently translated at 98.3% (352 of 358 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/pt_BR/
2020-04-01 15:44:36 -04:00
MG
182f8dc5fc Translated using Weblate (Italian)
Currently translated at 72.0% (258 of 358 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/it/
2020-04-01 13:49:26 -04:00
KGT1
25eadad316 Translated using Weblate (German)
Currently translated at 99.7% (357 of 358 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/de/
2020-04-01 13:49:25 -04:00
KGT1
917adf0d36 Translated using Weblate (German)
Currently translated at 99.7% (357 of 358 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/de/
2020-03-31 19:33:13 -04:00
pucherot
e78fd76ff8 Translated using Weblate (Spanish)
Currently translated at 100.0% (358 of 358 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/es/
2020-03-31 08:12:27 -04:00
Lukáš Viktora
0401e9999a Translated using Weblate (Czech)
Currently translated at 99.7% (357 of 358 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/cs/
2020-03-30 07:21:50 -04:00
Javier Lizano
981923045a Translated using Weblate (Spanish (Mexico))
Currently translated at 87.1% (312 of 358 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/es_MX/
2020-03-29 08:48:38 -04:00
Niels van Velzen
07dde3abcc Merge branch 'master' into sony-bravia-hdr-fix
# Conflicts:
#	app/src/main/res/layout/vlc_player_interface.xml
2020-03-28 23:00:51 +01:00
Niels van Velzen
7c53b891dd Merge pull request #390 from jassycliq/fix-user-selection
Add enter_manually button to users list
2020-03-28 10:02:51 +01:00
Niels van Velzen
b5afd281cc Merge pull request #342 from Florianisme/overlay-improvements
New overlay: code cleanup, fixes and general enhancements
2020-03-27 09:18:20 +01:00
Niels van Velzen
6f46358b5f Apply background color to the window instead of the decoration view 2020-03-27 09:01:52 +01:00
Marjan Kolevski
979957a565 Translated using Weblate (Macedonian)
Currently translated at 34.6% (124 of 358 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/mk/
2020-03-25 20:30:18 -04:00
Niels van Velzen
ff2235ee82 Merge pull request #407 from thornbill/update-build-output
Update output filename to published format
2020-03-25 21:20:16 +01:00
Ken Ying-Kai Liao
e4e8930702 Translated using Weblate (Chinese (Traditional))
Currently translated at 29.6% (106 of 358 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/zh_Hant/
2020-03-25 10:28:17 -04:00
Bill Thornton
2b7fc911ca Update output filename to published format 2020-03-24 15:49:37 -04:00
Wilson
fa2b579d1e Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (358 of 358 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/zh_Hans/
2020-03-24 13:39:30 -04:00
Koos van Riemsdijk
3740e7aa82 Translated using Weblate (Dutch)
Currently translated at 100.0% (358 of 358 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/nl/
2020-03-22 15:55:27 -04:00
Louis Hermier
5ace054cd9 Translated using Weblate (French)
Currently translated at 100.0% (358 of 358 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/fr/
2020-03-22 15:55:26 -04:00
adrian gustavo martinez
9f67c37bfb Translated using Weblate (Spanish)
Currently translated at 100.0% (358 of 358 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/es/
2020-03-22 15:55:26 -04:00
adrian gustavo martinez
0a9b66671b Translated using Weblate (Spanish (Mexico))
Currently translated at 86.8% (311 of 358 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/es_MX/
2020-03-22 11:51:36 -04:00
Alexander Brissman
e4d3e85224 Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (358 of 358 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/nb_NO/
2020-03-21 22:12:20 -04:00
Vogete
f96cbd7360 Translated using Weblate (Hungarian)
Currently translated at 34.9% (125 of 358 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/hu/
2020-03-21 16:00:19 -04:00
emmanuel billeaud
d4209afd25 Translated using Weblate (French)
Currently translated at 99.7% (357 of 358 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/fr/
2020-03-20 20:45:41 -04:00
Medzhnun
7376b45346 Translated using Weblate (Russian)
Currently translated at 100.0% (358 of 358 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/ru/
2020-03-20 08:18:36 -04:00
Ioan Constantin
c45c2b67b9 Translated using Weblate (Romanian)
Currently translated at 100.0% (358 of 358 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/ro/
2020-03-20 04:59:59 -04:00
marys1234
9cb77098af Translated using Weblate (Polish)
Currently translated at 53.9% (193 of 358 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/pl/
2020-03-19 14:33:09 -04:00
aw
fc912d526c Translated using Weblate (German)
Currently translated at 99.7% (357 of 358 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/de/
2020-03-19 14:33:07 -04:00
nextlooper42
940be768da Translated using Weblate (Slovak)
Currently translated at 100.0% (358 of 358 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/sk/
2020-03-18 22:47:29 -04:00
Mednis
c89e8a795d Translated using Weblate (Latvian)
Currently translated at 99.1% (355 of 358 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/lv/
2020-03-18 14:34:18 -04:00
Vytis
e857c04e8a Translated using Weblate (Lithuanian)
Currently translated at 13.6% (49 of 358 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/lt/
2020-03-18 08:49:00 -04:00
Vytis
753dba1a1f Added translation using Weblate (Lithuanian) 2020-03-18 06:53:45 -04:00
Niels van Velzen
eb8e956be8 Merge pull request #401 from thornbill/themes
Add theme support
2020-03-17 10:20:09 +01:00
Bill Thornton
79ae013efb Use simple summary provider for preferences 2020-03-16 23:54:32 -04:00
Bill Thornton
4cd69936be Fix array values and default value 2020-03-16 16:24:33 -04:00
Niels van Velzen
c4f3d4325b Merge pull request #402 from thornbill/can-i-haz-ci
Update CI triggers
2020-03-16 20:56:06 +01:00
Bill Thornton
e771cc32e5 Fix code review feedback 2020-03-16 15:48:37 -04:00
Bill Thornton
e0f10a0e08 Update CI triggers 2020-03-16 15:20:45 -04:00
muhammad adinugroho
df9ab80bd2 Translated using Weblate (Indonesian)
Currently translated at 1.4% (5 of 355 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/id/
2020-03-16 08:41:28 -04:00
ogry
8405b6e55b Translated using Weblate (Spanish)
Currently translated at 100.0% (355 of 355 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/es/
2020-03-16 08:41:28 -04:00
Mednis
21b4612f35 Translated using Weblate (Latvian)
Currently translated at 99.1% (352 of 355 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/lv/
2020-03-16 04:01:28 -04:00
rickyjoy
bbe298656b Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (355 of 355 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/zh_Hans/
2020-03-16 04:01:28 -04:00
Bill Thornton
d226dc9fee Add special theme 2020-03-15 02:20:43 -04:00
Bill Thornton
8ca0ef3fd7 Fix app theme preference position 2020-03-15 02:08:18 -04:00
Bill Thornton
e046e08f13 Add user preference for app theme 2020-03-15 02:08:18 -04:00
Rasmus
d983b6775d Translated using Weblate (Danish)
Currently translated at 95.2% (338 of 355 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/da/
2020-03-14 10:42:08 -04:00
WWWesten
2801b60eb0 Translated using Weblate (Kazakh)
Currently translated at 98.3% (349 of 355 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/kk/
2020-03-14 09:19:47 -04:00
Andy CHABALIER
7db8a3d3ba Translated using Weblate (French)
Currently translated at 100.0% (355 of 355 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/fr/
2020-03-14 09:19:46 -04:00
Vitorvlv
d5d6479865 Translated using Weblate (Portuguese (Brazil))
Currently translated at 98.3% (349 of 355 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/pt_BR/
2020-03-14 02:24:50 -04:00
Rasmus
d520d50cdc Translated using Weblate (Danish)
Currently translated at 95.2% (338 of 355 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/da/
2020-03-13 09:06:50 -04:00
Niels van Velzen
1118b6239c Merge pull request #396 from thornbill/subtitle-improvements
Improve subtitle rendering
2020-03-13 09:25:46 +01:00
Bill Thornton
e43540ee5b Improve subtitle rendering 2020-03-13 00:43:45 -04:00
Niels van Velzen
91992ba837 Merge pull request #395 from linetrimmer/patch-1
Update ProfileHelper.java to embed .ASS subtitles in external players
2020-03-12 17:48:09 +01:00
linetrimmer
c6f3c64e4a Update ProfileHelper.java 2020-03-12 12:35:43 -04:00
Rasmus
ee3a0ae986 Translated using Weblate (Danish)
Currently translated at 93.5% (332 of 355 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/da/
2020-03-12 01:38:07 -04:00
Rasmus
5be7d14e7c Translated using Weblate (Danish)
Currently translated at 89.0% (316 of 355 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/da/
2020-03-11 20:02:58 -04:00
Rasmus
c64776c793 Translated using Weblate (Danish)
Currently translated at 85.3% (303 of 355 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/da/
2020-03-11 19:53:54 -04:00
Rasmus
1589a4378b Translated using Weblate (Danish)
Currently translated at 85.3% (303 of 355 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/da/
2020-03-11 19:53:54 -04:00
byakurau
727d53c2cd Translated using Weblate (Polish)
Currently translated at 38.3% (136 of 355 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/pl/
2020-03-11 13:03:56 -04:00
Rasmus
d8c1a64f7c Translated using Weblate (Danish)
Currently translated at 74.6% (265 of 355 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/da/
2020-03-11 13:03:55 -04:00
Rasmus
f6660ee2a9 Translated using Weblate (Danish)
Currently translated at 65.3% (232 of 355 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/da/
2020-03-11 06:37:05 -04:00
Marcus Schelin
503b9b66ae Translated using Weblate (Swedish)
Currently translated at 100.0% (355 of 355 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/sv/
2020-03-10 07:39:03 -04:00
jassycliq
bce99b3070 Add enter_manually button to users list 2020-03-09 23:45:22 -07:00
Mednis
6ea143bfe3 Translated using Weblate (Latvian)
Currently translated at 98.8% (351 of 355 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/lv/
2020-03-09 22:39:25 -04:00
Mednis
1a3e728af2 Translated using Weblate (Latvian)
Currently translated at 92.1% (327 of 355 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/lv/
2020-03-09 17:12:21 -04:00
Andreas
c9af47c30e Merge pull request #381 from nielsvanvelzen/fixfont
Use system provided light font instead of Roboto-Light
2020-03-09 20:09:12 +01:00
Niels van Velzen
1c49f372d2 Use system provided light font instead of Roboto-Light 2020-03-09 20:00:29 +01:00
Niels van Velzen
0cd25288e7 Merge pull request #386 from thornbill/update-libvlc
Update libvlc and reset default audio delay
2020-03-09 18:50:30 +01:00
Bill Thornton
0c263f46be Update libvlc and reset default audio delay 2020-03-09 13:38:43 -04:00
Nutjob
4d19cbd1be Translated using Weblate (Italian)
Currently translated at 63.9% (227 of 355 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/it/
2020-03-09 11:27:17 -04:00
Mednis
70c0d7d8f4 Translated using Weblate (Latvian)
Currently translated at 78.3% (278 of 355 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/lv/
2020-03-08 20:08:28 -04:00
SaddFox
150e8ddaf9 Translated using Weblate (Slovenian)
Currently translated at 38.3% (136 of 355 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/sl/
2020-03-08 20:08:18 -04:00
Mednis
ac0c9f2dff Added translation using Weblate (Latvian) 2020-03-08 18:07:35 -04:00
mostech
9c9c27bfbd Translated using Weblate (Korean)
Currently translated at 63.9% (227 of 355 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/ko/
2020-03-08 09:01:05 -04:00
IDXK
1ad8dc26fa Translated using Weblate (Dutch)
Currently translated at 98.5% (350 of 355 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/nl/
2020-03-07 22:03:49 -05:00
Andreas
bacbaf94bb Merge pull request #382 from nielsvanvelzen/linter
Add relevant linter issues disabled by default
2020-03-07 22:20:11 +01:00
Niels van Velzen
19cb25d5c5 Add relevant linter issues disabled by default 2020-03-07 22:07:05 +01:00
Terrance M
35f94f22da Translated using Weblate (Chinese (Simplified))
Currently translated at 99.4% (353 of 355 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/zh_Hans/
2020-03-06 21:35:28 -05:00
Niels van Velzen
657137a8c7 Merge pull request #380 from thornbill/here-we-go-again
Fix weblate conflict
2020-03-06 22:34:40 +01:00
Bill Thornton
d000c60519 Fix weblate conflict 2020-03-06 16:28:51 -05:00
Scott Anecito
2d3cfddbac Translated using Weblate (Japanese)
Currently translated at 83.9% (299 of 356 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/ja/
2020-03-06 14:45:59 -05:00
WWWesten
7a85ac18c7 Translated using Weblate (Russian)
Currently translated at 100.0% (356 of 356 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/ru/
2020-03-06 14:45:59 -05:00
WWWesten
0adc0ae0ca Translated using Weblate (Kazakh)
Currently translated at 92.9% (331 of 356 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/kk/
2020-03-06 14:45:59 -05:00
TheGoose
f390f0f1ed Translated using Weblate (English (United Kingdom))
Currently translated at 100.0% (356 of 356 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/en_GB/
2020-03-06 14:45:59 -05:00
Bill Thornton
64ea84558f Merge pull request #378 from nielsvanvelzen/exoplayer2113
Upgrade Exoplayer to version 2.11.3
2020-03-06 13:21:30 -05:00
Bill Thornton
be9698ef57 Merge pull request #376 from AndreasGB/remove-stupid-timemachine
Remove auto-logoff "feature"
2020-03-06 13:18:26 -05:00
Niels van Velzen
e2753798d6 Upgrade Exoplayer to version 2.11.3 2020-03-06 19:12:06 +01:00
Andreas
22fb9e5237 Address code review 2020-03-06 18:44:07 +01:00
Andreas
ef99cf88c8 Delete translations of removed string 2020-03-06 00:24:29 +01:00
Andreas
d2e526920b Remove auto-logoff feature 2020-03-06 00:11:41 +01:00
Andreas
eaff7f8926 Merge pull request #374 from thornbill/the-clock-crash
Add ActivityLifecycleCallbacks implementation to check for null current user
2020-03-05 22:51:46 +01:00
Niels van Velzen
9b57487d35 Merge pull request #375 from thornbill/books-bad
Add books to excluded types in latest row fragment
2020-03-05 21:01:01 +01:00
Bill Thornton
476544c97c Add books to excluded types in latest row fragment 2020-03-05 14:31:44 -05:00
Bill Thornton
30006a2f47 Merge pull request #373 from nielsvanvelzen/kotlin1370
Upgrade Kotlin to 1.3.70
2020-03-03 16:35:12 -05:00
Bill Thornton
bf4d8b895d Add ActivityLifecycleCallbacks implementation to check for null current user 2020-03-03 16:19:17 -05:00
Niels van Velzen
ed9601f12d Upgrade Gradle wrapper to version 6.2.1 2020-03-03 21:31:53 +01:00
Niels van Velzen
efe7a50b36 Upgrade Kotlin to 1.3.70 2020-03-03 21:08:41 +01:00
Maurice Oegerli
dbdbd9cdb8 Translated using Weblate (German)
Currently translated at 100.0% (356 of 356 strings)

Translation: Jellyfin/Jellyfin Android TV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/de/
2020-03-03 05:26:59 -05:00
Ilija Apostolovski
60dadc4e4b Translated using Weblate (Macedonian)
Currently translated at 21.6% (77 of 356 strings)

Translation: Jellyfin/Jellyfin AndroidTV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/mk/
2020-03-02 05:48:53 -05:00
Niels van Velzen
49f5474547 Format vlc_player_interface 2020-03-02 10:16:17 +01:00
Niels van Velzen
fad9d3faf7 Apply the initial hdr fix again 2020-03-02 10:15:41 +01:00
Bill Thornton
98083a1ba7 Merge pull request #370 from nielsvanvelzen/editorconfig
Remove "end_of_line" rule from editorconfig
2020-03-01 09:02:06 -05:00
Ilija Apostolovski
7c01c6896f Added translation using Weblate (Macedonian) 2020-03-01 07:59:34 -05:00
Niels van Velzen
ad760acf20 Add line feed settings to gitattributes 2020-03-01 09:20:30 +01:00
Václav Luňák
ee1476d2f1 Translated using Weblate (Czech)
Currently translated at 100.0% (356 of 356 strings)

Translation: Jellyfin/Jellyfin AndroidTV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/cs/
2020-02-29 15:49:17 -05:00
Niels van Velzen
ec28d32eb1 Remove custom_player_interface.xml
It was unused and caused confusion about which xml was used for the player (spoiler: it is the VLC one, even for exoplayer). For some reason a view was still used (spinner) so I did the most basic removal of it
2020-02-29 18:07:02 +01:00
Niels van Velzen
00e9d4a6f9 Use the "colorMode" setting (since Android 9) to activate HDR in the player activity 2020-02-29 18:00:59 +01:00
Adam Bokor
e994da6250 Translated using Weblate (Hungarian)
Currently translated at 7.0% (25 of 356 strings)

Translation: Jellyfin/Jellyfin AndroidTV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/hu/
2020-02-29 06:29:23 -05:00
Niels van Velzen
ffadba497a Remove "end_of_line" rule from editorconfig
It caused issues in Android Studio on Windows where it would "detect" changed files but there were none. git will automatically convert line endings on windows so this should not cause any problems.
2020-02-29 10:03:26 +01:00
Niels van Velzen
0fb45bf90c Convert PlaybackOverlayActivity to Kotlin 2020-02-29 09:50:27 +01:00
Niels van Velzen
87029c8809 Use transparent background in video player to work around issues with Sony Bravia televisions 2020-02-29 09:38:10 +01:00
Alexander Brissman
606dabf6cb Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (356 of 356 strings)

Translation: Jellyfin/Jellyfin AndroidTV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/nb_NO/
2020-02-28 23:29:43 -05:00
Alexander Brissman
0c193606c0 Translated using Weblate (Norwegian Bokmål)
Currently translated at 99.4% (354 of 356 strings)

Translation: Jellyfin/Jellyfin AndroidTV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/nb_NO/
2020-02-28 13:12:33 -05:00
Andreas Olsson
78c5bdeec8 Translated using Weblate (Swedish)
Currently translated at 100.0% (356 of 356 strings)

Translation: Jellyfin/Jellyfin AndroidTV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/sv/
2020-02-27 22:48:53 -05:00
NeuroBCN
956b4ac8b0 Translated using Weblate (Spanish)
Currently translated at 99.7% (355 of 356 strings)

Translation: Jellyfin/Jellyfin AndroidTV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/es/
2020-02-27 22:48:53 -05:00
Bill Thornton
d2c6906f52 Merge pull request #366 from nielsvanvelzen/format
Use string formatter via `getString` instead of `String.format`.
2020-02-27 13:41:26 -05:00
Niels van Velzen
df559ba618 Use string formatter via getString instead of String.format.
This fixes a small code smell. The getString() function already supports formatting strings
2020-02-27 19:15:41 +01:00
Bill Thornton
7dd5b42bb8 Merge pull request #362 from nielsvanvelzen/abt-360
Upgrade Android Gradle build tools to version 3.6.0 (latest)
2020-02-26 14:46:11 -05:00
Niels van Velzen
afb42beb21 Fix new linting errors 2020-02-26 20:18:43 +01:00
Niels van Velzen
c9bfd90c08 Upgrade Android Gradle build tools to version 3.6.0 (latest) 2020-02-26 20:17:28 +01:00
Julien Quiévreux
97a3ed8b30 Translated using Weblate (French)
Currently translated at 100.0% (356 of 356 strings)

Translation: Jellyfin/Jellyfin AndroidTV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/fr/
2020-02-26 14:01:44 -05:00
nextlooper42
155f598856 Translated using Weblate (Slovak)
Currently translated at 100.0% (356 of 356 strings)

Translation: Jellyfin/Jellyfin AndroidTV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/sk/
2020-02-25 07:10:03 -05:00
Niels van Velzen
a5f8e29073 Merge pull request #361 from thornbill/fix-app-name
Add space to app name
2020-02-24 22:23:53 +01:00
Niels van Velzen
42cf6ebabb Merge pull request #360 from thornbill/for-the-children
Add child count to requested fields in queries
2020-02-24 22:23:17 +01:00
Bill Thornton
2c884e73a1 Fix formatting of StdItemQuery 2020-02-24 16:15:37 -05:00
Bill Thornton
08dbce5d93 Add space to app name 2020-02-24 16:13:05 -05:00
Bill Thornton
96af93d06e Add child count to requested fields in queries 2020-02-24 15:53:11 -05:00
4d1m
0ef0dae048 Translated using Weblate (Romanian)
Currently translated at 100.0% (356 of 356 strings)

Translation: Jellyfin/Jellyfin AndroidTV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/ro/
2020-02-24 13:40:43 -05:00
Anders Bengtsson
348d8772d5 Translated using Weblate (Swedish)
Currently translated at 100.0% (353 of 353 strings)

Translation: Jellyfin/Jellyfin AndroidTV
Translate-URL: http://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/sv/
2020-02-23 23:39:22 -05:00
Andreas Olsson
6ffee80a20 Translated using Weblate (Swedish)
Currently translated at 100.0% (353 of 353 strings)

Translation: Jellyfin/Jellyfin AndroidTV
Translate-URL: http://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/sv/
2020-02-23 23:39:22 -05:00
David Martins da Conceição
ff54c162a6 Translated using Weblate (Portuguese (Portugal))
Currently translated at 91.7% (324 of 353 strings)

Translation: Jellyfin/Jellyfin AndroidTV
Translate-URL: http://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/pt_PT/
2020-02-23 23:39:22 -05:00
Alex Camilleri
b841108c08 Translated using Weblate (Italian)
Currently translated at 63.7% (225 of 353 strings)

Translation: Jellyfin/Jellyfin AndroidTV
Translate-URL: http://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/it/
2020-02-23 23:39:22 -05:00
Niels van Velzen
f6a22ed081 Merge pull request #358 from thornbill/libvlc-delay
Add default audio delay for libVLC
2020-02-23 09:39:10 +01:00
Bill Thornton
2b6c105496 Fix code review feedback 2020-02-23 00:31:05 -05:00
Andreas Olsson
9ba97421e3 Translated using Weblate (Swedish)
Currently translated at 100.0% (353 of 353 strings)

Translation: Jellyfin/Jellyfin AndroidTV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/sv/
2020-02-22 07:30:23 -05:00
Anders Bengtsson
35f54fcebb Translated using Weblate (Swedish)
Currently translated at 100.0% (353 of 353 strings)

Translation: Jellyfin/Jellyfin AndroidTV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/sv/
2020-02-22 07:30:22 -05:00
Anders Bengtsson
7c05f14901 Translated using Weblate (Swedish)
Currently translated at 100.0% (353 of 353 strings)

Translation: Jellyfin/Jellyfin AndroidTV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/sv/
2020-02-22 06:54:37 -05:00
Andreas Olsson
9021fbb4d2 Translated using Weblate (Swedish)
Currently translated at 100.0% (353 of 353 strings)

Translation: Jellyfin/Jellyfin AndroidTV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/sv/
2020-02-22 06:54:37 -05:00
Anders Bengtsson
2afa545eaa Translated using Weblate (Swedish)
Currently translated at 100.0% (351 of 351 strings)

Translation: Jellyfin/Jellyfin AndroidTV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/sv/
2020-02-22 06:39:14 -05:00
S1ckn3z
85a9eea34b Translated using Weblate (German)
Currently translated at 99.4% (349 of 351 strings)

Translation: Jellyfin/Jellyfin AndroidTV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/de/
2020-02-22 06:39:14 -05:00
Anders Bengtsson
36dc568bc9 Translated using Weblate (Swedish)
Currently translated at 100.0% (351 of 351 strings)

Translation: Jellyfin/Jellyfin AndroidTV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/sv/
2020-02-22 06:39:14 -05:00
Andreas Olsson
d5e66ed6c5 Translated using Weblate (Swedish)
Currently translated at 100.0% (351 of 351 strings)

Translation: Jellyfin/Jellyfin AndroidTV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/sv/
2020-02-22 06:39:14 -05:00
Bill Thornton
35a150a1bb Add default audio delay for libVLC 2020-02-21 15:22:24 -05:00
Andreas
7bcd6db69c Merge pull request #356 from nielsvanvelzen/upprevious
Disable Up Next and show logo
2020-02-20 19:22:40 +01:00
Niels van Velzen
b4255e63fc Fix dependencies 2020-02-20 16:45:07 +01:00
Niels van Velzen
eafb04b40b Add logo 2020-02-20 15:49:44 +01:00
Niels van Velzen
1b7eb7b2a3 Add option to disable the next up screen 2020-02-20 15:32:44 +01:00
Niels van Velzen
3c927e3354 Merge pull request #352 from thornbill/music-artist-search-crash
Fix crash when selecting a music artist in search results
2020-02-20 10:09:53 +01:00
Niels van Velzen
74671b4e98 Merge pull request #353 from thornbill/no-shuffle-for-albums
Fix shuffle all option for albums
2020-02-20 10:08:19 +01:00
nextlooper42
ca9996a2cb Translated using Weblate (Slovak)
Currently translated at 100.0% (351 of 351 strings)

Translation: Jellyfin/Jellyfin AndroidTV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/sk/
2020-02-19 22:47:08 -05:00
Alexander Brissman
53ae33c398 Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (351 of 351 strings)

Translation: Jellyfin/Jellyfin AndroidTV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/nb_NO/
2020-02-19 22:47:08 -05:00
lelamamalgache
c2ed8c5a65 Translated using Weblate (French)
Currently translated at 100.0% (351 of 351 strings)

Translation: Jellyfin/Jellyfin AndroidTV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/fr/
2020-02-19 22:47:08 -05:00
Philmo67
42322dc767 Translated using Weblate (French)
Currently translated at 100.0% (351 of 351 strings)

Translation: Jellyfin/Jellyfin AndroidTV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/fr/
2020-02-19 22:47:08 -05:00
SleepyJesse
9ed3fc1ce6 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (351 of 351 strings)

Translation: Jellyfin/Jellyfin AndroidTV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/zh_Hans/
2020-02-19 22:47:08 -05:00
Niels van Velzen
97ec6b4c5a Merge pull request #349 from nielsvanvelzen/remove-apiclient-library-dependency
Remove dependency on apiclient library
2020-02-19 09:24:17 +01:00
Niels van Velzen
8935a77f51 Merge branch 'master' into remove-apiclient-library-dependency 2020-02-19 09:13:22 +01:00
Daniel De Jesus
de84b4d470 Translated using Weblate (Spanish (Dominican Republic))
Currently translated at 4.9% (17 of 348 strings)

Translation: Jellyfin/Jellyfin AndroidTV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/es_DO/
2020-02-19 01:20:48 -05:00
Christian Elbrianno
1bd76d7477 Translated using Weblate (Indonesian)
Currently translated at 0.3% (1 of 348 strings)

Translation: Jellyfin/Jellyfin AndroidTV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/id/
2020-02-19 01:20:48 -05:00
nextlooper42
efd5c7ca81 Translated using Weblate (Slovak)
Currently translated at 100.0% (348 of 348 strings)

Translation: Jellyfin/Jellyfin AndroidTV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/sk/
2020-02-19 01:20:48 -05:00
4d1m
c4f3c9c63a Translated using Weblate (Romanian)
Currently translated at 100.0% (348 of 348 strings)

Translation: Jellyfin/Jellyfin AndroidTV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/ro/
2020-02-19 01:20:48 -05:00
Alexander Brissman
27407a5974 Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (348 of 348 strings)

Translation: Jellyfin/Jellyfin AndroidTV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/nb_NO/
2020-02-19 01:20:48 -05:00
zibius1
25bb4e7869 Translated using Weblate (French)
Currently translated at 96.3% (335 of 348 strings)

Translation: Jellyfin/Jellyfin AndroidTV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/fr/
2020-02-19 01:20:48 -05:00
TheGoose
5f439c7c6b Translated using Weblate (English (United Kingdom))
Currently translated at 100.0% (348 of 348 strings)

Translation: Jellyfin/Jellyfin AndroidTV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/en_GB/
2020-02-19 01:20:48 -05:00
Andreas
9160470f96 Translated using Weblate (German)
Currently translated at 100.0% (348 of 348 strings)

Translation: Jellyfin/Jellyfin AndroidTV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/de/
2020-02-19 01:20:48 -05:00
Bill Thornton
79f93f5fb6 Fix shuffle all option for albums 2020-02-19 00:27:12 -05:00
Bill Thornton
11edeb6191 Fix crash when selecting a music artist in search results 2020-02-19 00:22:08 -05:00
Bill Thornton
d5f4e0e9ad Merge pull request #265 from nielsvanvelzen/upnext
Playing Next screen
2020-02-18 17:22:29 -05:00
Niels van Velzen
d412757272 Increase padding to prevent overscan issues 2020-02-18 22:08:04 +01:00
Niels van Velzen
021caf90e2 Remove dependency on apiclient library 2020-02-18 22:03:43 +01:00
Niels van Velzen
fb3d08baf0 Move colors to colors.xml 2020-02-18 09:43:23 +01:00
Bill Thornton
689611e1bd Merge pull request #348 from nielsvanvelzen/spam-all-the-users
Add ability to annoy users from server
2020-02-17 17:29:03 -05:00
Niels van Velzen
56fdaf70f5 Add ability to annoy users from server 2020-02-17 23:09:07 +01:00
Jared Allard
9c8e8222fb Translated using Weblate (English (United Kingdom))
Currently translated at 95.4% (331 of 347 strings)

Translation: Jellyfin/Jellyfin AndroidTV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/en_GB/
2020-02-17 01:18:05 -05:00
Andreas
a787c01f95 Translated using Weblate (German)
Currently translated at 100.0% (347 of 347 strings)

Translation: Jellyfin/Jellyfin AndroidTV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/de/
2020-02-17 01:18:05 -05:00
Niels van Velzen
c7bb1a9aaa Review changes 2020-02-16 15:33:31 +01:00
Andreas
beaca09d78 Merge pull request #344 from nielsvanvelzen/kotlin-18
Set Kotlin JVM target to Java 1.8 (from 1.6) to support inline functions
2020-02-16 15:08:39 +01:00
Niels van Velzen
a2dedfc07e Set Kotlin JVM target to Java 1.8 (from 1.6) to support inline functions 2020-02-16 14:54:30 +01:00
Niels van Velzen
badbd2d532 Remove debug code 2020-02-16 13:08:59 +01:00
Niels van Velzen
408548c5a2 Finish progress bar in button 2020-02-16 13:04:27 +01:00
Niels van Velzen
02f7bc0239 Start on custom button that can show progress 2020-02-16 12:44:29 +01:00
Niels van Velzen
9c9986229a Rename from upnext, UpNext and up_next to NextUp and next_up 2020-02-16 12:44:28 +01:00
Niels van Velzen
3fd1f9e3e8 Use buttons for a better user experience 2020-02-16 12:44:28 +01:00
Niels van Velzen
59a0fd9e6a Convert to constraint layout 2020-02-16 12:44:27 +01:00
Niels van Velzen
0443d9e553 Add setting to choose timeout 2020-02-16 12:44:26 +01:00
Niels van Velzen
5b20b49769 Fix import 2020-02-16 12:44:01 +01:00
Niels van Velzen
7baf50cf4d Fix text overflowing in large descriptions causing the layout to look weird 2020-02-16 12:44:00 +01:00
Niels van Velzen
bde415414d Log close reason 2020-02-16 12:43:59 +01:00
Niels van Velzen
afdc48146e Fix hardcoded string 2020-02-16 12:43:59 +01:00
Niels van Velzen
371d285e39 Fix up next not playing video 2020-02-16 12:43:59 +01:00
Niels van Velzen
6779869128 Misc 2020-02-16 12:43:58 +01:00
Niels van Velzen
374a9a5e57 Initial integration 2020-02-16 12:43:57 +01:00
Niels van Velzen
70db1529b8 Move content loading to activity 2020-02-16 12:43:56 +01:00
Niels van Velzen
0f8cc87279 Rewrite without leanback 2020-02-16 12:43:55 +01:00
Niels van Velzen
e16fae93be Start on actions 2020-02-16 12:43:55 +01:00
Niels van Velzen
35383f8478 Design update 2020-02-16 12:43:54 +01:00
Niels van Velzen
5b4c54711e Initial progress 2020-02-16 12:43:53 +01:00
Niels van Velzen
edf81ee04d Merge pull request #341 from thornbill/live-tv-player-enum
Use PreferredVideoPlayer enum for live tv preference
2020-02-15 19:08:43 +01:00
Adam Bokor
91735d8acf Translated using Weblate (Hungarian)
Currently translated at 5.8% (20 of 346 strings)

Translation: Jellyfin/Jellyfin AndroidTV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/hu/
2020-02-15 11:15:19 -05:00
Niels van Velzen
9c0d1ccb7f Merge pull request #343 from AndreasGB/requesting-landscape-for-preferences-broke-it
Fix preferences not showing, requesting landscape for their activity …
2020-02-15 17:04:01 +01:00
Andreas
ec18e08bf8 Fix preferences not showing, requesting landscape for their activity broke them 2020-02-15 16:46:04 +01:00
Adam Bokor
57646f0e43 Translated using Weblate (Hungarian)
Currently translated at 5.5% (19 of 346 strings)

Translation: Jellyfin/Jellyfin AndroidTV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/hu/
2020-02-14 22:47:59 -05:00
nextlooper42
0b06c3b5e0 Translated using Weblate (Slovak)
Currently translated at 100.0% (346 of 346 strings)

Translation: Jellyfin/Jellyfin AndroidTV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/sk/
2020-02-14 22:47:59 -05:00
Jaimie85
3880287d7f Translated using Weblate (Dutch)
Currently translated at 99.4% (344 of 346 strings)

Translation: Jellyfin/Jellyfin AndroidTV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/nl/
2020-02-14 22:47:41 -05:00
Elouan MAILLY
2897e782cd Translated using Weblate (French)
Currently translated at 96.2% (333 of 346 strings)

Translation: Jellyfin/Jellyfin AndroidTV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/fr/
2020-02-14 22:47:41 -05:00
WWWesten
81ac9de655 Translated using Weblate (Russian)
Currently translated at 100.0% (346 of 346 strings)

Translation: Jellyfin/Jellyfin AndroidTV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/ru/
2020-02-14 22:47:41 -05:00
nicolasvac
c161fae963 Translated using Weblate (Italian)
Currently translated at 64.5% (223 of 346 strings)

Translation: Jellyfin/Jellyfin AndroidTV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/it/
2020-02-14 22:47:41 -05:00
Niels van Velzen
23cb0a1277 Translated using Weblate (Dutch)
Currently translated at 98.8% (342 of 346 strings)

Translation: Jellyfin/Jellyfin AndroidTV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/nl/
2020-02-14 22:47:41 -05:00
Axel Gabriel Calle Granda
ae7be2cceb Translated using Weblate (Spanish)
Currently translated at 100.0% (346 of 346 strings)

Translation: Jellyfin/Jellyfin AndroidTV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/es/
2020-02-14 22:47:41 -05:00
Bill Thornton
7f79cfc34c Move live_tv_video_player to migration 3 2020-02-14 17:13:10 -05:00
Florianisme
63dc0e111e Update duration when next item starts playing 2020-02-14 22:54:17 +01:00
Bill Thornton
f8ef06b068 Use PreferredVideoPlayer enum for live tv preference 2020-02-14 16:35:23 -05:00
Bill Thornton
5aee2f8276 Merge pull request #331 from nielsvanvelzen/mymedia-channel
My media channel
2020-02-13 11:58:22 -05:00
Niels van Velzen
7967f5e0de Open correct UserView using ItemLauncher 2020-02-13 10:21:30 +01:00
Niels van Velzen
a46047d818 Use already available util methods 2020-02-12 20:34:06 +01:00
Bill Thornton
e1624b295a Merge pull request #260 from nielsvanvelzen/preference-refactor
Refactor preferences
2020-02-11 09:57:34 -05:00
Niels van Velzen
3f1fa1e150 Add intents 2020-02-11 15:07:52 +01:00
Niels van Velzen
e7a51cd173 Convert icon to bitmap to prevent crash. 2020-02-11 14:49:38 +01:00
Niels van Velzen
598f24654f Use vector icon for app 2020-02-11 14:21:38 +01:00
Niels van Velzen
d00d8121ef Add "My media" row to leanback home 2020-02-11 14:21:25 +01:00
Niels van Velzen
679c40c692 Fix some warnings 2020-02-11 10:19:04 +01:00
Niels van Velzen
de21599a36 Use androidx.preference library 2020-02-11 10:16:16 +01:00
Niels van Velzen
f1fe17aa4b Update migrations 2020-02-11 10:10:28 +01:00
Niels van Velzen
ccd31da814 Fix default values for boolean 2020-02-11 10:07:10 +01:00
Niels van Velzen
849622cd41 Fix bad merge 2020-02-11 10:03:57 +01:00
Niels van Velzen
84f7677f54 Merge branch 'master' into preference-refactor
# Conflicts:
#	app/src/main/AndroidManifest.xml
2020-02-11 10:02:39 +01:00
Andreas
1f823d758b Make Debug Builds distinguishable from Release (#330)
Add a banner and new app_name string for the debug build for distinguishability
2020-02-11 09:05:45 +01:00
Niels van Velzen
d1a3282cd5 Merge pull request #329 from AndreasGB/fix-music-playback-start-on-phones-lol
Fix music playback starting on phones + force landscape for all views
2020-02-10 18:33:14 +01:00
Niels van Velzen
3686914935 Merge branch 'master' into preference-refactor
# Conflicts:
#	app/build.gradle.kts
2020-02-10 17:39:12 +01:00
Bill Thornton
b147462104 Merge pull request #328 from nielsvanvelzen/revert-11e96f1d4ac5a19202d23f5dd7cd7019f02cc3ab
Revert "Remove androidx.appcompat dependency"
2020-02-10 11:37:20 -05:00
Niels van Velzen
8897c9a752 Fix missing super call 2020-02-10 17:30:06 +01:00
Andreas
7bad2cb448 Force every activity into landscape mode 2020-02-10 17:21:59 +01:00
Niels van Velzen
69dfcf8ac9 Revert "Remove androidx.appcompat dependency"
This reverts commit 11e96f1d
2020-02-10 17:13:12 +01:00
Andreas
5f2adb8ddd Fix popup-menus in ItemListActivity on phones 2020-02-10 17:10:17 +01:00
Niels van Velzen
7d2669f973 Use same version for leanback and leanback-preference 2020-02-10 17:01:11 +01:00
Niels van Velzen
07cf1a18c2 Fix misc merge issues 2020-02-10 16:55:58 +01:00
Niels van Velzen
5d4dd86f1e Fix dependency after merge 2020-02-10 16:51:05 +01:00
Niels van Velzen
d8afabf19f Merge branch 'master' into preference-refactor
# Conflicts:
#	app/build.gradle
#	app/src/main/java/org/jellyfin/androidtv/playback/CustomPlaybackOverlayFragment.java
#	app/src/main/java/org/jellyfin/androidtv/playback/ExternalPlayerActivity.java
#	app/src/main/java/org/jellyfin/androidtv/startup/StartupActivity.java
#	app/src/main/res/xml/preferences.xml
2020-02-10 16:50:25 +01:00
Bill Thornton
a5fc45aef9 Merge pull request #327 from nielsvanvelzen/gradle-without-the-weird-syntax
Update Gradle to Kotlin DSL
2020-02-10 08:28:17 -05:00
Niels van Velzen
9853e38916 Make enableDependencySubstitution configurable (enabled by default) 2020-02-10 09:50:14 +01:00
Niels van Velzen
c28502652e Add back mockito 2020-02-09 22:01:29 +01:00
Niels van Velzen
11e96f1d4a Remove androidx.appcompat dependency 2020-02-09 22:00:39 +01:00
Niels van Velzen
66e6b02643 Remove guava dependency 2020-02-09 22:00:38 +01:00
Niels van Velzen
3ea37fd033 Update android gradle build tools version 2020-02-09 22:00:38 +01:00
Niels van Velzen
f3c72412eb Update androidx dependencies 2020-02-09 22:00:38 +01:00
Niels van Velzen
1a4f9d29d3 Remove (unused) okhttp dependency 2020-02-09 22:00:38 +01:00
Niels van Velzen
e37eb1df2d Organize dependencies 2020-02-09 22:00:37 +01:00
Niels van Velzen
48875980f6 Convert Gradle files to Kotlin 2020-02-09 22:00:37 +01:00
Niels van Velzen
40a37d9418 Update Gradle and Gradle wrapper to latest version 2020-02-09 21:59:27 +01:00
Niels van Velzen
c954f9899d Merge pull request #251 from Florianisme/player-overlay-redesign
Player overlay redesign
2020-02-09 21:50:07 +01:00
Florianisme
b356904cb7 Merge remote-tracking branch 'upstream/master' into player-overlay-redesign
# Conflicts:
#	app/src/main/java/org/jellyfin/androidtv/playback/CustomPlaybackOverlayFragment.java
2020-02-09 21:43:04 +01:00
Niels van Velzen
515a1fa0c2 Merge pull request #324 from nielsvanvelzen/startup-activity-mess
Startup activity mess
2020-02-09 12:33:14 +01:00
Niels van Velzen
3c35ed0e85 Add null check 2020-02-09 11:10:43 +01:00
Niels van Velzen
fe64799015 Some random cleaning in StartupActivity 2020-02-09 10:57:42 +01:00
Niels van Velzen
b451c3fb85 Merge pull request #322 from nielsvanvelzen/leave-my-audio-alone
Remove audio mute features
2020-02-09 10:33:37 +01:00
Niels van Velzen
899d0dab3f Remove audio mute features 2020-02-08 22:58:17 +01:00
Niels van Velzen
3b09e2f3ef Merge pull request #315 from AndreasGB/logging-without-format-string-injections-is-hard
Fix broken logger calls
2020-02-08 13:23:13 +01:00
Andreas
5614469ffb Fix hopefully all the incorrect usages of the ILogger interface 2020-02-07 22:33:28 +01:00
Andreas
95dc24c869 Fix broken logger call 2020-02-07 22:32:03 +01:00
Florianisme
21a3e33956 Merge remote-tracking branch 'upstream/master' into player-overlay-redesign
# Conflicts:
#	app/src/main/java/org/jellyfin/androidtv/playback/VideoManager.java
2020-02-07 20:35:56 +01:00
Florianisme
0cc9430412 Fix quick channel switcher not showing when pressing DPAD_DOWN 2020-02-07 20:30:35 +01:00
Bill Thornton
e139331c7d Merge pull request #306 from nielsvanvelzen/two-subs-for-the-price-of-one
Partial fix for subtitles
2020-02-06 23:20:14 -05:00
Bill Thornton
ec6fa045ac Disable all subtitle rendering in exoplayer 2020-02-06 23:12:35 -05:00
Bill Thornton
0e2bf763ca Merge pull request #305 from nielsvanvelzen/297-fix-cherry
Fix wrong last position when media player is closed and progress still reported
2020-02-06 08:45:17 -05:00
Florianisme
8cd11c888c Fix wrong last position when media player is closed and progress still reported 2020-02-06 09:35:14 +01:00
dkanada
bd959b7d45 Merge pull request #304 from thornbill/fix-empty-address
Fix crash on empty server address
2020-02-06 15:02:14 +09:00
Bill Thornton
c407ff857c Fix crash on empty server address 2020-02-06 00:27:05 -05:00
Bill Thornton
5dc9582fd0 Merge pull request #299 from nielsvanvelzen/homesections-fix-defaults
Fix default home sections not used when the user partially changed them
2020-02-06 00:01:18 -05:00
Bill Thornton
fb0d39b4a3 Merge pull request #302 from AndreasGB/fix-acra-enabled-display
Fix displaying ACRA as enabled by default in preferences
2020-02-05 19:06:41 -05:00
Andreas
f5c37620e7 Fix displaying ACRA as enabled by default in preferences 2020-02-06 00:43:11 +01:00
Niels van Velzen
892d2488b6 Fix default home sections not used when the user partially changed them 2020-02-05 23:14:12 +01:00
Florianisme
c0b21764b0 Fix wrong last position when media player is closed and progress still reported 2020-02-05 19:37:33 +01:00
Florianisme
e83788b490 Fix play/pause out of sync error 2020-02-05 19:24:15 +01:00
Niels van Velzen
c67afcd438 Merge branch 'master' into preference-refactor 2020-02-05 17:48:08 +01:00
Florianisme
f8fe612bdb Merge remote-tracking branch 'upstream/master' into player-overlay-redesign 2020-02-05 17:44:30 +01:00
Niels van Velzen
d2f62be59f Merge pull request #293 from Florianisme/fix-weblate-merge-error
Fix weblate merge error
2020-02-05 17:41:23 +01:00
Florianisme
5118893514 Fix weblate merge error 2020-02-05 17:33:26 +01:00
Florianisme
b8415e6458 Merge remote-tracking branch 'upstream/master' into player-overlay-redesign 2020-02-05 17:23:14 +01:00
Arkadiusz Urbanski
a5aa0ed150 Translated using Weblate (Polish)
Currently translated at 34.1% (118 of 346 strings)

Translation: Jellyfin/Jellyfin AndroidTV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/pl/
2020-02-05 05:54:41 -05:00
nextlooper42
510deda126 Translated using Weblate (Slovak)
Currently translated at 100.0% (346 of 346 strings)

Translation: Jellyfin/Jellyfin AndroidTV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/sk/
2020-02-05 05:54:41 -05:00
Punxsu Phil
17fa06f39f Translated using Weblate (Spanish)
Currently translated at 99.7% (345 of 346 strings)

Translation: Jellyfin/Jellyfin AndroidTV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/es/
2020-02-05 05:54:41 -05:00
Nutjob
33088a0eb2 Translated using Weblate (Italian)
Currently translated at 63.9% (221 of 346 strings)

Translation: Jellyfin/Jellyfin AndroidTV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/it/
2020-02-05 05:54:40 -05:00
Jan Nowak
79e1292764 Translated using Weblate (Polish)
Currently translated at 27.5% (95 of 346 strings)

Translation: Jellyfin/Jellyfin AndroidTV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/pl/
2020-02-05 05:54:40 -05:00
Jan Nowak
dc225ea46f Added translation using Weblate (Polish) 2020-02-05 05:54:40 -05:00
nextlooper42
03ec23978f Translated using Weblate (Slovak)
Currently translated at 97.1% (336 of 346 strings)

Translation: Jellyfin/Jellyfin AndroidTV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/sk/
2020-02-05 05:54:40 -05:00
Meteor
b2e0aea79c Translated using Weblate (Chinese (Simplified))
Currently translated at 98.8% (342 of 346 strings)

Translation: Jellyfin/Jellyfin AndroidTV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/zh_Hans/
2020-02-05 05:54:40 -05:00
nikolusz
a5485a33f4 Translated using Weblate (Chinese (Simplified))
Currently translated at 98.8% (342 of 346 strings)

Translation: Jellyfin/Jellyfin AndroidTV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/zh_Hans/
2020-02-05 05:54:40 -05:00
WWWesten
f62f538cd0 Translated using Weblate (Russian)
Currently translated at 100.0% (346 of 346 strings)

Translation: Jellyfin/Jellyfin AndroidTV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/ru/
2020-02-05 05:54:40 -05:00
4d1m
fa973cbbbe Translated using Weblate (Romanian)
Currently translated at 100.0% (346 of 346 strings)

Translation: Jellyfin/Jellyfin AndroidTV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/ro/
2020-02-05 05:54:40 -05:00
NunzioArdi
d330b043b6 Translated using Weblate (French)
Currently translated at 95.1% (329 of 346 strings)

Translation: Jellyfin/Jellyfin AndroidTV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/fr/
2020-02-05 05:54:40 -05:00
KGT1
ef075df66d Translated using Weblate (German)
Currently translated at 99.7% (345 of 346 strings)

Translation: Jellyfin/Jellyfin AndroidTV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/de/
2020-02-05 05:54:40 -05:00
Benjamin Risse
d9a35dc932 Translated using Weblate (German)
Currently translated at 99.7% (345 of 346 strings)

Translation: Jellyfin/Jellyfin AndroidTV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/de/
2020-02-05 05:54:40 -05:00
Libor Filípek
4ff0367b09 Translated using Weblate (Czech)
Currently translated at 100.0% (346 of 346 strings)

Translation: Jellyfin/Jellyfin AndroidTV
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/cs/
2020-02-05 05:54:40 -05:00
dkanada
6752401030 Merge pull request #291 from thornbill/lost-in-translation
Add merge rule to (hopefully) avoid conflicts in weblate
2020-02-05 14:03:37 +09:00
Bill Thornton
d8a25f3558 Add merge rule to (hopefully) avoid conflicts in weblate 2020-02-04 23:19:21 -05:00
Niels van Velzen
d26db9cfbf Merge pull request #288 from AndreasGB/PersonTypeRefactor
Refactor PersonType into a proper enum
2020-02-04 10:59:34 +01:00
Andreas
ba9562eacd Refactor PersonType into a proper enum 2020-02-03 23:44:02 +01:00
Florianisme
2c2d18545c Keep chapter selection focused when pressing left on first item 2020-02-01 22:46:33 +01:00
Florianisme
a232313d8b Prevent seeking in live tv mode 2020-02-01 22:00:41 +01:00
Florianisme
1a044394e8 Fix crash when exiting playback view 2020-02-01 21:34:29 +01:00
Florianisme
0bfe099638 Extract click handling to each action class 2020-02-01 21:34:01 +01:00
Florianisme
a11141afe7 Set fixed seek duration of 30 seconds 2020-02-01 21:09:55 +01:00
Florianisme
944960540a Fix crash when exiting playback view 2020-02-01 14:02:39 +01:00
Niels van Velzen
df09859288 Use transparent background for preferences 2020-01-19 12:17:58 +01:00
Niels van Velzen
2e0f843112 Layout changes 2020-01-19 12:11:34 +01:00
Niels van Velzen
fd72b7819c Format preferences xml 2020-01-19 11:56:51 +01:00
Niels van Velzen
4a1c09a8d9 Convert to leanback preferences 2020-01-19 11:56:37 +01:00
Niels van Velzen
5e0784feec Use Jellyfin Appcompat theme 2020-01-19 10:26:14 +01:00
Niels van Velzen
bc6d8c9f6d Remove old migration code 2020-01-11 17:04:51 +01:00
Niels van Velzen
370473a699 Fix CI error 2020-01-11 17:04:00 +01:00
Niels van Velzen
8baafea76d Make enums not-null 2020-01-11 15:14:43 +01:00
Niels van Velzen
fad30d1a9d Convert PreferredVideoPlayer to enum 2020-01-11 15:07:55 +01:00
Niels van Velzen
e37ed85f44 Convert LoginBehavior to enum 2020-01-11 15:02:54 +01:00
Niels van Velzen
0d70907197 Convert AudioBehavior to enum 2020-01-11 14:55:11 +01:00
Niels van Velzen
4287d86498 Document UserPreferences 2020-01-11 14:27:55 +01:00
Niels van Velzen
7298a8e17a Convert settings activity and fragment to androidx with kotlin. Further changes should be done in a separate PR 2020-01-11 14:10:42 +01:00
Florianisme
5368e97333 Initial fix of requested changes 2020-01-10 23:57:16 +01:00
Florian
2ada7b65a8 Merge branch 'master' into player-overlay-redesign 2020-01-10 15:26:04 +01:00
Florianisme
2e199b6068 Fix inconsistent fading of overlays 2020-01-10 14:56:02 +01:00
Florianisme
37b64b350c Add chapter action 2020-01-10 14:28:51 +01:00
Florianisme
1ff16bee98 Fix quick channel changer layout 2020-01-10 14:12:01 +01:00
Niels van Velzen
4fa17f5982 Remove preferences.md (accidentally commited) 2020-01-09 22:42:56 +01:00
Niels van Velzen
a61dd5cf82 Add not-null version of stringPreference 2020-01-09 22:41:09 +01:00
Niels van Velzen
a97d1990cd Initial kdoc 2020-01-09 22:36:26 +01:00
Niels van Velzen
580636b8ee Remove sys_pref_config_version 2020-01-09 22:17:56 +01:00
Niels van Velzen
6f70c387d6 Move SettingsActivity and SettingsFragment to preferences.ui namespace 2020-01-09 22:17:30 +01:00
Niels van Velzen
2cb1939709 Move preferences to preferences namespace 2020-01-09 22:16:48 +01:00
Niels van Velzen
992737f865 Remove deprecated methods for getting preferences 2020-01-09 22:11:52 +01:00
Niels van Velzen
79d7e6ffd1 Add preference migrations 2020-01-09 22:08:33 +01:00
Niels van Velzen
3d80458d14 Replace 2 occurrences where SharedPreferences was called directly 2020-01-09 21:24:41 +01:00
Niels van Velzen
c5361af21d Replace TvApp.getPrefs() 2020-01-09 21:21:43 +01:00
Niels van Velzen
2c6b21f980 Create abstract SharedPreferenceStore and implement it for system preferences 2020-01-09 20:36:52 +01:00
Florianisme
ed01855a66 Begin cleanup of old overlay 2020-01-08 18:38:15 +01:00
Florianisme
cd4118d9b7 Remove Logo and full description for now 2020-01-07 20:07:46 +01:00
Florianisme
f1f1d01568 Add temporary banner and description to overlay 2020-01-06 20:56:15 +01:00
Florianisme
12eb56672c Replace zoom icon with more matching aspect ratio icon 2020-01-06 18:40:07 +01:00
Florianisme
a8984b7218 Add record action 2020-01-06 18:33:23 +01:00
Florianisme
a58e6845af Add guide action 2020-01-05 19:55:03 +01:00
Florianisme
0b93a4b0b1 Add quick channel changer action 2020-01-05 19:47:04 +01:00
Florianisme
f5f1971003 Intercept key events and integrate quick channel switcher 2020-01-05 19:42:42 +01:00
Florianisme
1f4b19d928 Add previous live tv channel action 2020-01-05 12:30:03 +01:00
Florianisme
650c144276 Reverts accidental change 2020-01-04 22:54:32 +01:00
Florianisme
2ce52ab755 Add conditions to button visibility 2020-01-04 22:51:32 +01:00
Florianisme
7450c63ed0 Cleanup and refactoring 2020-01-04 22:34:07 +01:00
Florianisme
ee44ff5786 Cleanup and refactoring 2020-01-04 22:32:19 +01:00
Florianisme
154ac9ea0a Add zoom adjustment action 2020-01-04 22:16:31 +01:00
Florianisme
71deb46486 Add audio adjustment action 2020-01-04 22:09:38 +01:00
Florianisme
d4988e9ab6 Add functionality to custom closed captioning action 2020-01-04 21:51:44 +01:00
Florianisme
53eaa593c0 Add audio track switching from custom action 2020-01-04 17:36:18 +01:00
Florianisme
b71f9db517 Refactor structure 2020-01-04 17:07:50 +01:00
Florianisme
395064ea71 Add custom language select action 2020-01-04 16:40:48 +01:00
Florianisme
de7fab20b6 Move subtitle action to primary row 2020-01-04 16:00:57 +01:00
Florianisme
0c8e217f5d Add support for custom actions 2020-01-04 16:00:36 +01:00
Florianisme
8c78c82c3e Set play button states appropriately 2020-01-03 19:28:31 +01:00
Florianisme
b816dd77a0 Add state change listener, Add seeking 2020-01-03 18:48:29 +01:00
Florianisme
e4cc64200e Initial migration to Leanback PlaybackSupportFragment 2020-01-03 13:52:15 +01:00
776 changed files with 34336 additions and 18174 deletions

View File

@@ -1,16 +0,0 @@
trigger:
- master
- release
pool:
vmImage: 'ubuntu-latest'
steps:
- task: Gradle@2
inputs:
gradleWrapperFile: 'gradlew'
tasks: 'build'
publishJUnitResults: true
testResultsFiles: '**/TEST-*.xml'
javaHomeOption: 'JDKVersion'
sonarQubeRunAnalysis: false

View File

@@ -1,7 +0,0 @@
.git*
.dockerignore
Dockerfile
build
new-file-header.txt
CONTRIBUTORS.md
README.md

View File

@@ -1,5 +1,6 @@
root = true
[*]
end_of_line = lf
insert_final_newline = true
[{*.kts, *.kt}]

6
.gitattributes vendored
View File

@@ -1 +1,7 @@
*.kt text eol=lf
*.kts text eol=lf
*.java text eol=lf
*.xml text eol=lf
CONTRIBUTORS.md merge=union
app/src/main/res/values*/strings.xml merge=union

36
.github/ISSUE_TEMPLATE/bug_report.md vendored Normal file
View File

@@ -0,0 +1,36 @@
---
name: Bug report
about: Create a bug report
title: ''
labels: bug
assignees: ''
---
**Describe the bug**
<!-- A clear and concise description of what the bug is. -->
**To Reproduce**
<!-- Steps to reproduce the behavior: -->
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error
**Expected behavior**
<!-- A clear and concise description of what you expected to happen. -->
**Logs**
<!-- Please paste any log errors. -->
**Screenshots**
<!-- If applicable, add screenshots to help explain your problem. -->
**System (please complete the following information):**
- Android TV or Fire TV version: [e.g. Android 9 or Fire OS 7]
- Device manufacturer: [e.g. Amazon, Nvidia, Sony]
- Device model: [e.g. Fire TV Stick (2nd Gen) or Shield TV]
- Jellyfin server version: [e.g. 10.5.4]
**Additional context**
<!-- Add any other context about the problem here. -->

8
.github/ISSUE_TEMPLATE/config.yml vendored Normal file
View File

@@ -0,0 +1,8 @@
blank_issues_enabled: true
contact_links:
- name: Jellyfin documentation
url: https://jellyfin.org/docs/general/getting-help.html
about: Our documentation contains lots of help for common issues
- name: Jellyfin contact
url: https://jellyfin.org/contact/
about: Our community is ready to help you get started with Jellyfin

View File

@@ -0,0 +1,14 @@
---
name: Feature Request
about: Request a new feature
title: ''
labels: enhancement
assignees: ''
---
**Describe the feature you'd like**
<!-- A clear and concise description of what you want to happen. -->
**Additional context**
<!-- Add any other context or screenshots about the feature request here. -->

View File

@@ -0,0 +1,29 @@
---
name: Media playback issue
about: Create a media playback issue report
title: ''
labels: playback
assignees: ''
---
**Checks**
- [ ] Issue does not happen in the browser (jellyfin-web)
**Media Info of the file**
<!-- Use the Media Info tool (set to text format, download here: https://mediaarea.net/en/MediaInfo) or copy the info from the web ui for the file with the playback issue. -->
**Logs**
<!-- Please paste any log messages from during the playback issue. -->
**FFmpeg Logs**
<!-- Please paste any FFmpeg logs if remuxing or transcoding appears to be part of the issue. -->
**System (please complete the following information):**
- Android TV or Fire TV version: [e.g. Android 9 or Fire OS 7]
- Device manufacturer: [e.g. Amazon, Nvidia, Sony]
- Device model: [e.g. Fire TV Stick (2nd Gen) or Shield TV]
- Jellyfin server version: [e.g. 10.5.4]
**Additional context**
<!-- Add any other context about the problem here. -->

10
.github/dependabot.yml vendored Normal file
View File

@@ -0,0 +1,10 @@
version: 2
updates:
- package-ecosystem: github-actions
directory: /
schedule:
interval: weekly
labels:
- ci
- github-actions
- dependencies

11
.github/pull_request_template.md vendored Normal file
View File

@@ -0,0 +1,11 @@
<!--
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.
-->
**Changes**
<!-- Describe your changes here in 1-5 sentences. -->
**Issues**
<!-- Tag any issues that this PR solves here.
ex. Fixes # -->

19
.github/stale.yml vendored Normal file
View File

@@ -0,0 +1,19 @@
# Number of days of inactivity before an issue becomes stale
daysUntilStale: 120
# Number of days of inactivity before a stale issue is closed
daysUntilClose: 21
# Issues with these labels will never be considered stale
exemptLabels:
- enhancement
- confirmed
# Label to use when marking an issue as stale
staleLabel: stale
# Comment to post when marking an issue as stale. Set to `false` to disable
markComment: >
This issue has gone 120 days without comment. To avoid abandoned issues, it will be closed in 21 days if there are no new comments.
If you're the original submitter of this issue, please comment confirming if this issue still affects you in the latest release or master branch, or close the issue if it has been fixed. If you're another user also affected by this bug, please comment confirming so. Either action will remove the stale label.
This bot exists to prevent issues from becoming stale and forgotten. Jellyfin is always moving forward, and bugs are often fixed as side effects of other changes. We therefore ask that bug report authors remain vigilant about their issues to ensure they are closed if fixed, or re-confirmed - perhaps with fresh logs or reproduction examples - regularly. If you have any questions you can reach us on [Matrix or Social Media](https://docs.jellyfin.org/general/getting-help.html).
# Comment to post when closing a stale issue. Set to `false` to disable
closeComment: false

29
.github/workflows/app-build.yaml vendored Normal file
View File

@@ -0,0 +1,29 @@
name: App Build
on:
push:
branches:
- master
pull_request:
jobs:
build:
runs-on: ubuntu-20.04
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Setup Java
uses: actions/setup-java@v2
with:
distribution: adopt
java-version: 11
cache: gradle
- name: Assemble debug APKs
run: ./gradlew --build-cache --no-daemon --info assembleDebug
- name: Upload artifacts
uses: actions/upload-artifact@v2
with:
name: build-artifacts
retention-days: 14
if-no-files-found: error
path: app/build/outputs/apk/debug/*.apk

28
.github/workflows/app-lint.yaml vendored Normal file
View File

@@ -0,0 +1,28 @@
name: App Lint
on:
push:
branches:
- master
- release-*
pull_request:
jobs:
lint:
runs-on: ubuntu-20.04
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Setup Java
uses: actions/setup-java@v2
with:
distribution: adopt
java-version: 11
cache: gradle
- name: Run detekt and lint task
run: ./gradlew --build-cache --no-daemon --info detekt lint
- name: Upload SARIF files
uses: github/codeql-action/upload-sarif@v1
if: ${{ always() }}
with:
sarif_file: .

67
.github/workflows/app-publish.yaml vendored Normal file
View File

@@ -0,0 +1,67 @@
name: App Publish
on:
push:
tags:
- v*
jobs:
build:
runs-on: ubuntu-20.04
if: ${{ github.repository == 'jellyfin/jellyfin-androidtv' }}
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Setup Java
uses: actions/setup-java@v2
with:
distribution: adopt
java-version: 11
- 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 versionTxt
- name: Sign proprietary APK
id: sign
uses: r0adkll/sign-android-release@v1
with:
releaseDirectory: app/build/outputs/apk/release
signingKeyBase64: ${{ secrets.KEYSTORE }}
keyStorePassword: ${{ secrets.KEYSTORE_PASSWORD }}
alias: ${{ secrets.KEY_ALIAS }}
keyPassword: ${{ secrets.KEY_PASSWORD }}
- name: Prepare release archive
run: |
mkdir -p build/jellyfin-publish
mv app/build/outputs/apk/*/jellyfin-androidtv-*-debug.apk build/jellyfin-publish/
mv app/build/outputs/apk/*/jellyfin-androidtv-*-release-unsigned.apk build/jellyfin-publish/
mv ${{ steps.sign.outputs.signedReleaseFile }} build/jellyfin-publish/jellyfin-androidtv-v${{ env.JELLYFIN_VERSION }}-release.apk
mv app/build/version.txt build/jellyfin-publish/
- name: Upload release archive to GitHub release
uses: alexellis/upload-assets@0.3.0
env:
GITHUB_TOKEN: ${{ github.token }}
with:
asset_paths: '["build/jellyfin-publish/*"]'
- name: Upload release archive to repo.jellyfin.org
uses: burnett01/rsync-deployments@5.1
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 }}
- name: Update repo.jellyfin.org symlinks
uses: appleboy/ssh-action@v0.1.4
with:
host: ${{ secrets.DEPLOY_HOST }}
username: ${{ secrets.DEPLOY_USER }}
key: ${{ secrets.DEPLOY_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 .;

23
.github/workflows/app-test.yaml vendored Normal file
View File

@@ -0,0 +1,23 @@
name: App Test
on:
push:
branches:
- master
- release-*
pull_request:
jobs:
test:
runs-on: ubuntu-20.04
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Setup Java
uses: actions/setup-java@v2
with:
distribution: adopt
java-version: 11
cache: gradle
- name: Run test task
run: ./gradlew --build-cache --no-daemon --info test

17
.github/workflows/gradlew-update.yaml vendored Normal file
View File

@@ -0,0 +1,17 @@
name: Gradle update
on:
schedule:
- cron: '0 4 * * *'
jobs:
update:
runs-on: ubuntu-latest
if: github.repository == 'jellyfin/jellyfin-androidtv'
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Update Gradle Wrapper
uses: gradle-update/update-gradle-wrapper-action@v1
with:
repo-token: ${{ secrets.JF_BOT_TOKEN }}

18
.github/workflows/gradlew-validate.yaml vendored Normal file
View File

@@ -0,0 +1,18 @@
name: Gradle validate
on:
push:
branches:
- master
pull_request:
paths:
- '**/gradlе-wrapper.jar'
jobs:
validate:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Validate Gradle Wrapper
uses: gradle/wrapper-validation-action@v1

View File

@@ -0,0 +1,17 @@
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 }}

3
.gitignore vendored
View File

@@ -3,5 +3,6 @@
local.properties
/.idea
/.gradle
.gradle
build/
captures/

15
CODEOWNERS Normal file
View File

@@ -0,0 +1,15 @@
# Build files
/.github/workflows/ @nielsvanvelzen
/.github/dependabot.yml @nielsvanvelzen
/gradle/ @nielsvanvelzen
/buildSrc/ @nielsvanvelzen
settings.gradle.ts @nielsvanvelzen
build.gradle.kts @nielsvanvelzen
gradle.properties @nielsvanvelzen
# Linting
android-lint.xml @nielsvanvelzen
detekt.yaml @nielsvanvelzen
# Playback code
/playback/ @nielsvanvelzen

View File

@@ -9,6 +9,7 @@
- [AndreasGB](https://github.com/andreasgb)
- [joern-h](https://github.com/joern-h)
- [Niels van Velzen](https://github.com/nielsvanvelzen)
- [GodTamIt](https://github.com/GodTamIt)
# Emby Contributors

View File

@@ -1,38 +0,0 @@
FROM debian:9
# Docker build arguments
ARG SOURCE_DIR=/repo
ARG ARTIFACT_DIR=/dist
ARG ANDROID_DIR=/usr/lib/android-sdk
# Docker run environment
ENV SOURCE_DIR=/repo
ENV ARTIFACT_DIR=/dist
ENV ANDROID_DIR=/usr/lib/android-sdk
# Prepare Debian build environment
RUN echo "deb http://deb.debian.org/debian stretch-backports main" >> /etc/apt/sources.list.d/backports.list \
&& apt-get update \
&& apt-get install -y mmv wget unzip git \
&& apt-get install -t stretch-backports -y android-sdk openjdk-8-jdk
# Install Android repository tools
RUN rm -rf ${ANDROID_DIR}/tools \
&& wget http://dl-ssl.google.com/android/repository/tools_r25.2.3-linux.zip -O tools.zip \
&& unzip tools.zip -d ${ANDROID_DIR}/ \
&& rm -f tools.zip
# Install SDK tools
# `yes` is required to accept licenses:
# https://stackoverflow.com/questions/38096225/automatically-accept-all-sdk-licences/42125740#42125740
# There will be no output to the screen while this runs - expect a delay of up to several minutes on the license
RUN yes | ${ANDROID_DIR}/tools/bin/sdkmanager "platform-tools" "platforms;android-27" "build-tools;27.0.3" "extras;android;m2repository" "extras;google;m2repository"
RUN ln -sf ${SOURCE_DIR}/docker-build.sh /docker-build.sh
# Prepare artifact volume
VOLUME ${ARTIFACT_DIR}/
# Copy repository
COPY . ${SOURCE_DIR}/
# Set docker-build entrypoint
ENTRYPOINT ["/docker-build.sh"]

11
LICENSE
View File

@@ -1,7 +1,7 @@
GNU GENERAL PUBLIC LICENSE
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc., <http://fsf.org/>
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
@@ -290,8 +290,8 @@ to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
{description}
Copyright (C) {year} {fullname}
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -329,7 +329,7 @@ necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
{signature of Ty Coon}, 1 April 1989
<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
@@ -337,4 +337,3 @@ proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License.

View File

@@ -1,5 +1,5 @@
<h1 align="center">Jellyfin Android TV</h1>
<h3 align="center">Part of the <a href="https://jellyfin.media">Jellyfin Project</a></h3>
<h3 align="center">Part of the <a href="https://jellyfin.org">Jellyfin Project</a></h3>
---
@@ -12,8 +12,8 @@
<a href="https://github.com/jellyfin/jellyfin-androidtv/releases">
<img alt="Current Release" src="https://img.shields.io/github/release/jellyfin/jellyfin-androidtv.svg"/>
</a>
<a href="https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv/?utm_source=widget">
<img src="https://translate.jellyfin.org/widgets/jellyfin/-/jellyfin-androidtv/svg-badge.svg" alt="Translation status" />
<a href="https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-androidtv/">
<img alt="Translation Status" src="https://translate.jellyfin.org/widgets/jellyfin-android/-/jellyfin-androidtv/svg-badge.svg"/>
</a>
<br/>
<a href="https://opencollective.com/jellyfin">
@@ -22,9 +22,6 @@
<a href="https://features.jellyfin.org">
<img alt="Feature Requests" src="https://img.shields.io/badge/fider-vote%20on%20features-success.svg"/>
</a>
<a href="https://forum.jellyfin.org">
<img alt="Discuss on our Forum" src="https://img.shields.io/discourse/https/forum.jellyfin.org/users.svg"/>
</a>
<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>
@@ -33,18 +30,57 @@
</a>
<br/>
<a href="https://play.google.com/store/apps/details?id=org.jellyfin.androidtv">
<img width="200" src="https://play.google.com/intl/en_us/badges/static/images/badges/en_badge_web_generic.png" alt="Get it on Google Play"/>
<img width="153" alt="Jellyfin on Google Play" src="https://jellyfin.org/images/store-icons/google-play.png"/>
</a>
<br/>
<a href="https://www.amazon.com/gp/aw/d/B07TX7Z725">
<img width="170" src="https://images-na.ssl-images-amazon.com/images/G/01/mobile-apps/devportal2/res/images/amazon-appstore-badge-english-black.png" alt="Available at Amazon Appstore"/>
<img width="153" alt="Jellyfin on Amazon Appstore" src="https://jellyfin.org/images/store-icons/amazon.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. Translations can be improved very easily from our <a href="https://translate.jellyfin.org/projects/jellyfin/jellyfin-androidtv">Weblate</a> instance. Look through the following graphic to see if your native language could use some work!
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.
<a href="https://translate.jellyfin.org/engage/jellyfin/?utm_source=widget">
<img src="https://translate.jellyfin.org/widgets/jellyfin/-/jellyfin-androidtv/multi-auto.svg" alt="Detailed Translation Status"/>
## 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!
<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
./gradlew assembleDebug
```
Add the Android SDK to you PATH environment variable or create the ANDROID_SDK_ROOT variable for
this to work.
### Deploy to device/emulator
```sh
./gradlew installDebug
```
*You can also replace the "Debug" with "Release" to get an optimized release binary.*

21
android-lint.xml Normal file
View File

@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8" ?>
<lint>
<issue id="BinaryOperationInTimber" severity="error" />
<issue id="ConvertToWebp" severity="warning" />
<issue id="DuplicateStrings" severity="ignore" />
<issue id="EasterEgg" severity="fatal" />
<issue id="ExtraTranslation" severity="warning" />
<issue id="FragmentTagUsage" severity="error" />
<issue id="GradleDependency" severity="ignore" />
<issue id="KotlinPropertyAccess" severity="warning" />
<issue id="LambdaLast" severity="warning" />
<issue id="LogNotTimber" severity="error" />
<issue id="MangledCRLF" severity="warning" />
<issue id="NegativeMargin" severity="warning" />
<issue id="NoHardKeywords" severity="warning" />
<issue id="Registered" severity="warning" />
<issue id="RequiredSize" severity="error" />
<issue id="Typos" severity="ignore" />
<issue id="UnknownNullness" severity="informational" />
<issue id="UnusedIds" severity="ignore" />
</lint>

View File

@@ -1,71 +0,0 @@
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
def version = "0.11.0"
android {
compileSdkVersion 28
buildToolsVersion "28.0.3"
compileOptions {
sourceCompatibility 1.8
targetCompatibility 1.8
}
defaultConfig {
minSdkVersion 21
targetSdkVersion 28
versionCode 905
versionName version
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
debug {
applicationIdSuffix ".debug"
debuggable true
}
}
}
dependencies {
def acraVersion = '5.4.0'
implementation fileTree(include: ['*.jar'], dir: 'libs')
// This is split like this because this is a modular gradle project on jitpack
// see https://github.com/jitpack/gradle-modular
// The split allows dependency substitution to work in the settings.gradle file,
// at least for the 'library' part. 'android' part is still broken somehow, but this
// is better than nothing.
implementation 'com.github.jellyfin.jellyfin-apiclient-java:android:master-SNAPSHOT'
implementation 'com.github.jellyfin.jellyfin-apiclient-java:library:master-SNAPSHOT'
implementation 'com.amazon.android:exoplayer:2.10.6'
implementation 'androidx.recyclerview:recyclerview:1.0.0'
implementation 'androidx.leanback:leanback:1.0.0'
implementation 'androidx.appcompat:appcompat:1.0.2'
implementation 'androidx.palette:palette:1.0.0'
implementation 'com.squareup.picasso:picasso:2.3.2'
implementation 'com.github.bumptech.glide:glide:3.7.0'
implementation 'com.squareup.okhttp:okhttp:2.7.0'
implementation 'com.squareup.okhttp:okhttp-urlconnection:2.7.0'
implementation 'com.google.guava:guava:18.0'
implementation 'com.flaviofaria:kenburnsview:1.0.6'
implementation 'org.videolan.android:libvlc-all:3.1.12'
implementation "ch.acra:acra-http:$acraVersion"
implementation "ch.acra:acra-dialog:$acraVersion"
implementation "ch.acra:acra-limiter:$acraVersion"
testImplementation 'junit:junit:4.12'
implementation "androidx.core:core-ktx:1.1.0"
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
implementation 'androidx.tvprovider:tvprovider:1.0.0'
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.2'
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.2'
}
repositories {
mavenCentral()
}

143
app/build.gradle.kts Normal file
View File

@@ -0,0 +1,143 @@
plugins {
id("com.android.application")
kotlin("android")
kotlin("plugin.serialization") version Plugins.Versions.kotlin
kotlin("kapt")
}
android {
compileSdkVersion(30)
defaultConfig {
// Android version targets
minSdkVersion(21)
targetSdkVersion(30)
// Release version
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 {
viewBinding = true
}
compileOptions {
isCoreLibraryDesugaringEnabled = true
}
buildTypes {
val release by getting {
isMinifyEnabled = false
// Add applicationId as string for XML resources
resValue("string", "app_id", "org.jellyfin.androidtv")
// Set flavored application name
resValue("string", "app_name", "@string/app_name_release")
buildConfigField("boolean", "DEVELOPMENT", "false")
}
val debug by getting {
// Use different application id to run release and debug at the same time
applicationIdSuffix = ".debug"
// Add applicationId as string for XML resources
resValue("string", "app_id", "org.jellyfin.androidtv.debug")
// Set flavored application name
resValue("string", "app_name", "@string/app_name_debug")
buildConfigField("boolean", "DEVELOPMENT", (defaultConfig.versionCode!! < 100).toString())
}
}
lintOptions {
lintConfig = file("$rootDir/android-lint.xml")
isAbortOnError = false
sarifReport = true
}
}
val versionTxt by tasks.registering {
val path = buildDir.resolve("version.txt")
doLast {
val versionString = "v${android.defaultConfig.versionName}=${android.defaultConfig.versionCode}"
logger.info("Writing [$versionString] to $path")
path.writeText("$versionString\n")
}
}
dependencies {
// Jellyfin
implementation(projects.playback)
implementation(libs.jellyfin.apiclient)
implementation(libs.jellyfin.sdk) {
// Change version if desired
val sdkVersion = findProperty("sdk.version")?.toString()
when (sdkVersion) {
"local" -> version { strictly("latest-SNAPSHOT") }
"snapshot" -> version { strictly("master-SNAPSHOT") }
"unstable-snapshot" -> version { strictly("openapi-unstable-SNAPSHOT") }
}
}
// Kotlin
implementation(libs.kotlinx.coroutines)
implementation(libs.kotlinx.serialization.json)
// Android(x)
implementation(libs.androidx.core)
implementation(libs.androidx.activity)
implementation(libs.androidx.fragment)
implementation(libs.androidx.leanback.core)
implementation(libs.androidx.leanback.preference)
implementation(libs.androidx.preference)
implementation(libs.androidx.appcompat)
implementation(libs.androidx.tvprovider)
implementation(libs.androidx.constraintlayout)
implementation(libs.androidx.recyclerview)
implementation(libs.androidx.work.runtime)
implementation(libs.bundles.androidx.lifecycle)
implementation(libs.androidx.window)
implementation(libs.androidx.cardview)
// Dependency Injection
implementation(libs.bundles.koin)
// GSON
implementation(libs.gson)
// Media players
implementation(libs.exoplayer)
implementation(libs.libvlc)
// Image utility
implementation(libs.glide.core)
kapt(libs.glide.compiler)
implementation(libs.kenburnsview)
// Crash Reporting
implementation(libs.bundles.acra)
// Logging
implementation(libs.timber)
implementation(libs.slf4j.android)
// Debugging
if (getProperty("leakcanary.enable")?.toBoolean() == true)
debugImplementation(libs.leakcanary)
// Compatibility (desugaring)
coreLibraryDesugaring(libs.android.desugar)
// Testing
testImplementation(libs.junit)
testImplementation(libs.mockito)
}

View File

@@ -1,17 +0,0 @@
# Add project specific ProGuard rules here.
# By default, the flags in this file are appended to flags specified
# in C:\Users\Eric\AppData\Local\Android\android-sdk/tools/proguard/proguard-android.txt
# You can edit the include path and order by changing the proguardFiles
# directive in build.gradle.
#
# For more details, see
# http://developer.android.com/guide/developing/tools/proguard.html
# Add any project specific keep options here:
# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
# public *;
#}

View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="logo_gradient_start">#F2364D</color>
<color name="logo_gradient_stop">#FDC92F</color>
<color name="logo_background">#0A0A0A</color>
<color name="logo_text">#FFFFFF</color>
</resources>

View File

@@ -1,19 +1,33 @@
<?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" >
package="org.jellyfin.androidtv">
<!-- 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.RECORD_AUDIO" />
<!-- Device feature requirements -->
<uses-feature
android:name="android.software.leanback"
android:required="false" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<!-- Needed for ChannelManager on older devices (< API 23) -->
<uses-permission android:name="com.android.providers.tv.permission.WRITE_EPG_DATA" />
<uses-feature
android:name="android.hardware.touchscreen"
android:required="false" />
@@ -22,61 +36,28 @@
android:required="false" />
<application
android:name=".TvApp"
android:banner="@drawable/app_logo"
android:icon="@drawable/app_icon_large"
android:name=".JellyfinApplication"
android:allowBackup="true"
android:banner="@drawable/app_banner"
android:fullBackupContent="@xml/backup_content"
android:icon="@drawable/app_icon"
android:label="@string/app_name"
android:largeHeap="true"
android:roundIcon="@drawable/app_icon_round"
android:theme="@style/Theme.Jellyfin"
android:allowBackup="false"
android:usesCleartextTraffic="true"
tools:ignore="GoogleAppIndexingWarning">
<activity
android:name=".browsing.MainActivity"
android:label="@string/app_name"
android:logo="@drawable/app_logo"
android:screenOrientation="landscape" />
<activity
android:name=".startup.StartupActivity"
android:label="@string/app_name"
android:logo="@drawable/app_logo"
android:noHistory="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
<category android:name="android.intent.category.LEANBACK_LAUNCHER" />
<service
android:name=".auth.AuthenticatorService"
android:exported="false">
<intent-filter>
<action android:name="android.accounts.AccountAuthenticator" />
</intent-filter>
</activity>
<activity
android:name=".startup.SelectUserActivity"
android:label="@string/title_activity_select_user" />
<activity
android:name=".playback.PlaybackOverlayActivity"
android:label="PlaybackOverlayActivity" />
<activity android:name=".browsing.GenericFolderActivity" />
<activity android:name=".browsing.UserViewActivity" />
<activity android:name=".startup.SelectServerActivity" />
<activity android:name=".browsing.CollectionActivity" />
<activity android:name=".browsing.ByLetterActivity" />
<activity android:name=".browsing.ByGenreActivity" />
<activity android:name=".settings.SettingsActivity" />
<activity android:name=".browsing.SuggestedMoviesActivity" />
<activity android:name=".browsing.BrowsePersonsActivity" />
<activity android:name=".search.SearchActivity" />
<activity android:name=".details.FullDetailsActivity" />
<activity android:name=".livetv.LiveTvGuideActivity" />
<activity android:name=".browsing.GenericGridActivity" />
<activity android:name=".browsing.BrowseRecordingsActivity" />
<activity android:name=".browsing.BrowseScheduleActivity" />
<activity android:name=".details.PhotoPlayerActivity" />
<activity android:name=".details.ItemListActivity" />
<activity android:name=".playback.AudioNowPlayingActivity" />
<activity android:name=".playback.ExternalPlayerActivity" />
<activity
android:name=".startup.DpadPwActivity"
android:label="@string/title_activity_dpad_pw" >
</activity>
<meta-data
android:name="android.accounts.AccountAuthenticator"
android:resource="@xml/authenticator" />
</service>
<receiver android:name=".util.RemoteControlReceiver">
<intent-filter>
@@ -85,8 +66,109 @@
</receiver>
<activity
android:name=".details.ExpandedTextActivity"
android:label="@string/title_activity_expanded_text" />
</application>
android:name=".ui.browsing.MainActivity"
android:screenOrientation="landscape" />
<activity
android:name=".ui.startup.StartupActivity"
android:noHistory="true"
android:screenOrientation="landscape"
android:windowSoftInputMode="adjustResize">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
<category android:name="android.intent.category.LEANBACK_LAUNCHER" />
</intent-filter>
</activity>
<activity-alias
android:name=".startup.StartupActivity"
android:targetActivity=".ui.startup.StartupActivity" />
<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.ByLetterActivity"
android:screenOrientation="landscape" />
<activity
android:name=".ui.browsing.ByGenreActivity"
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.browsing.BrowsePersonsActivity"
android:screenOrientation="landscape" />
<activity
android:name=".ui.search.SearchActivity"
android:screenOrientation="landscape">
<intent-filter>
<action android:name="android.intent.action.SEARCH" />
</intent-filter>
</activity>
<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" />
<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

@@ -0,0 +1,133 @@
package org.jellyfin.androidtv
import android.content.Context
import androidx.lifecycle.Lifecycle
import androidx.lifecycle.LifecycleObserver
import androidx.lifecycle.OnLifecycleEvent
import androidx.lifecycle.ProcessLifecycleOwner
import androidx.work.*
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.withContext
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 org.jellyfin.androidtv.di.*
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.koin.android.ext.android.inject
import org.koin.android.ext.koin.androidContext
import org.koin.core.KoinExperimentalAPI
import org.koin.core.context.startKoin
import timber.log.Timber
import timber.log.Timber.DebugTree
import java.util.concurrent.TimeUnit
@Suppress("unused")
class JellyfinApplication : TvApp(), LifecycleObserver {
@OptIn(KoinExperimentalAPI::class)
override fun onCreate() {
super.onCreate()
// Enable improved logging for leaking resources
// https://wh0.github.io/2020/08/12/closeguard.html
if (BuildConfig.DEBUG) {
try {
Class.forName("dalvik.system.CloseGuard")
.getMethod("setEnabled", Boolean::class.javaPrimitiveType)
.invoke(null, true)
} catch (e: ReflectiveOperationException) {
@Suppress("TooGenericExceptionThrown")
throw RuntimeException(e)
}
}
// Initialize the logging library
Timber.plant(DebugTree())
Timber.i("Application object created")
// Dependency Injection
startKoin {
androidContext(this@JellyfinApplication)
modules(
appModule,
authModule,
activityLifecycleCallbacksModule,
playbackModule,
preferenceModule,
utilsModule
)
}
// Register lifecycle callbacks
getKoin().getAll<ActivityLifecycleCallbacks>().forEach(::registerActivityLifecycleCallbacks)
ProcessLifecycleOwner.get().lifecycle.addObserver(this)
// Restore system session
get<SessionRepository>().restoreDefaultSystemSession()
}
/**
* Called by the Process Lifecycle when the app is activated in the foreground (activity opened).
*/
@OnLifecycleEvent(Lifecycle.Event.ON_START)
fun onActivate() {
Timber.i("Process Lifecycle started")
get<SessionRepository>().restoreDefaultSession()
}
/**
* Called from the StartupActivity when the user session is started.
*/
suspend fun onSessionStart() {
val workManager by inject<WorkManager>()
val autoBitrate by inject<AutoBitrate>()
// Cancel all current workers
workManager.cancelAllWork().await()
// Recreate periodic workers
workManager.enqueueUniquePeriodicWork(
LeanbackChannelWorker.PERIODIC_UPDATE_REQUEST_NAME,
ExistingPeriodicWorkPolicy.REPLACE,
PeriodicWorkRequestBuilder<LeanbackChannelWorker>(1, TimeUnit.HOURS)
.setBackoffCriteria(BackoffPolicy.LINEAR, 10, TimeUnit.MINUTES)
.build()
).await()
// Detect auto bitrate
withContext(Dispatchers.IO) {
autoBitrate.detect()
}
}
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 {}
}
}
}

View File

@@ -0,0 +1,22 @@
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,70 +1,31 @@
package org.jellyfin.androidtv;
import static org.koin.java.KoinJavaComponent.inject;
import android.app.Activity;
import android.app.Application;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.graphics.Bitmap;
import android.graphics.Typeface;
import android.graphics.drawable.Drawable;
import android.graphics.drawable.GradientDrawable;
import android.media.AudioManager;
import android.preference.PreferenceManager;
import org.acra.ACRA;
import org.acra.annotation.AcraCore;
import org.acra.annotation.AcraDialog;
import org.acra.annotation.AcraHttpSender;
import org.acra.annotation.AcraLimiter;
import org.acra.sender.HttpSender;
import org.jellyfin.androidtv.base.BaseActivity;
import org.jellyfin.androidtv.livetv.TvManager;
import org.jellyfin.androidtv.model.DisplayPriorityType;
import org.jellyfin.androidtv.model.LogonCredentials;
import org.jellyfin.androidtv.playback.ExternalPlayerActivity;
import org.jellyfin.androidtv.playback.MediaManager;
import org.jellyfin.androidtv.playback.PlaybackController;
import org.jellyfin.androidtv.playback.PlaybackManager;
import org.jellyfin.androidtv.playback.PlaybackOverlayActivity;
import org.jellyfin.androidtv.search.SearchActivity;
import org.jellyfin.androidtv.util.DeviceUtils;
import org.jellyfin.androidtv.util.Utils;
import androidx.annotation.NonNull;
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.interaction.ApiClient;
import org.jellyfin.apiclient.interaction.EmptyResponse;
import org.jellyfin.apiclient.interaction.IConnectionManager;
import org.jellyfin.apiclient.interaction.Response;
import org.jellyfin.apiclient.interaction.VolleyHttpClient;
import org.jellyfin.apiclient.logging.AndroidLogger;
import org.jellyfin.apiclient.model.configuration.ServerConfiguration;
import org.jellyfin.apiclient.model.dto.BaseItemDto;
import org.jellyfin.apiclient.model.dto.BaseItemType;
import org.jellyfin.apiclient.model.dto.UserDto;
import org.jellyfin.apiclient.model.entities.DisplayPreferences;
import org.jellyfin.apiclient.model.logging.ILogger;
import org.jellyfin.apiclient.model.serialization.GsonJsonSerializer;
import java.util.Calendar;
import java.util.HashMap;
import androidx.core.content.ContextCompat;
import androidx.palette.graphics.Palette;
import kotlin.Lazy;
import timber.log.Timber;
@AcraCore(buildConfigClass = BuildConfig.class)
@AcraHttpSender(
uri = "https://collector.tracepot.com/a2eda9d9",
httpMethod = HttpSender.Method.POST
)
@AcraDialog(
resTitle = R.string.acra_dialog_title,
resText = R.string.acra_dialog_text,
resTheme = R.style.Theme_Jellyfin
)
@AcraLimiter
public class TvApp extends Application {
// The minimum supported server version. Trying to connect to an older server will display an error.
public static final String MINIMUM_SERVER_VERSION = "10.3.0";
public static final String CREDENTIALS_PATH = "org.jellyfin.androidtv.login.json";
public static final String DISPLAY_PREFS_APP_NAME = "ATV";
public static final int LIVE_TV_GUIDE_OPTION_ID = 1000;
public static final int LIVE_TV_RECORDINGS_OPTION_ID = 2000;
@@ -72,152 +33,61 @@ public class TvApp extends Application {
public static final int LIVE_TV_SCHEDULE_OPTION_ID = 4000;
public static final int LIVE_TV_SERIES_OPTION_ID = 5000;
private static final String TAG = "Jellyfin-AndroidTV";
private ILogger logger;
private IConnectionManager connectionManager;
private PlaybackManager playbackManager;
private GsonJsonSerializer serializer;
private static TvApp app;
private UserDto currentUser;
private BaseItemDto currentPlayingItem;
private MediatorLiveData<UserDto> currentUser = new MediatorLiveData<UserDto>();
private BaseItemDto lastPlayedItem;
private PlaybackController playbackController;
private ApiClient loginApiClient;
private AudioManager audioManager;
private VolleyHttpClient httpClient;
private int autoBitrate;
private String directItemId;
private Typeface roboto;
private HashMap<String, DisplayPreferences> displayPrefsCache = new HashMap<>();
private String lastDeletedItemId = "";
private Activity currentActivity;
private ServerConfiguration serverConfiguration;
private int maxRemoteBitrate = -1;
private Calendar lastPlayback = Calendar.getInstance();
private Calendar lastMoviePlayback = Calendar.getInstance();
private Calendar lastTvPlayback = Calendar.getInstance();
private Calendar lastLibraryChange = Calendar.getInstance();
private long lastVideoQueueChange = System.currentTimeMillis();
private long lastFavoriteUpdate = System.currentTimeMillis();
private long lastMusicPlayback = System.currentTimeMillis();
private long lastUserInteraction = System.currentTimeMillis();
private GradientDrawable currentBackgroundGradient;
private boolean audioMuted;
private boolean playingIntros;
private DisplayPriorityType displayPriority = DisplayPriorityType.Movies;
private BaseActivity currentActivity;
private LogonCredentials configuredAutoCredentials;
@Override
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
ACRA.init(this);
}
private Lazy<ApiClient> apiClient = inject(ApiClient.class);
@Override
public void onCreate() {
super.onCreate();
logger = new AndroidLogger(TAG);
app = (TvApp) getApplicationContext();
audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
roboto = Typeface.createFromAsset(getAssets(), "fonts/Roboto-Light.ttf");
setCurrentBackgroundGradient(new int[] {ContextCompat.getColor(this, R.color.lb_default_brand_color_dark), ContextCompat.getColor(this, R.color.lb_default_brand_color)});
logger.Info("Application object created");
app = this;
}
@Nullable
public static TvApp getApplication() {
return app;
}
public ILogger getLogger() {
return logger;
}
public void setLogger(ILogger value) {
logger = value;
}
public Typeface getDefaultFont() { return roboto; }
public IConnectionManager getConnectionManager() {
return connectionManager;
}
public void setConnectionManager(IConnectionManager connectionManager) {
this.connectionManager = connectionManager;
}
@Deprecated
@Nullable
public UserDto getCurrentUser() {
return currentUser.getValue();
}
@Deprecated
public LiveData<UserDto> getCurrentUserLiveData() {
return currentUser;
}
@Deprecated
public void setCurrentUser(UserDto currentUser) {
this.currentUser = currentUser;
this.currentUser.postValue(currentUser);
TvManager.clearCache();
this.displayPrefsCache = new HashMap<>();
}
public GsonJsonSerializer getSerializer() {
return serializer;
}
public void setSerializer(GsonJsonSerializer serializer) {
this.serializer = serializer;
}
public ApiClient getApiClient() {
return currentUser != null ? connectionManager.GetApiClient(currentUser) : null;
}
public BaseItemDto getCurrentPlayingItem() {
return currentPlayingItem;
}
public BaseActivity getCurrentActivity() {
/**
* @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(BaseActivity activity) {
public void setCurrentActivity(Activity activity) {
currentActivity = activity;
}
public void setCurrentPlayingItem(BaseItemDto currentPlayingItem) {
this.currentPlayingItem = currentPlayingItem;
}
public ApiClient getLoginApiClient() {
return loginApiClient;
}
public void setLoginApiClient(ApiClient loginApiClient) {
this.loginApiClient = loginApiClient;
}
public void setAudioMuted(boolean value) {
audioMuted = value;
getLogger().Info("Setting mute state to: "+audioMuted);
if (DeviceUtils.is60()) {
audioManager.adjustVolume(audioMuted ? AudioManager.ADJUST_MUTE : AudioManager.ADJUST_UNMUTE, 0);
} else {
audioManager.setStreamMute(AudioManager.STREAM_MUSIC, audioMuted);
}
}
public boolean isAudioMuted() { return audioMuted; }
@Nullable
public PlaybackController getPlaybackController() {
return playbackController;
}
@@ -226,214 +96,21 @@ public class TvApp extends Application {
this.playbackController = playbackController;
}
public void showSearch(final Activity activity, boolean musicOnly) {
Intent intent = new Intent(activity, SearchActivity.class);
intent.putExtra("MusicOnly", musicOnly);
activity.startActivity(intent);
}
public void showMessage(String title, String msg) {
if (currentActivity != null) {
currentActivity.showMessage(title, msg);
}
}
public void showMessage(String title, String msg, int timeout, int iconResource) {
if (currentActivity != null) {
currentActivity.showMessage(title, msg, timeout, iconResource, null);
}
}
public LogonCredentials getConfiguredAutoCredentials() {
return configuredAutoCredentials;
}
public void setConfiguredAutoCredentials(LogonCredentials configuredAutoCredentials) {
this.configuredAutoCredentials = configuredAutoCredentials;
}
public SharedPreferences getPrefs() {
return PreferenceManager.getDefaultSharedPreferences(this);
}
public SharedPreferences getSystemPrefs() {
return getSharedPreferences("systemprefs", MODE_PRIVATE);
}
public String getConfigVersion() {
return getSystemPrefs().getString("sys_pref_config_version", "2");
}
public boolean getIsAutoLoginConfigured() {
return getPrefs().getString("pref_login_behavior", "0").equals("1") && getConfiguredAutoCredentials().getServerInfo().getId() != null;
}
public boolean useExternalPlayer(BaseItemType itemType) {
switch (itemType) {
case Movie:
case Episode:
case Video:
case Series:
case Recording:
return getPrefs().getString("pref_video_player", "auto").equals("external");
case TvChannel:
case Program:
return getPrefs().getBoolean("pref_live_tv_use_external", false);
default:
return false;
}
}
public Class getPlaybackActivityClass(BaseItemType itemType) {
return useExternalPlayer(itemType) ? ExternalPlayerActivity.class : PlaybackOverlayActivity.class;
}
public Calendar getLastMoviePlayback() {
return lastMoviePlayback.after(lastPlayback) ? lastMoviePlayback : lastPlayback;
}
public void setLastMoviePlayback(Calendar lastMoviePlayback) {
this.lastMoviePlayback = lastMoviePlayback;
this.lastPlayback = lastMoviePlayback;
}
public void setLastFavoriteUpdate(long time) { lastFavoriteUpdate = time; }
public long getLastFavoriteUpdate() { return lastFavoriteUpdate; }
public void setLastMusicPlayback(long time) { lastMusicPlayback = time; }
public long getLastMusicPlayback() { return lastMusicPlayback; }
public boolean directStreamLiveTv() { return getPrefs().getBoolean("pref_live_direct", true); }
public void setDirectStreamLiveTv(boolean value) { getPrefs().edit().putBoolean("pref_live_direct", value).commit(); }
public boolean useVlcForLiveTv() { return getPrefs().getBoolean("pref_enable_vlc_livetv", false); }
public int getResumePreroll() {
try {
return Integer.parseInt(getPrefs().getString("pref_resume_preroll","0")) * 1000;
} catch (Exception e) {
return 0;
}
}
public Calendar getLastTvPlayback() {
return lastTvPlayback.after(lastPlayback) ? lastTvPlayback : lastPlayback;
}
public void setLastTvPlayback(Calendar lastTvPlayback) {
this.lastTvPlayback = lastTvPlayback;
this.lastPlayback = lastTvPlayback;
}
public Calendar getLastLibraryChange() {
return lastLibraryChange;
}
public void setLastLibraryChange(Calendar lastLibraryChange) {
this.lastLibraryChange = lastLibraryChange;
}
public Calendar getLastPlayback() {
return lastPlayback;
}
public void setLastPlayback(Calendar lastPlayback) {
this.lastPlayback = lastPlayback;
}
public long getLastUserInteraction() {
return lastUserInteraction;
}
public void setLastUserInteraction(long lastUserInteraction) {
this.lastUserInteraction = lastUserInteraction;
}
@NonNull
public boolean canManageRecordings() {
UserDto currentUser = getCurrentUser();
return currentUser != null && currentUser.getPolicy().getEnableLiveTvManagement();
}
public PlaybackManager getPlaybackManager() {
return playbackManager;
}
public void setPlaybackManager(PlaybackManager playbackManager) {
this.playbackManager = playbackManager;
}
public Drawable getDrawableCompat(int id) {
// if (Build.VERSION.SDK_INT >= 21) {
// return getDrawable(id);
// }
return getResources().getDrawable(id);
}
public boolean isPlayingVideo() {
return playbackController != null && currentActivity != null && currentActivity instanceof PlaybackOverlayActivity;
}
public void stopPlayback() {
if (isPlayingVideo()) {
currentActivity.finish();
} else if (MediaManager.isPlayingAudio()) {
MediaManager.stopAudio();
}
}
public void pausePlayback() {
if (MediaManager.isPlayingAudio()) {
MediaManager.pauseAudio();
} else if (isPlayingVideo()) {
playbackController.playPause();
}
}
public void unPausePlayback() {
if (isPlayingVideo()) {
playbackController.playPause();
} else if (MediaManager.hasAudioQueueItems()) {
MediaManager.resumeAudio();
}
}
public void playbackNext() {
if (isPlayingVideo()) {
playbackController.next();
} else if (MediaManager.hasAudioQueueItems()) {
MediaManager.nextAudioItem();
}
}
public void playbackPrev() {
if (isPlayingVideo()) {
playbackController.prev();
} else if (MediaManager.hasAudioQueueItems()) {
MediaManager.prevAudioItem();
}
}
public void playbackSeek(int pos) {
if (isPlayingVideo()) {
playbackController.seek(pos);
}
}
public void playbackJump() {
if (isPlayingVideo()) {
playbackController.skip(30000);
}
}
public void playbackJumpBack() {
if (playbackController != null) {
playbackController.skip(-11000);
}
}
@NonNull
public DisplayPreferences getCachedDisplayPrefs(String key) {
return displayPrefsCache.containsKey(key) ? displayPrefsCache.get(key) : new DisplayPreferences();
return getCachedDisplayPrefs(key, DISPLAY_PREFS_APP_NAME);
}
@NonNull
public DisplayPreferences getCachedDisplayPrefs(String key, String app) {
String cacheKey = String.format("%s.%s", app, key);
return displayPrefsCache.containsKey(cacheKey) ? displayPrefsCache.get(cacheKey) : new DisplayPreferences();
}
public void updateDisplayPrefs(DisplayPreferences preferences) {
@@ -441,34 +118,38 @@ public class TvApp extends Application {
}
public void updateDisplayPrefs(String app, DisplayPreferences preferences) {
displayPrefsCache.put(preferences.getId(), preferences);
getApiClient().UpdateDisplayPreferencesAsync(preferences, getCurrentUser().getId(), app, new EmptyResponse());
logger.Debug("Display prefs updated for "+preferences.getId()+" isFavorite: "+preferences.getCustomPrefs().get("FavoriteOnly"));
displayPrefsCache.put(String.format("%s.%s", app, preferences.getId()), preferences);
apiClient.getValue().UpdateDisplayPreferencesAsync(preferences, getCurrentUser().getId(), app, new EmptyResponse());
Timber.d("Display prefs updated for %s isFavorite: %s", preferences.getId(), preferences.getCustomPrefs().get("FavoriteOnly"));
}
public void getDisplayPrefsAsync(String key, Response<DisplayPreferences> response) {
getDisplayPrefsAsync(key, "ATV", response);
getDisplayPrefsAsync(key, DISPLAY_PREFS_APP_NAME, response);
}
public void getDisplayPrefsAsync(final String key, String app, final Response<DisplayPreferences> outerResponse) {
if (displayPrefsCache.containsKey(key)) {
logger.Debug("Display prefs loaded from cache "+key);
outerResponse.onResponse(displayPrefsCache.get(key));
String cacheKey = String.format("%s.%s", app, key);
if (displayPrefsCache.containsKey(cacheKey)) {
Timber.d("Display prefs loaded from cache %s", cacheKey);
outerResponse.onResponse(displayPrefsCache.get(cacheKey));
} else {
getApiClient().GetDisplayPreferencesAsync(key, getCurrentUser().getId(), app, new Response<DisplayPreferences>(){
apiClient.getValue().GetDisplayPreferencesAsync(key, getCurrentUser().getId(), app, new Response<DisplayPreferences>() {
@Override
public void onResponse(DisplayPreferences response) {
if (response.getSortBy() == null) response.setSortBy("SortName");
if (response.getCustomPrefs() == null) response.setCustomPrefs(new HashMap<String, String>());
displayPrefsCache.put(key, response);
logger.Debug("Display prefs loaded and saved in cache " + key);
if (response.getCustomPrefs() == null)
response.setCustomPrefs(new HashMap<String, String>());
displayPrefsCache.put(cacheKey, response);
Timber.d("Display prefs loaded and saved in cache %s", cacheKey);
outerResponse.onResponse(response);
}
@Override
public void onError(Exception exception) {
//Continue with defaults
logger.ErrorException("Unable to load display prefs ", exception);
Timber.e(exception, "Unable to load display prefs ");
DisplayPreferences prefs = new DisplayPreferences();
prefs.setId(key);
prefs.setSortBy("SortName");
@@ -479,47 +160,7 @@ public class TvApp extends Application {
}
}
public int getAutoBitrate() {
return autoBitrate;
}
public void determineAutoBitrate() {
if (getApiClient() == null) return;
getApiClient().detectBitrate(new Response<Long>() {
@Override
public void onResponse(Long response) {
autoBitrate = response.intValue();
logger.Info("Auto bitrate set to: "+autoBitrate);
}
});
}
public String getDirectItemId() {
return directItemId;
}
public void setDirectItemId(String directItemId) {
this.directItemId = directItemId;
}
public String getLastDeletedItemId() {
return lastDeletedItemId;
}
public void setLastDeletedItemId(String lastDeletedItemId) {
this.lastDeletedItemId = lastDeletedItemId;
}
public VolleyHttpClient getHttpClient() {
return httpClient;
}
public void setHttpClient(VolleyHttpClient httpClient) {
this.httpClient = httpClient;
}
@Nullable
public BaseItemDto getLastPlayedItem() {
return lastPlayedItem;
}
@@ -527,52 +168,4 @@ public class TvApp extends Application {
public void setLastPlayedItem(BaseItemDto lastPlayedItem) {
this.lastPlayedItem = lastPlayedItem;
}
public long getLastVideoQueueChange() {
return lastVideoQueueChange;
}
public void setLastVideoQueueChange(long lastVideoQueueChange) {
this.lastVideoQueueChange = lastVideoQueueChange;
}
public boolean isPlayingIntros() {
return playingIntros;
}
public void setPlayingIntros(boolean playingIntros) {
this.playingIntros = playingIntros;
}
public ServerConfiguration getServerConfiguration() {
return serverConfiguration;
}
public int getServerBitrateLimit() { return maxRemoteBitrate > 0 ? maxRemoteBitrate : 100000000; }
public DisplayPriorityType getDisplayPriority() {
return displayPriority;
}
public void setDisplayPriority(DisplayPriorityType displayPriority) {
this.displayPriority = displayPriority;
}
public GradientDrawable getCurrentBackgroundGradient() {
return currentBackgroundGradient;
}
public void setCurrentBackground(Bitmap currentBackground) {
int[] colors = new int[2];
colors[0] = Utils.darker(Palette.from(currentBackground).generate().getMutedColor(ContextCompat.getColor(this, R.color.black_transparent)), .6f);
colors[1] = Utils.darker(colors[0], .1f);
setCurrentBackgroundGradient(colors);
}
private void setCurrentBackgroundGradient(int[] colors) {
currentBackgroundGradient = new GradientDrawable(GradientDrawable.Orientation.RIGHT_LEFT, colors);
currentBackgroundGradient.setCornerRadius(0f);
currentBackgroundGradient.setGradientCenter(.6f, .5f);
currentBackgroundGradient.setAlpha(200);
}
}

View File

@@ -0,0 +1,81 @@
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.*
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

@@ -0,0 +1,80 @@
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.apiclient.interaction.ApiClient
import org.jellyfin.apiclient.interaction.device.IDevice
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 timber.log.Timber
class ApiBinder(
private val application: JellyfinApplication,
private val api: ApiClient,
private val device: IDevice,
private val authenticationStore: AuthenticationStore,
) {
fun updateSession(session: Session?, resultCallback: (Boolean) -> Unit) {
GlobalScope.launch(Dispatchers.IO) {
@Suppress("TooGenericExceptionCaught")
try {
val success = updateSessionInternal(session)
resultCallback(success)
} catch (throwable: Throwable) {
Timber.e(throwable, "Unable to update legacy API session.")
resultCallback(false)
}
}
}
private suspend fun updateSessionInternal(session: Session?): 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 = AuthenticationDevice(device, session.userId.toString())
api.SetAuthenticationInfo(session.accessToken, session.userId.toString())
api.EnableAutomaticNetworking(ServerInfo().apply {
id = session.serverId.toString()
name = server.name
address = server.address
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

@@ -0,0 +1,29 @@
package org.jellyfin.androidtv.auth
import org.jellyfin.apiclient.interaction.device.IDevice
import org.jellyfin.sdk.model.DeviceInfo
import java.security.MessageDigest
/**
* Wrapper for [IDevice] that changes the device id to a combination of the original device id
* and the username. This is neccasary to prevent the server from trashing other sessions with
* the same device id.
*/
class AuthenticationDevice(
private val parent: IDevice,
private val username: String
) : IDevice {
// Hash the deviceId because we can't use special characters as the device id is send
// via HTTP headers
override val deviceId = MessageDigest.getInstance("SHA-1").run {
update("${parent.deviceId}+${username}".toByteArray())
digest().joinToString("") { "%02x".format(it) }
}
override val deviceName = parent.deviceName
fun toDeviceInfo() = DeviceInfo(
id = deviceId,
name = deviceName
)
}

View File

@@ -0,0 +1,259 @@
package org.jellyfin.androidtv.auth
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.emitAll
import kotlinx.coroutines.flow.flow
import org.jellyfin.androidtv.auth.model.*
import org.jellyfin.androidtv.preference.AuthenticationPreferences
import org.jellyfin.androidtv.util.ImageUtils
import org.jellyfin.apiclient.interaction.device.IDevice
import org.jellyfin.sdk.Jellyfin
import org.jellyfin.sdk.api.client.KtorClient
import org.jellyfin.sdk.api.client.exception.ApiClientException
import org.jellyfin.sdk.api.client.extensions.authenticateUserByName
import org.jellyfin.sdk.api.operations.ImageApi
import org.jellyfin.sdk.api.operations.UserApi
import org.jellyfin.sdk.model.api.ImageType
import timber.log.Timber
import java.util.*
interface AuthenticationRepository {
fun getServers(): List<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 device: IDevice,
private val accountManagerHelper: AccountManagerHelper,
private val authenticationStore: AuthenticationStore,
private val userApiClient: KtorClient,
private val authenticationPreferences: AuthenticationPreferences,
) : AuthenticationRepository {
private val serverComparator = compareByDescending<Server> { it.dateLastAccessed }.thenBy { it.name }
private val userComparator = compareByDescending<PrivateUser> { it.lastUsed }.thenBy { it.name }
override fun getServers() = authenticationStore.getServers().map { (id, info) ->
Server(
id = id,
name = info.name,
address = info.address,
version = info.version,
loginDisclaimer = info.loginDisclaimer,
dateLastAccessed = Date(info.lastUsed),
)
}.sortedWith(serverComparator)
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
}
@OptIn(ExperimentalCoroutinesApi::class)
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))
}
@OptIn(ExperimentalCoroutinesApi::class)
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 UserApi(userApiClient).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)
}
}
@OptIn(ExperimentalCoroutinesApi::class)
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 = AuthenticationDevice(device, username).toDeviceInfo())
val userApi = UserApi(api)
val result = try {
val response = 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)
accountManagerHelper.putAccount(AccountManagerAccount(userId, server.id, updatedUser.name, result.accessToken))
val user = PrivateUser(
id = userId,
serverId = server.id,
name = updatedUser.name,
accessToken = result.accessToken,
requirePassword = userInfo.hasPassword,
imageTag = userInfo.primaryImageTag,
lastUsed = Date().time,
)
setActiveSession(user, server)
emit(AuthenticatedState)
}
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? {
val api = jellyfin.createApi(baseUrl = server.address)
val imageApi = ImageApi(api)
return user.imageTag?.let { imageTag ->
imageApi.getUserImageUrl(
userId = user.id,
tag = imageTag,
imageType = ImageType.PRIMARY,
maxHeight = ImageUtils.MAX_PRIMARY_IMAGE_HEIGHT
)
}
}
}

View File

@@ -0,0 +1,11 @@
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

@@ -0,0 +1,109 @@
package org.jellyfin.androidtv.auth
import android.content.Context
import kotlinx.serialization.encodeToString
import kotlinx.serialization.json.*
import kotlinx.serialization.modules.SerializersModule
import kotlinx.serialization.modules.contextual
import org.jellyfin.androidtv.auth.model.AuthenticationStoreServer
import org.jellyfin.androidtv.auth.model.AuthenticationStoreUser
import org.jellyfin.androidtv.util.serializer.UUIDSerializer
import timber.log.Timber
import java.util.*
/**
* 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.
*
* The data is stored in a JSON file located in the applications data directory.
*/
class AuthenticationStore(
private val context: Context
) {
private val storePath
get() = context.filesDir.resolve("authentication_store.json")
private val json = Json {
encodeDefaults = true
serializersModule = SerializersModule {
contextual(UUIDSerializer)
}
ignoreUnknownKeys = true
}
private val store by lazy {
load().toMutableMap()
}
private fun load(): Map<UUID, AuthenticationStoreServer> {
// No store found
if (!storePath.exists()) return 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"]!!)
null -> {
Timber.e("Authentication Store is corrupt!")
emptyMap()
}
else -> {
Timber.e("Authentication Store is using an unknown version!")
emptyMap()
}
}
}
private fun save(): Boolean {
val root = JsonObject(mapOf(
"version" to JsonPrimitive(1),
"servers" to json.encodeToJsonElement(store)
))
storePath.writeText(json.encodeToString(root))
return true
}
fun getServers(): Map<UUID, AuthenticationStoreServer> = store
fun getUsers(server: UUID): Map<UUID, AuthenticationStoreUser>? = getServer(server)?.users
fun getServer(serverId: UUID) = store[serverId]
fun getUser(serverId: UUID, userId: UUID) = getUsers(serverId)?.get(userId)
fun putServer(id: UUID, server: AuthenticationStoreServer): Boolean {
store[id] = server
return save()
}
fun putUser(server: UUID, userId: UUID, userInfo: AuthenticationStoreUser): Boolean {
val serverInfo = store[server] ?: return false
store[server] = serverInfo.copy(users = serverInfo.users.toMutableMap().apply { put(userId, userInfo) })
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.
*/
fun removeServer(server: UUID): Boolean {
store.remove(server)
return save()
}
fun removeUser(server: UUID, user: UUID): Boolean {
val serverInfo = store[server] ?: return false
store[server] = serverInfo.copy(users = serverInfo.users.toMutableMap().apply { remove(user) })
return save()
}
}

View File

@@ -0,0 +1,49 @@
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

@@ -0,0 +1,97 @@
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.androidtv.util.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,
)
)
}
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

@@ -0,0 +1,186 @@
package org.jellyfin.androidtv.auth
import androidx.lifecycle.LiveData
import androidx.lifecycle.liveData
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.flow.*
import org.jellyfin.androidtv.auth.model.*
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.operations.BrandingApi
import org.jellyfin.sdk.api.operations.SystemApi
import org.jellyfin.sdk.api.operations.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.*
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 client = jellyfin.createApi(server.address)
val userApi = UserApi(client)
return try {
val users by 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 client = jellyfin.createApi(server.address)
// Get login disclaimer
val branding by BrandingApi(client).getBrandingOptions()
val systemInfo by SystemApi(client).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) {
// Get system info
val systemInfo = chosenRecommendation.systemInfo!!
// Get branding info
val api = BrandingApi(jellyfin.createApi(chosenRecommendation.address))
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
emit(UnableToConnectState(addressCandidates))
}
}
}

View File

@@ -0,0 +1,167 @@
package org.jellyfin.androidtv.auth
import androidx.lifecycle.LiveData
import androidx.lifecycle.MutableLiveData
import org.jellyfin.androidtv.preference.AuthenticationPreferences
import org.jellyfin.androidtv.preference.constant.UserSelectBehavior.*
import org.jellyfin.sdk.api.client.KtorClient
import org.jellyfin.sdk.model.serializer.toUUIDOrNull
import timber.log.Timber
import java.util.*
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: KtorClient,
private val systemApiClient: KtorClient,
) : 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) { }
}
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
apiBinder.updateSession(session) { success ->
Timber.d("Updating current session. userId=${session?.userId} apiBindingSuccess=${success}")
if (success) {
userApiClient.applySession(session)
_currentSession.postValue(session)
} else {
userApiClient.applySession(null)
_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 KtorClient.applySession(session: Session?) {
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

@@ -0,0 +1,10 @@
package org.jellyfin.androidtv.auth.model
import java.util.*
data class AccountManagerAccount(
val id: UUID,
val server: UUID,
val name: String,
val accessToken: String? = null,
)

View File

@@ -0,0 +1,23 @@
@file:UseSerializers(UUIDSerializer::class)
package org.jellyfin.androidtv.auth.model
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
import kotlinx.serialization.UseSerializers
import org.jellyfin.androidtv.util.serializer.UUIDSerializer
import java.util.*
/**
* Locally stored server information. New properties require default values or deserialization will fail.
*/
@Serializable
data class AuthenticationStoreServer(
val name: String,
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,
val users: Map<UUID, AuthenticationStoreUser> = emptyMap(),
)

View File

@@ -0,0 +1,16 @@
package org.jellyfin.androidtv.auth.model
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
import java.util.*
/**
* Locally stored user information. New properties require default values or deserialization will fail.
*/
@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
)

View File

@@ -0,0 +1,23 @@
package org.jellyfin.androidtv.auth.model
import androidx.annotation.StringRes
data class LoadingState(
val status: Status,
@StringRes val messageRes: Int? = null
) {
companion object {
val PENDING = LoadingState(Status.PENDING)
val LOADING = LoadingState(Status.LOADING)
val SUCCESS = LoadingState(Status.SUCCESS)
val ERROR = LoadingState(Status.ERROR)
fun error(@StringRes messageRes: Int? = null) = LoadingState(Status.ERROR, messageRes)
}
enum class Status {
PENDING,
LOADING,
SUCCESS,
ERROR
}
}

View File

@@ -0,0 +1,8 @@
package org.jellyfin.androidtv.auth.model
sealed class LoginState
object AuthenticatingState : LoginState()
object RequireSignInState : LoginState()
object ServerUnavailableState : LoginState()
data class ServerVersionNotSupported(val server: Server) : LoginState()
object AuthenticatedState : LoginState()

View File

@@ -0,0 +1,30 @@
package org.jellyfin.androidtv.auth.model
import org.jellyfin.androidtv.auth.ServerRepository
import org.jellyfin.sdk.model.ServerVersion
import java.util.*
/**
* Server model to use locally in place of ServerInfo model in ApiClient.
*/
data class Server(
var id: UUID,
var name: String,
var address: String,
val version: String? = null,
val loginDisclaimer: String? = null,
var dateLastAccessed: Date = Date(0),
) {
private val serverVersion = version?.let(ServerVersion::fromString)
val versionSupported = serverVersion != null && serverVersion >= ServerRepository.minimumServerVersion
override fun equals(other: Any?) = other is Server
&& id == other.id
&& address == other.address
override fun hashCode(): Int {
var result = id.hashCode()
result = 31 * result + address.hashCode()
return result
}
}

View File

@@ -0,0 +1,9 @@
package org.jellyfin.androidtv.auth.model
import org.jellyfin.sdk.model.api.PublicSystemInfo
import java.util.*
sealed class ServerAdditionState
data class ConnectingState(val address: String) : ServerAdditionState()
data class UnableToConnectState(val addressCandidates: List<String>) : ServerAdditionState()
data class ConnectedState(val id: UUID, val publicInfo: PublicSystemInfo) : ServerAdditionState()

View File

@@ -0,0 +1,50 @@
package org.jellyfin.androidtv.auth.model
import java.util.*
/**
* User model used locally.
*/
sealed class User {
abstract val id: UUID
abstract val serverId: UUID
abstract val name: String
abstract val accessToken: String?
abstract val requirePassword: Boolean
abstract val imageTag: String?
override fun equals(other: Any?) = other is User
&& serverId == other.serverId
&& id == other.id
override fun hashCode(): Int {
var result = id.hashCode()
result = 31 * result + serverId.hashCode()
return result
}
}
/**
* Represents a user stored client side.
*/
data class PrivateUser(
override val id: UUID,
override val serverId: UUID,
override val name: String,
override val accessToken: String?,
override val requirePassword: Boolean,
override val imageTag: String?,
val lastUsed: Long,
) : User()
/**
* Represents a user stored server side. Found using the Public User endpoint.
*/
data class PublicUser(
override val id: UUID,
override val serverId: UUID,
override val name: String,
override val accessToken: String?,
override val requirePassword: Boolean,
override val imageTag: String?,
) : User()

View File

@@ -1,192 +0,0 @@
package org.jellyfin.androidtv.base;
import android.graphics.Rect;
import android.os.Bundle;
import android.os.Handler;
import android.preference.PreferenceManager;
import android.view.Gravity;
import android.view.KeyEvent;
import android.view.View;
import android.view.ViewGroup;
import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.TextView;
import org.jellyfin.androidtv.R;
import org.jellyfin.androidtv.TvApp;
import org.jellyfin.androidtv.util.Utils;
import androidx.core.app.ActivityCompat;
import androidx.fragment.app.FragmentActivity;
public abstract class BaseActivity extends FragmentActivity implements ActivityCompat.OnRequestPermissionsResultCallback {
private TvApp app = TvApp.getApplication();
private long timeoutInterval = 3600000;
private Handler handler = new Handler();
private Runnable loop;
private IKeyListener keyListener;
private IMessageListener messageListener;
private View messageUi;
private TextView messageTitle;
private TextView messageMessage;
private ImageView messageIcon;
private int messageTimeout = 6000;
private int farRight;
private int msgPos;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
timeoutInterval = Long.parseLong(PreferenceManager.getDefaultSharedPreferences(app).getString("pref_auto_logoff_timeout", "3600000"));
startAutoLogoffLoop();
TvApp.getApplication().setCurrentActivity(this);
//Add message UI - delay to ensure on top of other views
handler.postDelayed(new Runnable() {
@Override
public void run() {
if (!isFinishing() && app.getCurrentActivity() != null) {
FrameLayout root = findViewById(android.R.id.content);
messageUi = View.inflate(app.getCurrentActivity(), R.layout.message, null);
messageTitle = messageUi.findViewById(R.id.msgTitle);
messageMessage = messageUi.findViewById(R.id.message);
messageIcon = messageUi.findViewById(R.id.msgIcon);
messageUi.setAlpha(0);
FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT, Gravity.RIGHT | Gravity.BOTTOM);
params.bottomMargin = Utils.convertDpToPixel(TvApp.getApplication().getCurrentActivity(), 50);
Rect windowSize = new Rect();
getWindow().getDecorView().getWindowVisibleDisplayFrame(windowSize);
farRight = windowSize.right;
msgPos = farRight - Utils.convertDpToPixel(TvApp.getApplication().getCurrentActivity(), 500);
messageUi.setLeft(farRight);
root.addView(messageUi, params);
}
}
}, 500);
}
public void showMessage(String title, String msg) {
showMessage(title, msg, messageTimeout, null, null);
}
public void showMessage(String title, String msg, int timeout) {
showMessage(title, msg, timeout, null, null);
}
public void showMessage(String title, String msg, int timeout, Integer icon, Integer background) {
if (messageUi != null && !isFinishing()) {
messageTitle.setText(title);
messageMessage.setText(msg);
if (icon != null) {
messageIcon.setImageResource(icon);
}
if (background != null) {
messageUi.setBackgroundResource(background);
}
messageUi.animate().x(msgPos).alpha(1).setDuration(300);
handler.postDelayed(new Runnable() {
@Override
public void run() {
if (messageUi != null && !isFinishing()) {
messageUi.animate().alpha(0).x(farRight).setDuration(300);
}
}
}, timeout);
}
}
//Banish task bars and navigation controls on non-TV devices
@Override
public void onWindowFocusChanged(boolean hasFocus) {
super.onWindowFocusChanged(hasFocus);
if (hasFocus && android.os.Build.VERSION.SDK_INT >= 19) {
getWindow().getDecorView().setSystemUiVisibility(
View.SYSTEM_UI_FLAG_LAYOUT_STABLE
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_FULLSCREEN
| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);}
}
@Override
protected void onResume() {
super.onResume();
TvApp.getApplication().setCurrentActivity(this);
}
@Override
protected void onPause() {
super.onPause();
TvApp.getApplication().setCurrentActivity(null);
}
@Override
protected void onDestroy() {
if (handler != null && loop != null) {
handler.removeCallbacks(loop);
}
super.onDestroy();
}
@Override
public void onUserInteraction() {
super.onUserInteraction();
app.setLastUserInteraction(System.currentTimeMillis());
}
private void startAutoLogoffLoop() {
if (loop != null) {
return;
}
loop = new Runnable() {
@Override
public void run() {
if (app != null && System.currentTimeMillis() > app.getLastUserInteraction() + timeoutInterval) {
app.getLogger().Info("Logging off due to inactivity %d", app.getLastUserInteraction());
Utils.showToast(app, "Jellyfin Logging off due to inactivity...");
if (app.getPlaybackController() != null && app.getPlaybackController().isPaused()) {
app.getLogger().Info("Playback was paused, stopping gracefully...");
app.getPlaybackController().stop();
}
handler.removeCallbacks(this);
finish();
} else {
handler.postDelayed(this, 60000);
}
}
};
handler.postDelayed(loop, 60000);
}
public void registerKeyListener(IKeyListener listener) {
keyListener = listener;
}
public void registerMessageListener(IMessageListener listener) {
messageListener = listener;
}
public void sendMessage(CustomMessage message) {
if (messageListener != null) {
messageListener.onMessageReceived(message);
}
}
@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
return keyListener != null ? keyListener.onKeyUp(keyCode, event) || super.onKeyUp(keyCode, event) : super.onKeyUp(keyCode, event);
}
@Override
public boolean onSearchRequested() {
TvApp.getApplication().showSearch(this, false);
return true;
}
}

View File

@@ -1,9 +0,0 @@
package org.jellyfin.androidtv.base;
/**
* Created by Eric on 4/20/2015.
*/
public enum CustomMessage {
RefreshCurrentItem,
RemoveCurrentItem, ActionComplete, RefreshRows
}

View File

@@ -1,15 +0,0 @@
package org.jellyfin.androidtv.browsing;
import android.os.Bundle;
import org.jellyfin.androidtv.R;
import org.jellyfin.androidtv.base.BaseActivity;
public class BrowsePersonsActivity extends BaseActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_browse_persons);
}
}

View File

@@ -1,15 +0,0 @@
package org.jellyfin.androidtv.browsing;
import android.os.Bundle;
import org.jellyfin.androidtv.R;
import org.jellyfin.androidtv.base.BaseActivity;
public class BrowseRecordingsActivity extends BaseActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_recordings);
}
}

View File

@@ -1,15 +0,0 @@
package org.jellyfin.androidtv.browsing;
import android.os.Bundle;
import org.jellyfin.androidtv.R;
import org.jellyfin.androidtv.base.BaseActivity;
public class BrowseScheduleActivity extends BaseActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_schedule);
}
}

View File

@@ -1,15 +0,0 @@
package org.jellyfin.androidtv.browsing;
import android.os.Bundle;
import org.jellyfin.androidtv.R;
import org.jellyfin.androidtv.base.BaseActivity;
public class ByGenreActivity extends BaseActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_by_genre);
}
}

View File

@@ -1,15 +0,0 @@
package org.jellyfin.androidtv.browsing;
import android.os.Bundle;
import org.jellyfin.androidtv.R;
import org.jellyfin.androidtv.base.BaseActivity;
public class ByLetterActivity extends BaseActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_by_letter);
}
}

View File

@@ -1,15 +0,0 @@
package org.jellyfin.androidtv.browsing;
import android.os.Bundle;
import org.jellyfin.androidtv.R;
import org.jellyfin.androidtv.base.BaseActivity;
public class CollectionActivity extends BaseActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_collection);
}
}

View File

@@ -1,299 +0,0 @@
package org.jellyfin.androidtv.browsing;
import androidx.fragment.app.Fragment;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.os.Handler;
import androidx.leanback.app.BackgroundManager;
import androidx.leanback.app.RowsSupportFragment;
import androidx.leanback.widget.ArrayObjectAdapter;
import androidx.leanback.widget.HeaderItem;
import androidx.leanback.widget.ListRow;
import androidx.leanback.widget.OnItemViewClickedListener;
import androidx.leanback.widget.OnItemViewSelectedListener;
import androidx.leanback.widget.Presenter;
import androidx.leanback.widget.Row;
import androidx.leanback.widget.RowPresenter;
import android.util.DisplayMetrics;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.bumptech.glide.Glide;
import com.bumptech.glide.request.animation.GlideAnimation;
import com.bumptech.glide.request.target.SimpleTarget;
import org.jellyfin.androidtv.R;
import org.jellyfin.androidtv.TvApp;
import org.jellyfin.androidtv.base.BaseActivity;
import org.jellyfin.androidtv.itemhandling.BaseRowItem;
import org.jellyfin.androidtv.itemhandling.ItemLauncher;
import org.jellyfin.androidtv.itemhandling.ItemRowAdapter;
import org.jellyfin.androidtv.presentation.CardPresenter;
import org.jellyfin.androidtv.presentation.PositionableListRowPresenter;
import org.jellyfin.androidtv.querying.QueryType;
import org.jellyfin.androidtv.querying.ViewQuery;
import java.util.ArrayList;
import java.util.List;
import java.util.Timer;
import java.util.TimerTask;
public class CustomBrowseFragment extends Fragment implements IRowLoader {
private RowsSupportFragment mRowsFragment;
private static final int BACKGROUND_UPDATE_DELAY = 100;
protected String MainTitle;
protected boolean ShowBadge = true;
protected TvApp mApplication;
protected BaseActivity mActivity;
protected BaseRowItem mCurrentItem;
protected ListRow mCurrentRow;
protected CompositeClickedListener mClickedListener = new CompositeClickedListener();
protected CompositeSelectedListener mSelectedListener = new CompositeSelectedListener();
protected ArrayObjectAdapter mRowsAdapter;
private SimpleTarget<Bitmap> mBackgroundTarget;
private DisplayMetrics mMetrics;
private Timer mBackgroundTimer;
private final Handler mHandler = new Handler();
private String mBackgroundUrl;
protected ArrayList<BrowseRowDef> mRows = new ArrayList<>();
CardPresenter mCardPresenter;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View root = inflater.inflate(R.layout.fragment_custom_browse, container, false);
// Inject the RowsSupportFragment in the results container
if (getChildFragmentManager().findFragmentById(R.id.rows_area) == null) {
mRowsFragment = new RowsSupportFragment();
getChildFragmentManager().beginTransaction()
.replace(R.id.rows_area, mRowsFragment).commit();
} else {
mRowsFragment = (RowsSupportFragment) getChildFragmentManager()
.findFragmentById(R.id.rows_area);
}
mRowsAdapter = new ArrayObjectAdapter(new PositionableListRowPresenter());
mRowsFragment.setAdapter(mRowsAdapter);
return root;
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
mApplication = TvApp.getApplication();
//mActivity = (BaseActivity) getActivity();
prepareBackgroundManager();
setupUIElements();
setupQueries(this);
setupEventListeners();
}
protected void setupQueries(IRowLoader rowLoader) {
rowLoader.loadRows(mRows);
}
@Override
public void onDestroy() {
super.onDestroy();
if (null != mBackgroundTimer) {
mBackgroundTimer.cancel();
}
}
@Override
public void onResume() {
super.onResume();
//Re-retrieve anything that needs it but delay slightly so we don't take away gui landing
if (mRowsAdapter != null) {
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
for (int i = 0; i < mRowsAdapter.size(); i++) {
if (mRowsAdapter.get(i) instanceof ListRow) {
if (((ListRow) mRowsAdapter.get(i)).getAdapter() instanceof ItemRowAdapter) {
((ItemRowAdapter) ((ListRow) mRowsAdapter.get(i)).getAdapter()).ReRetrieveIfNeeded();
}
}
}
}
},1500);
}
}
public void loadRows(List<BrowseRowDef> rows) {
mRowsAdapter = new ArrayObjectAdapter(new PositionableListRowPresenter());
mCardPresenter = new CardPresenter();
for (BrowseRowDef def : rows) {
HeaderItem header = new HeaderItem(def.getHeaderText());
ItemRowAdapter rowAdapter;
switch (def.getQueryType()) {
case NextUp:
rowAdapter = new ItemRowAdapter(def.getNextUpQuery(), true, mCardPresenter, mRowsAdapter);
break;
case Season:
rowAdapter = new ItemRowAdapter(def.getSeasonQuery(), mCardPresenter, mRowsAdapter);
break;
case Upcoming:
rowAdapter = new ItemRowAdapter(def.getUpcomingQuery(), mCardPresenter, mRowsAdapter);
break;
case Views:
rowAdapter = new ItemRowAdapter(new ViewQuery(), mCardPresenter, mRowsAdapter);
break;
case SimilarSeries:
rowAdapter = new ItemRowAdapter(def.getSimilarQuery(), QueryType.SimilarSeries, mCardPresenter, mRowsAdapter);
break;
case SimilarMovies:
rowAdapter = new ItemRowAdapter(def.getSimilarQuery(), QueryType.SimilarMovies, mCardPresenter, mRowsAdapter);
break;
case Persons:
rowAdapter = new ItemRowAdapter(def.getPersonsQuery(), def.getChunkSize(), mCardPresenter, mRowsAdapter);
break;
case LiveTvChannel:
rowAdapter = new ItemRowAdapter(def.getTvChannelQuery(), 40, mCardPresenter, mRowsAdapter);
break;
case LiveTvProgram:
rowAdapter = new ItemRowAdapter(def.getProgramQuery(), mCardPresenter, mRowsAdapter);
break;
case LiveTvRecording:
rowAdapter = new ItemRowAdapter(def.getRecordingQuery(), def.getChunkSize(), mCardPresenter, mRowsAdapter);
break;
default:
rowAdapter = new ItemRowAdapter(def.getQuery(), def.getChunkSize(), def.getPreferParentThumb(), def.isStaticHeight(), mCardPresenter, mRowsAdapter);
break;
}
rowAdapter.setReRetrieveTriggers(def.getChangeTriggers());
ListRow row = new ListRow(header, rowAdapter);
mRowsAdapter.add(row);
rowAdapter.setRow(row);
rowAdapter.Retrieve();
}
addAdditionalRows(mRowsAdapter);
mRowsFragment.setAdapter(mRowsAdapter);
}
protected void addAdditionalRows(ArrayObjectAdapter rowAdapter) {
}
private void prepareBackgroundManager() {
final BackgroundManager backgroundManager = BackgroundManager.getInstance(getActivity());
backgroundManager.attach(getActivity().getWindow());
mMetrics = new DisplayMetrics();
getActivity().getWindowManager().getDefaultDisplay().getMetrics(mMetrics);
mBackgroundTarget = new SimpleTarget<Bitmap>(mMetrics.widthPixels, mMetrics.heightPixels) {
@Override
public void onResourceReady(Bitmap resource, GlideAnimation<? super Bitmap> glideAnimation) {
backgroundManager.setBitmap(resource);
}
};
}
protected void setupUIElements() {
}
protected void setupEventListeners() {
mRowsFragment.setOnItemViewClickedListener(mClickedListener);
mClickedListener.registerListener(new ItemViewClickedListener());
mRowsFragment.setOnItemViewSelectedListener(mSelectedListener);
mSelectedListener.registerListener(new ItemViewSelectedListener());
}
private final class ItemViewClickedListener implements OnItemViewClickedListener {
@Override
public void onItemClicked(final Presenter.ViewHolder itemViewHolder, Object item,
RowPresenter.ViewHolder rowViewHolder, Row row) {
if (!(item instanceof BaseRowItem)) return;
ItemLauncher.launch((BaseRowItem) item, (ItemRowAdapter) ((ListRow)row).getAdapter(), ((BaseRowItem) item).getIndex(), getActivity());
}
}
private final class ItemViewSelectedListener implements OnItemViewSelectedListener {
@Override
public void onItemSelected(Presenter.ViewHolder itemViewHolder, Object item,
RowPresenter.ViewHolder rowViewHolder, Row row) {
if (!(item instanceof BaseRowItem)) {
//fill in default background
mBackgroundUrl = null;
startBackgroundTimer();
return;
}
BaseRowItem rowItem = (BaseRowItem) item;
mCurrentItem = rowItem;
mCurrentRow = (ListRow) row;
//mApplication.getLogger().Debug("Selected Item "+rowItem.getIndex() + " type: "+ (rowItem.getItemType().equals(BaseRowItem.ItemType.BaseItem) ? rowItem.getBaseItem().getType() : "other"));
ItemRowAdapter adapter = (ItemRowAdapter) ((ListRow)row).getAdapter();
adapter.loadMoreItemsIfNeeded(rowItem.getIndex());
mBackgroundUrl = rowItem.getBackdropImageUrl();
startBackgroundTimer();
}
}
protected void updateBackground(String url) {
if (url == null) {
clearBackground();
} else {
Glide.with(getActivity())
.load(url)
.asBitmap()
.override(mMetrics.widthPixels, mMetrics.heightPixels)
.centerCrop()
.into(mBackgroundTarget);
}
}
protected void clearBackground() {
BackgroundManager.getInstance(getActivity()).setDrawable(null);
}
private void startBackgroundTimer() {
if (null != mBackgroundTimer) {
mBackgroundTimer.cancel();
}
mBackgroundTimer = new Timer();
mBackgroundTimer.schedule(new UpdateBackgroundTask(), BACKGROUND_UPDATE_DELAY);
}
private class UpdateBackgroundTask extends TimerTask {
@Override
public void run() {
mHandler.post(new Runnable() {
@Override
public void run() {
updateBackground(mBackgroundUrl);
}
});
}
}
}

View File

@@ -1,21 +0,0 @@
package org.jellyfin.androidtv.browsing;
import android.os.Bundle;
import org.jellyfin.androidtv.TvApp;
/**
* Created by Eric on 1/18/2015.
*/
public class CustomViewFragment extends BrowseFolderFragment {
protected String includeType;
@Override
public void onActivityCreated(Bundle savedInstanceState) {
includeType = getActivity().getIntent().getStringExtra("IncludeType");
TvApp.getApplication().getLogger().Debug("Item type: "+includeType);
showViews = false;
super.onActivityCreated(savedInstanceState);
}
}

View File

@@ -1,15 +0,0 @@
package org.jellyfin.androidtv.browsing;
import android.os.Bundle;
import org.jellyfin.androidtv.R;
import org.jellyfin.androidtv.base.BaseActivity;
public class GenericFolderActivity extends BaseActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_generic_folder);
}
}

View File

@@ -1,15 +0,0 @@
package org.jellyfin.androidtv.browsing;
import android.os.Bundle;
import org.jellyfin.androidtv.R;
import org.jellyfin.androidtv.base.BaseActivity;
public class GenericGridActivity extends BaseActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_browse_grid);
}
}

View File

@@ -1,12 +0,0 @@
package org.jellyfin.androidtv.browsing
import android.os.Bundle
import org.jellyfin.androidtv.R
import org.jellyfin.androidtv.base.BaseActivity
class MainActivity : BaseActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_home)
}
}

View File

@@ -1,15 +0,0 @@
package org.jellyfin.androidtv.browsing;
import android.os.Bundle;
import org.jellyfin.androidtv.R;
import org.jellyfin.androidtv.base.BaseActivity;
public class SuggestedMoviesActivity extends BaseActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_suggested_movie);
}
}

View File

@@ -1,15 +0,0 @@
package org.jellyfin.androidtv.browsing;
import android.os.Bundle;
import org.jellyfin.androidtv.R;
import org.jellyfin.androidtv.base.BaseActivity;
public class UserViewActivity extends BaseActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_user_view);
}
}

View File

@@ -1,126 +0,0 @@
package org.jellyfin.androidtv.channels
import android.content.Intent
import android.net.Uri
import android.os.Build
import androidx.tvprovider.media.tv.TvContractCompat.WatchNextPrograms
import androidx.tvprovider.media.tv.WatchNextProgram
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.GlobalScope
import kotlinx.coroutines.launch
import kotlinx.coroutines.withContext
import org.jellyfin.androidtv.TvApp
import org.jellyfin.androidtv.startup.StartupActivity
import org.jellyfin.androidtv.util.apiclient.getNextUpEpisodes
import org.jellyfin.apiclient.model.drawing.ImageFormat
import org.jellyfin.apiclient.model.dto.BaseItemDto
import org.jellyfin.apiclient.model.dto.ImageOptions
import org.jellyfin.apiclient.model.querying.ItemFields
import org.jellyfin.apiclient.model.querying.NextUpQuery
/**
* Manages channels on the android tv home screen
*
* More info: https://developer.android.com/training/tv/discovery/recommendations-channel
*/
class ChannelManager {
private companion object {
/**
* Amount of ticks found in a millisecond, used for calculation
*/
private const val TICKS_IN_MILLISECOND = 10000
}
private val application = TvApp.getApplication()
/**
* Check if the app can use Leanback features and is API level 26 or higher
*/
private val isSupported = Build.VERSION.SDK_INT >= Build.VERSION_CODES.O
&& application.packageManager.hasSystemFeature("android.software.leanback")
/**
* Update all channels for the currently authenticated user
*/
fun update() {
// Don't do anything if not supported
if (!isSupported) return
// Launch in separate coroutine scope
GlobalScope.launch {
updateWatchNext()
}
}
/**
* Updates the "watch next" row with new and unfinished episodes
* does not include movies, music or other types of media
*/
private suspend fun updateWatchNext() = withContext(Dispatchers.Default) {
// Delete current items
application.contentResolver.delete(WatchNextPrograms.CONTENT_URI, null, null)
// Get user or return if no user is found (not authenticated)
val user = application.currentUser ?: return@withContext
// Get new items
val response = application.apiClient.getNextUpEpisodes(NextUpQuery().apply {
userId = user.id
imageTypeLimit = 1
limit = 10
fields = arrayOf(ItemFields.DateCreated)
})
// Add new items
response?.items?.forEach { item ->
application.contentResolver.insert(
WatchNextPrograms.CONTENT_URI,
getBaseItemAsWatchNextProgram(item).toContentValues()
)
}
}
/**
* Convert [BaseItemDto] to [WatchNextProgram]
*
* Assumes the item type is "episode"
*/
private fun getBaseItemAsWatchNextProgram(item: BaseItemDto) = WatchNextProgram.Builder().apply {
setInternalProviderId(item.id)
setType(WatchNextPrograms.TYPE_TV_EPISODE)
setTitle("${item.seriesName} - ${item.name}")
// Poster image
setPosterArtAspectRatio(WatchNextPrograms.ASPECT_RATIO_16_9)
setPosterArtUri(Uri.parse(application.apiClient.GetImageUrl(item, ImageOptions().apply {
format = ImageFormat.Png
height = 288
width = 512
})))
// Use date created or fallback to current time if unavailable
setLastEngagementTimeUtcMillis(item.dateCreated?.time ?: System.currentTimeMillis())
when {
// User has started playing the episode
item.canResume -> {
setWatchNextType(WatchNextPrograms.WATCH_NEXT_TYPE_CONTINUE)
setLastPlaybackPositionMillis((item.resumePositionTicks / TICKS_IN_MILLISECOND).toInt())
setDurationMillis((item.runTimeTicks / TICKS_IN_MILLISECOND).toInt())
}
// First episode of the season
item.indexNumber == 0 -> {
setWatchNextType(WatchNextPrograms.WATCH_NEXT_TYPE_NEW)
}
// Default
else -> {
setWatchNextType(WatchNextPrograms.WATCH_NEXT_TYPE_NEXT)
}
}
// Set intent to open the episode
setIntent(Intent(application, StartupActivity::class.java).apply {
putExtra("ItemId", item.id)
})
}.build()
}

View File

@@ -0,0 +1,12 @@
package org.jellyfin.androidtv.constant;
public enum ChangeTriggerType {
LibraryUpdated,
MoviePlayback,
TvPlayback,
GuideNeedsLoad,
MusicPlayback,
Always,
VideoQueueChange,
FavoriteUpdate
}

View File

@@ -1,4 +1,4 @@
package org.jellyfin.androidtv.constants;
package org.jellyfin.androidtv.constant;
public class CodecTypes {
/* Audio Codec Types */
@@ -33,5 +33,4 @@ public class CodecTypes {
public static final String MPEG4 = "mpeg4";
public static final String VP8 = "vp8";
public static final String VP9 = "vp9";
public static final String VPX = "vpx";
}

View File

@@ -1,4 +1,4 @@
package org.jellyfin.androidtv.constants;
package org.jellyfin.androidtv.constant;
public class ContainerTypes {
public static final String _3GP = "3gp";

View File

@@ -0,0 +1,8 @@
package org.jellyfin.androidtv.constant;
public enum CustomMessage {
RefreshCurrentItem,
RemoveCurrentItem,
ActionComplete,
RefreshRows
}

View File

@@ -0,0 +1,6 @@
package org.jellyfin.androidtv.constant
object Extras {
const val Folder = "Folder"
const val IncludeType = "IncludeType"
}

View File

@@ -0,0 +1,22 @@
package org.jellyfin.androidtv.constant
import org.jellyfin.androidtv.R
import org.jellyfin.androidtv.ui.preference.dsl.EnumDisplayOptions
enum class GridDirection {
/**
* Horizontal.
*/
@EnumDisplayOptions(R.string.grid_direction_horizontal)
HORIZONTAL,
/**
* Vertical.
*/
@EnumDisplayOptions(R.string.grid_direction_vertical)
VERTICAL;
companion object {
fun getGridDirection(direction: String?) = values().firstOrNull { it.name == direction }
}
}

View File

@@ -0,0 +1,22 @@
package org.jellyfin.androidtv.constant
/**
* All possible homesections, synced with jellyfin-web
*/
enum class HomeSectionType(
val id: String
) {
LATEST_MEDIA("latestmedia"),
LIBRARY_TILES_SMALL("smalllibrarytiles"),
LIBRARY_BUTTONS("librarybuttons"),
RESUME("resume"),
RESUME_AUDIO("resumeaudio"),
ACTIVE_RECORDINGS("activerecordings"),
NEXT_UP("nextup"),
LIVE_TV("livetv"),
NONE("none");
companion object {
fun getById(id: String) = values().firstOrNull { it.id == id }
}
}

View File

@@ -1,8 +1,5 @@
package org.jellyfin.androidtv.model;
package org.jellyfin.androidtv.constant;
/**
* Created by Eric on 8/22/2015.
*/
public class ImageType {
public static final String DEFAULT = "0";
public static final String THUMB = "1";

View File

@@ -1,4 +1,4 @@
package org.jellyfin.androidtv.constants;
package org.jellyfin.androidtv.constant;
public class MediaTypes {
public static final String HLS = "hls";

View File

@@ -1,12 +1,8 @@
package org.jellyfin.androidtv.model;
package org.jellyfin.androidtv.constant;
/**
* Created by Eric on 8/22/2015.
*/
public class PosterSize {
public static final String AUTO = "0";
public static final String SMALL = "1";
public static final String MED = "2";
public static final String LARGE = "3";
}

View File

@@ -1,4 +1,4 @@
package org.jellyfin.androidtv.querying;
package org.jellyfin.androidtv.constant;
public enum QueryType {
Items,

View File

@@ -1,8 +1,5 @@
package org.jellyfin.androidtv.model;
package org.jellyfin.androidtv.constant;
/**
* Created by Eric on 8/22/2015.
*/
public class ViewType {
public static final String SMART = "0";
public static final String GRID = "1";

View File

@@ -1,28 +0,0 @@
package org.jellyfin.androidtv.constants;
// Names used in jellyfin-web
// Only uses those that are configurable in web settings
public enum HomeSectionType {
LATEST_MEDIA("latestmedia"),
LIBRARY_TILES_SMALL("smalllibrarytiles"),
LIBRARY_BUTTONS("librarybuttons"),
RESUME("resume"),
RESUME_AUDIO("resumeaudio"),
ACTIVE_RECORDINGS("activerecordings"),
NEXT_UP("nextup"),
LIVE_TV("livetv");
public static HomeSectionType getByName(String name) {
for (HomeSectionType type : HomeSectionType.values()) {
if (type.name.equalsIgnoreCase(name)) return type;
}
return null;
}
public final String name;
HomeSectionType(String name) {
this.name = name;
}
}

View File

@@ -1,4 +1,4 @@
package org.jellyfin.androidtv.model.compat;
package org.jellyfin.androidtv.data.compat;
import java.util.ArrayList;
@@ -193,4 +193,4 @@ public class AudioOptions {
return null;
}
}
}

View File

@@ -1,4 +1,4 @@
package org.jellyfin.androidtv.model.compat;
package org.jellyfin.androidtv.data.compat;
import java.util.Comparator;

View File

@@ -1,4 +1,4 @@
package org.jellyfin.androidtv.model.compat;
package org.jellyfin.androidtv.data.compat;
import java.util.ArrayList;
import java.util.Comparator;

View File

@@ -1,4 +1,4 @@
package org.jellyfin.androidtv.model.compat;
package org.jellyfin.androidtv.data.compat;
/**
* Class DrawingUtils
@@ -7,52 +7,6 @@ package org.jellyfin.androidtv.model.compat;
*/
@Deprecated
public final class DrawingUtils {
/**
* Resizes a set of dimensions
*
* @param currentWidth Width of the current.
* @param currentHeight Height of the current.
* @param scaleFactor The scale factor.
* @return ImageSize.
*/
public static ImageSize Scale(double currentWidth, double currentHeight, double scaleFactor) {
ImageSize tempVar = new ImageSize();
tempVar.setWidth(currentWidth);
tempVar.setHeight(currentHeight);
return Scale(tempVar.clone(), scaleFactor);
}
/**
* Resizes a set of dimensions
*
* @param size The size.
* @param scaleFactor The scale factor.
* @return ImageSize.
*/
public static ImageSize Scale(ImageSize size, double scaleFactor) {
double newWidth = size.getWidth() * scaleFactor;
return Resize(size.getWidth(), size.getHeight(), newWidth, null, null, null);
}
/**
* Resizes a set of dimensions
*
* @param currentWidth Width of the current.
* @param currentHeight Height of the current.
* @param width The width.
* @param height The height.
* @param maxWidth A max fixed width, if desired
* @param maxHeight A max fixed height, if desired
* @return ImageSize.
*/
public static ImageSize Resize(double currentWidth, double currentHeight, Double width, Double height, Double maxWidth, Double maxHeight) {
ImageSize tempVar = new ImageSize();
tempVar.setWidth(currentWidth);
tempVar.setHeight(currentHeight);
return Resize(tempVar.clone(), width, height, maxWidth, maxHeight);
}
/**
* Resizes a set of dimensions
*
@@ -125,4 +79,4 @@ public final class DrawingUtils {
return scaleFactor;
}
}
}

View File

@@ -1,7 +1,9 @@
package org.jellyfin.androidtv.model.compat;
package org.jellyfin.androidtv.data.compat;
import org.jellyfin.androidtv.util.Utils;
import timber.log.Timber;
/**
* Struct ImageSize
*
@@ -41,7 +43,7 @@ public final class ImageSize {
}
public boolean equals(ImageSize size) {
return (new Double(getWidth())).equals(size.getWidth()) && (new Double(getHeight())).equals(size.getHeight());
return (Double.valueOf(getWidth())).equals(size.getWidth()) && (Double.valueOf(getHeight())).equals(size.getHeight());
}
@Override
@@ -73,7 +75,9 @@ public final class ImageSize {
try {
_width = Double.parseDouble(parts[0]);
_height = Double.parseDouble(parts[1]);
} catch (NumberFormatException ex) {}
} catch (NumberFormatException ex) {
Timber.e(ex, "Could not parse width and height");
}
}
}
}

View File

@@ -1,4 +1,4 @@
package org.jellyfin.androidtv.model.compat;
package org.jellyfin.androidtv.data.compat;
import org.jellyfin.apiclient.model.dlna.PlaybackErrorCode;
@@ -13,4 +13,4 @@ public class PlaybackException extends RuntimeException {
public final void setErrorCode(PlaybackErrorCode value) {
ErrorCode = value;
}
}
}

View File

@@ -1,10 +1,9 @@
package org.jellyfin.androidtv.model.compat;
package org.jellyfin.androidtv.data.compat;
import java.util.Arrays;
import org.jellyfin.androidtv.constants.CodecTypes;
import org.jellyfin.androidtv.constants.MediaTypes;
import org.jellyfin.androidtv.constant.CodecTypes;
import org.jellyfin.androidtv.constant.MediaTypes;
import org.jellyfin.androidtv.util.Utils;
import org.jellyfin.apiclient.logging.ILogger;
import org.jellyfin.apiclient.model.dlna.CodecProfile;
import org.jellyfin.apiclient.model.dlna.CodecType;
import org.jellyfin.apiclient.model.dlna.ConditionProcessor;
@@ -21,26 +20,22 @@ import org.jellyfin.apiclient.model.dto.MediaSourceInfo;
import org.jellyfin.apiclient.model.entities.MediaStream;
import org.jellyfin.apiclient.model.entities.MediaStreamType;
import org.jellyfin.apiclient.model.extensions.ListHelper;
import org.jellyfin.apiclient.model.logging.ILogger;
import org.jellyfin.apiclient.model.mediainfo.MediaProtocol;
import org.jellyfin.apiclient.model.mediainfo.TransportStreamTimestamp;
import org.jellyfin.apiclient.model.session.PlayMethod;
import java.util.Arrays;
import timber.log.Timber;
@Deprecated
public class StreamBuilder
{
private ILogger _logger;
private ITranscoderSupport _transcoderSupport;
public StreamBuilder(ITranscoderSupport transcoderSupport, ILogger logger)
{
_transcoderSupport = transcoderSupport;
_logger = logger;
}
public StreamBuilder(ILogger logger)
{
this(new FullTranscoderSupport(), logger);
_logger = logger;
}
public final StreamInfo BuildAudioItem(AudioOptions options)
@@ -216,12 +211,8 @@ public class StreamBuilder
{
if (i.getType() == playlistItem.getMediaType() && i.getContext() == options.getContext())
{
String tempVar2 = i.getAudioCodec();
if (_transcoderSupport.CanEncodeToAudioCodec((tempVar2 != null) ? tempVar2 : i.getContainer()))
{
transcodingProfile = i;
break;
}
transcodingProfile = i;
break;
}
}
@@ -354,7 +345,7 @@ public class StreamBuilder
{
String tempVar = options.getProfile().getName();
String tempVar2 = item.getPath();
_logger.Info("Profile: {0}, No direct play profiles found for Path: {1}", (tempVar != null) ? tempVar : "Unknown Profile", (tempVar2 != null) ? tempVar2 : "Unknown path");
_logger.info("Profile: {0}, No direct play profiles found for Path: {1}", (tempVar != null) ? tempVar : "Unknown Profile", (tempVar2 != null) ? tempVar2 : "Unknown path");
}
return playMethods;
@@ -434,7 +425,7 @@ public class StreamBuilder
String tempVar4 = options.getProfile().getName();
String tempVar5 = item.getPath();
_logger.Info("Profile: {0}, Path: {1}, isEligibleForDirectPlay: {2}, isEligibleForDirectStream: {3}", (tempVar4 != null) ? tempVar4 : "Unknown Profile", (tempVar5 != null) ? tempVar5 : "Unknown path", isEligibleForDirectPlay, isEligibleForDirectStream);
_logger.info("Profile: {0}, Path: {1}, isEligibleForDirectPlay: {2}, isEligibleForDirectStream: {3}", (tempVar4 != null) ? tempVar4 : "Unknown Profile", (tempVar5 != null) ? tempVar5 : "Unknown path", isEligibleForDirectPlay, isEligibleForDirectStream);
if (isEligibleForDirectPlay || isEligibleForDirectStream)
{
@@ -500,7 +491,9 @@ public class StreamBuilder
try {
int transcodingMaxAudioChannels = Integer.parseInt(transcodingProfile.getMaxAudioChannels());
playlistItem.setTranscodingMaxAudioChannels(transcodingMaxAudioChannels);
} catch (NumberFormatException ignored) {}
} catch (NumberFormatException e) {
Timber.e(e);
}
}
playlistItem.setSubProtocol(transcodingProfile.getProtocol());
playlistItem.setAudioStreamIndex(audioStreamIndex);
@@ -683,7 +676,7 @@ public class StreamBuilder
{
String tempVar = profile.getName();
String tempVar2 = mediaSource.getPath();
_logger.Info("Profile: {0}, Cannot direct stream with no known video stream. Path: {1}", (tempVar != null) ? tempVar : "Unknown Profile", (tempVar2 != null) ? tempVar2 : "Unknown path");
_logger.info("Profile: {0}, Cannot direct stream with no known video stream. Path: {1}", (tempVar != null) ? tempVar : "Unknown Profile", (tempVar2 != null) ? tempVar2 : "Unknown path");
return null;
}
@@ -703,7 +696,7 @@ public class StreamBuilder
{
String tempVar3 = profile.getName();
String tempVar4 = mediaSource.getPath();
_logger.Info("Profile: {0}, No direct play profiles found for Path: {1}", (tempVar3 != null) ? tempVar3 : "Unknown Profile", (tempVar4 != null) ? tempVar4 : "Unknown path");
_logger.info("Profile: {0}, No direct play profiles found for Path: {1}", (tempVar3 != null) ? tempVar3 : "Unknown Profile", (tempVar4 != null) ? tempVar4 : "Unknown path");
return null;
}
@@ -764,7 +757,7 @@ public class StreamBuilder
{
String tempVar6 = profile.getName();
String tempVar7 = mediaSource.getPath();
_logger.Info("Profile: {0}, DirectPlay=false. Reason=Unknown video codec. Path: {1}", (tempVar6 != null) ? tempVar6 : "Unknown Profile", (tempVar7 != null) ? tempVar7 : "Unknown path");
_logger.info("Profile: {0}, DirectPlay=false. Reason=Unknown video codec. Path: {1}", (tempVar6 != null) ? tempVar6 : "Unknown Profile", (tempVar7 != null) ? tempVar7 : "Unknown path");
return null;
}
@@ -813,7 +806,7 @@ public class StreamBuilder
{
String tempVar8 = profile.getName();
String tempVar9 = mediaSource.getPath();
_logger.Info("Profile: {0}, DirectPlay=false. Reason=Unknown audio codec. Path: {1}", (tempVar8 != null) ? tempVar8 : "Unknown Profile", (tempVar9 != null) ? tempVar9 : "Unknown path");
_logger.info("Profile: {0}, DirectPlay=false. Reason=Unknown audio codec. Path: {1}", (tempVar8 != null) ? tempVar8 : "Unknown Profile", (tempVar9 != null) ? tempVar9 : "Unknown path");
return null;
}
@@ -870,7 +863,7 @@ public class StreamBuilder
String tempVar = profile.getName();
String tempVar2 = condition.getValue();
String tempVar3 = mediaSource.getPath();
_logger.Info("Profile: {0}, DirectPlay=false. Reason={1}.{2} Condition: {3}. ConditionValue: {4}. IsRequired: {5}. Path: {6}", type, (tempVar != null) ? tempVar : "Unknown Profile", condition.getProperty(), condition.getCondition(), (tempVar2 != null) ? tempVar2 : "", condition.getIsRequired(), (tempVar3 != null) ? tempVar3 : "Unknown path");
_logger.info("Profile: {0}, DirectPlay=false. Reason={1}.{2} Condition: {3}. ConditionValue: {4}. IsRequired: {5}. Path: {6}", type, (tempVar != null) ? tempVar : "Unknown Profile", condition.getProperty(), condition.getCondition(), (tempVar2 != null) ? tempVar2 : "", condition.getIsRequired(), (tempVar3 != null) ? tempVar3 : "Unknown path");
}
private boolean IsEligibleForDirectPlay(MediaSourceInfo item, Integer maxBitrate, MediaStream subtitleStream, VideoOptions options, PlayMethod playMethod)
@@ -881,7 +874,7 @@ public class StreamBuilder
if (subtitleProfile.getMethod() != SubtitleDeliveryMethod.External && subtitleProfile.getMethod() != SubtitleDeliveryMethod.Embed)
{
_logger.Info("Not eligible for {0} due to unsupported subtitles", playMethod);
_logger.info("Not eligible for {0} due to unsupported subtitles", playMethod);
return false;
}
}
@@ -969,19 +962,19 @@ public class StreamBuilder
{
if (maxBitrate == null)
{
_logger.Info("Cannot direct play due to unknown supported bitrate");
_logger.info("Cannot direct play due to unknown supported bitrate");
return false;
}
if (item.getBitrate() == null)
{
_logger.Info("Cannot direct play due to unknown content bitrate");
_logger.info("Cannot direct play due to unknown content bitrate");
return false;
}
if (item.getBitrate() > maxBitrate)
{
_logger.Info("Bitrate exceeds DirectPlay limit");
_logger.info("Bitrate exceeds DirectPlay limit");
return false;
}
@@ -1047,7 +1040,9 @@ public class StreamBuilder
try {
int num = Integer.parseInt(value);
item.setAudioBitrate(num);
} catch (NumberFormatException ignored) {}
} catch (NumberFormatException e) {
Timber.e(e);
}
break;
}
case AudioChannels:
@@ -1055,7 +1050,9 @@ public class StreamBuilder
try {
int num = Integer.parseInt(value);
item.setMaxAudioChannels(num);
} catch (NumberFormatException ignored) {}
} catch (NumberFormatException e) {
Timber.e(e);
}
break;
}
case IsAnamorphic:
@@ -1075,7 +1072,9 @@ public class StreamBuilder
try {
int num = Integer.parseInt(value);
item.setMaxRefFrames(num);
} catch (NumberFormatException ignored) {}
} catch (NumberFormatException e) {
Timber.e(e);
}
break;
}
case VideoBitDepth:
@@ -1083,7 +1082,9 @@ public class StreamBuilder
try {
int num = Integer.parseInt(value);
item.setMaxVideoBitDepth(num);
} catch (NumberFormatException ignored) {}
} catch (NumberFormatException e) {
Timber.e(e);
}
break;
}
case VideoProfile:
@@ -1096,7 +1097,9 @@ public class StreamBuilder
try {
int num = Integer.parseInt(value);
item.setMaxHeight(num);
} catch (NumberFormatException ignored) {}
} catch (NumberFormatException e) {
Timber.e(e);
}
break;
}
case VideoBitrate:
@@ -1104,7 +1107,9 @@ public class StreamBuilder
try {
int num = Integer.parseInt(value);
item.setVideoBitrate(num);
} catch (NumberFormatException ignored) {}
} catch (NumberFormatException e) {
Timber.e(e);
}
break;
}
case VideoFramerate:
@@ -1112,7 +1117,9 @@ public class StreamBuilder
try {
float num = Float.parseFloat(value);
item.setMaxFramerate(num);
} catch (NumberFormatException ignored) {}
} catch (NumberFormatException e) {
Timber.e(e);
}
break;
}
case VideoLevel:
@@ -1120,7 +1127,9 @@ public class StreamBuilder
try {
int num = Integer.parseInt(value);
item.setVideoLevel(num);
} catch (NumberFormatException ignored) {}
} catch (NumberFormatException e) {
Timber.e(e);
}
break;
}
case Width:
@@ -1128,7 +1137,9 @@ public class StreamBuilder
try {
int num = Integer.parseInt(value);
item.setMaxWidth(num);
} catch (NumberFormatException ignored) {}
} catch (NumberFormatException e) {
Timber.e(e);
}
break;
}
}
@@ -1219,4 +1230,4 @@ public class StreamBuilder
return true;
}
}
}

View File

@@ -1,7 +1,7 @@
package org.jellyfin.androidtv.model.compat;
package org.jellyfin.androidtv.data.compat;
import org.jellyfin.androidtv.constants.ContainerTypes;
import org.jellyfin.androidtv.constants.MediaTypes;
import org.jellyfin.androidtv.constant.ContainerTypes;
import org.jellyfin.androidtv.constant.MediaTypes;
import org.jellyfin.androidtv.util.Utils;
import java.util.ArrayList;
@@ -922,4 +922,4 @@ public class StreamInfo {
return list;
}
}
}

View File

@@ -1,4 +1,4 @@
package org.jellyfin.androidtv.model.compat;
package org.jellyfin.androidtv.data.compat;
import java.util.ArrayList;
import java.util.Collections;
@@ -17,4 +17,4 @@ public class StreamInfoSorter
Collections.sort(streams, comparator);
return streams;
}
}
}

View File

@@ -1,4 +1,4 @@
package org.jellyfin.androidtv.model.compat;
package org.jellyfin.androidtv.data.compat;
import org.jellyfin.apiclient.model.mediainfo.MediaProtocol;
import org.jellyfin.apiclient.model.session.PlayMethod;
@@ -44,4 +44,4 @@ public class StreamInfoSorterComparator extends BaseStreamInfoSorter {
throw new IllegalArgumentException("Unrecognized level");
}
}
}

View File

@@ -1,4 +1,4 @@
package org.jellyfin.androidtv.model.compat;
package org.jellyfin.androidtv.data.compat;
import org.jellyfin.apiclient.model.dlna.SubtitleDeliveryMethod;
@@ -93,4 +93,4 @@ public class SubtitleStreamInfo {
public final void setIsExternalUrl(boolean value) {
IsExternalUrl = value;
}
}
}

View File

@@ -1,4 +1,4 @@
package org.jellyfin.androidtv.model.compat;
package org.jellyfin.androidtv.data.compat;
/**
* Class VideoOptions.
@@ -25,4 +25,4 @@ public class VideoOptions extends AudioOptions {
public final void setSubtitleStreamIndex(Integer value) {
SubtitleStreamIndex = value;
}
}
}

View File

@@ -1,20 +1,25 @@
package org.jellyfin.androidtv.eventhandling;
package org.jellyfin.androidtv.data.eventhandling;
import static org.koin.java.KoinJavaComponent.get;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.os.Handler;
import android.widget.Toast;
import org.jellyfin.androidtv.R;
import org.jellyfin.androidtv.TvApp;
import org.jellyfin.androidtv.itemhandling.BaseRowItem;
import org.jellyfin.androidtv.itemhandling.ItemLauncher;
import org.jellyfin.androidtv.playback.MediaManager;
import org.jellyfin.androidtv.querying.StdItemQuery;
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 java.util.Arrays;
import java.util.Calendar;
import org.jellyfin.apiclient.interaction.ApiClient;
import org.jellyfin.apiclient.interaction.ApiEventListener;
import org.jellyfin.apiclient.interaction.Response;
@@ -23,29 +28,37 @@ 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.GeneralCommand;
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;
/**
* Created by Eric on 2/14/2015.
*/
import java.util.Arrays;
import timber.log.Timber;
public class TvApiEventListener extends ApiEventListener {
private final DataRefreshService dataRefreshService;
private final MediaManager mediaManager;
public TvApiEventListener(DataRefreshService dataRefreshService, MediaManager mediaManager) {
this.dataRefreshService = dataRefreshService;
this.mediaManager = mediaManager;
}
@Override
public void onPlaybackStopped(ApiClient client, SessionInfoDto info) {
TvApp app = TvApp.getApplication();
app.getLogger().Debug("Got Playback stopped message from server");
Timber.d("Got Playback stopped message from server");
if (info.getUserId().equals(app.getCurrentUser().getId())) {
app.setLastPlayback(Calendar.getInstance());
dataRefreshService.setLastPlayback(System.currentTimeMillis());
if (info.getNowPlayingItem() == null) return;
switch (info.getNowPlayingItem().getType()) {
case "Movie":
TvApp.getApplication().setLastMoviePlayback(Calendar.getInstance());
dataRefreshService.setLastMoviePlayback(System.currentTimeMillis());
break;
case "Episode":
TvApp.getApplication().setLastTvPlayback(Calendar.getInstance());
dataRefreshService.setLastTvPlayback(System.currentTimeMillis());
break;
}
@@ -54,63 +67,74 @@ public class TvApiEventListener extends ApiEventListener {
@Override
public void onLibraryChanged(ApiClient client, LibraryUpdateInfo info) {
TvApp.getApplication().getLogger().Debug("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) TvApp.getApplication().setLastLibraryChange(Calendar.getInstance());
}
@Override
public void onGeneralCommand(ApiClient client, GeneralCommand command) {
TvApp.getApplication().getLogger().Info("General command is: "+command.getName());
switch (command.getName().toLowerCase()) {
case "mute":
TvApp.getApplication().setAudioMuted(true);
break;
case "unmute":
TvApp.getApplication().setAudioMuted(false);
break;
case "togglemute":
TvApp.getApplication().setAudioMuted(!TvApp.getApplication().isAudioMuted());
break;
}
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) {
switch (command.getCommand()) {
PlaybackController playbackController = TvApp.getApplication().getPlaybackController();
switch (command.getCommand()) {
case Stop:
TvApp.getApplication().stopPlayback();
if (mediaManager.isPlayingAudio())
mediaManager.stopAudio();
else {
Activity currentActivity = TvApp.getApplication().getCurrentActivity();
if(currentActivity instanceof PlaybackOverlayActivity)
currentActivity.finish();
}
break;
case Pause:
TvApp.getApplication().pausePlayback();
if (mediaManager.isPlayingAudio())
mediaManager.pauseAudio();
else if(playbackController != null)
playbackController.playPause();
break;
case Unpause:
TvApp.getApplication().unPausePlayback();
if (mediaManager.hasAudioQueueItems())
mediaManager.resumeAudio();
else if(playbackController != null)
playbackController.playPause();
break;
case NextTrack:
TvApp.getApplication().playbackNext();
if (mediaManager.hasAudioQueueItems())
mediaManager.nextAudioItem();
else if(playbackController != null)
playbackController.next();
break;
case PreviousTrack:
TvApp.getApplication().playbackPrev();
if (mediaManager.hasAudioQueueItems())
mediaManager.prevAudioItem();
else if(playbackController != null)
playbackController.prev();
break;
case Seek:
Long pos = command.getSeekPositionTicks() / 10000;
TvApp.getApplication().playbackSeek(pos.intValue());
if (playbackController == null) break;
long pos = command.getSeekPositionTicks() / 10000;
playbackController.seek(pos);
break;
case Rewind:
TvApp.getApplication().playbackJumpBack();
if (playbackController == null) break;
playbackController.skip(-11000);
break;
case FastForward:
TvApp.getApplication().playbackJump();
if (playbackController == null) break;
playbackController.skip(30000);
break;
}
}
@Override
public void onBrowseCommand(ApiClient client, BrowseRequest command) {
TvApp.getApplication().getLogger().Debug("Browse command received");
Timber.d("Browse command received");
if (TvApp.getApplication().getCurrentActivity() == null || videoPlaying()) {
TvApp.getApplication().getLogger().Info("Command ignored due to no activity or playback in progress");
Timber.i("Command ignored due to no activity or playback in progress");
return;
}
client.GetItemAsync(command.getItemId(), TvApp.getApplication().getCurrentUser().getId(), new Response<BaseItemDto>() {
@@ -139,26 +163,33 @@ public class TvApiEventListener extends ApiEventListener {
}
if (command.getItemIds().length > 1) {
TvApp.getApplication().getLogger().Info("Playing multiple items by remote request");
Timber.i("Playing multiple items by remote request");
if (TvApp.getApplication().getCurrentActivity() == null) {
TvApp.getApplication().getLogger().Error("No current activity. Cannot play");
Timber.e("No current activity. Cannot play");
return;
}
StdItemQuery query = new StdItemQuery(new ItemFields[] {ItemFields.MediaSources});
StdItemQuery query = new StdItemQuery(new ItemFields[]{
ItemFields.MediaSources,
ItemFields.ChildCount
});
query.setIds(command.getItemIds());
TvApp.getApplication().getApiClient().GetItemsAsync(query, new Response<ItemsResult>() {
get(ApiClient.class).GetItemsAsync(query, new Response<ItemsResult>() {
@Override
public void onResponse(ItemsResult response) {
if (response.getItems() != null && response.getItems().length > 0) {
PlaybackLauncher 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":
MediaManager.setCurrentVideoQueue(Arrays.asList(response.getItems()));
Intent intent = new Intent(TvApp.getApplication().getCurrentActivity(), TvApp.getApplication().getPlaybackActivityClass(response.getItems()[0].getBaseItemType()));
Class activity = get(PlaybackLauncher.class).getPlaybackActivityClass(response.getItems()[0].getBaseItemType());
mediaManager.setCurrentVideoQueue(Arrays.asList(response.getItems()));
Intent intent = new Intent(TvApp.getApplication().getCurrentActivity(), activity);
TvApp.getApplication().getCurrentActivity().startActivity(intent);
break;
case "Audio":
MediaManager.playNow(Arrays.asList(response.getItems()));
mediaManager.playNow(Arrays.asList(response.getItems()));
break;
}
@@ -168,10 +199,15 @@ public class TvApiEventListener extends ApiEventListener {
} else {
if (command.getItemIds().length > 0) {
TvApp.getApplication().getLogger().Info("Playing single item by remote request");
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() != null ? command.getStartPositionTicks() : 0, 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

@@ -1,10 +1,7 @@
package org.jellyfin.androidtv.model;
package org.jellyfin.androidtv.data.model;
import org.jellyfin.apiclient.model.entities.ChapterInfo;
/**
* Created by Eric on 2/12/2015.
*/
public class ChapterItemInfo extends ChapterInfo {
private String itemId;

View File

@@ -0,0 +1,12 @@
package org.jellyfin.androidtv.data.model
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
}

View File

@@ -1,13 +1,11 @@
package org.jellyfin.androidtv.details;
import org.jellyfin.androidtv.TvApp;
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;
/**
* Created by Eric on 3/23/2015.
*/
import timber.log.Timber;
public class DetailItemLoadResponse extends Response<BaseItemDto> {
private FullDetailsActivity activity;
@@ -22,6 +20,6 @@ public class DetailItemLoadResponse extends Response<BaseItemDto> {
@Override
public void onError(Exception exception) {
TvApp.getApplication().getLogger().ErrorException("Error retrieving full object", exception);
Timber.e(exception, "Error retrieving full object");
}
}

View File

@@ -1,4 +1,4 @@
package org.jellyfin.androidtv.model;
package org.jellyfin.androidtv.data.model;
import java.util.ArrayList;
import java.util.List;

View File

@@ -1,10 +1,7 @@
package org.jellyfin.androidtv.model;
package org.jellyfin.androidtv.data.model;
import android.view.View;
/**
* Created by Eric on 12/5/2015.
*/
public class GotFocusEvent {
public void gotFocus(View v) {}
}

View File

@@ -1,15 +1,11 @@
package org.jellyfin.androidtv.model;
/**
* Created by spam on 9/29/2016.
*/
package org.jellyfin.androidtv.data.model;
public class InfoItem {
private String label;
private String value;
public InfoItem() {
this("","");
this("", "");
}
public InfoItem(String label, String value) {

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