From d5083dd570704c50514ad93763c6764f3f992ed5 Mon Sep 17 00:00:00 2001 From: Janne Mareike Koschinski <mail@justjanne.de> Date: Mon, 4 Dec 2023 23:53:58 +0100 Subject: [PATCH] fix: remember user account selected via navigation --- .../meteroid/ui/navigation/MeteroidNavigation.kt | 1 + .../meteroid/ui/navigation/NavigationViewModel.kt | 11 ++++++++++- .../meteroid/ui/userlist/UserListViewModel.kt | 1 - 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/app/src/main/kotlin/de/chaosdorf/meteroid/ui/navigation/MeteroidNavigation.kt b/app/src/main/kotlin/de/chaosdorf/meteroid/ui/navigation/MeteroidNavigation.kt index 3b5cab6..267caa3 100644 --- a/app/src/main/kotlin/de/chaosdorf/meteroid/ui/navigation/MeteroidNavigation.kt +++ b/app/src/main/kotlin/de/chaosdorf/meteroid/ui/navigation/MeteroidNavigation.kt @@ -120,6 +120,7 @@ fun MeteroidNavigation(navController: NavController, viewModel: NavigationViewMo saveState = false } } + viewModel.selectUser(entry.user.serverId, entry.user.userId) } } diff --git a/app/src/main/kotlin/de/chaosdorf/meteroid/ui/navigation/NavigationViewModel.kt b/app/src/main/kotlin/de/chaosdorf/meteroid/ui/navigation/NavigationViewModel.kt index 45d298c..e94f2be 100644 --- a/app/src/main/kotlin/de/chaosdorf/meteroid/ui/navigation/NavigationViewModel.kt +++ b/app/src/main/kotlin/de/chaosdorf/meteroid/ui/navigation/NavigationViewModel.kt @@ -24,6 +24,7 @@ package de.chaosdorf.meteroid.ui.navigation +import android.util.Log import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope import dagger.hilt.android.lifecycle.HiltViewModel @@ -44,7 +45,8 @@ class NavigationViewModel @Inject constructor( userRepository: UserRepository, pinnedUserRepository: PinnedUserRepository, syncManager: SyncManager, - private val accountProvider: AccountProvider + private val accountProvider: AccountProvider, + private val preferences: AccountPreferences ) : ViewModel() { val expanded = MutableStateFlow(false) val account = MutableStateFlow<AccountPreferences.State?>(null) @@ -117,4 +119,11 @@ class NavigationViewModel @Inject constructor( accountProvider.togglePin(serverId, userId) } } + + fun selectUser(serverId: ServerId, userId: UserId) { + Log.i("UserListViewModel", "Updating AccountPreferences: $serverId $userId") + viewModelScope.launch { + preferences.setUser(serverId, userId) + } + } } diff --git a/app/src/main/kotlin/de/chaosdorf/meteroid/ui/userlist/UserListViewModel.kt b/app/src/main/kotlin/de/chaosdorf/meteroid/ui/userlist/UserListViewModel.kt index 22a6a09..e50d80d 100644 --- a/app/src/main/kotlin/de/chaosdorf/meteroid/ui/userlist/UserListViewModel.kt +++ b/app/src/main/kotlin/de/chaosdorf/meteroid/ui/userlist/UserListViewModel.kt @@ -64,7 +64,6 @@ class UserListViewModel @Inject constructor( fun selectUser(serverId: ServerId, userId: UserId) { Log.i("UserListViewModel", "Updating AccountPreferences: $serverId $userId") viewModelScope.launch { - preferences.setUser(serverId, userId) } } -- GitLab