phone number fixed

This commit is contained in:
moon 2026-09-21 15:02:50 +06:30
parent 907eab4e72
commit d59933f00a
6 changed files with 95 additions and 23 deletions

View File

@ -669,8 +669,22 @@ fun AppNavGraph(
},
onNavigateInputAmount = { navController.popBackStack(Routes.Amount.route, false) },
onNavigateProcessing = {},
onNavigateEmvTransaction = {},
onNavigateError = {},
onNavigateEmvTransaction = {
navController.navigate(Routes.Processing.route) {
popUpTo(Routes.ProcessingCard.route) {
inclusive = true
}
launchSingleTop = true
}
},
onNavigateError = { message ->
navController.navigate(Routes.TransactionError.createRoute(false, message)) {
popUpTo(Routes.ProcessingCard.route) {
inclusive = true
}
launchSingleTop = true
}
},
onBack = { navController.popBackStack() },
onShowDecline = {}
)
@ -761,6 +775,7 @@ fun AppNavGraph(
sharedViewModel = sharedViewModel,
transProcessViewModel = transProcessViewModel,
settlementViewModel = settlementViewModel,
emvTransactionViewModel = hiltViewModel(activity),
onTransactionFinished = {
tmsSetupViewModel.downloadConfigs(dashboardViewModel::refreshLastSyncTime)
},

View File

@ -22,7 +22,6 @@ import com.utsmyanmar.paylibs.model.PayDetail
import com.utsmyanmar.paylibs.model.TradeData
import com.utsmyanmar.paylibs.model.enums.TransCVM
import com.utsmyanmar.paylibs.utils.POSUtil
import com.utsmyanmar.paylibs.utils.core_utils.SystemParamsOperation
import com.utsmyanmar.paylibs.utils.enums.TransMenu
import com.utsmyanmar.paylibs.utils.params.Params
import kotlinx.coroutines.channels.Channel
@ -250,7 +249,10 @@ class ProcessingCardViewModel(
emvTransactionViewModel.transType.value =
sharedViewModel.transactionsType.value
if (SystemParamsOperation.getInstance().isEmvEnabled) {
if (
// SystemParamsOperation.getInstance().isEmvEnabled
true
) {
prepareEmvTransaction()
sendUiEvent(ProcessingCardUiEvent.NavigateToEmvTransaction)
} else {

View File

@ -4,11 +4,13 @@ import android.R
import androidx.compose.runtime.Composable
import androidx.compose.runtime.LaunchedEffect
import androidx.compose.runtime.getValue
import androidx.compose.runtime.livedata.observeAsState
import androidx.lifecycle.compose.collectAsStateWithLifecycle
import com.mob.utsmyanmar.model.TransResultStatus
import com.mob.utsmyanmar.model.TransactionStatus
import com.mob.utsmyanmar.ui.settlement.SettlementViewModel
import com.mob.utsmyanmar.viewmodel.SharedViewModel
import com.mob.utsmyanmar.viewmodel.EmvTransactionProcessViewModel
import com.mob.utsmyanmar.viewmodel.TransProcessViewModel
import com.utsmyanmar.paylibs.utils.iso_utils.TransactionsType
@ -19,6 +21,7 @@ fun ProcessingRoute(
sharedViewModel: SharedViewModel,
transProcessViewModel: TransProcessViewModel,
settlementViewModel: SettlementViewModel,
emvTransactionViewModel: EmvTransactionProcessViewModel,
onNavigateTransactionResult: () -> Unit,
onNavigateSignature: () -> Unit,
onNavigateError: (Boolean, String) -> Unit,
@ -26,12 +29,47 @@ fun ProcessingRoute(
) {
val transStatus by transProcessViewModel.transResultStatus.collectAsStateWithLifecycle()
val emvStatus by emvTransactionViewModel.getTransStatus().observeAsState()
val state by transProcessViewModel.state.collectAsStateWithLifecycle()
val settlementStatus by settlementViewModel.uiState.collectAsStateWithLifecycle()
if(sharedViewModel.transactionsType.value == TransactionsType.SETTLEMENT) {
if (sharedViewModel.isEmvTrans().value == true) {
LaunchedEffect(Unit) {
emvTransactionViewModel.startProcess()
}
LaunchedEffect(emvStatus) {
when (emvStatus) {
TransResultStatus.SUCCESS,
TransResultStatus.OFFLINE_SUCCESS -> {
onTransactionFinished()
sharedViewModel.payDetail.value = emvTransactionViewModel.payDetailResult.value
onNavigateTransactionResult()
}
TransResultStatus.FAIL,
TransResultStatus.OFFLINE_FAILURE -> {
onTransactionFinished()
sharedViewModel.payDetail.value = emvTransactionViewModel.payDetailResult.value
onNavigateTransactionResult()
}
TransResultStatus.NETWORK_ERROR,
TransResultStatus.ERROR -> {
onTransactionFinished()
onNavigateError(
false,
emvTransactionViewModel.errorCodeMsg.value
?: "Something went wrong. Please try again."
)
}
else -> Unit
}
}
} else if(sharedViewModel.transactionsType.value == TransactionsType.SETTLEMENT) {
LaunchedEffect(Unit) {
settlementViewModel.startSettlementProcess()
}
@ -98,7 +136,9 @@ fun ProcessingRoute(
}
}
if(sharedViewModel.transactionsType.value == TransactionsType.SETTLEMENT) {
if (sharedViewModel.isEmvTrans().value == true) {
ProcessingScreen(state)
} else if(sharedViewModel.transactionsType.value == TransactionsType.SETTLEMENT) {
ProcessingScreen(settlementStatus.processingState)
} else {
ProcessingScreen(state)

View File

@ -88,7 +88,7 @@ class TMSSetupsImpl : TMSSetups {
ops.merchantName = m.name
ops.merchantAddress = m.address
ops.merchantPhoneNo = m.phone
ops.merchantMobileNo = m.mobile_phone
ops.merchantMobileNo = m.mobilePhone.orEmpty()
}
siriusResponse.address.takeIf { it.isNotEmpty() }?.let { ops.merchantAddress = it }

View File

@ -1,5 +1,7 @@
package com.utsmyanmar.baselib.network.model.sirius;
import com.google.gson.annotations.SerializedName;
public class SiriusMerchant {
private String id;
@ -16,7 +18,11 @@ public class SiriusMerchant {
private String mobile;
private String mobile_phone;
@SerializedName(value = "mobilePhone", alternate = {"mobile_phone"})
private String mobilePhone;
public SiriusMerchant() {
}
public SiriusMerchant(String id, String name, String description, String address,String address2,String phone,String mobile) {
this.id = id;
@ -28,6 +34,17 @@ public class SiriusMerchant {
this.mobile = mobile;
}
public SiriusMerchant(String id, String name, String description, String address, String address2, String phone, String mobile, String mobilePhone) {
this.id = id;
this.name = name;
this.description = description;
this.address = address;
this.address2 = address2;
this.phone = phone;
this.mobile = mobile;
this.mobilePhone = mobilePhone;
}
public void setAddress2(String address2) {
this.address2 = address2;
}
@ -52,12 +69,20 @@ public class SiriusMerchant {
return mobile;
}
public String getMobilePhone() {
return mobilePhone != null ? mobilePhone : mobile;
}
public void setMobilePhone(String mobilePhone) {
this.mobilePhone = mobilePhone;
}
public String getMobile_phone() {
return mobile_phone;
return getMobilePhone();
}
public void setMobile_phone(String mobile_phone) {
this.mobile_phone = mobile_phone;
this.mobilePhone = mobile_phone;
}
public void setId(String id) {

View File

@ -3,6 +3,7 @@ package com.utsmyanmar.paylibs.utils;
import android.text.TextUtils;
import sunmi.sunmiui.utils.LogUtil;
import com.utsmyanmar.paylibs.utils.enums.CardScheme;
public class CardSchemeUtils {
private static final String TAG = "CardSchemeUtil";
@ -25,19 +26,8 @@ public class CardSchemeUtils {
} else if ("A000000524".equals(group)) {
accountType = AccountType.RPC.getValue();
} else if ("A000000333".equals(group)) {
if ("A000000333010101".equals(aid)) {
accountType = AccountType.DD.getValue();
} else if ("A000000333010102".equals(aid)) {
accountType = AccountType.CC.getValue();
} else if ("A000000333010103".equals(aid)) {
accountType = AccountType.SCC.getValue();
} else if ("A000000333010101".equals(aid)) {
accountType = AccountType.EC.getValue();
}
// Keep the scheme value used by host routing and receipt logic.
accountType = CardScheme.UPI.name;
}
LogUtil.d(TAG, "Card accountType = " + accountType);
return accountType;