Commit graph

464 commits

Author SHA1 Message Date
Jarne Demeulemeester
001f377570
Bump versionCode to 10 and versionName to 0.5.0 2022-07-10 17:01:22 +02:00
Jarne Demeulemeester
6c852c938f
Update some strings 2022-07-10 16:58:54 +02:00
Jarne Demeulemeester
fded5aa4b3
Remove some unused files 2022-07-09 16:21:11 +02:00
Jarne Demeulemeester
6bb784b2fe
Add error handling to device name updating
This fixes a crash
2022-07-09 13:57:25 +02:00
Jarne Demeulemeester
f46010eba2
Upgrade jellyfin-sdk to 1.3.1
jellyfin 1.3.0 -> 1.3.1

Minimum Jellyfin server 10.8.0 -> 10.8.1
2022-07-06 10:20:20 +02:00
Jarne Demeulemeester
e6add5d47c
Fix mpv crash 2022-07-05 09:08:30 +02:00
Jarne Demeulemeester
f400571e04
Customize the seeking increments (#128)
* Add the ability to customize the seeking increments

* Fix number keyboard image cache size

* Clean up fragment_settings_player.xml
2022-07-05 09:06:26 +02:00
Jarne Demeulemeester
22012873a0
Switch to new MenuProvider api 2022-07-03 15:21:29 +02:00
Jarne Demeulemeester
8e4c8d1f13
Use repeatOnLifecycle api in MainActivity 2022-07-03 14:57:46 +02:00
Jarne Demeulemeester
2b2041c569
Disable the connect and login buttons when the app is connecting / logging in 2022-07-03 14:29:23 +02:00
Jarne Demeulemeester
78458d661a
Upgrade dependencies
lifecycle 2.4.1 -> 2.5.0
navigation 2.4.2 -> 2.5.0
aboutlibraries 10.3.0 -> 10.3.1
2022-07-03 14:12:29 +02:00
Jarne Demeulemeester
bcdada538d
Upgrade ExoPlayer to 2.18 (#126)
* Upgrade ExoPlayer to 2.18

* Change the position polling from every 2 to every 5 sec

* Make internalMediaItems non-nullable

* Clean up mpv track names

* Reduce explayer ffmpeg extension size by not including all decoders

Removed decoders vorbis, opus, flac, pcm_mulaw, pcm_alaw, mp3, aac because these are already supported by Android.

* Clean up preferredLanguage preferences
2022-07-03 14:02:32 +02:00
Jarne Demeulemeester
6f0d5a13a8
Add support for external subtitles (#118)
* Add support for external subtitles in exoplayer

* Enable ASS/SSA external subtitles

* Enable VTT external subtitles

* Clean up

* Fix srt and vtt

Jellyfin currently converts vtt to srt without changing the codec tag. This makes the player unable to decode the subs because it thinks the file is vtt while in fact it is srt.

* Fix for vtt subs

Jellyfin return a srt stream when it should return a vtt stream
2022-07-02 17:00:00 +02:00
newton181
7dacb6e40d Translated using Weblate (Spanish (Mexico))
Currently translated at 100.0% (126 of 126 strings)

Translation: Findroid/Android
Translate-URL: https://weblate.jdtech.dev/projects/findroid/android/es_MX/
2022-06-30 21:07:08 +02:00
newton181
80084e523b Translated using Weblate (Spanish (Latin America))
Currently translated at 100.0% (126 of 126 strings)

Translation: Findroid/Android
Translate-URL: https://weblate.jdtech.dev/projects/findroid/android/es_419/
2022-06-30 21:07:08 +02:00
WaspEma
348253f0a7 Translated using Weblate (Italian)
Currently translated at 56.3% (71 of 126 strings)

Translation: Findroid/Android
Translate-URL: https://weblate.jdtech.dev/projects/findroid/android/it/
2022-06-29 13:07:08 +02:00
WaspEma
ca81f99eca Added translation using Weblate (Italian) 2022-06-28 05:24:08 +02:00
DaFray31
fc9ec57254 Translated using Weblate (French)
Currently translated at 100.0% (126 of 126 strings)

Translation: Findroid/Android
Translate-URL: https://weblate.jdtech.dev/projects/findroid/android/fr/
2022-06-27 10:02:35 +02:00
cesarblancg
ce434cfa32 Translated using Weblate (Spanish)
Currently translated at 100.0% (126 of 126 strings)

Translation: Findroid/Android
Translate-URL: https://weblate.jdtech.dev/projects/findroid/android/es/
2022-06-23 00:02:33 +02:00
Jarne Demeulemeester
38ca762d1d
ProGuard keep DownloadSeriesMetadata 2022-06-20 21:30:24 +02:00
Jarne Demeulemeester
16c2cd634d
Add paging support to LibraryFragment (#124)
* Add paging support to the LibraryFragment

* Fix error handling
2022-06-17 15:16:29 +02:00
Larvitar
82b235d3ae Translated using Weblate (Polish)
Currently translated at 100.0% (126 of 126 strings)

Translation: Findroid/Android
Translate-URL: https://weblate.jdtech.dev/projects/findroid/android/pl/
2022-06-15 10:57:35 +02:00
OxO
d1ca438e34 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (126 of 126 strings)

Translation: Findroid/Android
Translate-URL: https://weblate.jdtech.dev/projects/findroid/android/zh_Hans/
2022-06-15 10:57:35 +02:00
Jarne Demeulemeester
2a7a1488e7
Fix wrong translation 2022-06-12 14:09:44 +02:00
Jarne Demeulemeester
7467f89f82
Clean up some code 2022-06-11 21:51:30 +02:00
Jarne Demeulemeester
8c039a3c81
Upgrade to jellyfin-sdk 1.3.0 (#122)
Uses BaseItemKind to specify the item type
2022-06-11 21:39:08 +02:00
Jarne Demeulemeester
d1dcf9b343
Upgrade dependencies
kotlin 1.6.21 -> 1.7.0
core 1.7.0 -> 1.8.0
appcompat 1.4.1 -> 1.4.2
material 1.6.0 -> 1.6.1
aboutlibraries 10.2.0 -> 10.3.0
2022-06-11 14:29:19 +02:00
Jarne Demeulemeester
7cdc74d2e7
Split gesture option into volume & brightness and zoom (#121) 2022-06-11 13:45:26 +02:00
Jcuhfehl
c1740c1b68
Display downloaded episodes by series (#80)
* Display downloaded episodes by series

* Add offline playback to readme

* Remove accidentally commited changes

* Remove duplicate movie section in downloadviewmodel

* Fix issues with merging upstream

* Notify on download completion

* Fix trash icon color

* Update DownloadSeriesFragment to use new UiState system

* Clean up unused code

Co-authored-by: Jarne Demeulemeester <jarnedemeulemeester@gmail.com>
2022-06-11 13:35:52 +02:00
Sayykii
795917d9d1 Translated using Weblate (Bulgarian)
Currently translated at 82.9% (102 of 123 strings)

Translation: Findroid/Android
Translate-URL: https://weblate.jdtech.dev/projects/findroid/android/bg/
2022-06-08 17:57:34 +02:00
Fülöp Tibor
f20fab4e86 Translated using Weblate (Hungarian)
Currently translated at 100.0% (123 of 123 strings)

Translation: Findroid/Android
Translate-URL: https://weblate.jdtech.dev/projects/findroid/android/hu/
2022-06-08 17:57:34 +02:00
Jarne Demeulemeester
751ee75c3e
Provide better error messages with stacktrace (#119)
* Provide better error messages with stacktrace

+ clean up
+ fix error details popup in MediaInfoFragment

* Simplify exception passing by sending complete exception to the dialog

* Use viewLifecycleOwner with repeatOnLifecycle
2022-06-06 14:41:37 +02:00
Sayykii
741083da40 Added translation using Weblate (Bulgarian) 2022-06-06 13:41:05 +02:00
Fülöp Tibor
8980742bc4 Added translation using Weblate (Hungarian) 2022-06-06 13:34:04 +02:00
Jarne Demeulemeester
a28fbce908
Upgrade androidx splashscreen and constraintlayout
splashscreen 1.0.0-beta02 -> 1.0.0-rc01
constraintlayout 2.1.3 -> 2.1.4
2022-05-21 18:11:45 +02:00
Jarne Demeulemeester
62c3dff843
Upgrade aboutlibraries to 10.2.0 2022-05-14 15:51:48 +02:00
Skratymir
bb41372204 Translated using Weblate (German)
Currently translated at 100.0% (123 of 123 strings)

Translation: Findroid/Android
Translate-URL: https://weblate.jdtech.dev/projects/findroid/android/de/
2022-05-10 16:49:24 +02:00
Jarne Demeulemeester
60e28067d8
Upgrade Android Gradle Plugin and Hilt
agp 7.1.3 -> 7.2.0
hilt 2.41 -> 2.42
2022-05-10 10:30:29 +02:00
Jarne Demeulemeester
b50b7b985f
Upgrade ExoPlayer to 2.17.1 (#116)
* Upgrade ExoPlayer to 2.17.1

* Upgrade ExoPlayer FFmpeg extension to 2.17.1

* Revert subtitle and audio track buttons changes

* Clean up layout files and code

* Clean up activity_player.xml

* Fix warnings about exo drawables overrides
2022-05-09 21:22:59 +02:00
Optinux
f26cf2cf1a Translated using Weblate (German)
Currently translated at 100.0% (123 of 123 strings)

Translation: Findroid/Android
Translate-URL: https://weblate.jdtech.dev/projects/findroid/android/de/
2022-05-09 16:28:36 +02:00
Cypral
127cd7b944 Translated using Weblate (French)
Currently translated at 100.0% (123 of 123 strings)

Translation: Findroid/Android
Translate-URL: https://weblate.jdtech.dev/projects/findroid/android/fr/
2022-05-08 07:46:52 +02:00
Cypral
f81c9b1514 Translated using Weblate (French)
Currently translated at 82.9% (102 of 123 strings)

Translation: Findroid/Android
Translate-URL: https://weblate.jdtech.dev/projects/findroid/android/fr/
2022-05-08 07:17:02 +02:00
Cypral
3f9c6747c0 Added translation using Weblate (French) 2022-05-08 03:00:20 +02:00
Jarne Demeulemeester
dc695d20d0
Upgrade dependencies
material 1.5.0 -> 1.6.0
jellyfin 1.1.2 -> 1.2.0
glide 4.13.1 -> 4.13.2
2022-05-06 08:36:45 +02:00
Jarne Demeulemeester
a785d6d3f8
Upgrade ExoPlayer to 2.16.1 (#115)
* Upgrade ExoPlayer to 2.26.1 and fix mpv player

* Re-enable ffmpeg extension
2022-05-02 21:44:22 +02:00
Larvitar
0b0bdab9d3 Translated using Weblate (Polish)
Currently translated at 100.0% (123 of 123 strings)

Translation: Findroid/Android
Translate-URL: https://weblate.jdtech.dev/projects/findroid/android/pl/
2022-04-30 00:01:22 +02:00
Larvitar
4d4cc5f60a Added translation using Weblate (Polish) 2022-04-30 00:01:22 +02:00
Jarne Demeulemeester
c6385caf0f
Fix trailing slash in baseUrl not loading images (#114) 2022-04-29 23:49:41 +02:00
Kuma
84bb1ac073 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (123 of 123 strings)

Translation: Findroid/Android
Translate-URL: https://weblate.jdtech.dev/projects/findroid/android/zh_Hans/
2022-04-26 20:42:38 +02:00
Jarne Demeulemeester
fa2f93ca8a
Simplify track name creation 2022-04-26 18:47:57 +02:00
Kuma
33da38de57 Added translation using Weblate (Chinese (Simplified)) 2022-04-25 19:51:23 +02:00
Márcio Medeiros
a57c450ecc Translated using Weblate (Portuguese (Brazil))
Currently translated at 74.7% (92 of 123 strings)

Translation: Findroid/Android
Translate-URL: https://weblate.jdtech.dev/projects/findroid/android/pt_BR/
2022-04-25 07:42:38 +02:00
Skratymir
d6f455d137 Translated using Weblate (German)
Currently translated at 59.3% (73 of 123 strings)

Translation: Findroid/Android
Translate-URL: https://weblate.jdtech.dev/projects/findroid/android/de/
2022-04-25 07:42:38 +02:00
roand0617
acff42af42 Translated using Weblate (Spanish)
Currently translated at 100.0% (123 of 123 strings)

Translation: Findroid/Android
Translate-URL: https://weblate.jdtech.dev/projects/findroid/android/es/
2022-04-25 07:42:38 +02:00
mau671
f3ba6d6e0b Translated using Weblate (Spanish (Mexico))
Currently translated at 100.0% (123 of 123 strings)

Translation: Findroid/Android
Translate-URL: https://weblate.jdtech.dev/projects/findroid/android/es_MX/
2022-04-25 07:42:38 +02:00
mau671
8dec5455f6 Translated using Weblate (Spanish (Latin America))
Currently translated at 100.0% (123 of 123 strings)

Translation: Findroid/Android
Translate-URL: https://weblate.jdtech.dev/projects/findroid/android/es_419/
2022-04-25 07:42:38 +02:00
Márcio Medeiros
563f0951e3 Added translation using Weblate (Portuguese (Brazil)) 2022-04-23 20:19:55 +02:00
Skratymir
5a18ec7527 Added translation using Weblate (German) 2022-04-23 19:59:12 +02:00
NIK679
92e4b8eafc
Add option to disable subtitle in mpv (#110)
* add empty subtitle track

* toggle selected variable

* does this work

* Revert "toggle selected variable"

This reverts commit 87589f1d34e741205674e66855b53d79a1f70adb.

* this should work

* this should work 2.0

* remove empty track if there are no subtitle tracks
2022-04-23 19:46:06 +02:00
Jarne Demeulemeester
2f808750f6 Translated using Weblate (Dutch)
Currently translated at 4.8% (6 of 123 strings)

Translation: Findroid/Android
Translate-URL: https://weblate.jdtech.dev/projects/findroid/android/nl/
2022-04-23 15:39:54 +02:00
Jarne Demeulemeester
45934cf044 Added translation using Weblate (Dutch) 2022-04-23 15:27:59 +02:00
newton181
0799fd44ba
Update new strings for spanish (#107)
* Update new strings

Refactored to match with default string file, minor fiexs and new strings translated.

* Use normal string items instead of string-arrays

Co-authored-by: Jarne Demeulemeester <jarnedemeulemeester@gmail.com>
2022-04-23 12:17:18 +02:00
Jarne Demeulemeester
43e523625b
Move string-arrays to different file (#111)
Weblate cannot translate string-arrays
2022-04-23 12:10:14 +02:00
Jarne Demeulemeester
904637c80d
Bump versionCode to 9 and versionName to 0.4.0 2022-04-11 20:49:59 +02:00
Jarne Demeulemeester
c8b6848e28
Don't display production year when it is null 2022-04-11 20:37:29 +02:00
Jarne Demeulemeester
3f83d07636
Use colorOnPrimary for spinners in buttons 2022-04-11 11:31:55 +02:00
Jarne Demeulemeester
50e4931676
Upgrade mpv 0.34.0 -> 0.34.1
& other dependencies.
Also enable vorbis audio codec & avi container
2022-04-11 00:43:35 +02:00
Jarne Demeulemeester
6d000882ea
Make extension functions setTintColor and setTintColorAttribute 2022-04-10 14:38:28 +02:00
Jarne Demeulemeester
16f904ae65
Upgrade dependencies
gradle 7.4.1 -> 7.4.2
android gradle plugin 7.1.2 -> 7.1.3
navigation 2.4.1 -> 2.4.2
aboutLibraries 10.0.1 -> 10.1.0
2022-04-09 21:17:20 +02:00
Jarne Demeulemeester
0d25a79793
Merge pull request #91 from jarnedemeulemeester/material3
Upgrade to Material 3
2022-04-09 20:57:42 +02:00
Jarne Demeulemeester
287ed64236
Fix spinner color in play button 2022-04-09 20:50:47 +02:00
Jarne Demeulemeester
d36ec1eb62
Fix played and favorite button changing color 2022-04-09 20:46:07 +02:00
Jarne Demeulemeester
e965dd3bff
Rework the light and dark themes 2022-04-09 19:19:15 +02:00
Jarne Demeulemeester
faeff374c8
Fix shadow clipping in season header 2022-04-09 18:39:38 +02:00
Jarne Demeulemeester
1d3cc319b5
Remove API 31 specific themes
Dynamic colors will come in a later update.
This was a bad way to implement them.
2022-04-09 16:35:00 +02:00
Jarne Demeulemeester
0333cc7a56
Use more colors from theme instead of hardcoded 2022-04-09 16:33:19 +02:00
Jarne Demeulemeester
6bbb786430
Fix some hardcoded colors, make them use color attributes 2022-04-09 16:07:34 +02:00
Jarne Demeulemeester
64d053de4c
Switch from Toolbar to MaterialToolbar 2022-04-09 16:05:00 +02:00
Jarne Demeulemeester
35bdda0487
Merge pull request #104 from jarnedemeulemeester/extra_settings
Extra settings
2022-04-07 20:43:46 +02:00
Jarne Demeulemeester
cae72bfa26
Remove more unnecessary icon files 2022-03-29 13:44:14 +02:00
Jarne Demeulemeester
642b870254
Remove legacy icons 2022-03-29 13:34:31 +02:00
Jarne Demeulemeester
5e5567bf26
Fix ProGuard not keeping SettingsFragments 2022-03-29 13:17:12 +02:00
Jarne Demeulemeester
cce2513c7e
Enable image caching by default and set size to 20MB 2022-03-29 13:01:47 +02:00
Jarne Demeulemeester
a7e63eb1bb
Add options to disable player gestures and remember screen brightness 2022-03-28 14:07:31 +02:00
Jarne Demeulemeester
e1319683ae
Upgrade dependencies
gradle 7.4 -> 7.4.1
splashscreen 1.0.0-beta01 -> 1.0.0-beta02
aboutLibraries 10.0.0 -> 10.0.1
2022-03-28 10:34:43 +02:00
Jarne Demeulemeester
c941326742
Fix episode bottom sheet error when premiereDate is null 2022-03-15 17:26:18 +01:00
Jarne Demeulemeester
92af281b7b
Update typography to Material 3 2022-03-12 16:27:39 +01:00
Jarne Demeulemeester
939a14abfe
Merge branch 'main' into material3 2022-03-12 15:35:43 +01:00
Jarne Demeulemeester
964659af01
Remove coreLibraryDesugaring and testing dependencies
Testing dependencies may be added again later when we finally start writing some tests.
2022-03-12 15:31:57 +01:00
Jarne Demeulemeester
2e1e02cb07
Upgrade AboutLibraries 8.9.4 -> 10.0.0 2022-03-12 15:10:29 +01:00
ThetaDev
8830813474
Add option to turn off subtitles (#100) 2022-03-06 12:28:20 +01:00
Jarne Demeulemeester
3af6fc3ce2
Upgrade dependencies
Android Gradle plugin 7.1.1 -> 7.1.2
hilt 2.40.5 -> 2.41
room 2.4.1 -> 2.4.2
glide 4.13.0 -> 4.13.1
2022-02-26 17:49:40 +01:00
Jarne Demeulemeester
4b47d3b8de
Target SDK 32, up minimum to 26 (#97)
minSdk 24 -> 26
targetSdk 31 -> 32
compileSdk 31 -> 32
2022-02-26 16:06:47 +01:00
Jarne Demeulemeester
ebdb00f311
Redesign settings to two pane layout (#90)
* Redesign settings to two pane layout

* Add downloads settings

* Suppress unused settings fragments warnings

* Fix download icon in other places

Also removes the filled download drawable
2022-02-19 17:33:58 +01:00
Michael Arkhangelskiy
786e4d21a0
Add switch to toggle downloads over mobile network (#85)
* Added switch to toggle downloads over mobile network

* Add roaming and mobile data functions
2022-02-19 14:58:46 +01:00
Jarne Demeulemeester
4f61d0bac4
Initial changes to Material 3 2022-02-13 14:46:31 +01:00
Jarne Demeulemeester
1ddfe0bebe
Upgrade dependencies
Android Gradle plugin 7.1.0 -> 7.1.1
lifecycle 2.4.0 -> 2.4.1
navigation 2.4.0 -> 2.4.1
glide 4.12.0 -> 4.13.0
2022-02-12 18:00:47 +01:00
NIK679
3f37318c05
Add option to display extended episode title (SXX:EXX - Title) in player (#78)
* Add option to display extended episode title (SXX:EXX - Title) in player

* ocd fix

* add null check condition

* Move setting to player category

Yeah this would fit in either Appearance or Player. But I lean more towards Player.

Co-authored-by: Jarne Demeulemeester <jarnedemeulemeester@gmail.com>
2022-02-12 17:15:05 +01:00
maulik9898
f2b090d09b
Playlist support for MPV player (#77) 2022-02-12 16:58:52 +01:00
NIK679
1afeb54802
EpisodeBottomSheetFragment expanded by default (#76) 2022-02-12 16:19:24 +01:00
Jarne Demeulemeester
da3aaac5b3
Bump versionCode to 8 and versionName to 0.3.2 2022-01-30 20:30:47 +01:00
Jarne Demeulemeester
99a10446d5
Fix nullable 2022-01-30 20:30:02 +01:00
Jarne Demeulemeester
e518822222
Enable AVI demuxer in mpv 2022-01-30 19:58:52 +01:00
Jarne Demeulemeester
4e293faf13
Fix bottom navigation using multiple back stacks 2022-01-30 19:46:03 +01:00
Jarne Demeulemeester
fa236d369d
Upgrade dependencies
buildTools 31.0.0 -> 32.0.0
material 1.4.0 -> 1.5.0
navigation 2.3.5 -> 2.4.0
room 2.4.0 -> 2.4.1
2022-01-30 18:46:45 +01:00
Jarne Demeulemeester
3a41ba6882
Add missing check for canDownload in episode bottom sheet
Fix #75
2022-01-22 10:38:44 +01:00
Jarne Demeulemeester
117205c74e
Bump versionCode to 7 and versionName to 0.3.1 2022-01-21 18:33:37 +01:00
Jarne Demeulemeester
93d6eb9b17
Fix delete button sometimes not visible 2022-01-21 18:28:06 +01:00
Jarne Demeulemeester
42199ecaf5
Upgrade dependencies
core-splashscreen 1.0.0-alpha02 -> 1.0.0-beta01
appcompat 1.4.0 -> 1.4.1
constraintlayout 2.1.2 -> 2.1.3
2022-01-21 18:01:07 +01:00
Jarne Demeulemeester
dca9902e10
Only show download button when user is allow to download
Fix #75
2022-01-21 17:39:28 +01:00
Jarne Demeulemeester
4b2dd6c672
Save downloads metadata to database (#81)
* Change downloads from metadata files to room database (WIP)

* Disable download progress

* Add file available check + clean up
2022-01-21 17:34:50 +01:00
Jarne Demeulemeester
b9e5c3b9ba
Fix person placeholder drawable 2022-01-08 18:24:59 +01:00
maulik9898
7d9857d3ce
Improve player gestures and add pinch to zoom (#74)
* implemented pan/panStop on a GestureListener to detect the entry location and exclude top status bar area.

* remember last brightness set for players [ Exoplayer , MPV]

* Pinch to zoom and auto rotate feature for Exoplayer

* Only save the brightness when the overlay disappears instead of on every scroll

Also clean up some files

* removed unnecessary configChanges from Manifest

Co-authored-by: Jarne Demeulemeester <jarnedemeulemeester@gmail.com>
2022-01-08 18:04:28 +01:00
Jarne Demeulemeester
6f2c9945b5
Reduce the size of libmpv by disabling a lot of decoders and other components 2022-01-01 23:51:44 +01:00
Jarne Demeulemeester
7f1a3f6f90
Move unsupportedCollections to CollectionType 2022-01-01 21:45:57 +01:00
Jarne Demeulemeester
9a4f846023
Clean up JellyfinRepositoryImpl 2022-01-01 18:43:54 +01:00
Jarne Demeulemeester
8e3c4a3a37
Add error handling to played and favorite buttons 2022-01-01 17:57:49 +01:00
Jarne Demeulemeester
e9aca103d8
Simplify HomeItem diff checking with ids 2022-01-01 17:45:56 +01:00
Jarne Demeulemeester
26fc2b23d7
Upgrade jellyfin to 1.1.2 2021-12-31 17:30:53 +01:00
Jarne Demeulemeester
1e9ddd1173
Clean up 2021-12-28 18:26:43 +01:00
Jarne Demeulemeester
293e71fc27 Bump versionCode to 6 and versionName to 0.3.0 2021-12-22 18:44:42 +01:00
Jarne Demeulemeester
a021e60d08
Make the app name non translatable 2021-12-22 18:20:26 +01:00
Jarne Demeulemeester
0b1d245fdd Add x86 and x86_64 versions of mpv 2021-12-21 09:47:12 +01:00
Jarne Demeulemeester
50ae884554 Upgrade mpv to 0.34 2021-12-20 21:48:18 +01:00
Jarne Demeulemeester
0fad2e64a1
Make loading indicators linear at the top 2021-12-19 16:18:56 +01:00
Jarne Demeulemeester
6522c6afac
Add loading indicator to MediaInfoFragment 2021-12-19 16:08:30 +01:00
Jarne Demeulemeester
92fb734780
Upgrade libraries
- android build tools
- hilt
- androidx room
2021-12-19 15:59:50 +01:00
Jarne Demeulemeester
c645ee3b81
New UI state system (#71)
* Convert MediaFragment to use new UiState

* Convert PersonDetailFragment to use new UiState

* Load PersonDetail data on start

* Convert FavoriteFragment to use new UiState

* Convert SeasonFragment to use new UiState

* Convert SearchResultFragment to use new UiState

* Convert EpisodeBottomSheetFragment to use new UiState (WIP)

* Convert EpisodeBottomSheetFragment to use new UiState (Part 2)

* Convert LibraryFragment to use new UiState

* Convert DownloadFragment to use new UiState

* Convert HomeFragment to use new UiState

* Convert MediaInfoFragment to use new UiState (WIP)

* Convert MediaInfoViewModel to use new UiState (Part 2)

* Convert ServerSelectViewModel to use new UiState (Semi)

* Fix MediaInfoFragment for downloaded movies
2021-12-19 15:35:36 +01:00
jarnedemeulemeester
00dbe8198e
Fix itemBackdropById image 2021-11-27 21:55:31 +01:00
jarnedemeulemeester
cf6d4245e9
Upgrade libraries 2021-11-27 21:50:44 +01:00
jarnedemeulemeester
94391765e7
Move ic_download_filled to main project 2021-11-27 21:41:52 +01:00
jarnedemeulemeester
ee9dedd7b7
Use view binding instead of data binding for AddServerFragment and LoginFragment 2021-11-27 18:56:55 +01:00
lsrom
94b3790560
Add image caching (#65)
* Add caching to settings with ability to choose cache size

* Remove unused parameter from Api

* Add glide module for cache setup

* Clean up image handling in adapters

* Move caching to it's own category

Co-authored-by: Jarne Demeulemeester <32322857+jarnedemeulemeester@users.noreply.github.com>
2021-11-27 18:46:08 +01:00
Jcuhfehl
e259c405bb
Add brightness swipe controls (#69)
* Add brightness swipe control

* Add background to the overlays

Co-authored-by: Jarne Demeulemeester <32322857+jarnedemeulemeester@users.noreply.github.com>
2021-11-27 16:03:17 +01:00
Jcuhfehl
598c11f299
Improve offline playback (#68)
* Fix download playback tracking bug

* Remove unused permission

* Add overview text to downloadmetadata

* Add visual indicator of whether item is downloaded

* Use downloaded item when available

* Fix "null" overview text in download metadata

* Fix crash when playing downloaded file with mpv

* Clean up

Co-authored-by: jarnedemeulemeester <jarnedemeulemeester@gmail.com>
2021-11-27 12:18:41 +01:00
lsrom
8c5d0bebf0
Add strm support (#66)
Co-authored-by: Jarne Demeulemeester <32322857+jarnedemeulemeester@users.noreply.github.com>
2021-11-16 19:44:49 +01:00
lsrom
d7a47b0a3e
Add refresh (#59)
* Add refresh to home fragment

* Remove forgotten code

* Remove unnecessary condition and fix HomeSection equality check

* Make HomeFragment fragment view model again

* Add order dependent check for home items equality

* Fix loading state overwriting error state on home refresh

* Revert to older swiperefreshlayout version

* Fixing error and loading state

Co-authored-by: Jarne Demeulemeester <32322857+jarnedemeulemeester@users.noreply.github.com>
2021-11-14 18:44:33 +01:00
Jarne Demeulemeester
98cb038c24
Server setup improvements (#67)
* Improve AddServer fragment

* Improve login fragment

With other general improvements

* Resize the addserver and login fragments when the soft keyboard appears

* Upgrade androidx.core to 1.7.0 and add lifecycle deps

* New UI state system for AddServerFragment

This uses StateFlow for the state and SharedFlow for navigation

* Remove public flows and use collector functions

* Update Login ViewModel and Fragment

* Speed up server discovery

* Better login error message
2021-11-14 18:20:19 +01:00
jarnedemeulemeester
44d0a34539
Upgrade androidx.core to 1.7.0 and add lifecycle deps 2021-11-08 23:24:34 +01:00
jarnedemeulemeester
fcc8273034
Fix tv checkServer 2021-10-31 16:35:10 +01:00
lsrom
f711d21f6a
Fix add server strings (#62)
* Add strings for errors when adding server

* Use add_server_error_version string instead of version

Co-authored-by: Jarne Demeulemeester <32322857+jarnedemeulemeester@users.noreply.github.com>
2021-10-31 16:09:39 +01:00
lsrom
8c90031165
Add customizable device name (#61)
* Add ability to name your device

* Update device name real time

* Remove unnecessary deviceInfo and apiClientFactory

Co-authored-by: Jarne Demeulemeester <32322857+jarnedemeulemeester@users.noreply.github.com>
2021-10-31 11:43:02 +01:00
lsrom
d0673bc82b
Add missing string to default and CZ localization (#60)
Co-authored-by: Jarne Demeulemeester <32322857+jarnedemeulemeester@users.noreply.github.com>
2021-10-30 21:14:56 +02:00
lsrom
07a9e2a853
Add basic tv support (#58)
* Add basic leanback support

* Add TV home fragment

Adds basic media browsing screen for TV. Shows Home screen media.

* Fix double emit when loading user views

* Fix bug when going back to this screen would duplicate menu items

* Add basic media detail fragment

* Add ability to navigate to detail fragment

* Fix imports and null safe calls

* Fix displaying of home item view type media files

* Playback refactor

* Add basic Tv player controls and split PlayerActivity

* Update strings

* Add progress bar to partially played items on TV home screen

* Track selection dialog PoC

* Update track selection WIP

* Show track selection of focus change

* Fix series display from home

* Minor updates

* Add back button to media detail

* Zero effort add server and login

* Fix colors

* Fix back button from home going back to init fragment

* Add settings button to home screen

* Fix crash after goig back from media detail fragment

* Show seasons and cast

* Merge branch 'develop' into add_basic_tv_support

# Conflicts:
#	app/src/main/java/dev/jdtech/jellyfin/MainActivity.kt
#	app/src/main/java/dev/jdtech/jellyfin/dialogs/VideoVersionDialogFragment.kt
#	app/src/main/res/navigation/app_navigation.xml

* Fix cast title being shown with empty cast list

* Remove useless method

* Remove unused parameter

* Fix crash due to colorOnPrimary not existing in Leanback styles

* Remove unused theme

* Fix home to addserver fragment navigation

* Reuse home item layouts

This creates some duplicate code which will probably be cleaned up later

* Ignore more MissingDefaultResource

* Add banner

Co-authored-by: Jarne Demeulemeester <32322857+jarnedemeulemeester@users.noreply.github.com>
2021-10-30 19:46:51 +02:00
Jcuhfehl
532e9adac1
Add offline playback (#51)
* Add offline playback

* Remove unused values

* Replace downloadutilities extension functions with normal functions

This is to not polute the namespace of fragment and context.

* Replace default Android icons with those from lucide

* Fix deleting downloaded movie

Co-authored-by: Jarne Demeulemeester <32322857+jarnedemeulemeester@users.noreply.github.com>
2021-10-29 21:11:01 +02:00
lsrom
308d97068f
Refactor playback code (#55)
* Refactor playback code

* Fix back state when playing media and rotating device

Problem was playerItems were re-emitted on fragment creation after config change. LiveData by design emit on every subscribe (observe) so to avoid that there are several possibilities.

1) easiest, observe playerItems not in onCreate but in playButton.clickListener. Stupid, since then we need to remember to only observe in this special place.

2) SingleLiveData - kind of hacky since LiveData were designed to behave this way so we don't want to go against their design.

3) Use Kotlin flow instead.

I chose the flow approach since it's Kotlin native and modern way to do things and behaves much more Rx-like. Since now we need to call collect instead of observe and launch in coroutine, I added utility method to make this easier. Also, in the future we might want to improve this further, either by coming up with new way entirely or by at least moving this to parent fragment from which all fragments that want to play media will inherit and thus making it easy to use and maintain.

Co-authored-by: Jarne Demeulemeester <32322857+jarnedemeulemeester@users.noreply.github.com>
2021-10-26 18:11:22 +02:00
lsrom
28014eaadf
Add Czech localization (#50)
* Remove unused string

* Add czech localization

Co-authored-by: Jarne Demeulemeester <32322857+jarnedemeulemeester@users.noreply.github.com>
2021-10-24 18:11:19 +02:00
lsrom
b0b7d7f5b5
Add ability to swipe up and down to adjust volume (#48)
* Add ability to swipe up and down to adjust volume

Created AudioController to adjust global volume for media channel. Alarm, system and other volume levels are unaffected. This way it doesn't need specific implementation for separate players. During swiping system volume slider is shown and it is possible to change direction mid-swipe.

AudioController should probably be singleton and provided by DI but currently PlayerActivity is handling all the playback so it seemed unnecessarily complicated.

Sensitivity can be adjusted by threshold value in VerticalSwipeListener.

* Add audio controller class

Co-authored-by: Jarne Demeulemeester <32322857+jarnedemeulemeester@users.noreply.github.com>
2021-10-24 18:07:08 +02:00
lsrom
62d09b3566
Add person detail screen (#47)
* Add person detail screen

Displays actor/actresses portrait and text info + list of movies/show this person starred in. Text info is max 5 lines with View More button if ellipsized. View More toggle is reset upon orientation change since in landscape mode ellipsize might not be necessary.

* Remove useless StarredInAdapter.kt

* Fix image view shape

* Improve UI

Not exactly how I would like it but will do for now

* Add error handling

Adds a lot of LiveData which may not be ideal, but is better than crashing due to connection errors.

Co-authored-by: jarnedemeulemeester <jarnedemeulemeester@gmail.com>
2021-10-24 17:45:59 +02:00
Jarne Demeulemeester
e9e849d9e4
Update dependencies and improve server discovery 2021-10-23 17:39:46 +02:00