Skip to content

Commit 1e49f94

Browse files
committed
fix: smooth hardware finish nav
1 parent 6352d03 commit 1e49f94

2 files changed

Lines changed: 16 additions & 5 deletions

File tree

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

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -200,6 +200,7 @@ import to.bitkit.ui.sheets.UpdateSheet
200200
import to.bitkit.ui.sheets.WidgetsSheet
201201
import to.bitkit.ui.sheets.hardware.HardwareSheet
202202
import to.bitkit.ui.theme.Colors
203+
import to.bitkit.ui.theme.TRANSITION_SCREEN_MS
203204
import to.bitkit.ui.utils.AutoReadClipboardHandler
204205
import to.bitkit.ui.utils.RequestNotificationPermissions
205206
import to.bitkit.ui.utils.composableWithDefaultTransitions
@@ -408,10 +409,15 @@ fun ContentView(
408409
val currentSheet by appViewModel.currentSheet.collectAsStateWithLifecycle()
409410
var homeWalletPageRequest by remember { mutableIntStateOf(0) }
410411
var homeWidgetsPageRequest by remember { mutableIntStateOf(0) }
412+
var navigateHomeWalletAfterSheetDismiss by remember { mutableStateOf(false) }
411413
val navigateToHomeWallet = {
412414
homeWalletPageRequest++
413415
navController.navigateToHome()
414416
}
417+
val finishHardwareFlow = {
418+
navigateHomeWalletAfterSheetDismiss = true
419+
appViewModel.hideSheet()
420+
}
415421
val navigateToHomeWidgets = {
416422
homeWidgetsPageRequest++
417423
navController.navigateToHome()
@@ -423,6 +429,14 @@ fun ContentView(
423429
homeWidgetsPageRequest = 0
424430
}
425431

432+
LaunchedEffect(currentSheet, navigateHomeWalletAfterSheetDismiss) {
433+
if (!navigateHomeWalletAfterSheetDismiss || currentSheet != null) return@LaunchedEffect
434+
435+
delay(TRANSITION_SCREEN_MS)
436+
navigateHomeWalletAfterSheetDismiss = false
437+
navigateToHomeWallet()
438+
}
439+
426440
Box(
427441
modifier = modifier.fillMaxSize()
428442
) {
@@ -471,7 +485,7 @@ fun ContentView(
471485
is Sheet.Hardware -> HardwareSheet(
472486
sheet = sheet,
473487
appViewModel = appViewModel,
474-
onFinish = navigateToHomeWallet,
488+
onFinish = finishHardwareFlow,
475489
)
476490
is Sheet.Widgets -> {
477491
WidgetsSheet(

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

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -223,10 +223,7 @@ private fun ConnectEffectHandler(
223223
HwConnectEffect.NavigateToPairCode -> navController.navigateTo(HardwareRoute.PairCode)
224224
HwConnectEffect.NavigateToPaired -> navController.navigateTo(HardwareRoute.Paired)
225225
HwConnectEffect.Dismiss -> appViewModel.hideSheet()
226-
HwConnectEffect.Finish -> {
227-
appViewModel.hideSheet()
228-
onFinish()
229-
}
226+
HwConnectEffect.Finish -> onFinish()
230227
}
231228
}
232229
}

0 commit comments

Comments
 (0)