From cd35f9ad06f1b1ad65ca7713f0259936c67df407 Mon Sep 17 00:00:00 2001 From: kizzy Date: Thu, 19 Feb 2026 14:43:36 +0700 Subject: [PATCH] put pin if isOnline --- .../main/java/com/utsmm/kbz/MainFragment.java | 16 ++- .../EmvTransactionProcessViewModel.java | 2 +- .../baselib/viewModel/EmvBaseViewModel.java | 4 +- baselib/src/main/res/raw/rid_config.json | 101 +++++++++--------- 4 files changed, 67 insertions(+), 56 deletions(-) diff --git a/app/src/main/java/com/utsmm/kbz/MainFragment.java b/app/src/main/java/com/utsmm/kbz/MainFragment.java index bcb373c..55bd380 100644 --- a/app/src/main/java/com/utsmm/kbz/MainFragment.java +++ b/app/src/main/java/com/utsmm/kbz/MainFragment.java @@ -246,8 +246,8 @@ public class MainFragment extends DataBindingFragment { } sharedViewModel.setManualEntryStatus(SystemParamsOperation.getInstance().getManualEntryStatus()); +// queryAidCAPKList(); queryAidCAPKList(); - // generateMockQR(); } @@ -262,12 +262,20 @@ public class MainFragment extends DataBindingFragment { List aidlist = new ArrayList<>(); List capkList = MyApplication.getInstance().deviceEngine.getEmvHandler2("app2").getCapkList(); List aidList = MyApplication.getInstance().deviceEngine.getEmvHandler2("app2").getAidList(); + int noCAPK = MyApplication.getInstance().deviceEngine.getEmvHandler2("app2").getCapkListNum(); + LogUtil.d(TAG, "Total CAPK :" + noCAPK); for (CapkEntity capkEntity : capkList) { LogUtil.d(TAG, "CAPK Entity :" + capkEntity.getRid()); + if(capkEntity.getRid().equals("A000000003")) { + LogUtil.d(TAG, "CAPK Entity check sum:" + capkEntity.getCheckSum()); + LogUtil.d(TAG, "CAPK Entity modulus:" + capkEntity.getModulus()); + LogUtil.d(TAG, "CAPK Entity index:" + capkEntity.getCapkIdx()); + } + } - for (AidEntity aidEntity : aidList) { - LogUtil.d(TAG, "AID Entity :" + aidEntity.getAid()); - } +// for (AidEntity aidEntity : aidList) { +// LogUtil.d(TAG, "AID Entity :" + aidEntity.getAid()); +// } } diff --git a/app/src/main/java/com/utsmm/kbz/ui/core_viewmodel/EmvTransactionProcessViewModel.java b/app/src/main/java/com/utsmm/kbz/ui/core_viewmodel/EmvTransactionProcessViewModel.java index a715122..980ff08 100644 --- a/app/src/main/java/com/utsmm/kbz/ui/core_viewmodel/EmvTransactionProcessViewModel.java +++ b/app/src/main/java/com/utsmm/kbz/ui/core_viewmodel/EmvTransactionProcessViewModel.java @@ -83,7 +83,7 @@ public class EmvTransactionProcessViewModel extends EmvBaseViewModel implements } else if (isOfflinePinEntered) { emvHandler.onSetPinInputResponse(true, false); } else { - emvHandler.onSetPinInputResponse(false, true); + emvHandler.onSetPinInputResponse(true, false); } if (transType.getValue() == TransactionsType.PRE_AUTH_COMPLETE || transType.getValue() == TransactionsType.PRE_AUTH_VOID || transType.getValue() == TransactionsType.REFUND) { emvResultStatus.postValue(EmvResultStatus.ON_NEXT_SCREEN); diff --git a/baselib/src/main/java/com/utsmyanmar/baselib/viewModel/EmvBaseViewModel.java b/baselib/src/main/java/com/utsmyanmar/baselib/viewModel/EmvBaseViewModel.java index 815efa6..caf0c93 100644 --- a/baselib/src/main/java/com/utsmyanmar/baselib/viewModel/EmvBaseViewModel.java +++ b/baselib/src/main/java/com/utsmyanmar/baselib/viewModel/EmvBaseViewModel.java @@ -548,7 +548,9 @@ public abstract class EmvBaseViewModel extends BaseViewModel { public void onInputResult(final int retCode, final byte[] data) { if (retCode == SdkResult.Success) { LogUtil.d(TAG, "Success"); - mPayDetail.setPINCipher(ByteUtil.bytes2HexStr(data)); + if(isOnlinePin) { + mPayDetail.setPINCipher(ByteUtil.bytes2HexStr(data)); + } mHandler.obtainMessage(PIN_CLICK_CONFIRM).sendToTarget(); } else if (retCode == SdkResult.Fail) { LogUtil.d(TAG, "Failure"); diff --git a/baselib/src/main/res/raw/rid_config.json b/baselib/src/main/res/raw/rid_config.json index 6708b56..6ba056b 100644 --- a/baselib/src/main/res/raw/rid_config.json +++ b/baselib/src/main/res/raw/rid_config.json @@ -1,4 +1,55 @@ [ + + { + "rid": "A000000003", + "indx": "92", + "hashInd": "01", + "arithInd": "01", + "modul": "996AF56F569187D09293C14810450ED8EE3357397B18A2458EFAA92DA3B6DF6514EC060195318FD43BE9B8F0CC669E3F844057CBDDF8BDA191BB64473BC8DC9A730DB8F6B4EDE3924186FFD9B8C7735789C23A36BA0B8AF65372EB57EA5D89E7D14E9C7B6B557460F10885DA16AC923F15AF3758F0F03EBD3C5C2C949CBA306DB44E6A2C076C5F67E281D7EF56785DC4D75945E491F01918800A9E2DC66F60080566CE0DAF8D17EAD46AD8E30A247C9F", + "exponent": "03", + "expDate": "20201231", + "checkSum": "429C954A3859CEF91295F663C963E582ED6EB253" + }, + { + "rid": "A000000003", + "indx": "94", + "hashInd": "01", + "arithInd": "01", + "modul": "ACD2B12302EE644F3F835ABD1FC7A6F62CCE48FFEC622AA8EF062BEF6FB8BA8BC68BBF6AB5870EED579BC3973E121303D34841A796D6DCBC41DBF9E52C4609795C0CCF7EE86FA1D5CB041071ED2C51D2202F63F1156C58A92D38BC60BDF424E1776E2BC9648078A03B36FB554375FC53D57C73F5160EA59F3AFC5398EC7B67758D65C9BFF7828B6B82D4BE124A416AB7301914311EA462C19F771F31B3B57336000DFF732D3B83DE07052D730354D297BEC72871DCCF0E193F171ABA27EE464C6A97690943D59BDABB2A27EB71CEEBDAFA1176046478FD62FEC452D5CA393296530AA3F41927ADFE434A2DF2AE3054F8840657A26E0FC617", + "exponent": "03", + "expDate": "20201231", + "checkSum": "C4A3C43CCF87327D136B804160E47D43B60E6E0F" + }, + { + "rid": "A000000003", + "indx": "95", + "hashInd": "01", + "arithInd": "01", + "modul": "BE9E1FA5E9A803852999C4AB432DB28600DCD9DAB76DFAAA47355A0FE37B1508AC6BF38860D3C6C2E5B12A3CAAF2A7005A7241EBAA7771112C74CF9A0634652FBCA0E5980C54A64761EA101A114E0F0B5572ADD57D010B7C9C887E104CA4EE1272DA66D997B9A90B5A6D624AB6C57E73C8F919000EB5F684898EF8C3DBEFB330C62660BED88EA78E909AFF05F6DA627B", + "exponent": "03", + "expDate": "20201231", + "checkSum": "EE1511CEC71020A9B90443B37B1D5F6E703030F6" + }, + { + "rid": "A000000003", + "indx": "99", + "hashInd": "01", + "arithInd": "01", + "modul": "AB79FCC9520896967E776E64444E5DCDD6E13611874F3985722520425295EEA4BD0C2781DE7F31CD3D041F565F747306EED62954B17EDABA3A6C5B85A1DE1BEB9A34141AF38FCF8279C9DEA0D5A6710D08DB4124F041945587E20359BAB47B7575AD94262D4B25F264AF33DEDCF28E09615E937DE32EDC03C54445FE7E382777", + "exponent": "03", + "expDate": "20201231", + "checkSum": "4ABFFD6B1C51212D05552E431C5B17007D2F5E6D" + }, + { + "rid": "A000000003", + "indx": "09", + "hashInd": "01", + "arithInd": "01", + "modul": "9D912248DE0A4E39C1A7DDE3F6D2588992C1A4095AFBD1824D1BA74847F2BC4926D2EFD904B4B54954CD189A54C5D1179654F8F9B0D2AB5F0357EB642FEDA95D3912C6576945FAB897E7062CAA44A4AA06B8FE6E3DBA18AF6AE3738E30429EE9BE03427C9D64F695FA8CAB4BFE376853EA34AD1D76BFCAD15908C077FFE6DC5521ECEF5D278A96E26F57359FFAEDA19434B937F1AD999DC5C41EB11935B44C18100E857F431A4A5A6BB65114F174C2D7B59FDF237D6BB1DD0916E644D709DED56481477C75D95CDD68254615F7740EC07F330AC5D67BCD75BF23D28A140826C026DBDE971A37CD3EF9B8DF644AC385010501EFC6509D7A41", + "exponent": "03", + "expDate": "20201231", + "checkSum": "1FF80A40173F52D7D27E0F26A146A1C8CCB29046" + }, { "rid": "A000000333", "indx": "0A", @@ -89,56 +140,6 @@ "expDate": "3230333031323331", "checkSum": "43A3151513B7ADCEB92DBEA2A262CEB336D26C83" }, - { - "rid": "A000000003", - "indx": "92", - "hashInd": "01", - "arithInd": "01", - "modul": "996AF56F569187D09293C14810450ED8EE3357397B18A2458EFAA92DA3B6DF6514EC060195318FD43BE9B8F0CC669E3F844057CBDDF8BDA191BB64473BC8DC9A730DB8F6B4EDE3924186FFD9B8C7735789C23A36BA0B8AF65372EB57EA5D89E7D14E9C7B6B557460F10885DA16AC923F15AF3758F0F03EBD3C5C2C949CBA306DB44E6A2C076C5F67E281D7EF56785DC4D75945E491F01918800A9E2DC66F60080566CE0DAF8D17EAD46AD8E30A247C9F", - "exponent": "03", - "expDate": "20201231", - "checkSum": "429C954A3859CEF91295F663C963E582ED6EB253" - }, - { - "rid": "A000000003", - "indx": "94", - "hashInd": "01", - "arithInd": "01", - "modul": "ACD2B12302EE644F3F835ABD1FC7A6F62CCE48FFEC622AA8EF062BEF6FB8BA8BC68BBF6AB5870EED579BC3973E121303D34841A796D6DCBC41DBF9E52C4609795C0CCF7EE86FA1D5CB041071ED2C51D2202F63F1156C58A92D38BC60BDF424E1776E2BC9648078A03B36FB554375FC53D57C73F5160EA59F3AFC5398EC7B67758D65C9BFF7828B6B82D4BE124A416AB7301914311EA462C19F771F31B3B57336000DFF732D3B83DE07052D730354D297BEC72871DCCF0E193F171ABA27EE464C6A97690943D59BDABB2A27EB71CEEBDAFA1176046478FD62FEC452D5CA393296530AA3F41927ADFE434A2DF2AE3054F8840657A26E0FC617", - "exponent": "03", - "expDate": "20201231", - "checkSum": "C4A3C43CCF87327D136B804160E47D43B60E6E0F" - }, - { - "rid": "A000000003", - "indx": "95", - "hashInd": "01", - "arithInd": "01", - "modul": "BE9E1FA5E9A803852999C4AB432DB28600DCD9DAB76DFAAA47355A0FE37B1508AC6BF38860D3C6C2E5B12A3CAAF2A7005A7241EBAA7771112C74CF9A0634652FBCA0E5980C54A64761EA101A114E0F0B5572ADD57D010B7C9C887E104CA4EE1272DA66D997B9A90B5A6D624AB6C57E73C8F919000EB5F684898EF8C3DBEFB330C62660BED88EA78E909AFF05F6DA627B", - "exponent": "03", - "expDate": "20201231", - "checkSum": "EE1511CEC71020A9B90443B37B1D5F6E703030F6" - }, - { - "rid": "A000000003", - "indx": "99", - "hashInd": "01", - "arithInd": "01", - "modul": "AB79FCC9520896967E776E64444E5DCDD6E13611874F3985722520425295EEA4BD0C2781DE7F31CD3D041F565F747306EED62954B17EDABA3A6C5B85A1DE1BEB9A34141AF38FCF8279C9DEA0D5A6710D08DB4124F041945587E20359BAB47B7575AD94262D4B25F264AF33DEDCF28E09615E937DE32EDC03C54445FE7E382777", - "exponent": "03", - "expDate": "20201231", - "checkSum": "4ABFFD6B1C51212D05552E431C5B17007D2F5E6D" - }, - { - "rid": "A000000003", - "indx": "09", - "hashInd": "01", - "arithInd": "01", - "modul": "9D912248DE0A4E39C1A7DDE3F6D2588992C1A4095AFBD1824D1BA74847F2BC4926D2EFD904B4B54954CD189A54C5D1179654F8F9B0D2AB5F0357EB642FEDA95D3912C6576945FAB897E7062CAA44A4AA06B8FE6E3DBA18AF6AE3738E30429EE9BE03427C9D64F695FA8CAB4BFE376853EA34AD1D76BFCAD15908C077FFE6DC5521ECEF5D278A96E26F57359FFAEDA19434B937F1AD999DC5C41EB11935B44C18100E857F431A4A5A6BB65114F174C2D7B59FDF237D6BB1DD0916E644D709DED56481477C75D95CDD68254615F7740EC07F330AC5D67BCD75BF23D28A140826C026DBDE971A37CD3EF9B8DF644AC385010501EFC6509D7A41", - "exponent": "03", - "expDate": "20201231", - "checkSum": "1FF80A40173F52D7D27E0F26A146A1C8CCB29046" - }, { "rid": "A000000004", "indx": "F1",