From 55e7b646282204d070f4edcac2be87d540179b99 Mon Sep 17 00:00:00 2001 From: Jarne Demeulemeester Date: Sun, 4 Jul 2021 12:00:55 +0200 Subject: [PATCH] Post session capabilities to the server --- app/build.gradle | 4 ++-- .../java/dev/jdtech/jellyfin/api/JellyfinApi.kt | 1 + .../jellyfin/viewmodels/ServerSelectViewModel.kt | 14 +++++++++++++- 3 files changed, 16 insertions(+), 3 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index cec903ae..0186185e 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -73,6 +73,6 @@ dependencies { // Testing testImplementation 'junit:junit:4.13.2' - androidTestImplementation 'androidx.test.ext:junit:1.1.2' - androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0' + androidTestImplementation 'androidx.test.ext:junit:1.1.3' + androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0' } \ No newline at end of file diff --git a/app/src/main/java/dev/jdtech/jellyfin/api/JellyfinApi.kt b/app/src/main/java/dev/jdtech/jellyfin/api/JellyfinApi.kt index 09b8de69..201530eb 100644 --- a/app/src/main/java/dev/jdtech/jellyfin/api/JellyfinApi.kt +++ b/app/src/main/java/dev/jdtech/jellyfin/api/JellyfinApi.kt @@ -32,6 +32,7 @@ class JellyfinApi(context: Context, baseUrl: String) { val itemsApi = ItemsApi(api) val userLibraryApi = UserLibraryApi(api) val showsApi = TvShowsApi(api) + val sessionApi = SessionApi(api) companion object { @Volatile diff --git a/app/src/main/java/dev/jdtech/jellyfin/viewmodels/ServerSelectViewModel.kt b/app/src/main/java/dev/jdtech/jellyfin/viewmodels/ServerSelectViewModel.kt index 32546afb..fef85545 100644 --- a/app/src/main/java/dev/jdtech/jellyfin/viewmodels/ServerSelectViewModel.kt +++ b/app/src/main/java/dev/jdtech/jellyfin/viewmodels/ServerSelectViewModel.kt @@ -37,14 +37,26 @@ class ServerSelectViewModel( } fun connectToServer(server: Server) { - JellyfinApi.newInstance(application, server.address).apply { + val jellyfinApi = JellyfinApi.newInstance(application, server.address).apply { api.accessToken = server.accessToken userId = UUID.fromString(server.userId) } + + viewModelScope.launch { + postCapabilities(jellyfinApi) + } + + _navigateToMain.value = true } fun doneNavigatingToMain() { _navigateToMain.value = false } + + private suspend fun postCapabilities(jellyfinApi: JellyfinApi) { + withContext(Dispatchers.IO) { + jellyfinApi.sessionApi.postCapabilities(playableMediaTypes = listOf("Video"), supportsMediaControl = false, supportsSync = false, supportsPersistentIdentifier = true) + } + } } \ No newline at end of file