location detection imp

This commit is contained in:
MooN 2026-01-31 13:38:23 +06:30 committed by moon
parent c71eaef5b5
commit 95d50ec3a7
10 changed files with 70 additions and 44 deletions

View File

@ -428,23 +428,7 @@ public class MainActivity extends AppCompatActivity implements
@Override
public void onResume() {
super.onResume();
LocationUtil.getCurrentLocation(this, new LocationUtil.LocationCallback() {
@Override
public void onSuccess(double lat, double lng) {
LogUtil.d("Location", "Location received: " + lat + ", " + lng);
LocationUtil.setLat(lat);
LocationUtil.setLng(lng);
}
@Override
public void onError(String reason) {
LogUtil.e("Location", "Error getting location: " + reason);
LocationUtil.setLat(0.00);
LocationUtil.setLng(0.00);
}
});
getLocation();
SystemParamsOperation.getInstance().setSetupEcr(false);
SystemParamsOperation.getInstance().setDownloadedParams(false);
@ -467,6 +451,24 @@ 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;

View File

@ -13,6 +13,7 @@ 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;
@ -393,6 +394,9 @@ 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)

View File

@ -10,6 +10,7 @@ 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;
@ -157,6 +158,8 @@ public class TransactionResultFragment extends DataBindingFragment implements Da
return;
}
((MainActivity) requireActivity()).getLocation();
SiriusRequest siriusReq = TMSUtil.getInstance().generateRequestParams(
getContext(),
payDetail.getTransType(),

View File

@ -4,6 +4,7 @@ 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;
@ -104,6 +105,7 @@ 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())

View File

@ -5,6 +5,7 @@ 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;

View File

@ -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();

View File

@ -15,6 +15,7 @@ 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;
@ -139,6 +140,8 @@ public class TMSProcessFragment extends DataBindingFragment {
private void downloadParams(String lastTransName,String lastTransTime,TMSUpdate tmsUpdate) {
((MainActivity) requireActivity()).getLocation();
tmsProcessViewModel.setTmsDownloadStatus(TMSDownloadStatus.DOWNLOADING);
tmsProcessViewModel.setTmsDownloadMsg("Downloading...");

View File

@ -2,6 +2,7 @@ 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;
@ -106,4 +107,5 @@ public class LocationUtil {
public static void setLng(double lng) {
LocationUtil.lng = lng;
}
}

View File

@ -150,8 +150,8 @@ public class TMSUtil {
siriusRequest.setCurrentNetwork(getNetworkType(context));
siriusRequest.setLastTransaction(lastTransName);
siriusRequest.setLastTranTime(Long.parseLong(lastTransTime));
// siriusRequest.setLatitude(LocationUtil.getLat());
// siriusRequest.setLongitude(LocationUtil.getLng());
siriusRequest.setLatitude(LocationUtil.getLat());
siriusRequest.setLongitude(LocationUtil.getLng());
siriusRequest.setValue("YourValueHere");
return siriusRequest;

View File

@ -18,14 +18,23 @@ public class SiriusRequest {
private Long lastTranTime;
private String value;
// private double latitude;
// private double longitude;
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,
double latitude,
double longitude,
String value
) {
this.serial = serial;
this.appPackage = appPackage;
this.androidVersion = androidVersion;
@ -34,8 +43,8 @@ public class SiriusRequest {
this.currentNetwork = currentNetwork;
this.lastTransaction = lastTransaction;
this.lastTranTime = lastTranTime;
// this.latitude = latitude;
// this.longitude = longitude;
this.latitude = latitude;
this.longitude = longitude;
this.value = value;
}
@ -107,21 +116,21 @@ public class SiriusRequest {
return value;
}
// public double getLatitude(){
// return latitude;
// }
//
// public double getLongitude(){
// return longitude;
// }
//
// public void setLatitude(double latitude){
// this.longitude = latitude;
// }
//
// public void setLongitude(double longitude){
// this.longitude = longitude;
// }
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;