mirror of
https://github.com/bitwarden/android.git
synced 2026-03-21 05:40:45 -05:00
@@ -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,
|
||||
|
||||
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user