From cb88abf4d58f5fc6ee789b6972625c7ac9efcb9f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Bispo?= Date: Thu, 15 Oct 2026 16:06:26 +0000 Subject: [PATCH] [PM-24364] fix: [Android] Import logins card is not dismissed [bug-factory poc] (#7486) Co-authored-by: bug-factory --- .../ui/vault/feature/importlogins/ImportLoginsViewModel.kt | 6 +++--- .../vault/feature/importlogins/ImportLoginsViewModelTest.kt | 6 +++++- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/importlogins/ImportLoginsViewModel.kt b/app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/importlogins/ImportLoginsViewModel.kt index f5202f107a..b1b5cd1507 100644 --- a/app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/importlogins/ImportLoginsViewModel.kt +++ b/app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/importlogins/ImportLoginsViewModel.kt @@ -85,9 +85,9 @@ class ImportLoginsViewModel @Inject constructor( } private fun handleFailedSyncAcknowledged() { - mutableStateFlow.update { - it.copy(dialogState = null) - } + dismissDialog() + firstTimeActionManager.storeShowImportLogins(showImportLogins = false) + firstTimeActionManager.storeShowImportLoginsSettingsBadge(showBadge = true) sendEvent(ImportLoginsEvent.NavigateBack) } diff --git a/app/src/test/kotlin/com/x8bit/bitwarden/ui/vault/feature/importlogins/ImportLoginsViewModelTest.kt b/app/src/test/kotlin/com/x8bit/bitwarden/ui/vault/feature/importlogins/ImportLoginsViewModelTest.kt index f9473fb0cd..fc529b2eb5 100644 --- a/app/src/test/kotlin/com/x8bit/bitwarden/ui/vault/feature/importlogins/ImportLoginsViewModelTest.kt +++ b/app/src/test/kotlin/com/x8bit/bitwarden/ui/vault/feature/importlogins/ImportLoginsViewModelTest.kt @@ -423,7 +423,7 @@ class ImportLoginsViewModelTest : BaseViewModelTest() { } @Test - fun `FailSyncAcknowledged should remove dialog state and send NavigateBack event`() = + fun `FailSyncAcknowledged clears dialog, navigates back, and stores first time values`() = runTest { coEvery { vaultRepository.syncForResult(forced = true) @@ -447,6 +447,10 @@ class ImportLoginsViewModelTest : BaseViewModelTest() { awaitItem(), ) } + verify(exactly = 1) { + firstTimeActionManager.storeShowImportLogins(showImportLogins = false) + firstTimeActionManager.storeShowImportLoginsSettingsBadge(showBadge = true) + } } @Suppress("MaxLineLength")