From 5fdfb269508e38faab42bb903e298c0c9206e656 Mon Sep 17 00:00:00 2001 From: Andrew Haisting <142518658+ahaisting-livefront@users.noreply.github.com> Date: Thu, 24 Oct 2024 08:38:55 -0500 Subject: [PATCH] BITAU-180 Show "Move to Bitwarden" long press action (#250) --- ...enticatorbridge-0.1.0-SNAPSHOT-release.aar | Bin 81074 -> 81461 bytes .../di/AuthenticatorBridgeModule.kt | 2 + .../feature/itemlisting/ItemListingScreen.kt | 12 +++ .../itemlisting/ItemListingViewModel.kt | 53 ++++++++- .../itemlisting/VaultVerificationCodeItem.kt | 22 ++++ .../model/VerificationCodeDisplayItem.kt | 1 + .../SharedVerificationCodesStateExtensions.kt | 9 +- .../util/VerificationCodeItemExtensions.kt | 50 ++++++--- app/src/main/res/drawable/ic_arrow_right.xml | 10 ++ app/src/main/res/values/strings.xml | 3 + .../itemlisting/ItemListViewModelTest.kt | 65 ++++++++++- .../itemlisting/ItemListingScreenTest.kt | 54 ++++++++++ .../util/SharedVerificationCodesStateTest.kt | 2 + .../VerificationCodeItemExtensionsTest.kt | 102 +++++++++++++++++- 14 files changed, 358 insertions(+), 27 deletions(-) create mode 100644 app/src/main/res/drawable/ic_arrow_right.xml diff --git a/app/libs/authenticatorbridge-0.1.0-SNAPSHOT-release.aar b/app/libs/authenticatorbridge-0.1.0-SNAPSHOT-release.aar index aa6f2e076ac50b2b2ca2deb940d5c12e8b10528b..defcb5273d55ebf0ae25f1433082da3d6a2a0b4a 100644 GIT binary patch delta 79512 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%0ADrEHF6PS?XLZ9XKl5@`QP`X7=zl$(C+3vI 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 delta 79112 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 diff --git a/app/src/main/kotlin/com/bitwarden/authenticator/data/authenticator/repository/di/AuthenticatorBridgeModule.kt b/app/src/main/kotlin/com/bitwarden/authenticator/data/authenticator/repository/di/AuthenticatorBridgeModule.kt index 924a7bfc21..30e7b7386a 100644 --- a/app/src/main/kotlin/com/bitwarden/authenticator/data/authenticator/repository/di/AuthenticatorBridgeModule.kt +++ b/app/src/main/kotlin/com/bitwarden/authenticator/data/authenticator/repository/di/AuthenticatorBridgeModule.kt @@ -51,6 +51,8 @@ object AuthenticatorBridgeModule { object : AuthenticatorBridgeManager { override val accountSyncStateFlow: StateFlow get() = MutableStateFlow(AccountSyncState.Loading) + + override fun startAddTotpLoginItemFlow(totpUri: String): Boolean = false } } diff --git a/app/src/main/kotlin/com/bitwarden/authenticator/ui/authenticator/feature/itemlisting/ItemListingScreen.kt b/app/src/main/kotlin/com/bitwarden/authenticator/ui/authenticator/feature/itemlisting/ItemListingScreen.kt index 9604123db4..7c9373c9ee 100644 --- a/app/src/main/kotlin/com/bitwarden/authenticator/ui/authenticator/feature/itemlisting/ItemListingScreen.kt +++ b/app/src/main/kotlin/com/bitwarden/authenticator/ui/authenticator/feature/itemlisting/ItemListingScreen.kt @@ -237,6 +237,11 @@ fun ItemListingScreen( viewModel.trySendAction(ItemListingAction.SyncWithBitwardenDismiss) } }, + onMoveToBitwardenClick = remember(viewModel) { + { + viewModel.trySendAction(ItemListingAction.MoveToBitwardenClick(it)) + } + }, ) } @@ -342,6 +347,7 @@ private fun ItemListingContent( onItemClick: (String) -> Unit, onEditItemClick: (String) -> Unit, onDeleteItemClick: (String) -> Unit, + onMoveToBitwardenClick: (String) -> Unit, onDownloadBitwardenClick: () -> Unit, onDismissDownloadBitwardenClick: () -> Unit, onSyncWithBitwardenClick: () -> Unit, @@ -453,6 +459,8 @@ private fun ItemListingContent( onItemClick = { onItemClick(it.authCode) }, onEditItemClick = { onEditItemClick(it.id) }, onDeleteItemClick = { onDeleteItemClick(it.id) }, + onMoveToBitwardenClick = { onMoveToBitwardenClick(it.id) }, + showMoveToBitwarden = it.showMoveToBitwarden, allowLongPress = it.allowLongPressActions, modifier = Modifier.fillMaxWidth(), ) @@ -481,6 +489,8 @@ private fun ItemListingContent( onItemClick = { onItemClick(it.authCode) }, onEditItemClick = { onEditItemClick(it.id) }, onDeleteItemClick = { onDeleteItemClick(it.id) }, + onMoveToBitwardenClick = { onMoveToBitwardenClick(it.id) }, + showMoveToBitwarden = it.showMoveToBitwarden, allowLongPress = it.allowLongPressActions, modifier = Modifier.fillMaxWidth(), ) @@ -515,6 +525,8 @@ private fun ItemListingContent( onItemClick = { onItemClick(it.authCode) }, onEditItemClick = { }, onDeleteItemClick = { }, + onMoveToBitwardenClick = { }, + showMoveToBitwarden = it.showMoveToBitwarden, allowLongPress = it.allowLongPressActions, modifier = Modifier.fillMaxWidth(), ) diff --git a/app/src/main/kotlin/com/bitwarden/authenticator/ui/authenticator/feature/itemlisting/ItemListingViewModel.kt b/app/src/main/kotlin/com/bitwarden/authenticator/ui/authenticator/feature/itemlisting/ItemListingViewModel.kt index 74ac31897e..c92e670775 100644 --- a/app/src/main/kotlin/com/bitwarden/authenticator/ui/authenticator/feature/itemlisting/ItemListingViewModel.kt +++ b/app/src/main/kotlin/com/bitwarden/authenticator/ui/authenticator/feature/itemlisting/ItemListingViewModel.kt @@ -28,8 +28,10 @@ import com.bitwarden.authenticator.ui.platform.base.BaseViewModel import com.bitwarden.authenticator.ui.platform.base.util.Text import com.bitwarden.authenticator.ui.platform.base.util.asText import com.bitwarden.authenticator.ui.platform.feature.settings.appearance.model.AppTheme +import com.bitwarden.authenticatorbridge.manager.AuthenticatorBridgeManager import dagger.hilt.android.lifecycle.HiltViewModel import kotlinx.coroutines.flow.combine +import kotlinx.coroutines.flow.first import kotlinx.coroutines.flow.launchIn import kotlinx.coroutines.flow.map import kotlinx.coroutines.flow.onEach @@ -46,6 +48,7 @@ import javax.inject.Inject @HiltViewModel class ItemListingViewModel @Inject constructor( private val authenticatorRepository: AuthenticatorRepository, + private val authenticatorBridgeManager: AuthenticatorBridgeManager, private val clipboardManager: BitwardenClipboardManager, private val encodingManager: BitwardenEncodingManager, private val settingsRepository: SettingsRepository, @@ -144,9 +147,14 @@ class ItemListingViewModel @Inject constructor( ItemListingAction.SyncWithBitwardenClick -> { handleSyncWithBitwardenClick() } + ItemListingAction.SyncWithBitwardenDismiss -> { handleSyncWithBitwardenDismiss() } + + is ItemListingAction.MoveToBitwardenClick -> { + handleMoveToBitwardenClick(action) + } } } @@ -167,6 +175,28 @@ class ItemListingViewModel @Inject constructor( sendEvent(ItemListingEvent.NavigateToEditItem(action.itemId)) } + private fun handleMoveToBitwardenClick(action: ItemListingAction.MoveToBitwardenClick) { + viewModelScope.launch { + val item = authenticatorRepository + .getItemStateFlow(action.entityId) + .first { it.data != null } + + val didLaunchAddTotpFlow = authenticatorBridgeManager.startAddTotpLoginItemFlow( + totpUri = item.data!!.toOtpAuthUriString(), + ) + if (!didLaunchAddTotpFlow) { + mutableStateFlow.update { + it.copy( + dialog = ItemListingState.DialogState.Error( + title = R.string.something_went_wrong.asText(), + message = R.string.please_try_again.asText(), + ), + ) + } + } + } + } + private fun handleDeleteItemClick(action: ItemListingAction.DeleteItemClick) { mutableStateFlow.update { it.copy( @@ -439,7 +469,9 @@ class ItemListingViewModel @Inject constructor( -> SharedCodesDisplayState.Codes(emptyList()) is SharedVerificationCodesState.Success -> - action.sharedCodesState.toSharedCodesDisplayState(state.alertThresholdSeconds) + action.sharedCodesState.toSharedCodesDisplayState( + alertThresholdSeconds = state.alertThresholdSeconds, + ) } if (localItems.isEmpty() && sharedItemsState.isEmpty()) { @@ -456,12 +488,20 @@ class ItemListingViewModel @Inject constructor( favoriteItems = localItems .filter { it.source is AuthenticatorItem.Source.Local && it.source.isFavorite } .map { - it.toDisplayItem(alertThresholdSeconds = state.alertThresholdSeconds) + it.toDisplayItem( + alertThresholdSeconds = state.alertThresholdSeconds, + sharedVerificationCodesState = + authenticatorRepository.sharedCodesStateFlow.value, + ) }, itemList = localItems .filter { it.source is AuthenticatorItem.Source.Local && !it.source.isFavorite } .map { - it.toDisplayItem(alertThresholdSeconds = state.alertThresholdSeconds) + it.toDisplayItem( + alertThresholdSeconds = state.alertThresholdSeconds, + sharedVerificationCodesState = + authenticatorRepository.sharedCodesStateFlow.value, + ) }, sharedItems = sharedItemsState, actionCard = action.sharedCodesState.toActionCard(), @@ -538,7 +578,7 @@ class ItemListingViewModel @Inject constructor( SharedVerificationCodesState.Loading, SharedVerificationCodesState.OsVersionNotSupported, is SharedVerificationCodesState.Success, - -> ItemListingState.ActionCardState.None + -> ItemListingState.ActionCardState.None } private fun String.toAuthenticatorEntityOrNull(): AuthenticatorItemEntity? { @@ -818,6 +858,11 @@ sealed class ItemListingAction { */ data object SyncWithBitwardenDismiss : ItemListingAction() + /** + * The user clicked the "Move to Bitwarden" action on a local verification item. + */ + data class MoveToBitwardenClick(val entityId: String) : ItemListingAction() + /** * Models actions that [ItemListingScreen] itself may send. */ diff --git a/app/src/main/kotlin/com/bitwarden/authenticator/ui/authenticator/feature/itemlisting/VaultVerificationCodeItem.kt b/app/src/main/kotlin/com/bitwarden/authenticator/ui/authenticator/feature/itemlisting/VaultVerificationCodeItem.kt index 0d4f021b3b..d3413331e6 100644 --- a/app/src/main/kotlin/com/bitwarden/authenticator/ui/authenticator/feature/itemlisting/VaultVerificationCodeItem.kt +++ b/app/src/main/kotlin/com/bitwarden/authenticator/ui/authenticator/feature/itemlisting/VaultVerificationCodeItem.kt @@ -64,7 +64,9 @@ fun VaultVerificationCodeItem( onItemClick: () -> Unit, onEditItemClick: () -> Unit, onDeleteItemClick: () -> Unit, + onMoveToBitwardenClick: () -> Unit, allowLongPress: Boolean, + showMoveToBitwarden: Boolean, modifier: Modifier = Modifier, ) { var shouldShowDropdownMenu by remember { mutableStateOf(value = false) } @@ -168,6 +170,24 @@ fun VaultVerificationCodeItem( ) }, ) + if (showMoveToBitwarden) { + HorizontalDivider() + DropdownMenuItem( + text = { + Text(text = stringResource(id = R.string.move_to_bitwarden)) + }, + onClick = { + shouldShowDropdownMenu = false + onMoveToBitwardenClick() + }, + leadingIcon = { + Icon( + painter = painterResource(id = R.drawable.ic_arrow_right), + contentDescription = stringResource(id = R.string.move_to_bitwarden), + ) + }, + ) + } HorizontalDivider() DropdownMenuItem( text = { @@ -204,8 +224,10 @@ private fun VerificationCodeItem_preview() { onItemClick = {}, onEditItemClick = {}, onDeleteItemClick = {}, + onMoveToBitwardenClick = {}, allowLongPress = true, modifier = Modifier.padding(horizontal = 16.dp), + showMoveToBitwarden = true, ) } } diff --git a/app/src/main/kotlin/com/bitwarden/authenticator/ui/authenticator/feature/itemlisting/model/VerificationCodeDisplayItem.kt b/app/src/main/kotlin/com/bitwarden/authenticator/ui/authenticator/feature/itemlisting/model/VerificationCodeDisplayItem.kt index 3b312c8b54..52485b8ed6 100644 --- a/app/src/main/kotlin/com/bitwarden/authenticator/ui/authenticator/feature/itemlisting/model/VerificationCodeDisplayItem.kt +++ b/app/src/main/kotlin/com/bitwarden/authenticator/ui/authenticator/feature/itemlisting/model/VerificationCodeDisplayItem.kt @@ -20,4 +20,5 @@ data class VerificationCodeDisplayItem( val startIcon: IconData = IconData.Local(R.drawable.ic_login_item), val favorite: Boolean, val allowLongPressActions: Boolean, + val showMoveToBitwarden: Boolean, ) : Parcelable diff --git a/app/src/main/kotlin/com/bitwarden/authenticator/ui/authenticator/feature/itemlisting/util/SharedVerificationCodesStateExtensions.kt b/app/src/main/kotlin/com/bitwarden/authenticator/ui/authenticator/feature/itemlisting/util/SharedVerificationCodesStateExtensions.kt index d27478149e..0420d318fc 100644 --- a/app/src/main/kotlin/com/bitwarden/authenticator/ui/authenticator/feature/itemlisting/util/SharedVerificationCodesStateExtensions.kt +++ b/app/src/main/kotlin/com/bitwarden/authenticator/ui/authenticator/feature/itemlisting/util/SharedVerificationCodesStateExtensions.kt @@ -19,7 +19,14 @@ fun SharedVerificationCodesState.Success.toSharedCodesDisplayState( // codes for that account: this.items.forEach { codesMap.putIfAbsent(it.source as AuthenticatorItem.Source.Shared, mutableListOf()) - codesMap[it.source]?.add(it.toDisplayItem(alertThresholdSeconds)) + codesMap[it.source]?.add( + it.toDisplayItem( + alertThresholdSeconds = alertThresholdSeconds, + // Always map based on Error state, because shared codes will never + // show "Move to Bitwarden" action. + sharedVerificationCodesState = SharedVerificationCodesState.Error, + ), + ) } // Flatten that map down to a list of accounts that each has a list of codes: return codesMap diff --git a/app/src/main/kotlin/com/bitwarden/authenticator/ui/authenticator/feature/itemlisting/util/VerificationCodeItemExtensions.kt b/app/src/main/kotlin/com/bitwarden/authenticator/ui/authenticator/feature/itemlisting/util/VerificationCodeItemExtensions.kt index e4896cd877..083eede277 100644 --- a/app/src/main/kotlin/com/bitwarden/authenticator/ui/authenticator/feature/itemlisting/util/VerificationCodeItemExtensions.kt +++ b/app/src/main/kotlin/com/bitwarden/authenticator/ui/authenticator/feature/itemlisting/util/VerificationCodeItemExtensions.kt @@ -2,23 +2,43 @@ package com.bitwarden.authenticator.ui.authenticator.feature.itemlisting.util import com.bitwarden.authenticator.data.authenticator.manager.model.VerificationCodeItem import com.bitwarden.authenticator.data.authenticator.repository.model.AuthenticatorItem +import com.bitwarden.authenticator.data.authenticator.repository.model.SharedVerificationCodesState import com.bitwarden.authenticator.ui.authenticator.feature.itemlisting.model.VerificationCodeDisplayItem /** * Converts [VerificationCodeItem] to a [VerificationCodeDisplayItem]. */ -fun VerificationCodeItem.toDisplayItem(alertThresholdSeconds: Int) = - VerificationCodeDisplayItem( - id = id, - issuer = issuer, - label = accountName, - timeLeftSeconds = timeLeftSeconds, - periodSeconds = periodSeconds, - alertThresholdSeconds = alertThresholdSeconds, - authCode = code, - allowLongPressActions = when (source) { - is AuthenticatorItem.Source.Local -> true - is AuthenticatorItem.Source.Shared -> false - }, - favorite = (source as? AuthenticatorItem.Source.Local)?.isFavorite ?: false, - ) +fun VerificationCodeItem.toDisplayItem( + alertThresholdSeconds: Int, + sharedVerificationCodesState: SharedVerificationCodesState, +) = VerificationCodeDisplayItem( + id = id, + issuer = issuer, + label = accountName, + timeLeftSeconds = timeLeftSeconds, + periodSeconds = periodSeconds, + alertThresholdSeconds = alertThresholdSeconds, + authCode = code, + allowLongPressActions = when (source) { + is AuthenticatorItem.Source.Local -> true + is AuthenticatorItem.Source.Shared -> false + }, + favorite = (source as? AuthenticatorItem.Source.Local)?.isFavorite ?: false, + showMoveToBitwarden = when (source) { + // Shared items should never show Move to Bitwarden action: + is AuthenticatorItem.Source.Shared -> false + + // Local items should only show Move to Bitwarden if we are successfully syncing: = + is AuthenticatorItem.Source.Local -> when (sharedVerificationCodesState) { + SharedVerificationCodesState.AppNotInstalled, + SharedVerificationCodesState.Error, + SharedVerificationCodesState.FeatureNotEnabled, + SharedVerificationCodesState.Loading, + SharedVerificationCodesState.OsVersionNotSupported, + SharedVerificationCodesState.SyncNotEnabled, + -> false + + is SharedVerificationCodesState.Success -> true + } + }, +) diff --git a/app/src/main/res/drawable/ic_arrow_right.xml b/app/src/main/res/drawable/ic_arrow_right.xml new file mode 100644 index 0000000000..1df294a97a --- /dev/null +++ b/app/src/main/res/drawable/ic_arrow_right.xml @@ -0,0 +1,10 @@ + + + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 06dbf5d82f..290a74c091 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -130,4 +130,7 @@ Sync with the Bitwarden app Go to settings Allow Authenticator app syncing in settings to view all of your verification codes here. + Something went wrong + Please try again + Move to Bitwarden diff --git a/app/src/test/java/com/bitwarden/authenticator/ui/authenticator/feature/itemlisting/ItemListViewModelTest.kt b/app/src/test/java/com/bitwarden/authenticator/ui/authenticator/feature/itemlisting/ItemListViewModelTest.kt index 2f88b3a574..16033a11f0 100644 --- a/app/src/test/java/com/bitwarden/authenticator/ui/authenticator/feature/itemlisting/ItemListViewModelTest.kt +++ b/app/src/test/java/com/bitwarden/authenticator/ui/authenticator/feature/itemlisting/ItemListViewModelTest.kt @@ -1,6 +1,8 @@ package com.bitwarden.authenticator.ui.authenticator.feature.itemlisting import app.cash.turbine.test +import com.bitwarden.authenticator.R +import com.bitwarden.authenticator.data.authenticator.datasource.disk.entity.AuthenticatorItemEntity import com.bitwarden.authenticator.data.authenticator.manager.model.VerificationCodeItem import com.bitwarden.authenticator.data.authenticator.repository.AuthenticatorRepository import com.bitwarden.authenticator.data.authenticator.repository.model.AuthenticatorItem @@ -13,7 +15,9 @@ import com.bitwarden.authenticator.ui.authenticator.feature.itemlisting.model.Sh import com.bitwarden.authenticator.ui.authenticator.feature.itemlisting.util.toDisplayItem import com.bitwarden.authenticator.ui.authenticator.feature.itemlisting.util.toSharedCodesDisplayState import com.bitwarden.authenticator.ui.platform.base.BaseViewModelTest +import com.bitwarden.authenticator.ui.platform.base.util.asText import com.bitwarden.authenticator.ui.platform.feature.settings.appearance.model.AppTheme +import com.bitwarden.authenticatorbridge.manager.AuthenticatorBridgeManager import io.mockk.every import io.mockk.just import io.mockk.mockk @@ -40,6 +44,7 @@ class ItemListViewModelTest : BaseViewModelTest() { every { getLocalVerificationCodesFlow() } returns mutableVerificationCodesFlow every { sharedCodesStateFlow } returns mutableSharedCodesFlow } + private val authenticatorBridgeManager: AuthenticatorBridgeManager = mockk() private val clipboardManager: BitwardenClipboardManager = mockk() private val encodingManager: BitwardenEncodingManager = mockk() private val settingsRepository: SettingsRepository = mockk { @@ -144,12 +149,12 @@ class ItemListViewModelTest : BaseViewModelTest() { @Test @Suppress("MaxLineLength") - fun `stateFlow sharedItems value should be Codes with empty list when shared state is Error `() { + fun `stateFlow sharedItems value should be Codes with empty list when shared state is Success `() { val expectedState = DEFAULT_STATE.copy( viewState = ItemListingState.ViewState.Content( actionCard = ItemListingState.ActionCardState.None, - favoriteItems = LOCAL_FAVORITE_ITEMS, - itemList = LOCAL_NON_FAVORITE_ITEMS, + favoriteItems = LOCAL_FAVORITE_ITEMS.map { it.copy(showMoveToBitwarden = true) }, + itemList = LOCAL_NON_FAVORITE_ITEMS.map { it.copy(showMoveToBitwarden = true) }, sharedItems = SHARED_DISPLAY_ITEMS, ), ) @@ -356,8 +361,57 @@ class ItemListViewModelTest : BaseViewModelTest() { assertEquals(expectedState, viewModel.stateFlow.value) } + @Test + fun `on MoveToBitwardenClick receive should call startAddTotpLoginItemFlow`() { + val expectedUriString = "expectedUriString" + val entity: AuthenticatorItemEntity = mockk { + every { toOtpAuthUriString() } returns expectedUriString + } + every { + authenticatorRepository.getItemStateFlow("1") + } returns MutableStateFlow(DataState.Loaded(data = entity)) + every { + authenticatorBridgeManager.startAddTotpLoginItemFlow(expectedUriString) + } returns true + + val viewModel = createViewModel() + + viewModel.trySendAction(ItemListingAction.MoveToBitwardenClick(entityId = "1")) + verify { authenticatorBridgeManager.startAddTotpLoginItemFlow(expectedUriString) } + } + + @Test + @Suppress("MaxLineLength") + fun `on MoveToBitwardenClick should show error dialog when startAddTotpLoginItemFlow returns false`() { + val expectedState = DEFAULT_STATE.copy( + dialog = ItemListingState.DialogState.Error( + title = R.string.something_went_wrong.asText(), + message = R.string.please_try_again.asText(), + ), + ) + val expectedUriString = "expectedUriString" + val entity: AuthenticatorItemEntity = mockk { + every { toOtpAuthUriString() } returns expectedUriString + } + every { + authenticatorRepository.getItemStateFlow("1") + } returns MutableStateFlow(DataState.Loaded(data = entity)) + every { + authenticatorBridgeManager.startAddTotpLoginItemFlow(expectedUriString) + } returns false + + val viewModel = createViewModel() + viewModel.trySendAction(ItemListingAction.MoveToBitwardenClick(entityId = "1")) + assertEquals( + expectedState, + viewModel.stateFlow.value, + ) + verify { authenticatorBridgeManager.startAddTotpLoginItemFlow(expectedUriString) } + } + private fun createViewModel() = ItemListingViewModel( authenticatorRepository = authenticatorRepository, + authenticatorBridgeManager = authenticatorBridgeManager, clipboardManager = clipboardManager, encodingManager = encodingManager, settingsRepository = settingsRepository, @@ -415,7 +469,10 @@ private val SHARED_VERIFICATION_ITEMS = listOf( ) private val LOCAL_DISPLAY_ITEMS = LOCAL_VERIFICATION_ITEMS.map { - it.toDisplayItem(AUTHENTICATOR_ALERT_SECONDS) + it.toDisplayItem( + AUTHENTICATOR_ALERT_SECONDS, + SharedVerificationCodesState.AppNotInstalled, + ) } private val SHARED_DISPLAY_ITEMS = SharedVerificationCodesState.Success(SHARED_VERIFICATION_ITEMS) diff --git a/app/src/test/java/com/bitwarden/authenticator/ui/authenticator/feature/itemlisting/ItemListingScreenTest.kt b/app/src/test/java/com/bitwarden/authenticator/ui/authenticator/feature/itemlisting/ItemListingScreenTest.kt index 93e1f82c02..0e6136006c 100644 --- a/app/src/test/java/com/bitwarden/authenticator/ui/authenticator/feature/itemlisting/ItemListingScreenTest.kt +++ b/app/src/test/java/com/bitwarden/authenticator/ui/authenticator/feature/itemlisting/ItemListingScreenTest.kt @@ -199,11 +199,64 @@ class ItemListingScreenTest : BaseComposeTest() { .performClick() verify { viewModel.trySendAction(ItemListingAction.SyncWithBitwardenDismiss) } } + + @Test + fun `clicking Move to Bitwarden should send MoveToBitwardenClick`() { + mutableStateFlow.value = DEFAULT_STATE.copy( + viewState = ItemListingState.ViewState.Content( + actionCard = ItemListingState.ActionCardState.None, + favoriteItems = emptyList(), + itemList = listOf(LOCAL_CODE), + sharedItems = SharedCodesDisplayState.Error, + ), + ) + composeTestRule + .onNodeWithText("issuer") + .performTouchInput { longClick() } + + composeTestRule + .onNodeWithText("Move to Bitwarden") + .performClick() + + verify { viewModel.trySendAction(ItemListingAction.MoveToBitwardenClick("1")) } + } + + @Test + fun `Move to Bitwarden long press action should not show when showMoveToBitwarden is false`() { + mutableStateFlow.value = DEFAULT_STATE.copy( + viewState = ItemListingState.ViewState.Content( + actionCard = ItemListingState.ActionCardState.None, + favoriteItems = emptyList(), + itemList = listOf(LOCAL_CODE.copy(showMoveToBitwarden = false)), + sharedItems = SharedCodesDisplayState.Error, + ), + ) + composeTestRule + .onNodeWithText("issuer") + .performTouchInput { longClick() } + + composeTestRule + .onNodeWithText("Move to Bitwarden") + .assertDoesNotExist() + } } private val APP_THEME = AppTheme.DEFAULT private const val ALERT_THRESHOLD = 7 +private val LOCAL_CODE = VerificationCodeDisplayItem( + id = "1", + issuer = "issuer", + label = null, + timeLeftSeconds = 10, + periodSeconds = 30, + alertThresholdSeconds = 7, + authCode = "123456", + favorite = false, + allowLongPressActions = true, + showMoveToBitwarden = true, +) + private val SHARED_ACCOUNTS_SECTION = SharedCodesDisplayState.SharedCodesAccountSection( label = "test@test.com".asText(), codes = listOf( @@ -217,6 +270,7 @@ private val SHARED_ACCOUNTS_SECTION = SharedCodesDisplayState.SharedCodesAccount authCode = "123456", favorite = false, allowLongPressActions = false, + showMoveToBitwarden = false, ), ), ) diff --git a/app/src/test/java/com/bitwarden/authenticator/ui/authenticator/feature/itemlisting/util/SharedVerificationCodesStateTest.kt b/app/src/test/java/com/bitwarden/authenticator/ui/authenticator/feature/itemlisting/util/SharedVerificationCodesStateTest.kt index 0223ef1563..f0d9b8a11d 100644 --- a/app/src/test/java/com/bitwarden/authenticator/ui/authenticator/feature/itemlisting/util/SharedVerificationCodesStateTest.kt +++ b/app/src/test/java/com/bitwarden/authenticator/ui/authenticator/feature/itemlisting/util/SharedVerificationCodesStateTest.kt @@ -76,6 +76,7 @@ class SharedVerificationCodesStateTest { favorite = false, allowLongPressActions = false, alertThresholdSeconds = ALERT_THRESHOLD, + showMoveToBitwarden = false, ), ), ), @@ -95,6 +96,7 @@ class SharedVerificationCodesStateTest { favorite = false, allowLongPressActions = false, alertThresholdSeconds = ALERT_THRESHOLD, + showMoveToBitwarden = false, ), ), ), diff --git a/app/src/test/java/com/bitwarden/authenticator/ui/authenticator/feature/itemlisting/util/VerificationCodeItemExtensionsTest.kt b/app/src/test/java/com/bitwarden/authenticator/ui/authenticator/feature/itemlisting/util/VerificationCodeItemExtensionsTest.kt index 51e4896c71..8e2d4409a7 100644 --- a/app/src/test/java/com/bitwarden/authenticator/ui/authenticator/feature/itemlisting/util/VerificationCodeItemExtensionsTest.kt +++ b/app/src/test/java/com/bitwarden/authenticator/ui/authenticator/feature/itemlisting/util/VerificationCodeItemExtensionsTest.kt @@ -2,6 +2,7 @@ package com.bitwarden.authenticator.ui.authenticator.feature.itemlisting.util import com.bitwarden.authenticator.data.authenticator.manager.util.createMockVerificationCodeItem import com.bitwarden.authenticator.data.authenticator.repository.model.AuthenticatorItem +import com.bitwarden.authenticator.data.authenticator.repository.model.SharedVerificationCodesState import com.bitwarden.authenticator.ui.authenticator.feature.itemlisting.model.VerificationCodeDisplayItem import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Test @@ -24,6 +25,7 @@ class VerificationCodeItemExtensionsTest { authCode = favoriteItem.code, favorite = (favoriteItem.source as AuthenticatorItem.Source.Local).isFavorite, allowLongPressActions = true, + showMoveToBitwarden = false, ) val expectedNonFavoriteItem = VerificationCodeDisplayItem( @@ -36,10 +38,97 @@ class VerificationCodeItemExtensionsTest { authCode = nonFavoriteItem.code, favorite = (nonFavoriteItem.source as AuthenticatorItem.Source.Local).isFavorite, allowLongPressActions = true, + showMoveToBitwarden = false, ) - assertEquals(expectedFavoriteItem, favoriteItem.toDisplayItem(alertThresholdSeconds)) - assertEquals(expectedNonFavoriteItem, nonFavoriteItem.toDisplayItem(alertThresholdSeconds)) + assertEquals( + expectedFavoriteItem, + favoriteItem.toDisplayItem( + alertThresholdSeconds = alertThresholdSeconds, + sharedVerificationCodesState = SharedVerificationCodesState.Error, + ), + ) + assertEquals( + expectedNonFavoriteItem, + nonFavoriteItem.toDisplayItem( + alertThresholdSeconds = alertThresholdSeconds, + sharedVerificationCodesState = SharedVerificationCodesState.Error, + ), + ) + } + + @Test + @Suppress("MaxLineLength") + fun `toDisplayItem should only showMoveToBitwarden when SharedVerificationCodesState is Success`() { + val alertThresholdSeconds = 7 + val item = createMockVerificationCodeItem(1) + val expectedDontShowMoveToBitwardenItem = + VerificationCodeDisplayItem( + id = item.id, + issuer = item.issuer, + label = item.accountName, + timeLeftSeconds = item.timeLeftSeconds, + periodSeconds = item.periodSeconds, + alertThresholdSeconds = alertThresholdSeconds, + authCode = item.code, + favorite = false, + allowLongPressActions = true, + showMoveToBitwarden = false, + ) + + assertEquals( + expectedDontShowMoveToBitwardenItem, + item.toDisplayItem( + alertThresholdSeconds = alertThresholdSeconds, + sharedVerificationCodesState = SharedVerificationCodesState.AppNotInstalled, + ), + ) + assertEquals( + expectedDontShowMoveToBitwardenItem, + item.toDisplayItem( + alertThresholdSeconds = alertThresholdSeconds, + sharedVerificationCodesState = SharedVerificationCodesState.Error, + ), + ) + assertEquals( + expectedDontShowMoveToBitwardenItem, + item.toDisplayItem( + alertThresholdSeconds = alertThresholdSeconds, + sharedVerificationCodesState = SharedVerificationCodesState.FeatureNotEnabled, + ), + ) + assertEquals( + expectedDontShowMoveToBitwardenItem, + item.toDisplayItem( + alertThresholdSeconds = alertThresholdSeconds, + sharedVerificationCodesState = SharedVerificationCodesState.Loading, + ), + ) + assertEquals( + expectedDontShowMoveToBitwardenItem, + item.toDisplayItem( + alertThresholdSeconds = alertThresholdSeconds, + sharedVerificationCodesState = SharedVerificationCodesState.OsVersionNotSupported, + ), + ) + assertEquals( + expectedDontShowMoveToBitwardenItem, + item.toDisplayItem( + alertThresholdSeconds = alertThresholdSeconds, + sharedVerificationCodesState = SharedVerificationCodesState.SyncNotEnabled, + ), + ) + + val expectedShouldShowMoveToBitwardenItem = expectedDontShowMoveToBitwardenItem.copy( + showMoveToBitwarden = true, + ) + assertEquals( + expectedShouldShowMoveToBitwardenItem, + item.toDisplayItem( + alertThresholdSeconds = alertThresholdSeconds, + sharedVerificationCodesState = SharedVerificationCodesState.Success(emptyList()), + ), + ) } @Test @@ -65,8 +154,15 @@ class VerificationCodeItemExtensionsTest { authCode = favoriteItem.code, favorite = false, allowLongPressActions = false, + showMoveToBitwarden = false, ) - assertEquals(expectedFavoriteItem, favoriteItem.toDisplayItem(alertThresholdSeconds)) + assertEquals( + expectedFavoriteItem, + favoriteItem.toDisplayItem( + alertThresholdSeconds = alertThresholdSeconds, + sharedVerificationCodesState = SharedVerificationCodesState.Error, + ), + ) } }