Compare commits
4 Commits
2c87ee5828
...
95d50ec3a7
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
95d50ec3a7 | ||
|
|
c71eaef5b5 | ||
|
|
b56cb9f78b | ||
|
|
3c44f3d1ba |
@ -35,6 +35,10 @@
|
|||||||
<uses-permission android:name="android.permission.WAKE_LOCK" />
|
<uses-permission android:name="android.permission.WAKE_LOCK" />
|
||||||
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
|
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
|
||||||
<uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS" />
|
<uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS" />
|
||||||
|
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
|
||||||
|
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
|
||||||
|
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION"/>
|
||||||
|
|
||||||
|
|
||||||
<!-- android:noHistory="true"-->
|
<!-- android:noHistory="true"-->
|
||||||
<!-- android:excludeFromRecents="true"-->
|
<!-- android:excludeFromRecents="true"-->
|
||||||
|
|||||||
@ -32,6 +32,7 @@ import com.nexgo.downloadkey.downloadflow.DownloadFlowResultEntity;
|
|||||||
import com.nexgo.downloadkey.downloadflow.DownloadResult;
|
import com.nexgo.downloadkey.downloadflow.DownloadResult;
|
||||||
import com.nexgo.oaf.apiv3.device.pinpad.PinPad;
|
import com.nexgo.oaf.apiv3.device.pinpad.PinPad;
|
||||||
import com.nexgo.oaf.apiv3.device.pinpad.WorkKeyTypeEnum;
|
import com.nexgo.oaf.apiv3.device.pinpad.WorkKeyTypeEnum;
|
||||||
|
import com.utsmm.kbz.util.LocationUtil;
|
||||||
import com.utsmyanmar.baselib.BaseApplication;
|
import com.utsmyanmar.baselib.BaseApplication;
|
||||||
import com.utsmyanmar.baselib.repo.Repository;
|
import com.utsmyanmar.baselib.repo.Repository;
|
||||||
import com.utsmyanmar.baselib.ui.AnimationDialog;
|
import com.utsmyanmar.baselib.ui.AnimationDialog;
|
||||||
@ -427,7 +428,7 @@ public class MainActivity extends AppCompatActivity implements
|
|||||||
@Override
|
@Override
|
||||||
public void onResume() {
|
public void onResume() {
|
||||||
super.onResume();
|
super.onResume();
|
||||||
|
getLocation();
|
||||||
SystemParamsOperation.getInstance().setSetupEcr(false);
|
SystemParamsOperation.getInstance().setSetupEcr(false);
|
||||||
SystemParamsOperation.getInstance().setDownloadedParams(false);
|
SystemParamsOperation.getInstance().setDownloadedParams(false);
|
||||||
|
|
||||||
@ -450,6 +451,24 @@ public class MainActivity extends AppCompatActivity implements
|
|||||||
handleAutoSettlementIntent(intent);
|
handleAutoSettlementIntent(intent);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void getLocation() {
|
||||||
|
LocationUtil.getCurrentLocation(MainActivity.this, new LocationUtil.LocationCallback() {
|
||||||
|
@Override
|
||||||
|
public void onSuccess(double lat, double lng) {
|
||||||
|
LogUtil.d("Location", "Current Location: " + lat + ", " + lng);
|
||||||
|
LocationUtil.setLat(lat);
|
||||||
|
LocationUtil.setLng(lng);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onError(String reason) {
|
||||||
|
LogUtil.e("Location", "get Location error: " + reason);
|
||||||
|
LocationUtil.setLat(0.00);
|
||||||
|
LocationUtil.setLng(0.00);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
private void handleAutoSettlementIntent(Intent intent) {
|
private void handleAutoSettlementIntent(Intent intent) {
|
||||||
if (intent == null) return;
|
if (intent == null) return;
|
||||||
|
|
||||||
|
|||||||
@ -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);
|
||||||
|
|
||||||
|
|||||||
@ -13,6 +13,7 @@ import androidx.navigation.Navigation;
|
|||||||
|
|
||||||
import com.google.gson.Gson;
|
import com.google.gson.Gson;
|
||||||
import com.google.gson.stream.MalformedJsonException;
|
import com.google.gson.stream.MalformedJsonException;
|
||||||
|
import com.utsmm.kbz.MainActivity;
|
||||||
import com.utsmm.kbz.config.Constants;
|
import com.utsmm.kbz.config.Constants;
|
||||||
import com.nexgo.downloadkey.downloadflow.DownloadFEntity;
|
import com.nexgo.downloadkey.downloadflow.DownloadFEntity;
|
||||||
import com.nexgo.downloadkey.downloadflow.DownloadFlow;
|
import com.nexgo.downloadkey.downloadflow.DownloadFlow;
|
||||||
@ -393,6 +394,9 @@ public class SettingsFragment extends DataBindingFragment {
|
|||||||
private void downloadParams(String lastTransName, String lastTransTime) {
|
private void downloadParams(String lastTransName, String lastTransTime) {
|
||||||
try {
|
try {
|
||||||
LogUtil.d(TAG, "Downloading params for transaction: " + lastTransName);
|
LogUtil.d(TAG, "Downloading params for transaction: " + lastTransName);
|
||||||
|
|
||||||
|
((MainActivity) requireActivity()).getLocation();
|
||||||
|
|
||||||
SiriusRequest siriusReq = TMSUtil.getInstance().generateRequestParams(getContext(), lastTransName, lastTransTime);
|
SiriusRequest siriusReq = TMSUtil.getInstance().generateRequestParams(getContext(), lastTransName, lastTransTime);
|
||||||
|
|
||||||
mainViewModel.getParams(siriusReq)
|
mainViewModel.getParams(siriusReq)
|
||||||
|
|||||||
@ -10,6 +10,8 @@ import androidx.appcompat.app.AppCompatActivity;
|
|||||||
import com.google.gson.Gson;
|
import com.google.gson.Gson;
|
||||||
import com.google.gson.JsonSyntaxException;
|
import com.google.gson.JsonSyntaxException;
|
||||||
import com.google.gson.stream.MalformedJsonException;
|
import com.google.gson.stream.MalformedJsonException;
|
||||||
|
import com.utsmm.kbz.MainActivity;
|
||||||
|
import com.utsmm.kbz.util.LocationUtil;
|
||||||
import com.utsmyanmar.baselib.emv.EmvParamOperation;
|
import com.utsmyanmar.baselib.emv.EmvParamOperation;
|
||||||
import com.utsmyanmar.baselib.fragment.DataBindingFragment;
|
import com.utsmyanmar.baselib.fragment.DataBindingFragment;
|
||||||
import com.utsmyanmar.baselib.network.model.sirius.SiriusError;
|
import com.utsmyanmar.baselib.network.model.sirius.SiriusError;
|
||||||
@ -156,6 +158,8 @@ public class TransactionResultFragment extends DataBindingFragment implements Da
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
((MainActivity) requireActivity()).getLocation();
|
||||||
|
|
||||||
SiriusRequest siriusReq = TMSUtil.getInstance().generateRequestParams(
|
SiriusRequest siriusReq = TMSUtil.getInstance().generateRequestParams(
|
||||||
getContext(),
|
getContext(),
|
||||||
payDetail.getTransType(),
|
payDetail.getTransType(),
|
||||||
|
|||||||
@ -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);
|
||||||
|
|
||||||
|
|||||||
@ -4,6 +4,7 @@ import androidx.databinding.library.baseAdapters.BR;
|
|||||||
import androidx.lifecycle.Observer;
|
import androidx.lifecycle.Observer;
|
||||||
|
|
||||||
import com.google.gson.stream.MalformedJsonException;
|
import com.google.gson.stream.MalformedJsonException;
|
||||||
|
import com.utsmm.kbz.MainActivity;
|
||||||
import com.utsmyanmar.baselib.emv.EmvParamOperation;
|
import com.utsmyanmar.baselib.emv.EmvParamOperation;
|
||||||
import com.utsmyanmar.baselib.fragment.DataBindingFragment;
|
import com.utsmyanmar.baselib.fragment.DataBindingFragment;
|
||||||
import com.utsmyanmar.baselib.network.model.sirius.SiriusRequest;
|
import com.utsmyanmar.baselib.network.model.sirius.SiriusRequest;
|
||||||
@ -104,6 +105,7 @@ public class DisabledTerminalFragment extends DataBindingFragment {
|
|||||||
|
|
||||||
private void downloadParams(String lastTransName,String lastTransTime) {
|
private void downloadParams(String lastTransName,String lastTransTime) {
|
||||||
showLoadingDialog("Downloading...");
|
showLoadingDialog("Downloading...");
|
||||||
|
((MainActivity) requireActivity()).getLocation();
|
||||||
SiriusRequest siriusReq = TMSUtil.getInstance().generateRequestParams(getContext(),lastTransName,lastTransTime);
|
SiriusRequest siriusReq = TMSUtil.getInstance().generateRequestParams(getContext(),lastTransName,lastTransTime);
|
||||||
mainViewModel.getParams(siriusReq).subscribeOn(Schedulers.io())
|
mainViewModel.getParams(siriusReq).subscribeOn(Schedulers.io())
|
||||||
.observeOn(AndroidSchedulers.mainThread())
|
.observeOn(AndroidSchedulers.mainThread())
|
||||||
|
|||||||
@ -5,6 +5,7 @@ import androidx.lifecycle.ViewModelProvider;
|
|||||||
import androidx.navigation.fragment.NavHostFragment;
|
import androidx.navigation.fragment.NavHostFragment;
|
||||||
|
|
||||||
import com.utsmm.kbz.BR;
|
import com.utsmm.kbz.BR;
|
||||||
|
import com.utsmm.kbz.MainActivity;
|
||||||
import com.utsmm.kbz.MainViewModel;
|
import com.utsmm.kbz.MainViewModel;
|
||||||
import com.utsmm.kbz.R;
|
import com.utsmm.kbz.R;
|
||||||
import com.utsmm.kbz.config.Constants;
|
import com.utsmm.kbz.config.Constants;
|
||||||
|
|||||||
@ -42,8 +42,8 @@ public class RefundCertificateManager {
|
|||||||
return;
|
return;
|
||||||
};
|
};
|
||||||
|
|
||||||
// String downloadBase = tmsAddress.trim() + "/api/v1/file/download?filePath="; //local
|
String downloadBase = tmsAddress.trim() + "/api/v1/file/download?filePath="; //local
|
||||||
String downloadBase = tmsAddress.trim() + "/file/download?filePath="; // uat and prod
|
// String downloadBase = tmsAddress.trim() + "/file/download?filePath="; // uat and prod
|
||||||
|
|
||||||
String certUrl = SystemParamsOperation.getInstance().getCertificateUrl();
|
String certUrl = SystemParamsOperation.getInstance().getCertificateUrl();
|
||||||
String clientCertUrl = SystemParamsOperation.getInstance().getCertificateClientUrl();
|
String clientCertUrl = SystemParamsOperation.getInstance().getCertificateClientUrl();
|
||||||
|
|||||||
@ -15,6 +15,7 @@ import androidx.annotation.Nullable;
|
|||||||
|
|
||||||
import com.google.gson.Gson;
|
import com.google.gson.Gson;
|
||||||
import com.google.gson.stream.MalformedJsonException;
|
import com.google.gson.stream.MalformedJsonException;
|
||||||
|
import com.utsmm.kbz.MainActivity;
|
||||||
import com.utsmm.kbz.service.AutoAlarmReceiver;
|
import com.utsmm.kbz.service.AutoAlarmReceiver;
|
||||||
import com.utsmyanmar.baselib.fragment.DataBindingFragment;
|
import com.utsmyanmar.baselib.fragment.DataBindingFragment;
|
||||||
import com.utsmyanmar.baselib.network.model.sirius.SiriusError;
|
import com.utsmyanmar.baselib.network.model.sirius.SiriusError;
|
||||||
@ -139,6 +140,8 @@ public class TMSProcessFragment extends DataBindingFragment {
|
|||||||
|
|
||||||
private void downloadParams(String lastTransName,String lastTransTime,TMSUpdate tmsUpdate) {
|
private void downloadParams(String lastTransName,String lastTransTime,TMSUpdate tmsUpdate) {
|
||||||
|
|
||||||
|
((MainActivity) requireActivity()).getLocation();
|
||||||
|
|
||||||
tmsProcessViewModel.setTmsDownloadStatus(TMSDownloadStatus.DOWNLOADING);
|
tmsProcessViewModel.setTmsDownloadStatus(TMSDownloadStatus.DOWNLOADING);
|
||||||
tmsProcessViewModel.setTmsDownloadMsg("Downloading...");
|
tmsProcessViewModel.setTmsDownloadMsg("Downloading...");
|
||||||
|
|
||||||
|
|||||||
111
app/src/main/java/com/utsmm/kbz/util/LocationUtil.java
Normal file
111
app/src/main/java/com/utsmm/kbz/util/LocationUtil.java
Normal file
@ -0,0 +1,111 @@
|
|||||||
|
package com.utsmm.kbz.util;
|
||||||
|
|
||||||
|
import android.Manifest;
|
||||||
|
import android.app.Activity;
|
||||||
|
import android.app.AlertDialog;
|
||||||
|
import android.content.Context;
|
||||||
|
import android.content.pm.PackageManager;
|
||||||
|
import android.location.Location;
|
||||||
|
import android.location.LocationListener;
|
||||||
|
import android.location.LocationManager;
|
||||||
|
|
||||||
|
import androidx.annotation.NonNull;
|
||||||
|
import androidx.core.app.ActivityCompat;
|
||||||
|
|
||||||
|
public class LocationUtil {
|
||||||
|
public interface LocationCallback {
|
||||||
|
void onSuccess(double lat, double lng);
|
||||||
|
void onError(String reason);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static LocationListener listener;
|
||||||
|
private static double lat = 0.00;
|
||||||
|
private static double lng = 0.00;
|
||||||
|
|
||||||
|
public static void getCurrentLocation(
|
||||||
|
@NonNull Activity activity,
|
||||||
|
@NonNull LocationCallback callback) {
|
||||||
|
|
||||||
|
LocationManager lm =
|
||||||
|
(LocationManager) activity.getSystemService(Context.LOCATION_SERVICE);
|
||||||
|
|
||||||
|
if (lm == null) {
|
||||||
|
callback.onError("LocationManager is null");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (ActivityCompat.checkSelfPermission(activity,
|
||||||
|
Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
|
||||||
|
|
||||||
|
ActivityCompat.requestPermissions(
|
||||||
|
activity,
|
||||||
|
new String[]{Manifest.permission.ACCESS_FINE_LOCATION},
|
||||||
|
201
|
||||||
|
);
|
||||||
|
callback.onError("Permission not granted");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
boolean gpsEnabled = lm.isProviderEnabled(LocationManager.GPS_PROVIDER);
|
||||||
|
boolean netEnabled = lm.isProviderEnabled(LocationManager.NETWORK_PROVIDER);
|
||||||
|
|
||||||
|
if (!gpsEnabled && !netEnabled) {
|
||||||
|
callback.onError("No location provider enabled");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
Location location = lm.getLastKnownLocation(LocationManager.GPS_PROVIDER);
|
||||||
|
if (location == null) {
|
||||||
|
location = lm.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (location != null) {
|
||||||
|
callback.onSuccess(location.getLatitude(), location.getLongitude());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
listener = new LocationListener() {
|
||||||
|
@Override
|
||||||
|
public void onLocationChanged(@NonNull Location location) {
|
||||||
|
callback.onSuccess(
|
||||||
|
location.getLatitude(),
|
||||||
|
location.getLongitude()
|
||||||
|
);
|
||||||
|
lm.removeUpdates(this); // 🔥 stop GPS
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
lm.requestLocationUpdates(
|
||||||
|
LocationManager.GPS_PROVIDER,
|
||||||
|
2000,
|
||||||
|
1,
|
||||||
|
listener
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void stop(Context context) {
|
||||||
|
if (listener != null) {
|
||||||
|
LocationManager lm =
|
||||||
|
(LocationManager) context.getSystemService(Context.LOCATION_SERVICE);
|
||||||
|
if (lm != null) lm.removeUpdates(listener);
|
||||||
|
listener = null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static double getLat() {
|
||||||
|
return lat;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static double getLng() {
|
||||||
|
return lng;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void setLat(double lat) {
|
||||||
|
LocationUtil.lat = lat;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void setLng(double lng) {
|
||||||
|
LocationUtil.lng = lng;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -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());
|
||||||
@ -633,6 +636,8 @@ public class TMSSetupsImpl implements TMSSetups{
|
|||||||
}
|
}
|
||||||
else if(TextUtils.equals(name, "printer_enabled")){
|
else if(TextUtils.equals(name, "printer_enabled")){
|
||||||
SystemParamsOperation.getInstance().setPrinterEnabled(parseBoolean(data));
|
SystemParamsOperation.getInstance().setPrinterEnabled(parseBoolean(data));
|
||||||
|
}else if(TextUtils.equals(name, "is_duel_currency")){
|
||||||
|
SystemParamsOperation.getInstance().setDuelCurrencyStatus(parseBoolean(data));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -645,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) {
|
||||||
|
|
||||||
|
|||||||
@ -7,6 +7,7 @@ import android.text.TextUtils;
|
|||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
|
||||||
import com.kizzy.xpay.XPay;
|
import com.kizzy.xpay.XPay;
|
||||||
|
import com.utsmm.kbz.util.LocationUtil;
|
||||||
import com.utsmyanmar.baselib.emv.EmvParamOperation;
|
import com.utsmyanmar.baselib.emv.EmvParamOperation;
|
||||||
import com.utsmyanmar.baselib.network.model.sirius.SiriusRequest;
|
import com.utsmyanmar.baselib.network.model.sirius.SiriusRequest;
|
||||||
import com.utsmyanmar.baselib.network.model.sirius.SiriusResponse;
|
import com.utsmyanmar.baselib.network.model.sirius.SiriusResponse;
|
||||||
@ -139,6 +140,7 @@ public class TMSUtil {
|
|||||||
|
|
||||||
public SiriusRequest generateRequestParams(Context context,String lastTransName,String lastTransTime) {
|
public SiriusRequest generateRequestParams(Context context,String lastTransName,String lastTransTime) {
|
||||||
|
|
||||||
|
|
||||||
SiriusRequest siriusRequest = new SiriusRequest();
|
SiriusRequest siriusRequest = new SiriusRequest();
|
||||||
siriusRequest.setSerial(getSerialNumber());
|
siriusRequest.setSerial(getSerialNumber());
|
||||||
siriusRequest.setAppPackage(BuildConfig.APPLICATION_ID);
|
siriusRequest.setAppPackage(BuildConfig.APPLICATION_ID);
|
||||||
@ -148,6 +150,8 @@ public class TMSUtil {
|
|||||||
siriusRequest.setCurrentNetwork(getNetworkType(context));
|
siriusRequest.setCurrentNetwork(getNetworkType(context));
|
||||||
siriusRequest.setLastTransaction(lastTransName);
|
siriusRequest.setLastTransaction(lastTransName);
|
||||||
siriusRequest.setLastTranTime(Long.parseLong(lastTransTime));
|
siriusRequest.setLastTranTime(Long.parseLong(lastTransTime));
|
||||||
|
siriusRequest.setLatitude(LocationUtil.getLat());
|
||||||
|
siriusRequest.setLongitude(LocationUtil.getLng());
|
||||||
siriusRequest.setValue("YourValueHere");
|
siriusRequest.setValue("YourValueHere");
|
||||||
|
|
||||||
return siriusRequest;
|
return siriusRequest;
|
||||||
|
|||||||
@ -18,9 +18,23 @@ public class SiriusRequest {
|
|||||||
private Long lastTranTime;
|
private Long lastTranTime;
|
||||||
|
|
||||||
private String value;
|
private String value;
|
||||||
|
private double latitude;
|
||||||
|
private double longitude;
|
||||||
|
|
||||||
public SiriusRequest() {}
|
public SiriusRequest() {}
|
||||||
public SiriusRequest(String serial, String appPackage, String androidVersion, String firmwareVersion, String applicationVersion, String currentNetwork, String lastTransaction, Long lastTranTime, String value) {
|
public SiriusRequest(
|
||||||
|
String serial,
|
||||||
|
String appPackage,
|
||||||
|
String androidVersion,
|
||||||
|
String firmwareVersion,
|
||||||
|
String applicationVersion,
|
||||||
|
String currentNetwork,
|
||||||
|
String lastTransaction,
|
||||||
|
Long lastTranTime,
|
||||||
|
double latitude,
|
||||||
|
double longitude,
|
||||||
|
String value
|
||||||
|
) {
|
||||||
this.serial = serial;
|
this.serial = serial;
|
||||||
this.appPackage = appPackage;
|
this.appPackage = appPackage;
|
||||||
this.androidVersion = androidVersion;
|
this.androidVersion = androidVersion;
|
||||||
@ -29,6 +43,8 @@ public class SiriusRequest {
|
|||||||
this.currentNetwork = currentNetwork;
|
this.currentNetwork = currentNetwork;
|
||||||
this.lastTransaction = lastTransaction;
|
this.lastTransaction = lastTransaction;
|
||||||
this.lastTranTime = lastTranTime;
|
this.lastTranTime = lastTranTime;
|
||||||
|
this.latitude = latitude;
|
||||||
|
this.longitude = longitude;
|
||||||
this.value = value;
|
this.value = value;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -100,6 +116,22 @@ public class SiriusRequest {
|
|||||||
return value;
|
return value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public double getLatitude(){
|
||||||
|
return latitude;
|
||||||
|
}
|
||||||
|
|
||||||
|
public double getLongitude(){
|
||||||
|
return longitude;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setLatitude(double latitude){
|
||||||
|
this.latitude = latitude;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setLongitude(double longitude){
|
||||||
|
this.longitude = longitude;
|
||||||
|
}
|
||||||
|
|
||||||
public void setValue(String value) {
|
public void setValue(String value) {
|
||||||
this.value = value;
|
this.value = value;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1840,4 +1840,15 @@ public class SystemParamsOperation {
|
|||||||
SystemParamsSettings paramsSettings = getSystemParamsSettings();
|
SystemParamsSettings paramsSettings = getSystemParamsSettings();
|
||||||
return paramsSettings.getPrinterEnabled();
|
return paramsSettings.getPrinterEnabled();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setDuelCurrencyStatus(boolean duelCurrencyStatus) {
|
||||||
|
SystemParamsSettings paramsSettings = getSystemParamsSettings();
|
||||||
|
paramsSettings.setDuelCurrencyStatus(duelCurrencyStatus);
|
||||||
|
saveSystemParamsSettings(paramsSettings);
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean getDuelCurrencyStatus(){
|
||||||
|
SystemParamsSettings paramsSettings = getSystemParamsSettings();
|
||||||
|
return paramsSettings.getDuelCurrencyStatus();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -268,6 +268,7 @@ public class SystemParamsSettings implements Serializable {
|
|||||||
private String certificateUrl = "";
|
private String certificateUrl = "";
|
||||||
private String certificateClientUrl = "";
|
private String certificateClientUrl = "";
|
||||||
private boolean printerEnabled = true;
|
private boolean printerEnabled = true;
|
||||||
|
private boolean duelCurrencyStatus = false;
|
||||||
|
|
||||||
public boolean isQrPartialRefundEnable(){
|
public boolean isQrPartialRefundEnable(){
|
||||||
return qrPartialRefundEnable;
|
return qrPartialRefundEnable;
|
||||||
@ -1117,6 +1118,14 @@ public class SystemParamsSettings implements Serializable {
|
|||||||
return printerEnabled;
|
return printerEnabled;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setDuelCurrencyStatus(boolean duelCurrencyStatus) {
|
||||||
|
this.duelCurrencyStatus = duelCurrencyStatus;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean getDuelCurrencyStatus(){
|
||||||
|
return duelCurrencyStatus;
|
||||||
|
}
|
||||||
|
|
||||||
/* // 流水号起始
|
/* // 流水号起始
|
||||||
private String serialNum = Configs.getInstance().SERIAL_NUM();
|
private String serialNum = Configs.getInstance().SERIAL_NUM();
|
||||||
// 批次号起始
|
// 批次号起始
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user