From 0bddd70d2a48c8314c4263ddbef9c9dbb009e151 Mon Sep 17 00:00:00 2001 From: David Perez Date: Wed, 10 Apr 2024 12:58:06 -0500 Subject: [PATCH] Ensure trusted device is displayed before set password or reset password screens (#1250) --- .../ui/platform/feature/rootnav/RootNavViewModel.kt | 6 +++--- .../ui/platform/feature/rootnav/RootNavViewModelTest.kt | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/com/x8bit/bitwarden/ui/platform/feature/rootnav/RootNavViewModel.kt b/app/src/main/java/com/x8bit/bitwarden/ui/platform/feature/rootnav/RootNavViewModel.kt index da9d038a96..8375790cc3 100644 --- a/app/src/main/java/com/x8bit/bitwarden/ui/platform/feature/rootnav/RootNavViewModel.kt +++ b/app/src/main/java/com/x8bit/bitwarden/ui/platform/feature/rootnav/RootNavViewModel.kt @@ -61,13 +61,13 @@ class RootNavViewModel @Inject constructor( val userState = action.userState val specialCircumstance = action.specialCircumstance val updatedRootNavState = when { + userState?.activeAccount?.trustedDevice?.isDeviceTrusted == false && + !userState.activeAccount.isVaultUnlocked -> RootNavState.TrustedDevice + userState?.activeAccount?.needsMasterPassword == true -> RootNavState.SetPassword userState?.activeAccount?.needsPasswordReset == true -> RootNavState.ResetPassword - userState?.activeAccount?.trustedDevice?.isDeviceTrusted == false && - !userState.activeAccount.isVaultUnlocked -> RootNavState.TrustedDevice - userState == null || !userState.activeAccount.isLoggedIn || userState.hasPendingAccountAddition -> RootNavState.Auth diff --git a/app/src/test/java/com/x8bit/bitwarden/ui/platform/feature/rootnav/RootNavViewModelTest.kt b/app/src/test/java/com/x8bit/bitwarden/ui/platform/feature/rootnav/RootNavViewModelTest.kt index ecd61fcbfb..a77049352c 100644 --- a/app/src/test/java/com/x8bit/bitwarden/ui/platform/feature/rootnav/RootNavViewModelTest.kt +++ b/app/src/test/java/com/x8bit/bitwarden/ui/platform/feature/rootnav/RootNavViewModelTest.kt @@ -19,7 +19,7 @@ import org.junit.jupiter.api.Test class RootNavViewModelTest : BaseViewModelTest() { private val mutableUserStateFlow = MutableStateFlow(null) - private val authRepository = mockk() { + private val authRepository = mockk { every { userStateFlow } returns mutableUserStateFlow every { updateLastActiveTime() } just runs }