duel enable

This commit is contained in:
moon 2026-03-16 11:59:03 +06:30
parent 3c44f3d1ba
commit b56cb9f78b
3 changed files with 37 additions and 4 deletions

View File

@ -471,6 +471,10 @@ public class MainFragment extends DataBindingFragment {
values.add(normalizeCurrency(cardPrimaryCurrency.name)); values.add(normalizeCurrency(cardPrimaryCurrency.name));
} }
if (!SystemParamsOperation.getInstance().getDuelCurrencyStatus()) {
return new ArrayList<>(values);
}
String secondaryCurrency = normalizeCurrency(SystemParamsOperation.getInstance().getThirdHostCurrency()); String secondaryCurrency = normalizeCurrency(SystemParamsOperation.getInstance().getThirdHostCurrency());
if (!TextUtils.isEmpty(SystemParamsOperation.getInstance().getThirdHostName()) && !TextUtils.isEmpty(secondaryCurrency)) { if (!TextUtils.isEmpty(SystemParamsOperation.getInstance().getThirdHostName()) && !TextUtils.isEmpty(secondaryCurrency)) {
values.add(secondaryCurrency); values.add(secondaryCurrency);
@ -484,8 +488,10 @@ public class MainFragment extends DataBindingFragment {
String selected = normalizeCurrency(selectedCurrency); String selected = normalizeCurrency(selectedCurrency);
String secondaryCurrency = normalizeCurrency(SystemParamsOperation.getInstance().getThirdHostCurrency()); String secondaryCurrency = normalizeCurrency(SystemParamsOperation.getInstance().getThirdHostCurrency());
boolean dualCurrencyEnabled = SystemParamsOperation.getInstance().getDuelCurrencyStatus();
boolean useSecondaryCardHost = !TextUtils.isEmpty(SystemParamsOperation.getInstance().getThirdHostName()) boolean useSecondaryCardHost = dualCurrencyEnabled
&& !TextUtils.isEmpty(SystemParamsOperation.getInstance().getThirdHostName())
&& !TextUtils.isEmpty(secondaryCurrency) && !TextUtils.isEmpty(secondaryCurrency)
&& secondaryCurrency.equals(selected); && secondaryCurrency.equals(selected);

View File

@ -315,6 +315,10 @@ public class DashboardTransFragment extends DataBindingFragment {
values.add(normalizeCurrency(cardPrimaryCurrency.name)); values.add(normalizeCurrency(cardPrimaryCurrency.name));
} }
if (!SystemParamsOperation.getInstance().getDuelCurrencyStatus()) {
return new ArrayList<>(values);
}
String secondaryCurrency = normalizeCurrency(SystemParamsOperation.getInstance().getThirdHostCurrency()); String secondaryCurrency = normalizeCurrency(SystemParamsOperation.getInstance().getThirdHostCurrency());
if (!TextUtils.isEmpty(SystemParamsOperation.getInstance().getThirdHostName()) && !TextUtils.isEmpty(secondaryCurrency)) { if (!TextUtils.isEmpty(SystemParamsOperation.getInstance().getThirdHostName()) && !TextUtils.isEmpty(secondaryCurrency)) {
values.add(secondaryCurrency); values.add(secondaryCurrency);
@ -328,8 +332,10 @@ public class DashboardTransFragment extends DataBindingFragment {
String selected = normalizeCurrency(selectedCurrency); String selected = normalizeCurrency(selectedCurrency);
String secondaryCurrency = normalizeCurrency(SystemParamsOperation.getInstance().getThirdHostCurrency()); String secondaryCurrency = normalizeCurrency(SystemParamsOperation.getInstance().getThirdHostCurrency());
boolean dualCurrencyEnabled = SystemParamsOperation.getInstance().getDuelCurrencyStatus();
boolean useSecondaryCardHost = !TextUtils.isEmpty(SystemParamsOperation.getInstance().getThirdHostName()) boolean useSecondaryCardHost = dualCurrencyEnabled
&& !TextUtils.isEmpty(SystemParamsOperation.getInstance().getThirdHostName())
&& !TextUtils.isEmpty(secondaryCurrency) && !TextUtils.isEmpty(secondaryCurrency)
&& secondaryCurrency.equals(selected); && secondaryCurrency.equals(selected);

View File

@ -149,6 +149,9 @@ public class TMSSetupsImpl implements TMSSetups{
List<SiriusHost> siriusHosts = siriusResponse.getHosts(); List<SiriusHost> siriusHosts = siriusResponse.getHosts();
List<SiriusProperty> siriusProperties = siriusResponse.getProperties(); List<SiriusProperty> siriusProperties = siriusResponse.getProperties();
boolean isDualCurrencyEnabled = isDualCurrencyEnabled(siriusProperties);
SystemParamsOperation.getInstance().setDuelCurrencyStatus(isDualCurrencyEnabled);
ArrayList<String> imgUrls = new ArrayList<>(); ArrayList<String> imgUrls = new ArrayList<>();
@ -207,7 +210,7 @@ public class TMSSetupsImpl implements TMSSetups{
} }
// For dual-currency card flow, prefer MMK as PRIMARY HOST. // For dual-currency card flow, prefer MMK as PRIMARY HOST.
if (cardHosts.size() >= 2) { if (isDualCurrencyEnabled && cardHosts.size() >= 2) {
SiriusHost first = cardHosts.get(0); SiriusHost first = cardHosts.get(0);
SiriusHost second = cardHosts.get(1); SiriusHost second = cardHosts.get(1);
boolean firstIsMMK = "MMK".equalsIgnoreCase(first.getCurrency()); boolean firstIsMMK = "MMK".equalsIgnoreCase(first.getCurrency());
@ -237,7 +240,7 @@ public class TMSSetupsImpl implements TMSSetups{
} }
// SECONDARY HOST (Card #2) // SECONDARY HOST (Card #2)
if (cardHosts.size() > 1) { if (isDualCurrencyEnabled && cardHosts.size() > 1) {
SiriusHost secondaryCard = cardHosts.get(1); SiriusHost secondaryCard = cardHosts.get(1);
SystemParamsOperation.getInstance().setThirdHostName(secondaryCard.getName() == null ? "" : secondaryCard.getName()); SystemParamsOperation.getInstance().setThirdHostName(secondaryCard.getName() == null ? "" : secondaryCard.getName());
SystemParamsOperation.getInstance().setThirdHostTerminalId(secondaryCard.getTid() == null ? "" : secondaryCard.getTid()); SystemParamsOperation.getInstance().setThirdHostTerminalId(secondaryCard.getTid() == null ? "" : secondaryCard.getTid());
@ -647,6 +650,24 @@ public class TMSSetupsImpl implements TMSSetups{
return EReceiptHelper.sha256(dataToHash); return EReceiptHelper.sha256(dataToHash);
} }
private boolean isDualCurrencyEnabled(List<SiriusProperty> siriusProperties) {
if (siriusProperties == null) {
return false;
}
for (SiriusProperty siriusProperty : siriusProperties) {
if (siriusProperty == null) {
continue;
}
if (TextUtils.equals("is_duel_currency", siriusProperty.getName())) {
return parseBoolean(siriusProperty.getProperty());
}
}
return false;
}
private String convertToString(ArrayList<String> list) { private String convertToString(ArrayList<String> list) {