Commit Graph
100 Commits
Author SHA1 Message Date
Maxr1998 cbc870b8c9 WIP 2021-03-22 22:04:13 +01:00
Maxr1998 de30d5f8db Update testing dependencies 2021-02-16 23:26:30 +01:00
Maxr1998 b6f706d13b Update ModernAndroidPreferences 2021-02-16 23:26:30 +01:00
Maxr1998 41ce8e7379 Add Maven Central repository 2021-02-16 23:26:30 +01:00
Maxr1998 7df65f533d Update Gradle to 6.8.2 2021-02-16 23:26:30 +01:00
Maxr1998 c852f4a702 Reformat code according to tweaked config 2021-02-16 21:48:36 +01:00
Maxr1998 96f318294f Tweak .editorconfig
Enforce Kotlin official code style, forbid star imports, set loose but common max line length, add visual guides
2021-02-16 21:48:36 +01:00
Maxr1998 5e96a5e719 Fix possible crashes in Chromecast code 2021-02-16 17:38:42 +01:00
Maxr1998 995806400e Fix MediaService crashing without Play Services 2021-02-16 17:38:42 +01:00
Maxr1998 0aaf9c8380 Show bitrate in playback info 2021-02-11 21:39:30 +01:00
Maxr1998 32b3101089 Fix apiclient crashes due to network loss 2021-02-11 21:39:30 +01:00
Maxr1998 aea90bffb5 Improve subtitle handling
- Hide subtitle button when none are available
- Show subtitle selection with different drawables
- Allow to quickly toggle subtitles when only one subtitle track exists
2021-02-11 21:39:30 +01:00
Maxr1998 dc73f31049 Use outlined drawable style for actions 2021-02-11 21:39:30 +01:00
Maxr1998 5403c881e0 Improve fullscreen handling for portrait videos 2021-02-11 21:39:30 +01:00
Maxr1998 59bf72e2ff Set PiP aspect ratio to match video 2021-02-11 21:39:30 +01:00
Maxr1998 c001ef100b Provide dimensions and aspect ratio for video tracks 2021-02-11 21:39:30 +01:00
Maxr1998 72f533dd03 Add helpers to obtain currently selected tracks 2021-02-11 21:39:30 +01:00
Maxr1998 dde2c3031c Improve audio track selection
- Verify audio track indices to prevent possible crashes
- Refactor if/else blocks into when construct for better readability
- Add some documentation
2021-02-07 21:30:02 +01:00
Maxr1998 07e4a2525d Fix potential NPE in native player 2021-02-07 21:30:02 +01:00
Max Rumpf 0d516f46db Fix crash caused by fragment transaction on background thread (#296) 2021-02-07 17:09:47 +01:00
Max Rumpf 3f8ccd1535 Translated using Weblate (Punjabi)
Currently translated at 100.0% (68 of 68 strings)

Translation: Jellyfin/Jellyfin Android
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-android/pa/
2021-02-07 10:57:51 -05:00
Max Rumpf 4d64cc38f6 Translated using Weblate (Spanish (Argentina))
Currently translated at 100.0% (68 of 68 strings)

Translation: Jellyfin/Jellyfin Android
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-android/es_AR/
2021-02-07 10:57:51 -05:00
Maxr1998 a02ca6ceae Drop support for 10.6 2021-01-19 18:35:06 +01:00
Max Rumpf 7d6bec3e01 Merge pull request #287 from nielsvanvelzen/cast-fixes
Miscellaneous casting fixes
2021-01-19 10:40:03 +01:00
Maxr1998 d5ca91db8c Add support for AV1
(only available on Android 10+)
2020-12-18 14:57:49 +01:00
Max Rumpf eea7ca2291 Don't unnecessarily set statusBarColor in native player (#273) 2020-12-13 18:17:13 +01:00
Max Rumpf d9bd90cca6 Fix background color in web player (#272) 2020-12-13 18:02:58 +01:00
Max Rumpf f2fd8fbeea Refactor brightness handling, reset brightness when leaving player (#271) 2020-12-13 17:52:29 +01:00
Max Rumpf 122448fadf Refactor and split up extensions (#270) 2020-12-13 15:43:46 +01:00
Max Rumpf 5146df10cd Fix JS injection breaking on page reloads in 10.7 (#261)
Instead of only injecting when the main.bundle.js is requested, it attempts to inject for every *.bundle.js that is requested, and ensures one-time execution by setting a flag in window.
2020-12-06 15:36:55 +01:00
Max Rumpf 8dd3293630 Fix webapp function calls (#259) 2020-12-04 19:31:00 +01:00
Max Rumpf ad736406fa Translated using Weblate (Italian)
Currently translated at 95.5% (65 of 68 strings)

Translation: Jellyfin/Jellyfin Android
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-android/it/
2020-11-24 07:40:35 -05:00
Max Rumpf f9854a42fe Include cast extension in proprietary flavor only (#250) 2020-11-22 16:21:00 +01:00
Maxr1998 590c79c757 Only change server location when different
Prevents possible race conditions/crashes when using Android Auto simultaneously to the web client, caused by the server location change invalidating login credentials.
2020-11-19 18:33:44 +01:00
Max Rumpf 30d3a32438 Translated using Weblate (German)
Currently translated at 100.0% (68 of 68 strings)

Translation: Jellyfin/Jellyfin Android
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-android/de/
2020-11-17 06:47:44 -05:00
Max Rumpf 611e2622fa Translated using Weblate (German)
Currently translated at 85.2% (58 of 68 strings)

Translation: Jellyfin/Jellyfin Android
Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-android/de/
2020-11-17 05:36:47 -05:00
Maxr1998 eabc6cc9f8 Fix crash when inserting existing server and improve DAOs 2020-11-16 23:02:29 +01:00
Maxr1998 b1f2f6c185 Improve and rework MediaService & Android Auto integration
Moves library browser code into extra class and package, as it will only be used for Android Auto.
The loader function was split into multiple subfunctions and cleaned up.
The format of 'parentIds' was improved, unexpected behaviour with queue selection fixed.
Shuffling was temporarily removed and will be handled differently in the future.
Also introduces preliminaries for casting and Android 11 seamless transfer, this isn't fully enabled yet however -
it seems there are still some changes necessary within the AndroidX libraries.

Uses code from the android/uamp reference media player project: https://github.com/android/uamp
2020-11-15 22:04:12 +01:00
Maxr1998 9c2e871d35 Remove unused constants 2020-11-02 23:11:30 +01:00
Maxr1998 eff741c597 Migrate server and user info to database 2020-11-02 20:46:45 +01:00
Max Rumpf b2d7ec7ff5 Dependency updates (#220)
* Update Coroutines

* Update AndroidX libraries

* Update ExoPlayer and Cast libraries

* Update networking libraries

* Update preferences library

* Update testing libraries

* Update dependency updates plugin
2020-10-31 11:25:23 +01:00
Max Rumpf 7351e01bde Merge pull request #213 from jorritsmit/reduce_gesture_detection_area
Do not detect gestures in top of screen
2020-10-30 19:16:34 +01:00
Maxr1998 3eef06765e Add RedScreenOfDeath for easy stacktraces 2020-10-30 02:51:42 +01:00
Maxr1998 bb15acd642 Enable logging in release builds 2020-10-29 22:45:42 +01:00
Maxr1998 cc93e2db99 Update Gradle to 6.7 2020-10-29 20:43:15 +01:00
Maxr1998 6611baf37a Convert PlayerActivity to Fragment 2020-10-23 01:23:06 +02:00
Maxr1998 0eac127c6d Rename PlayerActivity and references to Fragment 2020-10-23 01:16:48 +02:00
Max Rumpf 53435e3b72 Merge pull request #197 from nielsvanvelzen/f-droid
Add F-Droid build flavor, update AGP
2020-10-23 00:54:41 +02:00
Maxr1998 fa794d5396 Use register instead of create for flavors, reorder 2020-10-23 00:51:32 +02:00
Max Rumpf 9f33178dbf Merge pull request #200 from IzzySoft/fastlane2
Add fastlane featureGraphic
2020-10-22 23:21:47 +02:00
Max Rumpf 469af8618a Merge pull request #143 from Spacetech/master
Add Android Auto support
2020-10-20 13:33:58 +02:00
Maxr1998 536bfd95d2 Use API client for device ID 2020-10-20 13:30:13 +02:00
Maxr1998 0672344cd7 Use view binding in PlayerActivity 2020-10-19 01:49:53 +02:00
Maxr1998 f8e5131c46 Fix potential crashes in WebViewFragment 2020-10-17 15:00:51 +02:00
Maxr1998 1701cdff03 Add zoom feature to ExoPlayer
This allows to zoom in on movies with e.g. a wide aspect ratio (21:9) that are embedded into a 16:9 frame, as phones nowadays often have taller screens (ultra-wide in landscape).
2020-10-13 17:23:55 +02:00
Max Rumpf 3ad71d1534 Merge pull request #189 from CarlosOlivo/handle-fragment-destroy
Handle fragment destroy properly to prevent leaks
2020-10-12 00:55:49 +02:00
Max Rumpf 47589e3fdd Merge pull request #185 from nielsvanvelzen/connection-issues-fixes
Always trim ending slashes from URL in apiclient
2020-10-11 16:49:16 +02:00
Max Rumpf ad72776e75 Merge pull request #187 from h1dden-da3m0n/chore/ci-jdk-version-update
chore(CI): update JavaVersion used by GradleW tasks
2020-10-10 23:35:35 +02:00
Max Rumpf ef13688cf3 Merge pull request #186 from CarlosOlivo/update-androidx-core
Update Core-ktx to 1.4.0-alpha01
2020-10-10 20:29:51 +02:00
Maxr1998 ac5c245d13 Initial database setup 2020-10-09 15:41:21 +02:00
Max Rumpf 2d2b5e1b4c Merge pull request #177 from CarlosOlivo/external-subtitles
Add support for external subtitles in some external players
2020-10-08 23:07:37 +02:00
Max Rumpf 7049677ec4 Merge pull request #179 from CarlosOlivo/network-security-config
Add Network Security Configuration file
2020-10-08 18:53:47 +02:00
Maxr1998 056e69fcd9 Migrate settings into a fragment 2020-10-07 21:19:00 +02:00
Maxr1998andNiels van Velzen 94ae50cab9 Use fragments to separate UI components
Co-authored-by: Niels van Velzen <git@ndat.nl>
2020-10-07 21:18:07 +02:00
Max Rumpf d34b0b18bc Merge pull request #170 from ferferga/patch-1
Add warning about using mobile data
2020-10-06 20:44:28 +02:00
Max Rumpf d47137f345 Merge pull request #169 from nielsvanvelzen/discovery-crash-fix
Update apiclient to fix issues with server discovery
2020-10-06 20:38:29 +02:00
Maxr1998 b5019f2a99 Rework app / webapp communication
Put Kotlin channel inside wrapper class, use channel for communication from NativeInterface, RemotePlayerService and ExternalPlayer.
2020-10-05 23:31:13 +02:00
Max Rumpf 97598a7350 Revert "Set appMode for webui" 2020-09-30 00:11:16 +02:00
Max Rumpf f30cb21a65 Merge pull request #146 from nielsvanvelzen/appmode
Set appMode for webui
2020-09-29 13:53:26 +02:00
Max Rumpf fb541040e3 Merge pull request #150 from nielsvanvelzen/apiclient-bump
Bump apiclient to version 0.7.5 to fix discovery issues.
2020-09-29 13:50:08 +02:00
Max Rumpf 2f52b9d393 Merge pull request #133 from yashx/native-gesture-control
Added Native Player Gesture for Volume & Brightness
2020-09-27 14:21:34 +02:00
Max Rumpf 377a5a37a1 Merge pull request #126 from CarlosOlivo/auto-discovery
Implement auto discovery
2020-09-21 01:38:47 +02:00
Maxr1998 bc6ea9bd74 Quicker auto-discovery
Immediately show server chooser after the first server has been discovered, replace withContext() with flowOn()
2020-09-21 01:37:40 +02:00
Max Rumpf 811c6991d4 Merge pull request #132 from yashx/fix-native-seek
Fixed controller hiding when seeking in native player
2020-09-17 13:21:35 +02:00
Maxr1998 464beeb993 Move launcher foreground to 'drawable'
Since they don't use any APIs specific to Android 8, they can be moved to the default drawable folder.
2020-09-15 19:15:32 +02:00
Maxr1998 07a67b143c Refactor launcher icons
Don't require translating the icon anymore
2020-09-15 19:15:28 +02:00
Maxr1998 1480651e68 Ignore lint warnings regarding translation 2020-09-14 15:08:44 +02:00
Maxr1998 13524b4704 Update Coil, adapt code to new version 2020-09-13 15:53:40 +02:00
Maxr1998 74b879a305 Cleanup buildSrc buildscript
Specifying AGP as a buildSrc dependency isn't necessary and can even cause issues in some cases
2020-09-13 15:52:59 +02:00
Maxr1998 70176b93e1 Update Gradle 2020-09-13 15:51:46 +02:00
Max Rumpf c06f7fc4dd Merge pull request #120 from nielsvanvelzen/fix-proguard
Fix ProGuard configuration
2020-09-12 11:23:00 +02:00
Maxr1998 3b5dbd984f Update MAP, make background audio preference depend on player 2020-09-10 22:25:48 +02:00
Maxr1998 7d3c9f449a Update JUnit plugin 2020-09-10 22:08:31 +02:00
Maxr1998 cc240c4175 Update Kotlin to 1.4.10 2020-09-10 22:08:10 +02:00
Max Rumpf b00964e830 Merge pull request #112 from CarlosOlivo/fix-nav-ui-horizontal-overlap
Fix UI overlap by applying also horizontal insets
2020-09-10 20:19:11 +02:00
Maxr1998 c05893e385 Apply suggestion 2020-09-09 20:51:56 +02:00
Maxr1998 ccc296b00e Fix possible exception in external player JS 2020-09-09 20:45:07 +02:00
Maxr1998 bd669477ff ExoPlayer: Fix playlists (like intros) not working 2020-09-09 20:29:01 +02:00
Maxr1998 fad8bd7061 Refactor dependencies 2020-09-09 18:07:17 +02:00
Maxr1998 4585634c30 Refactor ViewModel teardown
Remove never called onDestroy from LifecycleObserver, dismiss notification in ViewModel onCleared instead, if necessary
2020-09-09 17:35:08 +02:00
Maxr1998 06c5ed4076 Stop web from interfering with ExoPlayer state, cleanup code 2020-09-09 14:35:34 +02:00
Maxr1998 c9e4f96db0 Properly report playback stop events 2020-09-09 13:51:32 +02:00
Maxr1998 28da1e70bc Fix crash in apiclient logger 2020-09-09 12:45:51 +02:00
Maxr1998 2ab4b7fe04 Rework player implementation setting
Allow to switch between web player, ExoPlayer and external player via client settings
2020-09-09 12:26:09 +02:00
Max Rumpf 0b50ebafae Merge pull request #108 from CarlosOlivo/screen-lock
Add screen lock feature in ExoPlayer
2020-09-09 12:24:57 +02:00
Maxr1998 f620add119 Some more tweaks for the screen lock feature 2020-09-09 12:24:21 +02:00
Max Rumpf 1f58255877 Merge pull request #98 from CarlosOlivo/external-player
Implement external player feature
2020-09-07 21:23:47 +02:00
Maxr1998 d0844d3937 ExoPlayer improvements
Submit playback status via apiclient, support remote seeking and volume changes
2020-09-06 21:04:04 +02:00
Maxr1998 7dd45d0bcf Don't inject non-existent apphost script 2020-09-06 00:30:44 +02:00
Maxr1998 03df37c2ae Replace double quotes with single quotes in JS code 2020-09-05 20:24:30 +02:00