diff --git a/android/navi-pay/src/main/kotlin/com/navi/pay/common/setup/NaviPayRouter.kt b/android/navi-pay/src/main/kotlin/com/navi/pay/common/setup/NaviPayRouter.kt index 05fc22f160..e140b7090b 100644 --- a/android/navi-pay/src/main/kotlin/com/navi/pay/common/setup/NaviPayRouter.kt +++ b/android/navi-pay/src/main/kotlin/com/navi/pay/common/setup/NaviPayRouter.kt @@ -118,7 +118,8 @@ object NaviPayRouter { val screenIdentifier = url.split("/").last() return when (screenIdentifier) { NaviPayScreenType.NAVI_PAY_QR_SCANNER_SCREEN.name -> QrScannerScreenDestination - NaviPayScreenType.NAVI_PAY_UPI_LITE.name -> UPILiteScreenDestination() + NaviPayScreenType.NAVI_PAY_UPI_LITE.name -> + UPILiteScreenDestination(shouldNavigateUp = false) NaviPayScreenType.NAVI_PAY_CHECK_BALANCE.name -> LinkedAccountsScreenDestination(isIntentOfTypeCheckBalance = true) NaviPayScreenType.NAVI_PAY_CHECK_PRIMARY_BALANCE.name -> diff --git a/android/navi-pay/src/main/kotlin/com/navi/pay/management/lite/ui/UPILiteScreen.kt b/android/navi-pay/src/main/kotlin/com/navi/pay/management/lite/ui/UPILiteScreen.kt index 0de5d2acfd..0edbdc7edf 100644 --- a/android/navi-pay/src/main/kotlin/com/navi/pay/management/lite/ui/UPILiteScreen.kt +++ b/android/navi-pay/src/main/kotlin/com/navi/pay/management/lite/ui/UPILiteScreen.kt @@ -21,7 +21,6 @@ import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.getValue import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.runtime.snapshotFlow -import androidx.compose.ui.ExperimentalComposeUiApi import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color import androidx.compose.ui.platform.LocalContext @@ -57,12 +56,12 @@ import kotlinx.coroutines.flow.collectLatest import kotlinx.coroutines.launch @Destination -@OptIn(ExperimentalMaterialApi::class, ExperimentalComposeUiApi::class) +@OptIn(ExperimentalMaterialApi::class) @Composable fun UPILiteScreen( naviPayActivity: NaviPayActivity, navigator: DestinationsNavigator, - shouldNavigateUp: Boolean = false, + shouldNavigateUp: Boolean = true, upiLiteViewModel: UPILiteViewModel = hiltViewModel(), naviPayAnalytics: NaviPayAnalytics.NaviPayUPILite = NaviPayAnalytics.INSTANCE.NaviPayUPILite() ) { @@ -129,11 +128,12 @@ fun UPILiteScreen( val closeSheet = { upiLiteViewModel.updateBottomSheetUIState(showBottomSheet = false) } val onBackClick = { - if (shouldNavigateUp || !naviPayActivity.needsResult) { + if (naviPayActivity.needsResult || !shouldNavigateUp) { upiLiteViewModel.handleBackPress() } else { - naviPayActivity.finish() + navigator.navigateUp() } + Unit } BackHandler { @@ -175,7 +175,11 @@ fun UPILiteScreen( // Do nothing, back press is disabled for N seconds when top-up is in progress } is UpiLiteBackPressAction.GoBack -> { - navigator.navigateUp() + if (naviPayActivity.needsResult) { + naviPayActivity.finish() + } else { + navigator.navigateUp() + } } } } diff --git a/android/navi-pay/src/main/kotlin/com/navi/pay/management/transactionhistory/viewmodel/TransactionHistoryDetailViewModel.kt b/android/navi-pay/src/main/kotlin/com/navi/pay/management/transactionhistory/viewmodel/TransactionHistoryDetailViewModel.kt index c4acee4d98..6e8b7fe576 100644 --- a/android/navi-pay/src/main/kotlin/com/navi/pay/management/transactionhistory/viewmodel/TransactionHistoryDetailViewModel.kt +++ b/android/navi-pay/src/main/kotlin/com/navi/pay/management/transactionhistory/viewmodel/TransactionHistoryDetailViewModel.kt @@ -285,7 +285,7 @@ constructor( ?.categoryTags ?.contains(TransactionCategoryTags.UPI_LITE_ADD_MONEY_AND_CLOSURE.value) == true -> { - updateNavigationToNextScreen(UPILiteScreenDestination(shouldNavigateUp = true)) + updateNavigationToNextScreen(UPILiteScreenDestination()) } transactionEntity.value ?.categoryTags