* 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
* 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
* 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
* 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
* 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
* 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>
* 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>