From c43087b1a849843bf3cb6796fec5b85ab08d7b2a Mon Sep 17 00:00:00 2001 From: Jarne Demeulemeester Date: Mon, 25 Sep 2023 22:22:34 +0200 Subject: [PATCH] fix: server visually stays when deleted + crash --- .../jellyfin/viewmodels/ServerSelectViewModel.kt | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/core/src/main/java/dev/jdtech/jellyfin/viewmodels/ServerSelectViewModel.kt b/core/src/main/java/dev/jdtech/jellyfin/viewmodels/ServerSelectViewModel.kt index 376ebabe..6a2c7727 100644 --- a/core/src/main/java/dev/jdtech/jellyfin/viewmodels/ServerSelectViewModel.kt +++ b/core/src/main/java/dev/jdtech/jellyfin/viewmodels/ServerSelectViewModel.kt @@ -37,11 +37,15 @@ constructor( init { viewModelScope.launch { - val servers = database.getAllServersSync() - _uiState.emit(UiState.Normal(servers)) + loadServers() } } + private suspend fun loadServers() { + val servers = database.getAllServersSync() + _uiState.emit(UiState.Normal(servers)) + } + /** * Delete server from database * @@ -50,12 +54,13 @@ constructor( fun deleteServer(server: Server) { viewModelScope.launch(Dispatchers.IO) { database.delete(server.id) + loadServers() } } fun connectToServer(server: Server) { viewModelScope.launch { - val serverWithAddressesAndUsers = database.getServerWithAddressesAndUsers(server.id)!! + val serverWithAddressesAndUsers = database.getServerWithAddressesAndUsers(server.id) ?: return@launch val serverAddress = serverWithAddressesAndUsers.addresses.firstOrNull { it.id == server.currentServerAddressId } ?: return@launch val user = serverWithAddressesAndUsers.users.firstOrNull { it.id == server.currentUserId } ?: return@launch