Skip to content

Commit 6352d03

Browse files
committed
fix: route hardware finish to wallet
1 parent 7ca386e commit 6352d03

4 files changed

Lines changed: 16 additions & 4 deletions

File tree

app/src/main/java/to/bitkit/ui/ContentView.kt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -468,7 +468,11 @@ fun ContentView(
468468
Sheet.ChangePin -> ChangePinSheet(appViewModel)
469469
Sheet.DisablePin -> DisablePinSheet(appViewModel)
470470
is Sheet.Backup -> BackupSheet(sheet, onDismiss = { appViewModel.hideSheet() })
471-
is Sheet.Hardware -> HardwareSheet(sheet, appViewModel)
471+
is Sheet.Hardware -> HardwareSheet(
472+
sheet = sheet,
473+
appViewModel = appViewModel,
474+
onFinish = navigateToHomeWallet,
475+
)
472476
is Sheet.Widgets -> {
473477
WidgetsSheet(
474478
sheet = sheet,

app/src/main/java/to/bitkit/ui/sheets/hardware/HardwareSheet.kt

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@ private val bluetoothPermissions: List<String>
6565
fun HardwareSheet(
6666
sheet: Sheet.Hardware,
6767
appViewModel: AppViewModel,
68+
onFinish: () -> Unit = {},
6869
viewModel: HwConnectViewModel = hiltViewModel(),
6970
) {
7071
val context = LocalContext.current
@@ -120,6 +121,7 @@ fun HardwareSheet(
120121
viewModel = viewModel,
121122
navController = navController,
122123
appViewModel = appViewModel,
124+
onFinish = onFinish,
123125
)
124126

125127
Column(
@@ -206,6 +208,7 @@ private fun ConnectEffectHandler(
206208
viewModel: HwConnectViewModel,
207209
navController: NavHostController,
208210
appViewModel: AppViewModel,
211+
onFinish: () -> Unit,
209212
) {
210213
LaunchedEffect(Unit) {
211214
viewModel.effects.collect { effect ->
@@ -220,6 +223,10 @@ private fun ConnectEffectHandler(
220223
HwConnectEffect.NavigateToPairCode -> navController.navigateTo(HardwareRoute.PairCode)
221224
HwConnectEffect.NavigateToPaired -> navController.navigateTo(HardwareRoute.Paired)
222225
HwConnectEffect.Dismiss -> appViewModel.hideSheet()
226+
HwConnectEffect.Finish -> {
227+
appViewModel.hideSheet()
228+
onFinish()
229+
}
223230
}
224231
}
225232
}

app/src/main/java/to/bitkit/ui/sheets/hardware/HwConnectViewModel.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,7 @@ class HwConnectViewModel @Inject constructor(
157157
}
158158
viewModelScope.launch {
159159
hwWalletRepo.setDeviceLabel(deviceId, _uiState.value.labelInput)
160-
setEffect(HwConnectEffect.Dismiss)
160+
setEffect(HwConnectEffect.Finish)
161161
}
162162
}
163163

@@ -269,4 +269,5 @@ sealed interface HwConnectEffect {
269269
data object NavigateToPairCode : HwConnectEffect
270270
data object NavigateToPaired : HwConnectEffect
271271
data object Dismiss : HwConnectEffect
272+
data object Finish : HwConnectEffect
272273
}

app/src/test/java/to/bitkit/ui/sheets/hardware/HwConnectViewModelTest.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -238,7 +238,7 @@ class HwConnectViewModelTest : BaseUnitTest() {
238238
}
239239

240240
@Test
241-
fun `onFinishClick persists the edited label and dismisses`() = test {
241+
fun `onFinishClick persists the edited label and finishes`() = test {
242242
givenDeviceFound()
243243
val connectedFeatures = features(model = "Safe 3")
244244
whenever(hwWalletRepo.connect("dev1")).thenReturn(Result.success(connectedFeatures))
@@ -248,7 +248,7 @@ class HwConnectViewModelTest : BaseUnitTest() {
248248

249249
sut.effects.test {
250250
sut.onFinishClick()
251-
assertEquals(HwConnectEffect.Dismiss, awaitItem())
251+
assertEquals(HwConnectEffect.Finish, awaitItem())
252252
cancelAndIgnoreRemainingEvents()
253253
}
254254

0 commit comments

Comments
 (0)