From 7ec5424ac41002285d751675ff7c72b821f9c2a1 Mon Sep 17 00:00:00 2001 From: moon <56061215+MgKyawLay@users.noreply.github.com> Date: Sun, 17 May 2026 21:40:58 +0630 Subject: [PATCH] restricted_bin_list --- .../java/com/utsmm/kbz/util/tms/TMSSetupsImpl.java | 3 +++ .../com/utsmyanmar/baselib/util/TerminalUtil.java | 9 +++++++++ .../baselib/viewModel/EmvBaseViewModel.java | 6 ++---- .../utils/core_utils/SystemParamsOperation.java | 11 +++++++++++ .../utils/core_utils/SystemParamsSettings.java | 9 +++++++++ 5 files changed, 34 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/com/utsmm/kbz/util/tms/TMSSetupsImpl.java b/app/src/main/java/com/utsmm/kbz/util/tms/TMSSetupsImpl.java index cad23ac..1716d6c 100644 --- a/app/src/main/java/com/utsmm/kbz/util/tms/TMSSetupsImpl.java +++ b/app/src/main/java/com/utsmm/kbz/util/tms/TMSSetupsImpl.java @@ -645,6 +645,9 @@ public class TMSSetupsImpl implements TMSSetups{ else if(TextUtils.equals(name,"bin_list")) { SystemParamsOperation.getInstance().setBinValue(data); } + else if (TextUtils.equals(name, "restricted_bin_list")) { + SystemParamsOperation.getInstance().setRestrictedBinValue(data); + } else if(TextUtils.equals(name, "printer_enabled")){ SystemParamsOperation.getInstance().setPrinterEnabled(parseBoolean(data)); }else if(TextUtils.equals(name, "is_duel_currency")){ diff --git a/baselib/src/main/java/com/utsmyanmar/baselib/util/TerminalUtil.java b/baselib/src/main/java/com/utsmyanmar/baselib/util/TerminalUtil.java index c470290..e1b8e26 100644 --- a/baselib/src/main/java/com/utsmyanmar/baselib/util/TerminalUtil.java +++ b/baselib/src/main/java/com/utsmyanmar/baselib/util/TerminalUtil.java @@ -75,4 +75,13 @@ public class TerminalUtil { else return binParser(SystemParamsOperation.getInstance().getBinValues()); } + + public List getRestrictedBinList() { + if (SystemParamsOperation.getInstance().getRestrictedBinValues() == null + || SystemParamsOperation.getInstance().getRestrictedBinValues().isEmpty()) { + return new ArrayList<>(); + } else { + return binParser(SystemParamsOperation.getInstance().getRestrictedBinValues()); + } + } } 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 894f265..e7a3e58 100644 --- a/baselib/src/main/java/com/utsmyanmar/baselib/viewModel/EmvBaseViewModel.java +++ b/baselib/src/main/java/com/utsmyanmar/baselib/viewModel/EmvBaseViewModel.java @@ -179,7 +179,6 @@ public abstract class EmvBaseViewModel extends BaseViewModel { protected boolean isSecondCall = false; protected int mProcessStep; protected int mAppSelect = 0; - private static final String[] RESTRICTED_BINS = {"624430", "624431", "624445", @@ -192,9 +191,7 @@ public abstract class EmvBaseViewModel extends BaseViewModel { "62441900", "62441901" }; - private boolean isMPU_UPIContactless = false; - private boolean mMPUContactlessConfigured = false; private Looper mLooper = Looper.getMainLooper(); private final Handler mHandler = new Handler(mLooper) { @@ -540,7 +537,8 @@ public abstract class EmvBaseViewModel extends BaseViewModel { private boolean isRestrictedBin(String cardNo) { if (cardNo == null || cardNo.isEmpty()) return false; - for (String bin : RESTRICTED_BINS) { + List restrictedBins = TerminalUtil.getInstance().getRestrictedBinList(); + for (String bin : restrictedBins) { if (cardNo.startsWith(bin)) { LogUtil.d(TAG, "isRestrictedBin: matched BIN " + bin); return true; diff --git a/paylibs/src/main/java/com/utsmyanmar/paylibs/utils/core_utils/SystemParamsOperation.java b/paylibs/src/main/java/com/utsmyanmar/paylibs/utils/core_utils/SystemParamsOperation.java index 8878da7..020a4dc 100644 --- a/paylibs/src/main/java/com/utsmyanmar/paylibs/utils/core_utils/SystemParamsOperation.java +++ b/paylibs/src/main/java/com/utsmyanmar/paylibs/utils/core_utils/SystemParamsOperation.java @@ -1536,6 +1536,17 @@ public class SystemParamsOperation { return params.getBinValues(); } + public void setRestrictedBinValue(String value) { + SystemParamsSettings params = getSystemParamsSettings(); + params.setRestrictedBinValues(value); + saveSystemParamsSettings(params); + } + + public String getRestrictedBinValues() { + SystemParamsSettings params = getSystemParamsSettings(); + return params.getRestrictedBinValues(); + } + public String getSecHostMerchantId() { SystemParamsSettings params = getSystemParamsSettings(); return params.getSecHostMerchantId(); diff --git a/paylibs/src/main/java/com/utsmyanmar/paylibs/utils/core_utils/SystemParamsSettings.java b/paylibs/src/main/java/com/utsmyanmar/paylibs/utils/core_utils/SystemParamsSettings.java index 5cbfb15..104ba9c 100644 --- a/paylibs/src/main/java/com/utsmyanmar/paylibs/utils/core_utils/SystemParamsSettings.java +++ b/paylibs/src/main/java/com/utsmyanmar/paylibs/utils/core_utils/SystemParamsSettings.java @@ -48,6 +48,7 @@ public class SystemParamsSettings implements Serializable { // private String ereceiptAddress = "https://api-tms-uat.kbzbank.com:8443/receipt"; //for uat private String binValues = ""; + private String restrictedBinValues = ""; private String terminalName = ""; @@ -367,6 +368,14 @@ public class SystemParamsSettings implements Serializable { return this.binValues; } + protected void setRestrictedBinValues(String restrictedBinValues) { + this.restrictedBinValues = restrictedBinValues; + } + + protected String getRestrictedBinValues() { + return this.restrictedBinValues; + } + protected void setDisabledMessage(String disabledMessage) { this.disabledMessage = disabledMessage; }