Commit graph

43 commits

Author SHA1 Message Date
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
0bd1bb30c8
Fix app crash on ErrorDialogFragment.kt configuration change 2022-11-02 11:25:33 +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
39f3bd2656
Clean up 2022-09-11 16:42:52 +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
0399ac0bdb
Fix crash using swiping gesture if video is not loaded yet 2022-08-30 09:38:01 +02:00
Yusuf
a5189eb4fa
Fix "pinch to zoom" for MPV (#144)
Closes #22
2022-08-22 19:08:35 +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
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
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
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
Jarne Demeulemeester
6d000882ea
Make extension functions setTintColor and setTintColorAttribute 2022-04-10 14:38:28 +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
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
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
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
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
1e9ddd1173
Clean up 2021-12-28 18:26:43 +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
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
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
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
jarnedemeulemeester
aa1ef5ca5b
Add sorting options to library (collection) 2021-10-23 11:29:22 +02:00
jarnedemeulemeester
1c6c8640b0
Ask for login if server responds with 401 2021-08-24 18:01:52 +02:00
jarnedemeulemeester
45fc40b51e
Fix if media items are in folders 2021-08-23 11:14:34 +02:00
jarnedemeulemeester
6ab22428d8 Switch to AboutLibraries for licenses screen 2021-08-21 15:33:23 +02:00
jarnedemeulemeester
80ff96a5b4
Add open source licenses and app version to settings fragment 2021-08-10 17:26:02 +02:00
Jarne Demeulemeester
21067bd7d0
Move extension function to separate file 2021-07-18 16:41:55 +02:00