From 9d9ef9514048cdf45bddb87a36c5992d711e46dd Mon Sep 17 00:00:00 2001 From: moon <56061215+MgKyawLay@users.noreply.github.com> Date: Sat, 16 May 2026 12:15:59 +0630 Subject: [PATCH] flow fix --- .../ui/cardwaiting/CardWaitingScreen.kt | 3 ++- .../ui/cardwaiting/CardWaitingViewModel.kt | 17 +++++++++-------- .../mob/utsmyanmar/ui/navigation/AppNavGraph.kt | 8 ++++++++ 3 files changed, 19 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/com/mob/utsmyanmar/ui/cardwaiting/CardWaitingScreen.kt b/app/src/main/java/com/mob/utsmyanmar/ui/cardwaiting/CardWaitingScreen.kt index 4b0b2a8..483ae67 100644 --- a/app/src/main/java/com/mob/utsmyanmar/ui/cardwaiting/CardWaitingScreen.kt +++ b/app/src/main/java/com/mob/utsmyanmar/ui/cardwaiting/CardWaitingScreen.kt @@ -51,6 +51,7 @@ fun CardWaitingScreen( viewModel: CardWaitingViewModel, amount: String, onManualEntry: () -> Unit, + onProcessingCard: () -> Unit, onBack: () -> Unit, onMain: () -> Unit ) { @@ -60,9 +61,9 @@ fun CardWaitingScreen( viewModel.events.collect { event -> when (event) { CardWaitingEvent.GoManualEntry -> onManualEntry() + CardWaitingEvent.GoProcessingCard -> onProcessingCard() CardWaitingEvent.GoMain -> onMain() CardWaitingEvent.GoBack -> onBack() - CardWaitingEvent.GoProcessingCard, CardWaitingEvent.GoTimeout -> Unit } } diff --git a/app/src/main/java/com/mob/utsmyanmar/ui/cardwaiting/CardWaitingViewModel.kt b/app/src/main/java/com/mob/utsmyanmar/ui/cardwaiting/CardWaitingViewModel.kt index c8c95c8..7167d6d 100644 --- a/app/src/main/java/com/mob/utsmyanmar/ui/cardwaiting/CardWaitingViewModel.kt +++ b/app/src/main/java/com/mob/utsmyanmar/ui/cardwaiting/CardWaitingViewModel.kt @@ -221,14 +221,15 @@ class CardWaitingViewModel( } } - stopCardReading() - - _uiState.update { - it.copy( - alertMessage = "Card detected.\nOnline process disabled.", - isLoading = false, - isCardCaptured = true - ) + viewModelScope.launch { + _uiState.update { + it.copy( + alertMessage = "Card detected.", + isLoading = false, + isCardCaptured = true + ) + } + _events.send(CardWaitingEvent.GoProcessingCard) } } diff --git a/app/src/main/java/com/mob/utsmyanmar/ui/navigation/AppNavGraph.kt b/app/src/main/java/com/mob/utsmyanmar/ui/navigation/AppNavGraph.kt index d2a747c..a66abe4 100644 --- a/app/src/main/java/com/mob/utsmyanmar/ui/navigation/AppNavGraph.kt +++ b/app/src/main/java/com/mob/utsmyanmar/ui/navigation/AppNavGraph.kt @@ -89,6 +89,14 @@ fun AppNavGraph( viewModel = cardWaitingViewModel, amount = formatAmountForDisplay(sharedViewModel.amount.value), onManualEntry = {}, + onProcessingCard = { + navController.navigate(Routes.ProcessingCard.route) { + popUpTo(Routes.CardWaiting.route) { + inclusive = true + } + launchSingleTop = true + } + }, onBack = { navController.popBackStack() }, onMain = { navController.navigate(Routes.Dashboard.route) {