Compare commits
No commits in common. "95d50ec3a7d3b519afdda92f01dbaa333eb6797d" and "2c87ee58289db0b1397f15184960bedddc6a81fc" have entirely different histories.
95d50ec3a7
...
2c87ee5828
@ -35,10 +35,6 @@
|
||||
<uses-permission android:name="android.permission.WAKE_LOCK" />
|
||||
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
|
||||
<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:excludeFromRecents="true"-->
|
||||
|
||||
@ -32,7 +32,6 @@ import com.nexgo.downloadkey.downloadflow.DownloadFlowResultEntity;
|
||||
import com.nexgo.downloadkey.downloadflow.DownloadResult;
|
||||
import com.nexgo.oaf.apiv3.device.pinpad.PinPad;
|
||||
import com.nexgo.oaf.apiv3.device.pinpad.WorkKeyTypeEnum;
|
||||
import com.utsmm.kbz.util.LocationUtil;
|
||||
import com.utsmyanmar.baselib.BaseApplication;
|
||||
import com.utsmyanmar.baselib.repo.Repository;
|
||||
import com.utsmyanmar.baselib.ui.AnimationDialog;
|
||||
@ -428,7 +427,7 @@ public class MainActivity extends AppCompatActivity implements
|
||||
@Override
|
||||
public void onResume() {
|
||||
super.onResume();
|
||||
getLocation();
|
||||
|
||||
SystemParamsOperation.getInstance().setSetupEcr(false);
|
||||
SystemParamsOperation.getInstance().setDownloadedParams(false);
|
||||
|
||||
@ -451,24 +450,6 @@ public class MainActivity extends AppCompatActivity implements
|
||||
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) {
|
||||
if (intent == null) return;
|
||||
|
||||
|
||||
@ -471,10 +471,6 @@ public class MainFragment extends DataBindingFragment {
|
||||
values.add(normalizeCurrency(cardPrimaryCurrency.name));
|
||||
}
|
||||
|
||||
if (!SystemParamsOperation.getInstance().getDuelCurrencyStatus()) {
|
||||
return new ArrayList<>(values);
|
||||
}
|
||||
|
||||
String secondaryCurrency = normalizeCurrency(SystemParamsOperation.getInstance().getThirdHostCurrency());
|
||||
if (!TextUtils.isEmpty(SystemParamsOperation.getInstance().getThirdHostName()) && !TextUtils.isEmpty(secondaryCurrency)) {
|
||||
values.add(secondaryCurrency);
|
||||
@ -488,10 +484,8 @@ public class MainFragment extends DataBindingFragment {
|
||||
|
||||
String selected = normalizeCurrency(selectedCurrency);
|
||||
String secondaryCurrency = normalizeCurrency(SystemParamsOperation.getInstance().getThirdHostCurrency());
|
||||
boolean dualCurrencyEnabled = SystemParamsOperation.getInstance().getDuelCurrencyStatus();
|
||||
|
||||
boolean useSecondaryCardHost = dualCurrencyEnabled
|
||||
&& !TextUtils.isEmpty(SystemParamsOperation.getInstance().getThirdHostName())
|
||||
boolean useSecondaryCardHost = !TextUtils.isEmpty(SystemParamsOperation.getInstance().getThirdHostName())
|
||||
&& !TextUtils.isEmpty(secondaryCurrency)
|
||||
&& secondaryCurrency.equals(selected);
|
||||
|
||||
|
||||
@ -13,7 +13,6 @@ import androidx.navigation.Navigation;
|
||||
|
||||
import com.google.gson.Gson;
|
||||
import com.google.gson.stream.MalformedJsonException;
|
||||
import com.utsmm.kbz.MainActivity;
|
||||
import com.utsmm.kbz.config.Constants;
|
||||
import com.nexgo.downloadkey.downloadflow.DownloadFEntity;
|
||||
import com.nexgo.downloadkey.downloadflow.DownloadFlow;
|
||||
@ -394,9 +393,6 @@ public class SettingsFragment extends DataBindingFragment {
|
||||
private void downloadParams(String lastTransName, String lastTransTime) {
|
||||
try {
|
||||
LogUtil.d(TAG, "Downloading params for transaction: " + lastTransName);
|
||||
|
||||
((MainActivity) requireActivity()).getLocation();
|
||||
|
||||
SiriusRequest siriusReq = TMSUtil.getInstance().generateRequestParams(getContext(), lastTransName, lastTransTime);
|
||||
|
||||
mainViewModel.getParams(siriusReq)
|
||||
|
||||
@ -10,8 +10,6 @@ import androidx.appcompat.app.AppCompatActivity;
|
||||
import com.google.gson.Gson;
|
||||
import com.google.gson.JsonSyntaxException;
|
||||
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.fragment.DataBindingFragment;
|
||||
import com.utsmyanmar.baselib.network.model.sirius.SiriusError;
|
||||
@ -158,8 +156,6 @@ public class TransactionResultFragment extends DataBindingFragment implements Da
|
||||
return;
|
||||
}
|
||||
|
||||
((MainActivity) requireActivity()).getLocation();
|
||||
|
||||
SiriusRequest siriusReq = TMSUtil.getInstance().generateRequestParams(
|
||||
getContext(),
|
||||
payDetail.getTransType(),
|
||||
|
||||
@ -315,10 +315,6 @@ public class DashboardTransFragment extends DataBindingFragment {
|
||||
values.add(normalizeCurrency(cardPrimaryCurrency.name));
|
||||
}
|
||||
|
||||
if (!SystemParamsOperation.getInstance().getDuelCurrencyStatus()) {
|
||||
return new ArrayList<>(values);
|
||||
}
|
||||
|
||||
String secondaryCurrency = normalizeCurrency(SystemParamsOperation.getInstance().getThirdHostCurrency());
|
||||
if (!TextUtils.isEmpty(SystemParamsOperation.getInstance().getThirdHostName()) && !TextUtils.isEmpty(secondaryCurrency)) {
|
||||
values.add(secondaryCurrency);
|
||||
@ -332,10 +328,8 @@ public class DashboardTransFragment extends DataBindingFragment {
|
||||
|
||||
String selected = normalizeCurrency(selectedCurrency);
|
||||
String secondaryCurrency = normalizeCurrency(SystemParamsOperation.getInstance().getThirdHostCurrency());
|
||||
boolean dualCurrencyEnabled = SystemParamsOperation.getInstance().getDuelCurrencyStatus();
|
||||
|
||||
boolean useSecondaryCardHost = dualCurrencyEnabled
|
||||
&& !TextUtils.isEmpty(SystemParamsOperation.getInstance().getThirdHostName())
|
||||
boolean useSecondaryCardHost = !TextUtils.isEmpty(SystemParamsOperation.getInstance().getThirdHostName())
|
||||
&& !TextUtils.isEmpty(secondaryCurrency)
|
||||
&& secondaryCurrency.equals(selected);
|
||||
|
||||
|
||||
@ -4,7 +4,6 @@ import androidx.databinding.library.baseAdapters.BR;
|
||||
import androidx.lifecycle.Observer;
|
||||
|
||||
import com.google.gson.stream.MalformedJsonException;
|
||||
import com.utsmm.kbz.MainActivity;
|
||||
import com.utsmyanmar.baselib.emv.EmvParamOperation;
|
||||
import com.utsmyanmar.baselib.fragment.DataBindingFragment;
|
||||
import com.utsmyanmar.baselib.network.model.sirius.SiriusRequest;
|
||||
@ -105,7 +104,6 @@ public class DisabledTerminalFragment extends DataBindingFragment {
|
||||
|
||||
private void downloadParams(String lastTransName,String lastTransTime) {
|
||||
showLoadingDialog("Downloading...");
|
||||
((MainActivity) requireActivity()).getLocation();
|
||||
SiriusRequest siriusReq = TMSUtil.getInstance().generateRequestParams(getContext(),lastTransName,lastTransTime);
|
||||
mainViewModel.getParams(siriusReq).subscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
|
||||
@ -5,7 +5,6 @@ import androidx.lifecycle.ViewModelProvider;
|
||||
import androidx.navigation.fragment.NavHostFragment;
|
||||
|
||||
import com.utsmm.kbz.BR;
|
||||
import com.utsmm.kbz.MainActivity;
|
||||
import com.utsmm.kbz.MainViewModel;
|
||||
import com.utsmm.kbz.R;
|
||||
import com.utsmm.kbz.config.Constants;
|
||||
|
||||
@ -42,8 +42,8 @@ public class RefundCertificateManager {
|
||||
return;
|
||||
};
|
||||
|
||||
String downloadBase = tmsAddress.trim() + "/api/v1/file/download?filePath="; //local
|
||||
// String downloadBase = tmsAddress.trim() + "/file/download?filePath="; // uat and prod
|
||||
// String downloadBase = tmsAddress.trim() + "/api/v1/file/download?filePath="; //local
|
||||
String downloadBase = tmsAddress.trim() + "/file/download?filePath="; // uat and prod
|
||||
|
||||
String certUrl = SystemParamsOperation.getInstance().getCertificateUrl();
|
||||
String clientCertUrl = SystemParamsOperation.getInstance().getCertificateClientUrl();
|
||||
|
||||
@ -15,7 +15,6 @@ import androidx.annotation.Nullable;
|
||||
|
||||
import com.google.gson.Gson;
|
||||
import com.google.gson.stream.MalformedJsonException;
|
||||
import com.utsmm.kbz.MainActivity;
|
||||
import com.utsmm.kbz.service.AutoAlarmReceiver;
|
||||
import com.utsmyanmar.baselib.fragment.DataBindingFragment;
|
||||
import com.utsmyanmar.baselib.network.model.sirius.SiriusError;
|
||||
@ -140,8 +139,6 @@ public class TMSProcessFragment extends DataBindingFragment {
|
||||
|
||||
private void downloadParams(String lastTransName,String lastTransTime,TMSUpdate tmsUpdate) {
|
||||
|
||||
((MainActivity) requireActivity()).getLocation();
|
||||
|
||||
tmsProcessViewModel.setTmsDownloadStatus(TMSDownloadStatus.DOWNLOADING);
|
||||
tmsProcessViewModel.setTmsDownloadMsg("Downloading...");
|
||||
|
||||
|
||||
@ -1,111 +0,0 @@
|
||||
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,9 +149,6 @@ public class TMSSetupsImpl implements TMSSetups{
|
||||
List<SiriusHost> siriusHosts = siriusResponse.getHosts();
|
||||
|
||||
List<SiriusProperty> siriusProperties = siriusResponse.getProperties();
|
||||
boolean isDualCurrencyEnabled = isDualCurrencyEnabled(siriusProperties);
|
||||
|
||||
SystemParamsOperation.getInstance().setDuelCurrencyStatus(isDualCurrencyEnabled);
|
||||
|
||||
ArrayList<String> imgUrls = new ArrayList<>();
|
||||
|
||||
@ -210,7 +207,7 @@ public class TMSSetupsImpl implements TMSSetups{
|
||||
}
|
||||
|
||||
// For dual-currency card flow, prefer MMK as PRIMARY HOST.
|
||||
if (isDualCurrencyEnabled && cardHosts.size() >= 2) {
|
||||
if (cardHosts.size() >= 2) {
|
||||
SiriusHost first = cardHosts.get(0);
|
||||
SiriusHost second = cardHosts.get(1);
|
||||
boolean firstIsMMK = "MMK".equalsIgnoreCase(first.getCurrency());
|
||||
@ -240,7 +237,7 @@ public class TMSSetupsImpl implements TMSSetups{
|
||||
}
|
||||
|
||||
// SECONDARY HOST (Card #2)
|
||||
if (isDualCurrencyEnabled && cardHosts.size() > 1) {
|
||||
if (cardHosts.size() > 1) {
|
||||
SiriusHost secondaryCard = cardHosts.get(1);
|
||||
SystemParamsOperation.getInstance().setThirdHostName(secondaryCard.getName() == null ? "" : secondaryCard.getName());
|
||||
SystemParamsOperation.getInstance().setThirdHostTerminalId(secondaryCard.getTid() == null ? "" : secondaryCard.getTid());
|
||||
@ -636,8 +633,6 @@ public class TMSSetupsImpl implements TMSSetups{
|
||||
}
|
||||
else if(TextUtils.equals(name, "printer_enabled")){
|
||||
SystemParamsOperation.getInstance().setPrinterEnabled(parseBoolean(data));
|
||||
}else if(TextUtils.equals(name, "is_duel_currency")){
|
||||
SystemParamsOperation.getInstance().setDuelCurrencyStatus(parseBoolean(data));
|
||||
}
|
||||
}
|
||||
|
||||
@ -650,24 +645,6 @@ public class TMSSetupsImpl implements TMSSetups{
|
||||
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) {
|
||||
|
||||
|
||||
@ -7,7 +7,6 @@ import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
|
||||
import com.kizzy.xpay.XPay;
|
||||
import com.utsmm.kbz.util.LocationUtil;
|
||||
import com.utsmyanmar.baselib.emv.EmvParamOperation;
|
||||
import com.utsmyanmar.baselib.network.model.sirius.SiriusRequest;
|
||||
import com.utsmyanmar.baselib.network.model.sirius.SiriusResponse;
|
||||
@ -140,7 +139,6 @@ public class TMSUtil {
|
||||
|
||||
public SiriusRequest generateRequestParams(Context context,String lastTransName,String lastTransTime) {
|
||||
|
||||
|
||||
SiriusRequest siriusRequest = new SiriusRequest();
|
||||
siriusRequest.setSerial(getSerialNumber());
|
||||
siriusRequest.setAppPackage(BuildConfig.APPLICATION_ID);
|
||||
@ -150,8 +148,6 @@ public class TMSUtil {
|
||||
siriusRequest.setCurrentNetwork(getNetworkType(context));
|
||||
siriusRequest.setLastTransaction(lastTransName);
|
||||
siriusRequest.setLastTranTime(Long.parseLong(lastTransTime));
|
||||
siriusRequest.setLatitude(LocationUtil.getLat());
|
||||
siriusRequest.setLongitude(LocationUtil.getLng());
|
||||
siriusRequest.setValue("YourValueHere");
|
||||
|
||||
return siriusRequest;
|
||||
|
||||
@ -18,23 +18,9 @@ public class SiriusRequest {
|
||||
private Long lastTranTime;
|
||||
|
||||
private String value;
|
||||
private double latitude;
|
||||
private double longitude;
|
||||
|
||||
public SiriusRequest() {}
|
||||
public SiriusRequest(
|
||||
String serial,
|
||||
String appPackage,
|
||||
String androidVersion,
|
||||
String firmwareVersion,
|
||||
String applicationVersion,
|
||||
String currentNetwork,
|
||||
String lastTransaction,
|
||||
Long lastTranTime,
|
||||
double latitude,
|
||||
double longitude,
|
||||
String value
|
||||
) {
|
||||
public SiriusRequest(String serial, String appPackage, String androidVersion, String firmwareVersion, String applicationVersion, String currentNetwork, String lastTransaction, Long lastTranTime, String value) {
|
||||
this.serial = serial;
|
||||
this.appPackage = appPackage;
|
||||
this.androidVersion = androidVersion;
|
||||
@ -43,8 +29,6 @@ public class SiriusRequest {
|
||||
this.currentNetwork = currentNetwork;
|
||||
this.lastTransaction = lastTransaction;
|
||||
this.lastTranTime = lastTranTime;
|
||||
this.latitude = latitude;
|
||||
this.longitude = longitude;
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
@ -116,22 +100,6 @@ public class SiriusRequest {
|
||||
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) {
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
@ -1840,15 +1840,4 @@ public class SystemParamsOperation {
|
||||
SystemParamsSettings paramsSettings = getSystemParamsSettings();
|
||||
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,7 +268,6 @@ public class SystemParamsSettings implements Serializable {
|
||||
private String certificateUrl = "";
|
||||
private String certificateClientUrl = "";
|
||||
private boolean printerEnabled = true;
|
||||
private boolean duelCurrencyStatus = false;
|
||||
|
||||
public boolean isQrPartialRefundEnable(){
|
||||
return qrPartialRefundEnable;
|
||||
@ -1118,14 +1117,6 @@ public class SystemParamsSettings implements Serializable {
|
||||
return printerEnabled;
|
||||
}
|
||||
|
||||
public void setDuelCurrencyStatus(boolean duelCurrencyStatus) {
|
||||
this.duelCurrencyStatus = duelCurrencyStatus;
|
||||
}
|
||||
|
||||
public boolean getDuelCurrencyStatus(){
|
||||
return duelCurrencyStatus;
|
||||
}
|
||||
|
||||
/* // 流水号起始
|
||||
private String serialNum = Configs.getInstance().SERIAL_NUM();
|
||||
// 批次号起始
|
||||
|
||||
Loading…
Reference in New Issue
Block a user