From 16b89ec19ed60027a40e658e93981f8b2ff611b5 Mon Sep 17 00:00:00 2001 From: kizzy Date: Tue, 20 Jan 2026 14:51:17 +0700 Subject: [PATCH] fixed crashing on co-badge card. --- .../kbz/ui/core_ui/CardWaitingFragment.java | 3 +- .../ui/core_ui/ProcessingCardFragment.java | 18 ++++--- baselib/src/main/res/raw/jspeedy_config.json | 50 +++++++++++++++++++ 3 files changed, 64 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/com/utsmm/kbz/ui/core_ui/CardWaitingFragment.java b/app/src/main/java/com/utsmm/kbz/ui/core_ui/CardWaitingFragment.java index cd11386..941391f 100644 --- a/app/src/main/java/com/utsmm/kbz/ui/core_ui/CardWaitingFragment.java +++ b/app/src/main/java/com/utsmm/kbz/ui/core_ui/CardWaitingFragment.java @@ -262,11 +262,12 @@ public class CardWaitingFragment extends DataBindingFragment implements DataBind cardReadViewModel.setCardTransactionType(CardTransactionType.FALLBACK); } else if (cardType == CardTypeX.IC || cardType == CardTypeX.NFC) { + cardReadViewModel.cardTypeData.setValue(cardType.value); if(isMPU) { sharedViewModel.isEmv.setValue(false); cardReadViewModel.setCardTransactionType(CardTransactionType.MPU); } else { - cardReadViewModel.cardTypeData.postValue(cardType.value); +// cardReadViewModel.cardTypeData.setValue(cardType.value); cardReadViewModel.setCardTransactionType(CardTransactionType.EMV); } // cardReadViewModel.cardTypeData.postValue(cardType.value); diff --git a/app/src/main/java/com/utsmm/kbz/ui/core_ui/ProcessingCardFragment.java b/app/src/main/java/com/utsmm/kbz/ui/core_ui/ProcessingCardFragment.java index d835222..cb0dcb3 100644 --- a/app/src/main/java/com/utsmm/kbz/ui/core_ui/ProcessingCardFragment.java +++ b/app/src/main/java/com/utsmm/kbz/ui/core_ui/ProcessingCardFragment.java @@ -275,12 +275,18 @@ public class ProcessingCardFragment extends DataBindingFragment { private void prepareEmvTransaction() { sharedViewModel.isEmv.postValue(true); - cardReadViewModel.cardTypeData.observe(getViewLifecycleOwner(), cardType -> { - TradeData tradeData = Params.newTrade(false); - PayDetail payDetail = tradeData.getPayDetail(); +// cardReadViewModel.cardTypeData.observe(getViewLifecycleOwner(), cardType -> { +// TradeData tradeData = Params.newTrade(false); +// PayDetail payDetail = tradeData.getPayDetail(); +// +// payDetail.setCardType(cardType); +// emvTransactionViewModel.setTradeData(tradeData); +// }); - payDetail.setCardType(cardType); - emvTransactionViewModel.setTradeData(tradeData); - }); + TradeData tradeData = Params.newTrade(false); + PayDetail payDetail = tradeData.getPayDetail(); + + payDetail.setCardType(cardReadViewModel.cardTypeData.getValue()); + emvTransactionViewModel.setTradeData(tradeData); } } diff --git a/baselib/src/main/res/raw/jspeedy_config.json b/baselib/src/main/res/raw/jspeedy_config.json index 1f85aa2..96f00e5 100644 --- a/baselib/src/main/res/raw/jspeedy_config.json +++ b/baselib/src/main/res/raw/jspeedy_config.json @@ -23,6 +23,56 @@ "ttq": "32004000", "cateCode": "2701", "currencyCode": "0840" + }, + { + "aidEnable": true, + "aid": "A00000006510", + "cardLabel": "JCB", + "applicationVersion": "0020", + "emvDDOL": "9F3704", + "emvTDOL": "9F3704", + "partialAidSelection": false, + "targetPercent": "99", + "maxTargetPercent": "99", + "threshold": "00000000", + "tacDefault": "D84000A800", + "tacOnline": "DC4004F800", + "tacDenial": "0000000000", + "floorLimit": "000000000000", + "cvmLimit": 75000, + "transLimit": "999999999999", + "transLimitCDV": "999999999999", + "terminalCapability": "0000000000000000", + "riskManageData": "01", + "kernelType": "06", + "ttq": "32004000", + "cateCode": "2701", + "currencyCode": "0840" + }, + { + "aidEnable": true, + "aid": "A0000001570040", + "cardLabel": "JCB", + "applicationVersion": "0020", + "emvDDOL": "9F3704", + "emvTDOL": "9F3704", + "partialAidSelection": false, + "targetPercent": "99", + "maxTargetPercent": "99", + "threshold": "00000000", + "tacDefault": "D84000A800", + "tacOnline": "DC4004F800", + "tacDenial": "0000000000", + "floorLimit": "000000000000", + "cvmLimit": 75000, + "transLimit": "999999999999", + "transLimitCDV": "999999999999", + "terminalCapability": "0000000000000000", + "riskManageData": "01", + "kernelType": "06", + "ttq": "32004000", + "cateCode": "2701", + "currencyCode": "0840" }