Commit graph

66 commits

Author SHA1 Message Date
Jarne Demeulemeester
76121925d7
Modularize the codebase (#230)
* Split app into core and app:phone

* Use global versionCode and versionName

* Clean up gradle dependencies

* Use string formatting inside getString function

* Move proguard file to app:phone

* Move app_navigation and BasePlayerActivity to app:phone

* Add buildTypes to core gradle and remove buildFeatures

* Add suffix core to core namespace

* Split code into 4 more modules: data, preferences, player:core and player:video

* Clean up some gradle files

* Clean up data gradle

* Remove duplicate Constants.kt

* Use AppPreferences in more places

* Split off strings

* Remove unused animations

* Make about_libraries strings non-translatable

* Move mpv assets to player:video module

* Make AppPreferences a Singleton
2023-01-13 23:51:20 +01:00
renovate[bot]
fa5d73faa3
Update dependency org.jellyfin.sdk:jellyfin-core to v1.4.0 (#215)
* Update dependency org.jellyfin.sdk:jellyfin-core to v1.4.0

* Remove ACCESS_WIFI_STATE permission

* Fix adding server

* Remove server already added error

Add the address if server already exists in database but the address doesn't

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jarne Demeulemeester <jarnedemeulemeester@gmail.com>
2022-12-10 21:24:11 +01:00
Jarne Demeulemeester
6572d7e85b
Multiple server addresses (#208)
* Add multiple addresses per server

* Clean up

* Change icon to globe

* Fix AddServerAddressDialog crashing on tv

* Fix navigation to main activity on tv

* Hide nav bar in UsersFragment and ServerAddressesFragment

* Add hint for server address
2022-12-03 20:53:14 +01:00
Jarne Demeulemeester
6e9adca9d6
More mpv options (#205)
* Add mpv options: hwdec, hwdec-codecs, vo, gpu-api

* Add audio output option

* Use AppPreferences in companion object to set the vo

* Remove unused strings

* Use strings for mpv prefs

* Change default ao to audiotrack

* Clean up preferred language settings
2022-11-25 21:50:20 +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
77de164538
Make headers in search and favorite fragments translatable 2022-10-15 00:22:15 +02:00
Jarne Demeulemeester
6bf3efed77
Make theme settings translatable 2022-10-03 23:51:07 +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
09189e4f85
Add subtitles settings button to player settings (#153) 2022-08-28 11:48:41 +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
Jarne Demeulemeester
6c852c938f
Update some strings 2022-07-10 16:58:54 +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
7cdc74d2e7
Split gesture option into volume & brightness and zoom (#121) 2022-06-11 13:45:26 +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
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
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
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
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
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
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
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
69503f504d
Remove hardcoded strings from dialogs 2021-10-23 13:35:37 +02:00
jarnedemeulemeester
aa1ef5ca5b
Add sorting options to library (collection) 2021-10-23 11:29:22 +02:00
newton181
e991fab24e
Enhace translations and add new key for search hint (#45)
* Make search hint translatable

* Add new key in string file for search hint

* Enhace and update spanish translations
2021-10-20 20:05:37 +02:00
jarnedemeulemeester
19e33c6404
Move some strings to strings.xml 2021-09-19 11:53:36 +02:00
jarnedemeulemeester
19ab3f85db
Fix underlined "View details" string 2021-08-23 12:28:57 +02:00
jarnedemeulemeester
a067b6b13d
New error panel with details dialog 2021-08-22 18:47:25 +02:00
jarnedemeulemeester
f2ce030856
View detailed error message for playerItemsError 2021-08-22 11:47:25 +02:00
jarnedemeulemeester
6ab22428d8 Switch to AboutLibraries for licenses screen 2021-08-21 15:33:23 +02:00
jarnedemeulemeester
33bede159f
Add privacy policy in app 2021-08-16 12:09:20 +02:00
jarnedemeulemeester
1f8e6cd71f
Rename app to Findroid with updated logo 2021-08-15 17:07:39 +02:00
jarnedemeulemeester
80ff96a5b4
Add open source licenses and app version to settings fragment 2021-08-10 17:26:02 +02:00
jarnedemeulemeester
06b9e145cd
Change "Switch server" to "Manage servers" 2021-08-09 18:50:59 +02:00
jarnedemeulemeester
d67e3fb39c
Add error handling to preparePlayerItems 2021-08-08 12:42:15 +02:00
jarnedemeulemeester
fd351f5088
Allow overriding theme 2021-08-04 12:29:51 +02:00
jarnedemeulemeester
8aa36cdd6e
Rework complete navigation 2021-08-03 19:04:03 +02:00
jarnedemeulemeester
d77243950b
Remove some unused files and strings 2021-08-03 11:01:02 +02:00
jarnedemeulemeester
2ed507a278
Add search 2021-08-03 11:00:19 +02:00
jarnedemeulemeester
c0ab909114
Add favorites fragment + switch settings for favorites on bottom nav 2021-07-30 22:22:50 +02:00
Jarne Demeulemeester
53f478c6cf
Select preferred audio and subtitle language 2021-07-17 17:18:37 +02:00
Jarne Demeulemeester
f460c25a92
Big cleanup and refactoring 2021-07-05 22:38:20 +02:00
Jarne Demeulemeester
ee61738d69
Add Continue Watching section to HomeFragment 2021-06-30 15:36:47 +02:00