From 524e0941e440059ee6611f80e1338f4d8a07facd Mon Sep 17 00:00:00 2001 From: Martini Date: Tue, 20 Aug 2024 10:17:32 -0300 Subject: [PATCH] [BWA-53] Fix: Resolve issue with code copying in search results (#163) --- .../ui/authenticator/feature/search/ItemSearchContent.kt | 4 ++-- .../authenticator/feature/search/ItemSearchViewModel.kt | 9 ++++++--- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/app/src/main/kotlin/com/bitwarden/authenticator/ui/authenticator/feature/search/ItemSearchContent.kt b/app/src/main/kotlin/com/bitwarden/authenticator/ui/authenticator/feature/search/ItemSearchContent.kt index eb74076cdd..4cb73e414a 100644 --- a/app/src/main/kotlin/com/bitwarden/authenticator/ui/authenticator/feature/search/ItemSearchContent.kt +++ b/app/src/main/kotlin/com/bitwarden/authenticator/ui/authenticator/feature/search/ItemSearchContent.kt @@ -38,8 +38,8 @@ fun ItemSearchContent( alertThresholdSeconds = it.alertThresholdSeconds, supportingLabel = it.supportingLabel, startIcon = it.startIcon, - onCopyClick = { searchHandlers.onItemClick(it.id) }, - onItemClick = { searchHandlers.onItemClick(it.id) }, + onCopyClick = { searchHandlers.onItemClick(it.authCode) }, + onItemClick = { searchHandlers.onItemClick(it.authCode) }, ) } diff --git a/app/src/main/kotlin/com/bitwarden/authenticator/ui/authenticator/feature/search/ItemSearchViewModel.kt b/app/src/main/kotlin/com/bitwarden/authenticator/ui/authenticator/feature/search/ItemSearchViewModel.kt index 24d6ffc46c..7c5e38bb3d 100644 --- a/app/src/main/kotlin/com/bitwarden/authenticator/ui/authenticator/feature/search/ItemSearchViewModel.kt +++ b/app/src/main/kotlin/com/bitwarden/authenticator/ui/authenticator/feature/search/ItemSearchViewModel.kt @@ -5,6 +5,7 @@ import androidx.lifecycle.viewModelScope import com.bitwarden.authenticator.R import com.bitwarden.authenticator.data.authenticator.manager.model.VerificationCodeItem import com.bitwarden.authenticator.data.authenticator.repository.AuthenticatorRepository +import com.bitwarden.authenticator.data.platform.manager.clipboard.BitwardenClipboardManager import com.bitwarden.authenticator.data.platform.repository.model.DataState import com.bitwarden.authenticator.ui.platform.base.BaseViewModel import com.bitwarden.authenticator.ui.platform.base.util.Text @@ -25,6 +26,7 @@ import javax.inject.Inject */ @HiltViewModel class ItemSearchViewModel @Inject constructor( + private val clipboardManager: BitwardenClipboardManager, private val authenticatorRepository: AuthenticatorRepository, ) : BaseViewModel( @@ -59,9 +61,10 @@ class ItemSearchViewModel @Inject constructor( } is ItemSearchAction.ItemClick -> { + clipboardManager.setText(action.authCode) sendEvent( event = ItemSearchEvent.ShowToast( - message = "Item ${action.itemId} copied to clipboard".asText(), + message = R.string.value_has_been_copied.asText(action.authCode), ), ) } @@ -231,7 +234,7 @@ class ItemSearchViewModel @Inject constructor( private fun VerificationCodeItem.toDisplayItem(): ItemSearchState.DisplayItem = ItemSearchState.DisplayItem( id = id, - authCode = "", + authCode = code, accountName = username ?: "", issuer = issuer, periodSeconds = periodSeconds, @@ -345,7 +348,7 @@ sealed class ItemSearchAction { /** * User clicked a row item. */ - data class ItemClick(val itemId: String) : ItemSearchAction() + data class ItemClick(val authCode: String) : ItemSearchAction() /** * Models actions that the [ItemSearchViewModel] itself might send.