* 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
* Migrate to media3
* Update docs
* Move display_extended_title to AppPreferences
* Move display_extended_title to AppPreferences p2
* Add MediaSession support to the player
* Fix mpv player
* Disable animations on tv player controls and rename the tv_control_view file
* New media3 decoder ffmpeg
* 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
* 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
* Add new network settings with socket timeout option
* Add socketTimeout to AppPreferences
* Format with ktlint
* Add request timeout and connect timeout as options
* 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>