From 4e82f10f183849814038a00951888c05c0b0adec Mon Sep 17 00:00:00 2001 From: Niels van Velzen Date: Tue, 6 Sep 2022 17:31:26 +0200 Subject: [PATCH] Use random device id when initializing QuickConnect (cherry picked from commit 02b9fb60bb15d33a2fc4759f0f5c08b4d22789ae) --- app/src/main/java/org/jellyfin/androidtv/di/AppModule.kt | 2 +- .../org/jellyfin/androidtv/ui/startup/UserLoginViewModel.kt | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/org/jellyfin/androidtv/di/AppModule.kt b/app/src/main/java/org/jellyfin/androidtv/di/AppModule.kt index b0cbabb6bf..e8222aa12b 100644 --- a/app/src/main/java/org/jellyfin/androidtv/di/AppModule.kt +++ b/app/src/main/java/org/jellyfin/androidtv/di/AppModule.kt @@ -90,7 +90,7 @@ val appModule = module { single { NotificationsRepositoryImpl(get(), get()) } viewModel { StartupViewModel(get(), get(), get(), get()) } - viewModel { UserLoginViewModel(get(), get(), get()) } + viewModel { UserLoginViewModel(get(), get(), get(), get(defaultDeviceInfo)) } viewModel { ServerAddViewModel(get()) } viewModel { NextUpViewModel(get(), get(), get(), get()) } diff --git a/app/src/main/java/org/jellyfin/androidtv/ui/startup/UserLoginViewModel.kt b/app/src/main/java/org/jellyfin/androidtv/ui/startup/UserLoginViewModel.kt index b68acdf302..9cadb59122 100644 --- a/app/src/main/java/org/jellyfin/androidtv/ui/startup/UserLoginViewModel.kt +++ b/app/src/main/java/org/jellyfin/androidtv/ui/startup/UserLoginViewModel.kt @@ -22,9 +22,11 @@ import org.jellyfin.androidtv.auth.model.UnknownQuickConnectState import org.jellyfin.androidtv.auth.model.User import org.jellyfin.androidtv.auth.repository.AuthenticationRepository import org.jellyfin.androidtv.auth.repository.ServerRepository +import org.jellyfin.androidtv.util.sdk.forUser import org.jellyfin.sdk.Jellyfin import org.jellyfin.sdk.api.client.exception.ApiClientException import org.jellyfin.sdk.api.client.extensions.quickConnectApi +import org.jellyfin.sdk.model.DeviceInfo import timber.log.Timber import java.util.UUID import kotlin.time.Duration.Companion.seconds @@ -33,6 +35,7 @@ class UserLoginViewModel( jellyfin: Jellyfin, private val serverRepository: ServerRepository, private val authenticationRepository: AuthenticationRepository, + private val defaultDeviceInfo: DeviceInfo, ) : ViewModel() { private val _loginState = MutableStateFlow(null) val loginState = _loginState.asStateFlow() @@ -74,6 +77,7 @@ class UserLoginViewModel( _quickConnectState.emit(UnknownQuickConnectState) quickConnectSecret = null quickConnectApi.baseUrl = server.address + quickConnectApi.deviceInfo = defaultDeviceInfo.forUser(UUID.randomUUID()) try { val response by quickConnectApi.quickConnectApi.initiate()