latest saved

This commit is contained in:
kizzy 2026-07-21 13:10:36 +07:00
parent 003d7e7a21
commit fc4b817308
5 changed files with 29 additions and 30 deletions

View File

@ -32,7 +32,7 @@ fun EmvTransactionRoute(
onNavigateTransactionResult: () -> Unit,
onNavigateInputRrn: () -> Unit,
onNavigateCardWaiting: () -> Unit,
onNavigateError: (String) -> Unit,
onNavigateError: (isSuccess:Boolean, messsage:String) -> Unit,
onNavigateMain: () -> Unit
) {
val emvResultStatus by emvViewModel.emvResultStatus.observeAsState()
@ -69,7 +69,7 @@ fun EmvTransactionRoute(
val tradeData = emvViewModel.getTradeData()
if (tradeData == null) {
onNavigateError("Please try again")
onNavigateError(false,"Please try again")
return
}
@ -115,12 +115,12 @@ fun EmvTransactionRoute(
EmvResultStatus.TRY_AGAIN -> {
sharedViewModel.set_errorFragmentMsg("Card Not Supported!")
onNavigateError("Card Not Supported!")
onNavigateError(false,"Card Not Supported!")
}
EmvResultStatus.OFFLINE_DECLINE -> {
sharedViewModel.set_errorFragmentMsg("Offline Denial")
onNavigateError("Offline Denial")
onNavigateError(false,"Offline Denial")
}
EmvResultStatus.CONFIRM_CODE_VERIFY -> onNavigateCardWaiting()
@ -131,7 +131,7 @@ fun EmvTransactionRoute(
EmvResultStatus.PIN_MISMATCH -> {
sharedViewModel.set_errorFragmentMsg("PIN MISMATCH!")
onNavigateError("PIN MISMATCH!")
onNavigateError(false,"PIN MISMATCH!")
}
EmvResultStatus.PIN_EMPTY -> {
@ -164,27 +164,27 @@ fun EmvTransactionRoute(
EmvResultStatus.REVERSAL_FAIL -> {
sharedViewModel.set_errorFragmentMsg("Reversal failed!")
onNavigateError("Reversal failed!")
onNavigateError(false,"Reversal failed!")
}
EmvResultStatus.REVERSAL_SUCCESS -> {
sharedViewModel.set_successFragmentMsg("Reversal success!")
onNavigateMain()
onNavigateError(true,"Reversal success!")
}
EmvResultStatus.FAIL -> {
onNavigateError("Transaction failed")
onNavigateError(false,"Transaction failed")
}
EmvResultStatus.NETWORK_ERROR -> {
onNavigateError("Com Error!")
onNavigateError(false,"Com Error!")
}
EmvResultStatus.ERROR -> {
loadingMessage = null
val mapped = mapEmvError(errorCodeMsg)
sharedViewModel.set_errorFragmentMsg(mapped)
onNavigateError(mapped)
onNavigateError(false,mapped)
}
else -> LogUtil.d(TAG, "Unhandled EmvResult Status : $status")

View File

@ -91,7 +91,7 @@ fun AppNavGraph(
val sharedViewModel: SharedViewModel = hiltViewModel(activity)
SignaturePad(
onBack = { navController.popBackStack() },
onConfirm = { _, bitmap, signatureBlob ->
onConfirm = { bitmap, signatureBlob ->
sharedViewModel.signBitmap = bitmap
sharedViewModel.updateSignatureBlob(signatureBlob)
navController.navigate(Routes.TransactionResult.route) {
@ -592,9 +592,9 @@ fun AppNavGraph(
launchSingleTop = true
}
},
onNavigateError = { message ->
navController.navigate(Routes.TransactionError.createRoute(message)) {
popUpTo(Routes.ProcessingCard.route) {
onNavigateError = { isSuccess,message ->
navController.navigate(Routes.TransactionError.createRoute(isSuccess,message)) {
popUpTo(Routes.Processing.route) {
inclusive = true
}
launchSingleTop = true
@ -681,8 +681,8 @@ fun AppNavGraph(
launchSingleTop = true
}
},
onNavigateError = { message ->
navController.navigate(Routes.TransactionError.createRoute(message)) {
onNavigateError = { isSuccess,message ->
navController.navigate(Routes.TransactionError.createRoute(isSuccess,message)) {
popUpTo(Routes.EmvTransaction.route) {
inclusive = true
}
@ -764,8 +764,8 @@ fun AppNavGraph(
launchSingleTop = true
}
},
onNavigateError = { message ->
navController.navigate(Routes.TransactionError.createRoute(message)) {
onNavigateError = { isSuccess,message ->
navController.navigate(Routes.TransactionError.createRoute(isSuccess,message)) {
popUpTo(Routes.Processing.route) {
inclusive = true
}
@ -819,9 +819,11 @@ fun AppNavGraph(
}
)
) { backStackEntry ->
val message = backStackEntry.arguments?.getString("message").orEmpty().trim()
val isSuccess = backStackEntry.arguments?.getBoolean("isSuccess") ?: false
val message = backStackEntry.arguments?.getString("message").orEmpty()
TransactionErrorScreen(
isSuccess = isSuccess,
message = message,
onDone = {
navController.navigate(Routes.Dashboard.route) {

View File

@ -31,10 +31,7 @@ sealed class Routes(val route: String) {
data object TransactionResult : Routes("transaction_result")
data object TransactionError : Routes("transaction_error/{message}") {
fun createRoute(message: String): String =
"transaction_error/${Uri.encode(message.ifBlank { " " })}"
}
data object PrintReceipt : Routes("print_receipt")
data object Version : Routes("version")
data object Functions : Routes("functions")

View File

@ -13,7 +13,7 @@ fun ProcessingCardRoute(
onNavigateInputAmount: () -> Unit,
onNavigateProcessing: () -> Unit,
onNavigateEmvTransaction: () -> Unit,
onNavigateError: (String) -> Unit,
onNavigateError: (isSuccess: Boolean, message: String) -> Unit,
onBack: () -> Unit,
onShowDecline: (String) -> Unit
) {
@ -31,7 +31,7 @@ fun ProcessingCardRoute(
ProcessingCardUiEvent.NavigateToInputAmount -> onNavigateInputAmount()
ProcessingCardUiEvent.NavigateToProcessing -> onNavigateProcessing()
ProcessingCardUiEvent.NavigateToEmvTransaction -> onNavigateEmvTransaction()
is ProcessingCardUiEvent.NavigateToError -> onNavigateError(event.message)
is ProcessingCardUiEvent.NavigateToError -> onNavigateError(false,event.message)
is ProcessingCardUiEvent.ShowDeclineAndBack -> {
onShowDecline(event.message)
onBack()

View File

@ -25,7 +25,7 @@ fun ProcessingRoute(
settlementViewModel: SettlementViewModel,
onNavigateTransactionResult: () -> Unit,
onNavigateSignature: () -> Unit,
onNavigateError: (String) -> Unit,
onNavigateError: (Boolean,String) -> Unit,
onNavigateMain: ()-> Unit
) {
@ -105,7 +105,7 @@ private fun EmvProcessingContent(
sharedViewModel: SharedViewModel,
emvTransactionViewModel: EmvTransactionProcessViewModel,
onNavigateTransactionResult: () -> Unit,
onNavigateError: (String) -> Unit,
onNavigateError: (Boolean,String) -> Unit,
onNavigateMain: () -> Unit
) {
val emvTransStatus by emvTransactionViewModel.getTransStatus().observeAsState()
@ -134,13 +134,13 @@ private fun EmvProcessingContent(
TransResultStatus.REVERSAL_SUCCESS -> {
sharedViewModel.payDetail.value = emvTransactionViewModel.payDetailResult.value
sharedViewModel.set_successFragmentMsg("Reversal success!")
onNavigateMain()
onNavigateError(true,"Reversal success!")
}
TransResultStatus.REVERSAL_FAIL -> {
sharedViewModel.payDetail.value = emvTransactionViewModel.payDetailResult.value
sharedViewModel.set_errorFragmentMsg("Reversal failed!")
onNavigateError("Reversal failed!")
onNavigateError(false,"Reversal failed!")
}
TransResultStatus.ERROR,
@ -149,7 +149,7 @@ private fun EmvProcessingContent(
?.substringAfter(":")
?.takeIf { it.isNotBlank() }
?: "Transaction error"
onNavigateError(message)
onNavigateError(false,message)
}
else -> {}