mirror of
https://github.com/bitwarden/android.git
synced 2025-03-15 18:58:59 +03:00
Add select option for title in identity creation (#506)
This commit is contained in:
parent
bd5e00e27a
commit
8d6e492473
5 changed files with 13 additions and 5 deletions
|
@ -1108,7 +1108,7 @@ data class VaultAddEditState(
|
|||
*/
|
||||
@Parcelize
|
||||
data class Identity(
|
||||
val selectedTitle: VaultIdentityTitle = VaultIdentityTitle.MR,
|
||||
val selectedTitle: VaultIdentityTitle = VaultIdentityTitle.SELECT,
|
||||
val firstName: String = "",
|
||||
val middleName: String = "",
|
||||
val lastName: String = "",
|
||||
|
|
|
@ -106,7 +106,7 @@ private fun String?.toTitleOrDefault(): VaultIdentityTitle =
|
|||
VaultIdentityTitle
|
||||
.entries
|
||||
.find { it.name == this }
|
||||
?: VaultIdentityTitle.MR
|
||||
?: VaultIdentityTitle.SELECT
|
||||
|
||||
private fun String?.toBrandOrDefault(): VaultCardBrand =
|
||||
VaultCardBrand
|
||||
|
|
|
@ -16,6 +16,7 @@ import com.x8bit.bitwarden.ui.platform.base.util.orNullIfBlank
|
|||
import com.x8bit.bitwarden.ui.vault.feature.addedit.VaultAddEditState
|
||||
import com.x8bit.bitwarden.ui.vault.model.VaultCardBrand
|
||||
import com.x8bit.bitwarden.ui.vault.model.VaultCardExpirationMonth
|
||||
import com.x8bit.bitwarden.ui.vault.model.VaultIdentityTitle
|
||||
import java.time.Instant
|
||||
|
||||
/**
|
||||
|
@ -89,7 +90,12 @@ private fun VaultAddEditState.ViewState.Content.ItemType.toCardView(): CardView?
|
|||
private fun VaultAddEditState.ViewState.Content.ItemType.toIdentityView(): IdentityView? =
|
||||
(this as? VaultAddEditState.ViewState.Content.ItemType.Identity)?.let {
|
||||
IdentityView(
|
||||
title = it.selectedTitle.name,
|
||||
title = it
|
||||
.selectedTitle
|
||||
.takeUnless { title ->
|
||||
title == VaultIdentityTitle.SELECT
|
||||
}
|
||||
?.name,
|
||||
firstName = it.firstName.orNullIfBlank(),
|
||||
lastName = it.lastName.orNullIfBlank(),
|
||||
middleName = it.middleName.orNullIfBlank(),
|
||||
|
|
|
@ -3,11 +3,13 @@ package com.x8bit.bitwarden.ui.vault.model
|
|||
import com.x8bit.bitwarden.R
|
||||
import com.x8bit.bitwarden.ui.platform.base.util.Text
|
||||
import com.x8bit.bitwarden.ui.platform.base.util.asText
|
||||
import com.x8bit.bitwarden.ui.vault.feature.addedit.util.SELECT_TEXT
|
||||
|
||||
/**
|
||||
* Defines all available title options for identities.
|
||||
*/
|
||||
enum class VaultIdentityTitle(val value: Text) {
|
||||
SELECT(value = SELECT_TEXT),
|
||||
MR(value = R.string.mr.asText()),
|
||||
MRS(value = R.string.mrs.asText()),
|
||||
MS(value = R.string.ms.asText()),
|
||||
|
|
|
@ -625,7 +625,7 @@ class VaultAddEditScreenTest : BaseComposeTest() {
|
|||
mutableStateFlow.value = DEFAULT_STATE_IDENTITY
|
||||
// Opens the menu
|
||||
composeTestRule
|
||||
.onNodeWithContentDescriptionAfterScroll(label = "Title, Mr")
|
||||
.onNodeWithContentDescriptionAfterScroll(label = "Title, -- Select --")
|
||||
.performClick()
|
||||
|
||||
// Choose the option from the menu
|
||||
|
@ -648,7 +648,7 @@ class VaultAddEditScreenTest : BaseComposeTest() {
|
|||
fun `in ItemType_Identity the Title should display the selected title from the state`() {
|
||||
mutableStateFlow.value = DEFAULT_STATE_IDENTITY
|
||||
composeTestRule
|
||||
.onNodeWithContentDescriptionAfterScroll(label = "Title, Mr")
|
||||
.onNodeWithContentDescriptionAfterScroll(label = "Title, -- Select --")
|
||||
.assertIsDisplayed()
|
||||
|
||||
mutableStateFlow.update { currentState ->
|
||||
|
|
Loading…
Add table
Reference in a new issue