Skip to content

Commit 009a1bc

Browse files
committed
Address PR review feedback
- Assert full state in CardScannerFlagUpdateReceive test - Remove stale @Suppress("MaxLineLength") from CardTypeHandlers - Remove explicit keyboardController.show() (focus alone suffices) - Add camera icon to scan card button - Reorder ViewModel constructor params alphabetically
1 parent e364a38 commit 009a1bc

6 files changed

Lines changed: 8 additions & 16 deletions

File tree

app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/addedit/VaultAddEditCardItems.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@ import com.bitwarden.ui.platform.components.field.BitwardenPasswordField
2424
import com.bitwarden.ui.platform.components.field.BitwardenTextField
2525
import com.bitwarden.ui.platform.components.header.BitwardenListHeaderText
2626
import com.bitwarden.ui.platform.components.model.CardStyle
27+
import com.bitwarden.ui.platform.components.util.rememberVectorPainter
28+
import com.bitwarden.ui.platform.resource.BitwardenDrawable
2729
import com.bitwarden.ui.platform.resource.BitwardenString
2830
import com.x8bit.bitwarden.ui.vault.feature.addedit.handlers.VaultAddEditCardTypeHandlers
2931
import com.x8bit.bitwarden.ui.vault.model.VaultCardBrand
@@ -59,6 +61,7 @@ fun LazyListScope.vaultAddEditCardItems(
5961
BitwardenOutlinedButton(
6062
label = stringResource(id = BitwardenString.scan_card),
6163
onClick = onScanCardClick,
64+
icon = rememberVectorPainter(id = BitwardenDrawable.ic_camera_small),
6265
modifier = Modifier
6366
.testTag("ScanCardButton")
6467
.fillMaxWidth()

app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/addedit/VaultAddEditScreen.kt

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,6 @@ import androidx.compose.ui.Alignment
2929
import androidx.compose.ui.Modifier
3030
import androidx.compose.ui.focus.FocusRequester
3131
import androidx.compose.ui.input.nestedscroll.nestedScroll
32-
import androidx.compose.ui.platform.LocalSoftwareKeyboardController
33-
import androidx.compose.ui.platform.SoftwareKeyboardController
3432
import androidx.compose.ui.platform.testTag
3533
import androidx.compose.ui.res.painterResource
3634
import androidx.compose.ui.res.stringResource
@@ -110,7 +108,6 @@ fun VaultAddEditScreen(
110108
credentialProviderCompletionManager: CredentialProviderCompletionManager =
111109
LocalCredentialProviderCompletionManager.current,
112110
biometricsManager: BiometricsManager = LocalBiometricsManager.current,
113-
keyboardController: SoftwareKeyboardController? = LocalSoftwareKeyboardController.current,
114111
onNavigateToManualCodeEntryScreen: () -> Unit,
115112
onNavigateToGeneratorModal: (GeneratorMode.Modal) -> Unit,
116113
onNavigateToAttachments: (cipherId: String) -> Unit,
@@ -207,7 +204,6 @@ fun VaultAddEditScreen(
207204

208205
VaultAddEditEvent.FocusCardHolderName -> {
209206
cardHolderNameFocusRequester.requestFocus()
210-
keyboardController?.show()
211207
}
212208
}
213209
}

app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/addedit/VaultAddEditViewModel.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -125,11 +125,11 @@ class VaultAddEditViewModel @Inject constructor(
125125
savedStateHandle: SavedStateHandle,
126126
featureFlagManager: FeatureFlagManager,
127127
generatorRepository: GeneratorRepository,
128+
cardScanManager: CardScanManager,
128129
private val snackbarRelayManager: SnackbarRelayManager<SnackbarRelay>,
129130
private val toastManager: ToastManager,
130131
private val authRepository: AuthRepository,
131132
private val clipboardManager: BitwardenClipboardManager,
132-
private val cardScanManager: CardScanManager,
133133
private val policyManager: PolicyManager,
134134
private val vaultRepository: VaultRepository,
135135
private val bitwardenCredentialManager: BitwardenCredentialManager,

app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/addedit/handlers/VaultAddEditCardTypeHandlers.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ import com.x8bit.bitwarden.ui.vault.model.VaultCardExpirationMonth
2020
* @property onNumberVisibilityChange Handles the action when the number visibility changes.
2121
* @property onScanCardClick Handles the action when the scan card button is clicked.
2222
*/
23-
@Suppress("MaxLineLength")
2423
data class VaultAddEditCardTypeHandlers(
2524
val onCardHolderNameTextChange: (String) -> Unit,
2625
val onNumberTextChange: (String) -> Unit,

app/src/test/kotlin/com/x8bit/bitwarden/ui/vault/feature/addedit/VaultAddEditScreenTest.kt

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package com.x8bit.bitwarden.ui.vault.feature.addedit
22

33
import androidx.compose.ui.geometry.Offset
4-
import androidx.compose.ui.platform.SoftwareKeyboardController
54
import androidx.compose.ui.semantics.SemanticsActions
65
import androidx.compose.ui.semantics.SemanticsProperties
76
import androidx.compose.ui.test.SemanticsMatcher
@@ -121,10 +120,6 @@ class VaultAddEditScreenTest : BitwardenComposeTest() {
121120
private val biometricsManager: BiometricsManager = mockk {
122121
every { isUserVerificationSupported } returns true
123122
}
124-
private val keyboardController: SoftwareKeyboardController = mockk {
125-
every { show() } just runs
126-
}
127-
128123
@Before
129124
fun setup() {
130125
setContent(
@@ -145,7 +140,6 @@ class VaultAddEditScreenTest : BitwardenComposeTest() {
145140
onNavigateToMoveToOrganization = { id, _ -> onNavigateToMoveToOrganizationId = id },
146141
onNavigateToCardScanScreen = { onNavigateToCardScanScreenCalled = true },
147142
viewModel = viewModel,
148-
keyboardController = keyboardController,
149143
)
150144
}
151145
}
@@ -204,7 +198,7 @@ class VaultAddEditScreenTest : BitwardenComposeTest() {
204198
}
205199

206200
@Test
207-
fun `on FocusCardHolderName event should focus field and show keyboard`() {
201+
fun `on FocusCardHolderName event should focus field`() {
208202
mutableStateFlow.value = DEFAULT_STATE_CARD
209203
composeTestRule.waitForIdle()
210204
mutableEventFlow.tryEmit(VaultAddEditEvent.FocusCardHolderName)
@@ -213,7 +207,6 @@ class VaultAddEditScreenTest : BitwardenComposeTest() {
213207
.onNodeWithTag("CardholderNameEntry")
214208
.performScrollTo()
215209
.assertIsFocused()
216-
verify { keyboardController.show() }
217210
}
218211

219212
@Test

app/src/test/kotlin/com/x8bit/bitwarden/ui/vault/feature/addedit/VaultAddEditViewModelTest.kt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5133,11 +5133,12 @@ class VaultAddEditViewModelTest : BaseViewModelTest() {
51335133
@Test
51345134
fun `CardScannerFlagUpdateReceive should update isCardScannerEnabled`() =
51355135
runTest {
5136+
val initState = createVaultAddItemState()
51365137
val viewModel = createAddVaultItemViewModel()
51375138
mutableCardScannerFlow.value = true
51385139
assertEquals(
5139-
true,
5140-
viewModel.stateFlow.value.isCardScannerEnabled,
5140+
initState.copy(isCardScannerEnabled = true),
5141+
viewModel.stateFlow.value,
51415142
)
51425143
}
51435144

0 commit comments

Comments
 (0)