Migrate VaultItem related locations to ImmutableList

This commit is contained in:
Patrick Honkonen
2025-02-24 17:06:23 -05:00
committed by David Perez
parent 7073124495
commit 6953d5e132
8 changed files with 142 additions and 126 deletions

View File

@@ -40,6 +40,8 @@ import com.x8bit.bitwarden.ui.vault.model.VaultCardBrand
import com.x8bit.bitwarden.ui.vault.model.VaultItemCipherType
import com.x8bit.bitwarden.ui.vault.model.VaultLinkedFieldType
import dagger.hilt.android.lifecycle.HiltViewModel
import kotlinx.collections.immutable.ImmutableList
import kotlinx.collections.immutable.toImmutableList
import kotlinx.coroutines.flow.combine
import kotlinx.coroutines.flow.launchIn
import kotlinx.coroutines.flow.map
@@ -160,6 +162,7 @@ class VaultItemViewModel @Inject constructor(
addAll(collections.map { VaultItemLocation.Collection(it) })
folderName?.let { add(VaultItemLocation.Folder(it)) }
}
.toImmutableList()
VaultItemStateData(
cipher = cipherView,
@@ -1197,7 +1200,7 @@ class VaultItemViewModel @Inject constructor(
canEdit = this.data?.canEdit == true,
baseIconUrl = environmentRepository.environment.environmentUrlData.baseIconUrl,
isIconLoadingDisabled = settingsRepository.isIconLoadingDisabled,
relatedLocations = this.data?.relatedLocations.orEmpty(),
relatedLocations = this.data?.relatedLocations.orEmpty().toImmutableList(),
)
?: VaultItemState.ViewState.Error(message = errorText)
@@ -1564,7 +1567,7 @@ data class VaultItemState(
val canEdit: Boolean,
val favorite: Boolean,
val iconData: IconData,
val relatedLocations: List<VaultItemLocation>,
val relatedLocations: ImmutableList<VaultItemLocation>,
) : Parcelable {
/**

View File

@@ -44,6 +44,9 @@ import com.x8bit.bitwarden.ui.platform.components.model.IconData
import com.x8bit.bitwarden.ui.platform.components.util.rememberVectorPainter
import com.x8bit.bitwarden.ui.platform.theme.BitwardenTheme
import com.x8bit.bitwarden.ui.vault.feature.item.model.VaultItemLocation
import kotlinx.collections.immutable.ImmutableList
import kotlinx.collections.immutable.persistentListOf
import kotlinx.collections.immutable.toImmutableList
/**
* The max number of items that can be displayed before the "show more" text is visible.
@@ -59,7 +62,7 @@ private const val EXPANDABLE_THRESHOLD = 2
fun ItemHeader(
value: String,
isFavorite: Boolean,
relatedLocations: List<VaultItemLocation>,
relatedLocations: ImmutableList<VaultItemLocation>,
iconData: IconData,
modifier: Modifier = Modifier,
iconTestTag: String? = null,
@@ -136,14 +139,16 @@ fun ItemHeader(
}
ExpandingItemLocationContent(
overflowLocations = relatedLocations.drop(EXPANDABLE_THRESHOLD),
overflowLocations = relatedLocations
.drop(EXPANDABLE_THRESHOLD)
.toImmutableList(),
)
}
}
@Composable
private fun ExpandingItemLocationContent(
overflowLocations: List<VaultItemLocation>,
overflowLocations: ImmutableList<VaultItemLocation>,
) {
var isExpanded by rememberSaveable { mutableStateOf(false) }
AnimatedVisibility(
@@ -252,7 +257,7 @@ private fun ItemHeader_LocalIcon_Preview() {
iconData = IconData.Local(
iconRes = R.drawable.ic_globe,
),
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
)
}
}
@@ -272,7 +277,7 @@ private fun ItemHeader_NetworkIcon_Preview() {
uri = "mockuri",
fallbackIconRes = R.drawable.ic_globe,
),
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
)
}
}
@@ -291,7 +296,7 @@ private fun ItemHeader_Organization_Preview() {
iconData = IconData.Local(
iconRes = R.drawable.ic_globe,
),
relatedLocations = listOf(
relatedLocations = persistentListOf(
VaultItemLocation.Organization("Stark Industries"),
),
)
@@ -312,7 +317,7 @@ private fun ItemNameField_Org_SingleCollection_Preview() {
iconData = IconData.Local(
iconRes = R.drawable.ic_globe,
),
relatedLocations = listOf(
relatedLocations = persistentListOf(
VaultItemLocation.Organization("Stark Industries"),
VaultItemLocation.Collection("Marketing"),
),
@@ -334,7 +339,7 @@ private fun ItemNameField_Org_MultiCollection_Preview() {
iconData = IconData.Local(
iconRes = R.drawable.ic_globe,
),
relatedLocations = listOf(
relatedLocations = persistentListOf(
VaultItemLocation.Organization("Stark Industries"),
VaultItemLocation.Collection("Marketing"),
VaultItemLocation.Collection("Product"),
@@ -357,7 +362,7 @@ private fun ItemNameField_Org_SingleCollection_Folder_Preview() {
iconData = IconData.Local(
iconRes = R.drawable.ic_note,
),
relatedLocations = listOf(
relatedLocations = persistentListOf(
VaultItemLocation.Organization("Stark Industries"),
VaultItemLocation.Collection("Marketing"),
VaultItemLocation.Folder("Competition"),

View File

@@ -1,6 +1,7 @@
package com.x8bit.bitwarden.ui.vault.feature.item.model
import com.bitwarden.vault.CipherView
import kotlinx.collections.immutable.ImmutableList
/**
* The state containing totp code item information and the cipher for the item.
@@ -18,5 +19,5 @@ data class VaultItemStateData(
val canDelete: Boolean,
val canAssociateToCollections: Boolean,
val canEdit: Boolean,
val relatedLocations: List<VaultItemLocation>,
val relatedLocations: ImmutableList<VaultItemLocation>,
)

View File

@@ -27,6 +27,7 @@ import com.x8bit.bitwarden.ui.vault.feature.vault.util.toLoginIconData
import com.x8bit.bitwarden.ui.vault.model.VaultCardBrand
import com.x8bit.bitwarden.ui.vault.model.VaultLinkedFieldType
import com.x8bit.bitwarden.ui.vault.model.findVaultCardBrandWithNameOrNull
import kotlinx.collections.immutable.ImmutableList
import java.time.Clock
private const val LAST_UPDATED_DATE_TIME_PATTERN: String = "M/d/yy hh:mm a"
@@ -48,7 +49,7 @@ fun CipherView.toViewState(
canEdit: Boolean,
baseIconUrl: String,
isIconLoadingDisabled: Boolean,
relatedLocations: List<VaultItemLocation>,
relatedLocations: ImmutableList<VaultItemLocation>,
): VaultItemState.ViewState =
VaultItemState.ViewState.Content(
common = VaultItemState.ViewState.Content.Common(

View File

@@ -53,6 +53,7 @@ import io.mockk.just
import io.mockk.mockk
import io.mockk.runs
import io.mockk.verify
import kotlinx.collections.immutable.persistentListOf
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.update
import org.junit.Assert.assertEquals
@@ -324,7 +325,7 @@ class VaultItemScreenTest : BaseComposeTest() {
DEFAULT_STATE.copy(
viewState = defaultViewState.copy(
common = DEFAULT_COMMON.copy(
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
),
),
)
@@ -338,7 +339,9 @@ class VaultItemScreenTest : BaseComposeTest() {
DEFAULT_STATE.copy(
viewState = defaultViewState.copy(
common = DEFAULT_COMMON.copy(
relatedLocations = listOf(VaultItemLocation.Collection("collection")),
relatedLocations = persistentListOf(
VaultItemLocation.Collection("collection"),
),
),
),
)
@@ -357,7 +360,7 @@ class VaultItemScreenTest : BaseComposeTest() {
DEFAULT_STATE.copy(
viewState = viewState.copy(
common = DEFAULT_COMMON.copy(
relatedLocations = listOf(
relatedLocations = persistentListOf(
VaultItemLocation.Organization(
organizationName,
),
@@ -374,7 +377,7 @@ class VaultItemScreenTest : BaseComposeTest() {
DEFAULT_STATE.copy(
viewState = viewState.copy(
common = DEFAULT_COMMON.copy(
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
),
),
)
@@ -392,7 +395,7 @@ class VaultItemScreenTest : BaseComposeTest() {
DEFAULT_STATE.copy(
viewState = viewState.copy(
common = DEFAULT_COMMON.copy(
relatedLocations = listOf(
relatedLocations = persistentListOf(
VaultItemLocation.Collection("My collection"),
),
),
@@ -407,7 +410,7 @@ class VaultItemScreenTest : BaseComposeTest() {
DEFAULT_STATE.copy(
viewState = viewState.copy(
common = DEFAULT_COMMON.copy(
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
),
),
)
@@ -425,7 +428,7 @@ class VaultItemScreenTest : BaseComposeTest() {
DEFAULT_STATE.copy(
viewState = viewState.copy(
common = DEFAULT_COMMON.copy(
relatedLocations = listOf(
relatedLocations = persistentListOf(
VaultItemLocation.Organization("My organization"),
VaultItemLocation.Collection("My collection"),
VaultItemLocation.Folder("My folder"),
@@ -452,7 +455,7 @@ class VaultItemScreenTest : BaseComposeTest() {
DEFAULT_STATE.copy(
viewState = viewState.copy(
common = DEFAULT_COMMON.copy(
relatedLocations = listOf(
relatedLocations = persistentListOf(
VaultItemLocation.Organization("My organization"),
VaultItemLocation.Collection("My collection"),
VaultItemLocation.Folder("My folder"),
@@ -2948,7 +2951,7 @@ private val DEFAULT_COMMON: VaultItemState.ViewState.Content.Common =
canEdit = true,
favorite = false,
iconData = IconData.Local(iconRes = R.drawable.ic_globe),
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
)
private val DEFAULT_PASSKEY = R.string.created_xy.asText(
@@ -3035,7 +3038,7 @@ private val EMPTY_COMMON: VaultItemState.ViewState.Content.Common =
canEdit = true,
favorite = false,
iconData = IconData.Local(iconRes = R.drawable.ic_globe),
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
)
private val EMPTY_LOGIN_TYPE: VaultItemState.ViewState.Content.ItemType.Login =

View File

@@ -56,6 +56,7 @@ import io.mockk.mockkStatic
import io.mockk.runs
import io.mockk.unmockkStatic
import io.mockk.verify
import kotlinx.collections.immutable.persistentListOf
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.test.runTest
import org.junit.jupiter.api.AfterEach
@@ -201,7 +202,7 @@ class VaultItemViewModelTest : BaseViewModelTest() {
canEdit = true,
baseIconUrl = Environment.Us.environmentUrlData.baseIconUrl,
isIconLoadingDisabled = false,
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
)
} returns DEFAULT_VIEW_STATE
mutableVaultItemFlow.value = DataState.Loaded(data = mockCipherView)
@@ -231,7 +232,7 @@ class VaultItemViewModelTest : BaseViewModelTest() {
canEdit = true,
baseIconUrl = Environment.Us.environmentUrlData.baseIconUrl,
isIconLoadingDisabled = false,
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
)
}
}
@@ -254,7 +255,7 @@ class VaultItemViewModelTest : BaseViewModelTest() {
canEdit = true,
baseIconUrl = Environment.Us.environmentUrlData.baseIconUrl,
isIconLoadingDisabled = false,
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
)
} returns loginState
@@ -303,7 +304,7 @@ class VaultItemViewModelTest : BaseViewModelTest() {
canEdit = true,
baseIconUrl = Environment.Us.environmentUrlData.baseIconUrl,
isIconLoadingDisabled = false,
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
)
} returns loginState
@@ -341,7 +342,7 @@ class VaultItemViewModelTest : BaseViewModelTest() {
canEdit = true,
baseIconUrl = Environment.Us.environmentUrlData.baseIconUrl,
isIconLoadingDisabled = false,
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
)
} returns loginViewState
mutableVaultItemFlow.value = DataState.Loaded(data = mockCipherView)
@@ -390,7 +391,7 @@ class VaultItemViewModelTest : BaseViewModelTest() {
canEdit = true,
baseIconUrl = Environment.Us.environmentUrlData.baseIconUrl,
isIconLoadingDisabled = false,
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
)
} returns loginViewState
mutableVaultItemFlow.value = DataState.Loaded(data = mockCipherView)
@@ -442,7 +443,7 @@ class VaultItemViewModelTest : BaseViewModelTest() {
canEdit = true,
baseIconUrl = Environment.Us.environmentUrlData.baseIconUrl,
isIconLoadingDisabled = false,
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
)
} returns loginViewState
mutableVaultItemFlow.value = DataState.Loaded(data = mockCipherView)
@@ -486,7 +487,7 @@ class VaultItemViewModelTest : BaseViewModelTest() {
canEdit = true,
baseIconUrl = Environment.Us.environmentUrlData.baseIconUrl,
isIconLoadingDisabled = false,
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
)
} returns DEFAULT_VIEW_STATE
mutableVaultItemFlow.value = DataState.Loaded(data = mockCipherView)
@@ -525,7 +526,7 @@ class VaultItemViewModelTest : BaseViewModelTest() {
canEdit = true,
baseIconUrl = Environment.Us.environmentUrlData.baseIconUrl,
isIconLoadingDisabled = false,
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
)
} returns viewState
mutableVaultItemFlow.value = DataState.Loaded(data = mockCipherView)
@@ -568,7 +569,7 @@ class VaultItemViewModelTest : BaseViewModelTest() {
canEdit = true,
baseIconUrl = Environment.Us.environmentUrlData.baseIconUrl,
isIconLoadingDisabled = false,
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
)
} returns DEFAULT_VIEW_STATE
mutableVaultItemFlow.value = DataState.Loaded(data = mockCipherView)
@@ -614,7 +615,7 @@ class VaultItemViewModelTest : BaseViewModelTest() {
canEdit = true,
baseIconUrl = Environment.Us.environmentUrlData.baseIconUrl,
isIconLoadingDisabled = false,
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
)
} returns DEFAULT_VIEW_STATE
mutableVaultItemFlow.value = DataState.Loaded(data = mockCipherView)
@@ -669,7 +670,7 @@ class VaultItemViewModelTest : BaseViewModelTest() {
canEdit = true,
baseIconUrl = Environment.Us.environmentUrlData.baseIconUrl,
isIconLoadingDisabled = false,
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
)
} returns DEFAULT_VIEW_STATE
mutableVaultItemFlow.value = DataState.Loaded(data = mockCipherView)
@@ -707,7 +708,7 @@ class VaultItemViewModelTest : BaseViewModelTest() {
canEdit = true,
baseIconUrl = Environment.Us.environmentUrlData.baseIconUrl,
isIconLoadingDisabled = false,
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
)
} returns loginViewState
mutableVaultItemFlow.value = DataState.Loaded(data = mockCipherView)
@@ -730,7 +731,7 @@ class VaultItemViewModelTest : BaseViewModelTest() {
canEdit = true,
baseIconUrl = Environment.Us.environmentUrlData.baseIconUrl,
isIconLoadingDisabled = false,
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
)
}
assertEquals(
@@ -762,7 +763,7 @@ class VaultItemViewModelTest : BaseViewModelTest() {
totpCodeItemData = null,
baseIconUrl = Environment.Us.environmentUrlData.baseIconUrl,
isIconLoadingDisabled = false,
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
)
} returns loginViewState
@@ -831,7 +832,7 @@ class VaultItemViewModelTest : BaseViewModelTest() {
totpCodeItemData = null,
baseIconUrl = Environment.Us.environmentUrlData.baseIconUrl,
isIconLoadingDisabled = false,
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
)
} returns loginViewState
@@ -891,7 +892,7 @@ class VaultItemViewModelTest : BaseViewModelTest() {
totpCodeItemData = null,
baseIconUrl = Environment.Us.environmentUrlData.baseIconUrl,
isIconLoadingDisabled = false,
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
)
} returns loginViewState
@@ -962,7 +963,7 @@ class VaultItemViewModelTest : BaseViewModelTest() {
totpCodeItemData = null,
baseIconUrl = Environment.Us.environmentUrlData.baseIconUrl,
isIconLoadingDisabled = false,
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
)
} returns DEFAULT_VIEW_STATE
mutableVaultItemFlow.value = DataState.Loaded(data = mockCipherView)
@@ -992,7 +993,7 @@ class VaultItemViewModelTest : BaseViewModelTest() {
totpCodeItemData = null,
baseIconUrl = Environment.Us.environmentUrlData.baseIconUrl,
isIconLoadingDisabled = false,
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
)
}
}
@@ -1012,7 +1013,7 @@ class VaultItemViewModelTest : BaseViewModelTest() {
totpCodeItemData = null,
baseIconUrl = Environment.Us.environmentUrlData.baseIconUrl,
isIconLoadingDisabled = false,
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
)
} returns createViewState(common = DEFAULT_COMMON.copy(requiresReprompt = false))
every { clipboardManager.setText(text = field) } just runs
@@ -1036,7 +1037,7 @@ class VaultItemViewModelTest : BaseViewModelTest() {
totpCodeItemData = null,
baseIconUrl = Environment.Us.environmentUrlData.baseIconUrl,
isIconLoadingDisabled = false,
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
)
organizationEventManager.trackEvent(
event = OrganizationEvent.CipherClientCopiedHiddenField(
@@ -1080,7 +1081,7 @@ class VaultItemViewModelTest : BaseViewModelTest() {
totpCodeItemData = null,
baseIconUrl = Environment.Us.environmentUrlData.baseIconUrl,
isIconLoadingDisabled = false,
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
)
} returns DEFAULT_VIEW_STATE
mutableVaultItemFlow.value = DataState.Loaded(data = mockCipherView)
@@ -1118,7 +1119,7 @@ class VaultItemViewModelTest : BaseViewModelTest() {
totpCodeItemData = null,
baseIconUrl = Environment.Us.environmentUrlData.baseIconUrl,
isIconLoadingDisabled = false,
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
)
}
}
@@ -1156,7 +1157,7 @@ class VaultItemViewModelTest : BaseViewModelTest() {
canEdit = true,
baseIconUrl = Environment.Us.environmentUrlData.baseIconUrl,
isIconLoadingDisabled = false,
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
)
} returns loginViewState
mutableVaultItemFlow.value = DataState.Loaded(data = mockCipherView)
@@ -1194,7 +1195,7 @@ class VaultItemViewModelTest : BaseViewModelTest() {
totpCodeItemData = null,
baseIconUrl = Environment.Us.environmentUrlData.baseIconUrl,
isIconLoadingDisabled = false,
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
)
organizationEventManager.trackEvent(
event = OrganizationEvent.CipherClientToggledHiddenFieldVisible(
@@ -1219,7 +1220,7 @@ class VaultItemViewModelTest : BaseViewModelTest() {
totpCodeItemData = null,
baseIconUrl = Environment.Us.environmentUrlData.baseIconUrl,
isIconLoadingDisabled = false,
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
)
} returns DEFAULT_VIEW_STATE
mutableVaultItemFlow.value = DataState.Loaded(data = mockCipherView)
@@ -1249,7 +1250,7 @@ class VaultItemViewModelTest : BaseViewModelTest() {
totpCodeItemData = null,
baseIconUrl = Environment.Us.environmentUrlData.baseIconUrl,
isIconLoadingDisabled = false,
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
)
}
}
@@ -1273,7 +1274,7 @@ class VaultItemViewModelTest : BaseViewModelTest() {
totpCodeItemData = null,
baseIconUrl = Environment.Us.environmentUrlData.baseIconUrl,
isIconLoadingDisabled = false,
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
)
} returns loginViewState
mutableVaultItemFlow.value = DataState.Loaded(data = mockCipherView)
@@ -1313,7 +1314,7 @@ class VaultItemViewModelTest : BaseViewModelTest() {
totpCodeItemData = null,
baseIconUrl = Environment.Us.environmentUrlData.baseIconUrl,
isIconLoadingDisabled = false,
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
)
} returns loginViewState
mutableVaultItemFlow.value = DataState.Loaded(data = mockCipherView)
@@ -1345,7 +1346,7 @@ class VaultItemViewModelTest : BaseViewModelTest() {
totpCodeItemData = null,
baseIconUrl = Environment.Us.environmentUrlData.baseIconUrl,
isIconLoadingDisabled = false,
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
)
}
}
@@ -1373,7 +1374,7 @@ class VaultItemViewModelTest : BaseViewModelTest() {
totpCodeItemData = null,
baseIconUrl = Environment.Us.environmentUrlData.baseIconUrl,
isIconLoadingDisabled = false,
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
)
} returns loginViewState
mutableVaultItemFlow.value = DataState.Loaded(data = mockCipherView)
@@ -1427,7 +1428,7 @@ class VaultItemViewModelTest : BaseViewModelTest() {
totpCodeItemData = null,
baseIconUrl = Environment.Us.environmentUrlData.baseIconUrl,
isIconLoadingDisabled = false,
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
)
} returns DEFAULT_VIEW_STATE
mutableVaultItemFlow.value = DataState.Loaded(data = mockCipherView)
@@ -1457,7 +1458,7 @@ class VaultItemViewModelTest : BaseViewModelTest() {
totpCodeItemData = null,
baseIconUrl = Environment.Us.environmentUrlData.baseIconUrl,
isIconLoadingDisabled = false,
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
)
}
}
@@ -1481,7 +1482,7 @@ class VaultItemViewModelTest : BaseViewModelTest() {
totpCodeItemData = null,
baseIconUrl = Environment.Us.environmentUrlData.baseIconUrl,
isIconLoadingDisabled = false,
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
)
} returns loginViewState
mutableVaultItemFlow.value = DataState.Loaded(data = mockCipherView)
@@ -1519,7 +1520,7 @@ class VaultItemViewModelTest : BaseViewModelTest() {
totpCodeItemData = null,
baseIconUrl = Environment.Us.environmentUrlData.baseIconUrl,
isIconLoadingDisabled = false,
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
)
} returns DEFAULT_VIEW_STATE
mutableVaultItemFlow.value = DataState.Loaded(data = mockCipherView)
@@ -1549,7 +1550,7 @@ class VaultItemViewModelTest : BaseViewModelTest() {
totpCodeItemData = null,
baseIconUrl = Environment.Us.environmentUrlData.baseIconUrl,
isIconLoadingDisabled = false,
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
)
}
}
@@ -1573,7 +1574,7 @@ class VaultItemViewModelTest : BaseViewModelTest() {
totpCodeItemData = null,
baseIconUrl = Environment.Us.environmentUrlData.baseIconUrl,
isIconLoadingDisabled = false,
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
)
} returns loginViewState
mutableVaultItemFlow.value = DataState.Loaded(data = mockCipherView)
@@ -1621,7 +1622,7 @@ class VaultItemViewModelTest : BaseViewModelTest() {
totpCodeItemData = null,
baseIconUrl = Environment.Us.environmentUrlData.baseIconUrl,
isIconLoadingDisabled = false,
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
)
} returns loginViewState
mutableVaultItemFlow.value = DataState.Loaded(data = mockCipherView)
@@ -1683,7 +1684,7 @@ class VaultItemViewModelTest : BaseViewModelTest() {
totpCodeItemData = null,
baseIconUrl = Environment.Us.environmentUrlData.baseIconUrl,
isIconLoadingDisabled = false,
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
)
} returns loginViewState
mutableVaultItemFlow.value = DataState.Loaded(data = mockCipherView)
@@ -1754,7 +1755,7 @@ class VaultItemViewModelTest : BaseViewModelTest() {
totpCodeItemData = null,
baseIconUrl = Environment.Us.environmentUrlData.baseIconUrl,
isIconLoadingDisabled = false,
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
)
} returns loginViewState
mutableVaultItemFlow.value = DataState.Loaded(data = mockCipherView)
@@ -1926,7 +1927,7 @@ class VaultItemViewModelTest : BaseViewModelTest() {
canEdit = true,
baseIconUrl = Environment.Us.environmentUrlData.baseIconUrl,
isIconLoadingDisabled = false,
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
)
} returns DEFAULT_VIEW_STATE
@@ -1972,7 +1973,7 @@ class VaultItemViewModelTest : BaseViewModelTest() {
totpCodeItemData = createTotpCodeData(),
baseIconUrl = Environment.Us.environmentUrlData.baseIconUrl,
isIconLoadingDisabled = false,
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
)
} returns DEFAULT_VIEW_STATE
mutableVaultItemFlow.value = DataState.Loaded(data = mockCipherView)
@@ -2018,7 +2019,7 @@ class VaultItemViewModelTest : BaseViewModelTest() {
totpCodeItemData = createTotpCodeData(),
baseIconUrl = Environment.Us.environmentUrlData.baseIconUrl,
isIconLoadingDisabled = false,
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
)
}
coVerify(exactly = 1) {
@@ -2041,7 +2042,7 @@ class VaultItemViewModelTest : BaseViewModelTest() {
totpCodeItemData = createTotpCodeData(),
baseIconUrl = Environment.Us.environmentUrlData.baseIconUrl,
isIconLoadingDisabled = false,
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
)
} returns DEFAULT_VIEW_STATE
mutableVaultItemFlow.value = DataState.Loaded(data = mockCipherView)
@@ -2074,7 +2075,7 @@ class VaultItemViewModelTest : BaseViewModelTest() {
totpCodeItemData = createTotpCodeData(),
baseIconUrl = Environment.Us.environmentUrlData.baseIconUrl,
isIconLoadingDisabled = false,
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
)
}
}
@@ -2094,7 +2095,7 @@ class VaultItemViewModelTest : BaseViewModelTest() {
totpCodeItemData = createTotpCodeData(),
baseIconUrl = Environment.Us.environmentUrlData.baseIconUrl,
isIconLoadingDisabled = false,
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
)
} returns createViewState(common = DEFAULT_COMMON.copy(requiresReprompt = false))
mutableVaultItemFlow.value = DataState.Loaded(data = mockCipherView)
@@ -2120,7 +2121,7 @@ class VaultItemViewModelTest : BaseViewModelTest() {
totpCodeItemData = createTotpCodeData(),
baseIconUrl = Environment.Us.environmentUrlData.baseIconUrl,
isIconLoadingDisabled = false,
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
)
}
}
@@ -2176,7 +2177,7 @@ class VaultItemViewModelTest : BaseViewModelTest() {
totpCodeItemData = createTotpCodeData(),
baseIconUrl = Environment.Us.environmentUrlData.baseIconUrl,
isIconLoadingDisabled = false,
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
)
} returns createViewState(common = DEFAULT_COMMON.copy(requiresReprompt = false))
mutableVaultItemFlow.value = DataState.Loaded(data = mockCipherView)
@@ -2202,7 +2203,7 @@ class VaultItemViewModelTest : BaseViewModelTest() {
canEdit = true,
baseIconUrl = Environment.Us.environmentUrlData.baseIconUrl,
isIconLoadingDisabled = false,
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
)
}
}
@@ -2246,7 +2247,7 @@ class VaultItemViewModelTest : BaseViewModelTest() {
canEdit = true,
baseIconUrl = Environment.Us.environmentUrlData.baseIconUrl,
isIconLoadingDisabled = false,
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
)
} returns DEFAULT_VIEW_STATE
mutableVaultItemFlow.value = DataState.Loaded(data = mockCipherView)
@@ -2277,7 +2278,7 @@ class VaultItemViewModelTest : BaseViewModelTest() {
canEdit = true,
baseIconUrl = Environment.Us.environmentUrlData.baseIconUrl,
isIconLoadingDisabled = false,
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
)
}
}
@@ -2297,7 +2298,7 @@ class VaultItemViewModelTest : BaseViewModelTest() {
canEdit = true,
baseIconUrl = Environment.Us.environmentUrlData.baseIconUrl,
isIconLoadingDisabled = false,
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
)
}
.returns(
@@ -2330,7 +2331,7 @@ class VaultItemViewModelTest : BaseViewModelTest() {
canEdit = true,
baseIconUrl = Environment.Us.environmentUrlData.baseIconUrl,
isIconLoadingDisabled = false,
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
)
}
}
@@ -2351,7 +2352,7 @@ class VaultItemViewModelTest : BaseViewModelTest() {
canEdit = true,
baseIconUrl = Environment.Us.environmentUrlData.baseIconUrl,
isIconLoadingDisabled = false,
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
)
} returns DEFAULT_VIEW_STATE
mutableVaultItemFlow.value = DataState.Loaded(data = mockCipherView)
@@ -2386,7 +2387,7 @@ class VaultItemViewModelTest : BaseViewModelTest() {
canEdit = true,
baseIconUrl = Environment.Us.environmentUrlData.baseIconUrl,
isIconLoadingDisabled = false,
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
)
}
}
@@ -2410,7 +2411,7 @@ class VaultItemViewModelTest : BaseViewModelTest() {
canEdit = true,
baseIconUrl = Environment.Us.environmentUrlData.baseIconUrl,
isIconLoadingDisabled = false,
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
)
} returns loginViewState
mutableVaultItemFlow.value = DataState.Loaded(data = mockCipherView)
@@ -2448,7 +2449,7 @@ class VaultItemViewModelTest : BaseViewModelTest() {
canEdit = true,
baseIconUrl = Environment.Us.environmentUrlData.baseIconUrl,
isIconLoadingDisabled = false,
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
)
organizationEventManager.trackEvent(
event = OrganizationEvent.CipherClientToggledPasswordVisible(
@@ -2487,7 +2488,7 @@ class VaultItemViewModelTest : BaseViewModelTest() {
canEdit = true,
baseIconUrl = Environment.Us.environmentUrlData.baseIconUrl,
isIconLoadingDisabled = false,
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
)
} returns CARD_VIEW_STATE
mutableVaultItemFlow.value = DataState.Loaded(data = mockCipherView)
@@ -2519,7 +2520,7 @@ class VaultItemViewModelTest : BaseViewModelTest() {
canEdit = true,
baseIconUrl = Environment.Us.environmentUrlData.baseIconUrl,
isIconLoadingDisabled = false,
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
)
}
}
@@ -2539,7 +2540,7 @@ class VaultItemViewModelTest : BaseViewModelTest() {
canEdit = true,
baseIconUrl = Environment.Us.environmentUrlData.baseIconUrl,
isIconLoadingDisabled = false,
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
)
} returns createViewState(
common = DEFAULT_COMMON.copy(requiresReprompt = false),
@@ -2567,7 +2568,7 @@ class VaultItemViewModelTest : BaseViewModelTest() {
canEdit = true,
baseIconUrl = Environment.Us.environmentUrlData.baseIconUrl,
isIconLoadingDisabled = false,
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
)
}
}
@@ -2587,7 +2588,7 @@ class VaultItemViewModelTest : BaseViewModelTest() {
canEdit = true,
baseIconUrl = Environment.Us.environmentUrlData.baseIconUrl,
isIconLoadingDisabled = false,
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
)
} returns CARD_VIEW_STATE
mutableVaultItemFlow.value = DataState.Loaded(data = mockCipherView)
@@ -2619,7 +2620,7 @@ class VaultItemViewModelTest : BaseViewModelTest() {
canEdit = true,
baseIconUrl = Environment.Us.environmentUrlData.baseIconUrl,
isIconLoadingDisabled = false,
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
)
}
}
@@ -2639,7 +2640,7 @@ class VaultItemViewModelTest : BaseViewModelTest() {
canEdit = true,
baseIconUrl = Environment.Us.environmentUrlData.baseIconUrl,
isIconLoadingDisabled = false,
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
)
} returns createViewState(
common = DEFAULT_COMMON.copy(requiresReprompt = false),
@@ -2670,7 +2671,7 @@ class VaultItemViewModelTest : BaseViewModelTest() {
canEdit = true,
baseIconUrl = Environment.Us.environmentUrlData.baseIconUrl,
isIconLoadingDisabled = false,
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
)
}
}
@@ -2690,7 +2691,7 @@ class VaultItemViewModelTest : BaseViewModelTest() {
canEdit = true,
baseIconUrl = Environment.Us.environmentUrlData.baseIconUrl,
isIconLoadingDisabled = false,
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
)
} returns CARD_VIEW_STATE
mutableVaultItemFlow.value = DataState.Loaded(data = mockCipherView)
@@ -2722,7 +2723,7 @@ class VaultItemViewModelTest : BaseViewModelTest() {
canEdit = true,
baseIconUrl = Environment.Us.environmentUrlData.baseIconUrl,
isIconLoadingDisabled = false,
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
)
}
}
@@ -2742,7 +2743,7 @@ class VaultItemViewModelTest : BaseViewModelTest() {
canEdit = true,
baseIconUrl = Environment.Us.environmentUrlData.baseIconUrl,
isIconLoadingDisabled = false,
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
)
} returns createViewState(
common = DEFAULT_COMMON.copy(requiresReprompt = false),
@@ -2770,7 +2771,7 @@ class VaultItemViewModelTest : BaseViewModelTest() {
canEdit = true,
baseIconUrl = Environment.Us.environmentUrlData.baseIconUrl,
isIconLoadingDisabled = false,
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
)
}
}
@@ -2790,7 +2791,7 @@ class VaultItemViewModelTest : BaseViewModelTest() {
canEdit = true,
baseIconUrl = Environment.Us.environmentUrlData.baseIconUrl,
isIconLoadingDisabled = false,
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
)
} returns CARD_VIEW_STATE
mutableVaultItemFlow.value = DataState.Loaded(data = mockCipherView)
@@ -2822,7 +2823,7 @@ class VaultItemViewModelTest : BaseViewModelTest() {
canEdit = true,
baseIconUrl = Environment.Us.environmentUrlData.baseIconUrl,
isIconLoadingDisabled = false,
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
)
}
}
@@ -2841,7 +2842,7 @@ class VaultItemViewModelTest : BaseViewModelTest() {
canEdit = true,
baseIconUrl = Environment.Us.environmentUrlData.baseIconUrl,
isIconLoadingDisabled = false,
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
)
} returns createViewState(
common = DEFAULT_COMMON.copy(requiresReprompt = false),
@@ -2872,7 +2873,7 @@ class VaultItemViewModelTest : BaseViewModelTest() {
canEdit = true,
baseIconUrl = Environment.Us.environmentUrlData.baseIconUrl,
isIconLoadingDisabled = false,
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
)
}
}
@@ -2904,7 +2905,7 @@ class VaultItemViewModelTest : BaseViewModelTest() {
canEdit = true,
baseIconUrl = Environment.Us.environmentUrlData.baseIconUrl,
isIconLoadingDisabled = false,
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
)
} returns SSH_KEY_VIEW_STATE
mutableVaultItemFlow.value = DataState.Loaded(data = mockCipherView)
@@ -2942,7 +2943,7 @@ class VaultItemViewModelTest : BaseViewModelTest() {
canEdit = true,
baseIconUrl = Environment.Us.environmentUrlData.baseIconUrl,
isIconLoadingDisabled = false,
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
)
} returns sshKeyViewState
mutableVaultItemFlow.value = DataState.Loaded(data = mockCipherView)
@@ -2976,7 +2977,7 @@ class VaultItemViewModelTest : BaseViewModelTest() {
canEdit = true,
baseIconUrl = Environment.Us.environmentUrlData.baseIconUrl,
isIconLoadingDisabled = false,
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
)
}
}
@@ -2997,7 +2998,7 @@ class VaultItemViewModelTest : BaseViewModelTest() {
canEdit = true,
baseIconUrl = Environment.Us.environmentUrlData.baseIconUrl,
isIconLoadingDisabled = false,
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
)
} returns SSH_KEY_VIEW_STATE
mutableVaultItemFlow.value = DataState.Loaded(data = mockCipherView)
@@ -3030,7 +3031,7 @@ class VaultItemViewModelTest : BaseViewModelTest() {
canEdit = true,
baseIconUrl = Environment.Us.environmentUrlData.baseIconUrl,
isIconLoadingDisabled = false,
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
)
}
}
@@ -3050,7 +3051,7 @@ class VaultItemViewModelTest : BaseViewModelTest() {
canEdit = true,
baseIconUrl = Environment.Us.environmentUrlData.baseIconUrl,
isIconLoadingDisabled = false,
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
)
} returns createViewState(
common = DEFAULT_COMMON.copy(requiresReprompt = false),
@@ -3086,7 +3087,7 @@ class VaultItemViewModelTest : BaseViewModelTest() {
canEdit = true,
baseIconUrl = Environment.Us.environmentUrlData.baseIconUrl,
isIconLoadingDisabled = false,
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
)
} returns SSH_KEY_VIEW_STATE
mutableVaultItemFlow.value = DataState.Loaded(data = mockCipherView)
@@ -3127,7 +3128,7 @@ class VaultItemViewModelTest : BaseViewModelTest() {
canEdit = true,
baseIconUrl = Environment.Us.environmentUrlData.baseIconUrl,
isIconLoadingDisabled = false,
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
)
} returns SSH_KEY_VIEW_STATE
mutableVaultItemFlow.value = DataState.Loaded(data = mockCipherView)
@@ -3168,7 +3169,7 @@ class VaultItemViewModelTest : BaseViewModelTest() {
canEdit = true,
baseIconUrl = Environment.Us.environmentUrlData.baseIconUrl,
isIconLoadingDisabled = false,
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
)
} returns IDENTITY_VIEW_STATE
mutableVaultItemFlow.value = DataState.Loaded(data = mockCipherView)
@@ -3323,7 +3324,7 @@ class VaultItemViewModelTest : BaseViewModelTest() {
canEdit = true,
baseIconUrl = Environment.Us.environmentUrlData.baseIconUrl,
isIconLoadingDisabled = false,
relatedLocations = listOf(
relatedLocations = persistentListOf(
VaultItemLocation.Organization("mockOrganizationName"),
VaultItemLocation.Collection("mockName-1"),
VaultItemLocation.Folder("mockName-1"),
@@ -3394,7 +3395,7 @@ class VaultItemViewModelTest : BaseViewModelTest() {
canEdit = true,
baseIconUrl = Environment.Us.environmentUrlData.baseIconUrl,
isIconLoadingDisabled = false,
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
)
} returns viewState
val viewModel = createViewModel(state = null)
@@ -3439,7 +3440,7 @@ class VaultItemViewModelTest : BaseViewModelTest() {
canEdit = true,
baseIconUrl = Environment.Us.environmentUrlData.baseIconUrl,
isIconLoadingDisabled = false,
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
)
} returns viewState
val viewModel = createViewModel(state = null)
@@ -3479,7 +3480,7 @@ class VaultItemViewModelTest : BaseViewModelTest() {
canEdit = true,
baseIconUrl = Environment.Us.environmentUrlData.baseIconUrl,
isIconLoadingDisabled = false,
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
)
} returns viewState
val viewModel = createViewModel(state = null)
@@ -3736,7 +3737,7 @@ class VaultItemViewModelTest : BaseViewModelTest() {
canEdit = true,
favorite = false,
iconData = IconData.Local(R.drawable.ic_globe),
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
)
private val DEFAULT_VIEW_STATE: VaultItemState.ViewState.Content =

View File

@@ -10,6 +10,7 @@ import io.mockk.every
import io.mockk.mockk
import io.mockk.mockkStatic
import io.mockk.unmockkStatic
import kotlinx.collections.immutable.persistentListOf
import org.junit.jupiter.api.AfterEach
import org.junit.jupiter.api.Assertions.assertEquals
import org.junit.jupiter.api.BeforeEach
@@ -70,7 +71,7 @@ class CipherViewExtensionsTest {
canEdit = true,
baseIconUrl = "https://example.com/",
isIconLoadingDisabled = true,
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
)
assertEquals(
@@ -111,7 +112,7 @@ class CipherViewExtensionsTest {
canEdit = true,
baseIconUrl = "https://example.com/",
isIconLoadingDisabled = true,
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
)
assertEquals(
@@ -145,7 +146,7 @@ class CipherViewExtensionsTest {
canEdit = true,
baseIconUrl = "https://example.com/",
isIconLoadingDisabled = true,
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
)
assertEquals(
@@ -179,7 +180,7 @@ class CipherViewExtensionsTest {
canEdit = true,
baseIconUrl = "https://example.com/",
isIconLoadingDisabled = true,
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
)
assertEquals(
@@ -219,7 +220,7 @@ class CipherViewExtensionsTest {
canEdit = true,
baseIconUrl = "https://example.com/",
isIconLoadingDisabled = true,
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
)
assertEquals(
@@ -249,7 +250,7 @@ class CipherViewExtensionsTest {
canEdit = true,
baseIconUrl = "https://example.com/",
isIconLoadingDisabled = true,
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
)
assertEquals(
@@ -277,7 +278,7 @@ class CipherViewExtensionsTest {
canEdit = true,
baseIconUrl = "https://example.com/",
isIconLoadingDisabled = true,
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
)
assertEquals(
@@ -308,7 +309,7 @@ class CipherViewExtensionsTest {
canEdit = true,
baseIconUrl = "https://example.com/",
isIconLoadingDisabled = true,
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
)
assertEquals(
@@ -349,7 +350,7 @@ class CipherViewExtensionsTest {
canEdit = true,
baseIconUrl = "https://example.com/",
isIconLoadingDisabled = true,
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
)
assertEquals(
@@ -395,7 +396,7 @@ class CipherViewExtensionsTest {
canEdit = true,
baseIconUrl = "https://example.com/",
isIconLoadingDisabled = true,
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
)
assertEquals(
@@ -443,7 +444,7 @@ class CipherViewExtensionsTest {
canEdit = true,
baseIconUrl = "https://example.com/",
isIconLoadingDisabled = true,
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
)
assertEquals(
@@ -475,7 +476,7 @@ class CipherViewExtensionsTest {
canEdit = true,
baseIconUrl = "https://example.com/",
isIconLoadingDisabled = true,
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
)
val expectedState = VaultItemState.ViewState.Content(
@@ -505,7 +506,7 @@ class CipherViewExtensionsTest {
canEdit = true,
baseIconUrl = "https://example.com/",
isIconLoadingDisabled = true,
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
)
assertEquals(
VaultItemState.ViewState.Content(
@@ -552,7 +553,7 @@ class CipherViewExtensionsTest {
canEdit = true,
baseIconUrl = "https://example.com/",
isIconLoadingDisabled = true,
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
)
assertEquals(
it.value,

View File

@@ -19,6 +19,7 @@ import com.x8bit.bitwarden.ui.platform.components.model.IconData
import com.x8bit.bitwarden.ui.vault.feature.item.VaultItemState
import com.x8bit.bitwarden.ui.vault.feature.item.model.TotpCodeItemData
import com.x8bit.bitwarden.ui.vault.model.VaultLinkedFieldType
import kotlinx.collections.immutable.persistentListOf
import java.time.Instant
const val DEFAULT_IDENTITY_NAME: String = "Mr firstName middleName lastName"
@@ -177,7 +178,7 @@ fun createCommonContent(
canAssignToCollections = true,
canEdit = true,
favorite = false,
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
iconData = IconData.Local(iconResId),
)
} else {
@@ -226,7 +227,7 @@ fun createCommonContent(
canAssignToCollections = true,
canEdit = true,
favorite = false,
relatedLocations = emptyList(),
relatedLocations = persistentListOf(),
iconData = IconData.Local(iconResId),
)
}