From f385fc177a83f65b51e2f298f8b0e61e120fb8f8 Mon Sep 17 00:00:00 2001 From: Dominique Padiou <5765435+dpad85@users.noreply.github.com> Date: Thu, 22 Feb 2024 18:15:58 +0100 Subject: [PATCH] (android) Prevent nav to scanner after successful payment This prevents an issue on lnurl-withdrawal where the app would retyr a withdrawal again when moving back from the successful payment splash window. --- .../src/main/kotlin/fr/acinq/phoenix/android/AppView.kt | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/phoenix-android/src/main/kotlin/fr/acinq/phoenix/android/AppView.kt b/phoenix-android/src/main/kotlin/fr/acinq/phoenix/android/AppView.kt index 24df21251..c8a4cb728 100644 --- a/phoenix-android/src/main/kotlin/fr/acinq/phoenix/android/AppView.kt +++ b/phoenix-android/src/main/kotlin/fr/acinq/phoenix/android/AppView.kt @@ -296,14 +296,16 @@ fun AppView( if (paymentId != null) { RequireStarted(walletState, nextUri = "phoenix:payments/${direction}/${id}") { log.debug("navigating to payment-details id=$id") + val fromEvent = it.arguments?.getBoolean("fromEvent") ?: false PaymentDetailsView( paymentId = paymentId, onBackClick = { - if (!navController.popBackStack()) { + val previousNav = navController.previousBackStackEntry + if (!navController.popBackStack() || (fromEvent && previousNav?.destination?.route == Screen.ScanData.route)) { popToHome(navController) } }, - fromEvent = it.arguments?.getBoolean("fromEvent") ?: false + fromEvent = fromEvent ) } }