Commit graph

246 commits

Author SHA1 Message Date
Paul Woitaschek
e7299febd1
Handle audio focus (#198) 2022-11-19 22:52:37 +01:00
Jarne Demeulemeester
e914ee61f1
Set correct preference when switching server 2022-11-19 22:30:52 +01:00
Jarne Demeulemeester
471697b4ae
Fix user detection query 2022-11-19 22:30:22 +01:00
Jarne Demeulemeester
ebcd2a898d
Fix tv server_select_fragment and users_fragment 2022-11-19 22:29:39 +01:00
Jarne Demeulemeester
aeabb620ee
Multi-user support (#199)
* Add multiple users per server

* Remove unnecessary longClickListener

* Check if user is selected on startup

* Still create JellyfinApi even if no user is selected

* Already fill in the username when needing to re-login
2022-11-19 21:18:50 +01:00
Jarne Demeulemeester
5895b2c8d8
Add network settings (#192)
* Add new network settings with socket timeout option

* Add socketTimeout to AppPreferences

* Format with ktlint

* Add request timeout and connect timeout as options
2022-11-05 23:59:44 +01:00
Jarne Demeulemeester
2c4fb8d7fe
Upgrade libmpv
Fix #160, #176
2022-11-04 23:55:57 +01:00
Jarne Demeulemeester
0bd1bb30c8
Fix app crash on ErrorDialogFragment.kt configuration change 2022-11-02 11:25:33 +01:00
Jarne Demeulemeester
d3b4fe6ea3
Servers database v2 (#177)
* New server db schema

Adds support for multiple addresses and users per server

* Fix crash when the only available server is deleted and app is restarted

* Set serverId as foreign key in User and ServerAddress

* Format using ktlint

* Bump ServerDatabase version to 2
2022-11-01 21:15:42 +01:00
Jarne Demeulemeester
ad5e722d44
Introduce klint (#186)
* Add ktlint plugin

* Make code ktlint compliant

* Make code ktlint compliant
2022-10-29 21:17:48 +02:00
Jcuhfehl
45ccea57af
Improve downloads management (#179)
* Fix deleted downloads

This commit fixes downloads getting deleted after a few weeks by android's cleanup system. This is fixed by downloading the files under the .download extension and renaming them when the download is completed.

* Add retry download feature

* Add indicator when download is ongoing

* Refactor download code

* Disable button on retry and clean up

Co-authored-by: Jarne Demeulemeester <jarnedemeulemeester@gmail.com>
2022-10-29 15:08:43 +02:00
Jarne Demeulemeester
77de164538
Make headers in search and favorite fragments translatable 2022-10-15 00:22:15 +02:00
Jarne Demeulemeester
9e4c160265
Fix zoom gesture accidentally triggering swipe to seek 2022-10-01 23:13:43 +02:00
Jarne Demeulemeester
e40543c0f7
Add series name to episode sheet with navigation (#173)
Also limit the episode name to 3 lines
2022-09-25 23:58:50 +02:00
Yusuf
86ea79b0b4
Fix mpv subtitles cut off when zoomed in (#166)
* Fix MPV subtitles zoom in

Closes #162
Some .ass subtitles will still be broken due to their forced stylings unless stripped.

* Move everything in a single if statement

Co-authored-by: Jarne Demeulemeester <jarnedemeulemeester@gmail.com>
2022-09-25 15:40:01 +02:00
Jarne Demeulemeester
39f3bd2656
Clean up 2022-09-11 16:42:52 +02:00
Jarne Demeulemeester
0e3b42d8d1
[TV] Set correct navigation start destination (#161)
* [TV] Fix not loading to the addServerFragment on first launch

* Don't query the database when startDestination has already changed
2022-09-10 17:56:43 +02:00
Jarne Demeulemeester
385f097beb
Fix crash when setting empty image cache size or seek increments 2022-09-08 13:29:26 +02:00
Jarne Demeulemeester
b9874db1e1
Fix mpv external subtitles (#155)
* Fix external subtitles + new libmpv build

* Fix unable to go back to 1x speed
2022-08-30 23:41:55 +02:00
Jarne Demeulemeester
6ed2f2ff7b
Fix player crashing when no PlayerItems are passed 2022-08-30 10:13:02 +02:00
Jarne Demeulemeester
0399ac0bdb
Fix crash using swiping gesture if video is not loaded yet 2022-08-30 09:38:01 +02:00
Jarne Demeulemeester
09189e4f85
Add subtitles settings button to player settings (#153) 2022-08-28 11:48:41 +02:00
Jarne Demeulemeester
08ca3ef860
Fix only showing 1 discovered server 2022-08-27 19:31:04 +02:00
Jarne Demeulemeester
9ce2950ea1
Fix mpv subfont.ttf not loading (#147) 2022-08-23 20:16:45 +02:00
Jarne Demeulemeester
c19350fa36
Small layout improvements (#145)
* Remove unused code

* Ellipsize primary and secondary name in home_episode_item

* Fix play icon color
2022-08-22 23:56:03 +02:00
Yusuf
a5189eb4fa
Fix "pinch to zoom" for MPV (#144)
Closes #22
2022-08-22 19:08:35 +02:00
Jarne Demeulemeester
9813ff3ed7
Fix navigation reset on configuration change
For example when rotating
2022-08-21 22:01:38 +02:00
Jarne Demeulemeester
8f117ccacb
Disable input elements in LoginFragment and AddServerFragment when loading
Fix a bug when adding a server keeps loading
Fix "Invalid username or password" error message
2022-08-21 16:59:33 +02:00
Jarne Demeulemeester
7b85df6e69
Display discovered servers on AddServerFragment (#143) 2022-08-21 16:45:57 +02:00
Jarne Demeulemeester
5d2409c93e
Display public users on login fragment (#142)
* Add public users to login fragment

* Display user image and hide recyclerview if no public users
2022-08-21 14:22:07 +02:00
Jarne Demeulemeester
3b7473b7a5
Bring Android TV back (#141)
* Merge MainActivity and MainActivityTv

* Merge AddServerFragment and TvAddServerFragment

* Merge LoginFragment and TvLoginFragment

* Add new focus effect

* Add libraries to tv home

* Fix home empty when navigating back on mobile

* Add loading indicator to home fragment

* Add empty LibraryFragment

* Add focus outline to settings button

* Use DiffCallback for updating home fragment

* Visually upgrade MediaDetailFragment

* Make all home items focusable in touch mode

* Add new focus border to person item

* Add LibraryFragment layout for TV

(Whilst also making a clusterfuck of the navigation)

* Add missing try-catch in HomeViewModel

* Don't show CancellationException on AddServerFragment

* Fix a few crashes plus errors
2022-08-20 14:41:38 +02:00
Jarne Demeulemeester
5eb101323b
Enable Material You Dynamic colors (#138) 2022-08-03 09:21:01 +02:00
Yusuf
53d1720ad0
Allow seeking video by swiping or tapping (#132)
* Allow seeking in players by tapping

* Allow seeking in players by swiping horizontally

* Small cleanup

Co-authored-by: Jarne Demeulemeester <jarnedemeulemeester@gmail.com>
2022-07-29 18:48:47 +02:00
Jarne Demeulemeester
cc0ab920fd
Move servers check to Activity (#136)
Remove MainViewModel
Change startDestination when no servers are found
2022-07-25 13:44:15 +02:00
Jarne Demeulemeester
8552f0c469
Refactor the lifecycle state (#135) 2022-07-25 12:57:09 +02:00
Jarne Demeulemeester
ec6366508b
Layout improvements for larger screens (#134)
* Use NavigationRail on tablets

Width 600dp+

* Add next up item next to the description on tablets

Width 600dp+

* Add tv banners for debug and staging

* Clean up tv add server fragment

* Clean up tv login fragment
2022-07-22 16:29:25 +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
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
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
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
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
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
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