diff --git a/app/src/main/java/com/x8bit/bitwarden/ui/vault/feature/item/VaultItemViewModel.kt b/app/src/main/java/com/x8bit/bitwarden/ui/vault/feature/item/VaultItemViewModel.kt index 61a4852f02..795c978daa 100644 --- a/app/src/main/java/com/x8bit/bitwarden/ui/vault/feature/item/VaultItemViewModel.kt +++ b/app/src/main/java/com/x8bit/bitwarden/ui/vault/feature/item/VaultItemViewModel.kt @@ -19,7 +19,6 @@ import com.x8bit.bitwarden.data.platform.repository.model.DataState import com.x8bit.bitwarden.data.platform.repository.util.baseIconUrl import com.x8bit.bitwarden.data.platform.repository.util.combineDataStates import com.x8bit.bitwarden.data.platform.repository.util.mapNullable -import com.x8bit.bitwarden.data.platform.repository.util.takeUntilLoaded import com.x8bit.bitwarden.data.vault.manager.FileManager import com.x8bit.bitwarden.data.vault.repository.VaultRepository import com.x8bit.bitwarden.data.vault.repository.model.DeleteCipherResult @@ -79,6 +78,7 @@ class VaultItemViewModel @Inject constructor( vaultItemId = args.vaultItemId, cipherType = args.cipherType, viewState = VaultItemState.ViewState.Loading, + totpCodeItemData = null, dialog = null, baseIconUrl = environmentRepository.environment.environmentUrlData.baseIconUrl, isIconLoadingDisabled = settingsRepository.isIconLoadingDisabled, @@ -102,19 +102,9 @@ class VaultItemViewModel @Inject constructor( combine( vaultRepository.getVaultItemStateFlow(state.vaultItemId), authRepository.userStateFlow, - vaultRepository.getAuthCodeFlow(state.vaultItemId) - .takeUntilLoaded(), vaultRepository.collectionsStateFlow, vaultRepository.foldersStateFlow, - ) { cipherViewState, userState, authCodeState, collectionsState, folderState -> - val totpCodeData = authCodeState.data?.let { - TotpCodeItemData( - periodSeconds = it.periodSeconds, - timeLeftSeconds = it.timeLeftSeconds, - totpCode = it.totpCode, - verificationCode = it.code, - ) - } + ) { cipherViewState, userState, collectionsState, folderState -> VaultItemAction.Internal.VaultDataReceive( userState = userState, vaultDataState = combineDataStates( @@ -166,7 +156,6 @@ class VaultItemViewModel @Inject constructor( VaultItemStateData( cipher = cipherView, - totpCodeItemData = totpCodeData, canDelete = canDelete, canAssociateToCollections = canAssignToCollections, canEdit = canEdit, @@ -1221,7 +1210,7 @@ class VaultItemViewModel @Inject constructor( baseIconUrl = environmentRepository.environment.environmentUrlData.baseIconUrl, isIconLoadingDisabled = settingsRepository.isIconLoadingDisabled, relatedLocations = this.data?.relatedLocations.orEmpty().toImmutableList(), - totpCodeItemData = this.data?.totpCodeItemData + totpCodeItemData = state.totpCodeItemData ) ?: VaultItemState.ViewState.Error(message = errorText) @@ -1471,6 +1460,7 @@ data class VaultItemState( val vaultItemId: String, val cipherType: VaultItemCipherType, val viewState: ViewState, + val totpCodeItemData: TotpCodeItemData?, val dialog: DialogState?, val baseIconUrl: String, val isIconLoadingDisabled: Boolean, diff --git a/app/src/main/java/com/x8bit/bitwarden/ui/vault/feature/item/model/VaultItemStateData.kt b/app/src/main/java/com/x8bit/bitwarden/ui/vault/feature/item/model/VaultItemStateData.kt index 19d6986286..60a9b6d739 100644 --- a/app/src/main/java/com/x8bit/bitwarden/ui/vault/feature/item/model/VaultItemStateData.kt +++ b/app/src/main/java/com/x8bit/bitwarden/ui/vault/feature/item/model/VaultItemStateData.kt @@ -14,7 +14,6 @@ import kotlinx.collections.immutable.ImmutableList */ data class VaultItemStateData( val cipher: CipherView?, - val totpCodeItemData: TotpCodeItemData?, val canDelete: Boolean, val canAssociateToCollections: Boolean, val canEdit: Boolean,