switched BPC host

This commit is contained in:
kizzy 2025-11-23 20:19:00 +07:00
parent ab4801d687
commit 49b929ab27
22 changed files with 46 additions and 45 deletions

View File

@ -1 +1 @@
KBZ-Master KBZ-Master-latest

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project version="4"> <project version="4">
<component name="CompilerConfiguration"> <component name="CompilerConfiguration">
<bytecodeTargetLevel target="21" /> <bytecodeTargetLevel target="17" />
</component> </component>
</project> </project>

View File

@ -5,12 +5,6 @@
<SelectionState runConfigName="app"> <SelectionState runConfigName="app">
<option name="selectionMode" value="DROPDOWN" /> <option name="selectionMode" value="DROPDOWN" />
</SelectionState> </SelectionState>
<SelectionState runConfigName="testVoidPacket()">
<option name="selectionMode" value="DROPDOWN" />
</SelectionState>
<SelectionState runConfigName="ExampleInstrumentedTest">
<option name="selectionMode" value="DROPDOWN" />
</SelectionState>
</selectionStates> </selectionStates>
</component> </component>
</project> </project>

View File

@ -6,7 +6,7 @@
<GradleProjectSettings> <GradleProjectSettings>
<option name="testRunner" value="CHOOSE_PER_TEST" /> <option name="testRunner" value="CHOOSE_PER_TEST" />
<option name="externalProjectPath" value="$PROJECT_DIR$" /> <option name="externalProjectPath" value="$PROJECT_DIR$" />
<option name="gradleJvm" value="#GRADLE_LOCAL_JAVA_HOME" /> <option name="gradleJvm" value="temurin-17" />
<option name="modules"> <option name="modules">
<set> <set>
<option value="$PROJECT_DIR$" /> <option value="$PROJECT_DIR$" />

View File

@ -1,4 +1,9 @@
<project version="4"> <project version="4">
<component name="ExternalStorageConfigurationManager" enabled="true" /> <component name="ExternalStorageConfigurationManager" enabled="true" />
<component name="ProjectRootManager" version="2" languageLevel="JDK_21" default="true" project-jdk-name="jbr-21" project-jdk-type="JavaSDK" /> <component name="ProjectRootManager" version="2" languageLevel="JDK_17" default="true" project-jdk-name="temurin-17" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/build/classes" />
</component>
<component name="ProjectType">
<option name="id" value="Android" />
</component>
</project> </project>

View File

@ -10,6 +10,7 @@
android:name="android.hardware.telephony" android:name="android.hardware.telephony"
android:required="false" /> android:required="false" />
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
<uses-permission android:name="android.permission.QUERY_ALL_PACKAGES" tools:ignore="QueryAllPackagesPermission" /> <uses-permission android:name="android.permission.QUERY_ALL_PACKAGES" tools:ignore="QueryAllPackagesPermission" />
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
@ -68,10 +69,10 @@
android:screenOrientation="fullSensor" android:screenOrientation="fullSensor"
tools:replace="screenOrientation" /> tools:replace="screenOrientation" />
<receiver android:name="com.utsmm.kbz.service.SmileAlarmReceiver" /> <receiver android:name="com.utsmm.kbz.service.AutoAlarmReceiver" />
<service <service
android:name="com.utsmm.kbz.service.SmileSettleService" android:name="com.utsmm.kbz.service.AutoSettleService"
android:enabled="true" android:enabled="true"
android:exported="false"> android:exported="false">
<meta-data <meta-data

View File

@ -32,7 +32,7 @@ import com.utsmyanmar.paylibs.utils.core_utils.SystemParamsOperation;
import com.utsmyanmar.paylibs.utils.enums.TransMenu; import com.utsmyanmar.paylibs.utils.enums.TransMenu;
import com.utsmyanmar.paylibs.utils.iso_utils.TransactionsType; import com.utsmyanmar.paylibs.utils.iso_utils.TransactionsType;
import com.utsmm.kbz.databinding.ActivityMainNewBinding; import com.utsmm.kbz.databinding.ActivityMainNewBinding;
import com.utsmm.kbz.service.SmileAlarmReceiver; import com.utsmm.kbz.service.AutoAlarmReceiver;
import com.utsmm.kbz.ui.core_ui.InputPasswordFragment; import com.utsmm.kbz.ui.core_ui.InputPasswordFragment;
import com.utsmm.kbz.ui.core_viewmodel.SharedViewModel; import com.utsmm.kbz.ui.core_viewmodel.SharedViewModel;
import com.utsmm.kbz.ui.navigation.NaviAdminFragment; import com.utsmm.kbz.ui.navigation.NaviAdminFragment;
@ -240,7 +240,7 @@ public class MainActivity extends AppCompatActivity implements
PendingIntent pendingIntent = PendingIntent.getBroadcast( PendingIntent pendingIntent = PendingIntent.getBroadcast(
this, this,
0, 0,
new Intent(this, SmileAlarmReceiver.class), new Intent(this, AutoAlarmReceiver.class),
PendingIntent.FLAG_UPDATE_CURRENT PendingIntent.FLAG_UPDATE_CURRENT
); );

View File

@ -11,6 +11,7 @@ import androidx.lifecycle.Observer;
import androidx.lifecycle.ViewModel; import androidx.lifecycle.ViewModel;
import androidx.localbroadcastmanager.content.LocalBroadcastManager; import androidx.localbroadcastmanager.content.LocalBroadcastManager;
import com.utsmm.kbz.service.AutoSettleService;
import com.utsmyanmar.baselib.db.model.EmvDetail; import com.utsmyanmar.baselib.db.model.EmvDetail;
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;
@ -22,7 +23,6 @@ import com.utsmyanmar.paylibs.reversal.ReversalAction;
import com.utsmyanmar.paylibs.reversal.ReversalListener; import com.utsmyanmar.paylibs.reversal.ReversalListener;
import com.utsmyanmar.paylibs.system.SingleLiveEvent; import com.utsmyanmar.paylibs.system.SingleLiveEvent;
import com.utsmyanmar.paylibs.utils.core_utils.SystemParamsOperation; import com.utsmyanmar.paylibs.utils.core_utils.SystemParamsOperation;
import com.utsmm.kbz.service.SmileSettleService;
import com.utsmm.kbz.util.enums.ReversalStatus; import com.utsmm.kbz.util.enums.ReversalStatus;
import com.utsmm.kbz.util.ecr.ECRConnectionStatus; import com.utsmm.kbz.util.ecr.ECRConnectionStatus;
@ -75,8 +75,8 @@ public class MainViewModel extends ViewModel {
private BroadcastReceiver dataReceiver = new BroadcastReceiver() { private BroadcastReceiver dataReceiver = new BroadcastReceiver() {
@Override @Override
public void onReceive(Context context, Intent intent) { public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals(SmileSettleService.ACTION_DATA_RECEIVED)) { if (intent.getAction().equals(AutoSettleService.ACTION_DATA_RECEIVED)) {
String data = intent.getStringExtra(SmileSettleService.EXTRA_DATA); String data = intent.getStringExtra(AutoSettleService.EXTRA_DATA);
} }
} }
@ -90,7 +90,7 @@ public class MainViewModel extends ViewModel {
playAtOnce.setValue(false); playAtOnce.setValue(false);
LocalBroadcastManager.getInstance(context).registerReceiver(dataReceiver, LocalBroadcastManager.getInstance(context).registerReceiver(dataReceiver,
new IntentFilter(SmileSettleService.ACTION_DATA_RECEIVED)); new IntentFilter(AutoSettleService.ACTION_DATA_RECEIVED));
settlementStatus.setValue(SystemParamsOperation.getInstance().getSettlementStatus()); settlementStatus.setValue(SystemParamsOperation.getInstance().getSettlementStatus());

View File

@ -4,11 +4,11 @@ import android.content.BroadcastReceiver;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
public class SmileAlarmReceiver extends BroadcastReceiver { public class AutoAlarmReceiver extends BroadcastReceiver {
@Override @Override
public void onReceive(Context context, Intent intent) { public void onReceive(Context context, Intent intent) {
// Start the service to send the API request // Start the service to send the API request
Intent serviceIntent = new Intent(context, SmileSettleService.class); Intent serviceIntent = new Intent(context, AutoSettleService.class);
context.startService(serviceIntent); context.startService(serviceIntent);
} }
} }

View File

@ -25,9 +25,9 @@ import dagger.hilt.android.AndroidEntryPoint;
import com.utsmyanmar.paylibs.utils.LogUtil; import com.utsmyanmar.paylibs.utils.LogUtil;
@AndroidEntryPoint @AndroidEntryPoint
public class SmileSettleService extends Service { public class AutoSettleService extends Service {
private static final String TAG = SmileSettleService.class.getSimpleName(); private static final String TAG = AutoSettleService.class.getSimpleName();
public static final String ACTION_DATA_RECEIVED = BuildConfig.APPLICATION_ID + ".ACTION_DATA_RECEIVED"; public static final String ACTION_DATA_RECEIVED = BuildConfig.APPLICATION_ID + ".ACTION_DATA_RECEIVED";
public static final String EXTRA_DATA = BuildConfig.APPLICATION_ID + ".EXTRA_DATA"; public static final String EXTRA_DATA = BuildConfig.APPLICATION_ID + ".EXTRA_DATA";

View File

@ -121,7 +121,7 @@ public class SettlementViewModel extends ViewModel {
ca_count.setValue(0); ca_count.setValue(0);
ca_amount.setValue(0L); ca_amount.setValue(0L);
isoMsgX = new ISOMsgX.ISOMsgXBuilder(ISOVersion.VERSION_1987, ISOMode.ONLY_HEADER,HostName.FINEXUS) isoMsgX = new ISOMsgX.ISOMsgXBuilder(ISOVersion.VERSION_1993, ISOMode.BOTH_HEADER_TPDU,HostName.BPC)
.build(); .build();
// setUpSettlementData(); // setUpSettlementData();
@ -339,7 +339,7 @@ public class SettlementViewModel extends ViewModel {
HostName hostName = HostName.FINEXUS; HostName hostName = HostName.BPC;
String field60 = SystemParamsOperation.getInstance().getCurrentBatchNum(); String field60 = SystemParamsOperation.getInstance().getCurrentBatchNum();

View File

@ -8,6 +8,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.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;
import com.utsmyanmar.baselib.network.model.sirius.SiriusRequest; import com.utsmyanmar.baselib.network.model.sirius.SiriusRequest;
@ -258,7 +259,7 @@ public class TMSProcessFragment extends DataBindingFragment {
triggerAtMillis = calendar.getTimeInMillis(); triggerAtMillis = calendar.getTimeInMillis();
} }
android.content.Intent intent = new android.content.Intent(requireContext(), com.utsmm.kbz.service.SmileAlarmReceiver.class); android.content.Intent intent = new android.content.Intent(requireContext(), AutoAlarmReceiver.class);
android.app.PendingIntent pendingIntent = android.app.PendingIntent.getBroadcast( android.app.PendingIntent pendingIntent = android.app.PendingIntent.getBroadcast(
requireContext(), requireContext(),
1001, 1001,

View File

@ -8,8 +8,8 @@
# The setting is particularly useful for tweaking memory settings. # The setting is particularly useful for tweaking memory settings.
org.gradle.jvmargs=-Xmx4096m -XX:MaxMetaspaceSize=1024m -Dfile.encoding=UTF-8 org.gradle.jvmargs=-Xmx4096m -XX:MaxMetaspaceSize=1024m -Dfile.encoding=UTF-8
# Force Gradle to use system Java instead of Android Studio's JBR # Force Gradle to use system Java instead of Android Studio's JBR
#org.gradle.java.home=/Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home org.gradle.java.home=/Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home
org.gradle.java.home=C:\\Program Files\\Microsoft\\jdk-17.0.16.8-hotspot #org.gradle.java.home=C:\\Program Files\\Microsoft\\jdk-17.0.16.8-hotspot
# Enable parallel builds and configure cache # Enable parallel builds and configure cache
org.gradle.parallel=true org.gradle.parallel=true

View File

@ -43,7 +43,7 @@ public class BatchUploadProcess {
} }
private BatchUploadProcess() { private BatchUploadProcess() {
isoMsgX = new ISOMsgX.ISOMsgXBuilder(ISOVersion.VERSION_1987, ISOMode.ONLY_HEADER,HostName.FINEXUS) isoMsgX = new ISOMsgX.ISOMsgXBuilder(ISOVersion.VERSION_1993, ISOMode.BOTH_HEADER_TPDU,HostName.BPC)
.build(); .build();
} }
@ -77,11 +77,11 @@ public class BatchUploadProcess {
return new StartBatchUpload() { return new StartBatchUpload() {
@Override @Override
public void startBatchUpload(BatchListener batchListener) { public void startBatchUpload(BatchListener batchListener) {
HostName hostName = HostName.FINEXUS; HostName hostName = HostName.BPC;
LogUtil.d(TAG, "Starting Batch Upload"); LogUtil.d(TAG, "Starting Batch Upload");
byte[] sendBytes = isoMsgX.buildISOPackets(tradeData, BitmapConfig.MPU_NEW_BATCH_UPLOAD, MessageType.BATCH_UPLOAD); // byte[] sendBytes = isoMsgX.buildISOPackets(tradeData, BitmapConfig.MPU_NEW_BATCH_UPLOAD, MessageType.BATCH_UPLOAD);
// byte[] sendBytes = isoMsgX.buildISOPackets(tradeData, BitmapConfig.BPC_BATCH_UPLOAD, MessageType.BATCH_UPLOAD); byte[] sendBytes = isoMsgX.buildISOPackets(tradeData, BitmapConfig.BPC_BATCH_UPLOAD, MessageType.BATCH_UPLOAD);
ISOSocket.getInstance().enqueue(sendBytes, sendBytes.length,false, new ISOCallback() { ISOSocket.getInstance().enqueue(sendBytes, sendBytes.length,false, new ISOCallback() {
@Override @Override
public void onReceive(byte[] bytes, int length) { public void onReceive(byte[] bytes, int length) {

View File

@ -17,8 +17,8 @@ public abstract class BaseISOMsgX {
byte[] newSendBytes = EncodePackage.assembly(map, msgIdentifier, 0, "0000000000",hostName); byte[] newSendBytes = EncodePackage.assembly(map, msgIdentifier, 0, "0000000000",hostName);
// String BPCTPDU = "6005150000"; //UAT String BPCTPDU = "6005150000"; //UAT
String BPCTPDU = "6005170000"; //PrePro // String BPCTPDU = "6005170000"; //PrePro
if(isoMode == ISOMode.BOTH_HEADER_TPDU) { if(isoMode == ISOMode.BOTH_HEADER_TPDU) {
byte[] outBytes = new byte[newSendBytes.length - 6 ]; byte[] outBytes = new byte[newSendBytes.length - 6 ];

View File

@ -49,7 +49,7 @@ public class ReversalAction {
} }
private ReversalAction() { private ReversalAction() {
isoMsgX = new ISOMsgX.ISOMsgXBuilder(ISOVersion.VERSION_1993, ISOMode.ONLY_HEADER,HostName.FINEXUS) isoMsgX = new ISOMsgX.ISOMsgXBuilder(ISOVersion.VERSION_1993, ISOMode.BOTH_HEADER_TPDU,HostName.BPC)
.build(); .build();
} }
@ -128,8 +128,8 @@ public class ReversalAction {
public void startReversal(ReversalListener reversalListener) { public void startReversal(ReversalListener reversalListener) {
HostName hostName = HostName.BPC; HostName hostName = HostName.BPC;
LogUtil.d(TAG, "Starting Reversal...."); LogUtil.d(TAG, "Starting Reversal....");
byte[] sendBytes = isoMsgX.buildISOPackets(tradeData, BitmapConfig.MPU_NEW_REVERSAL, MessageType.REVERSAL); // byte[] sendBytes = isoMsgX.buildISOPackets(tradeData, BitmapConfig.MPU_NEW_REVERSAL, MessageType.REVERSAL);
// byte[] sendBytes = isoMsgX.buildISOPackets(tradeData, BitmapConfig.BPC_AUTOMATIC_REVERSAL, MessageType.REVERSAL); byte[] sendBytes = isoMsgX.buildISOPackets(tradeData, BitmapConfig.BPC_AUTOMATIC_REVERSAL, MessageType.REVERSAL);
ISOSocket.getInstance().enqueue(sendBytes, sendBytes.length,true, new ISOCallback() { ISOSocket.getInstance().enqueue(sendBytes, sendBytes.length,true, new ISOCallback() {
@Override @Override
public void onReceive(byte[] bytes, int length) { public void onReceive(byte[] bytes, int length) {

View File

@ -47,7 +47,7 @@ public class EchoTestProcess {
private EchoTestProcess() { private EchoTestProcess() {
tradeData = Params.newTrade(true); tradeData = Params.newTrade(true);
payDetail = tradeData.getPayDetail(); payDetail = tradeData.getPayDetail();
isoMsgX = new ISOMsgX.ISOMsgXBuilder(ISOVersion.VERSION_1993, ISOMode.ONLY_HEADER,HostName.FINEXUS) isoMsgX = new ISOMsgX.ISOMsgXBuilder(ISOVersion.VERSION_1993, ISOMode.BOTH_HEADER_TPDU,HostName.BPC)
.build(); .build();
} }

View File

@ -51,7 +51,7 @@ public class SignOnProcess {
private SignOnProcess() { private SignOnProcess() {
tradeData = Params.newTrade(true); tradeData = Params.newTrade(true);
// payDetail = tradeData.getPayDetail(); // payDetail = tradeData.getPayDetail();
isoMsgX = new ISOMsgX.ISOMsgXBuilder(ISOVersion.VERSION_1993, ISOMode.ONLY_HEADER,HostName.FINEXUS) isoMsgX = new ISOMsgX.ISOMsgXBuilder(ISOVersion.VERSION_1993, ISOMode.BOTH_HEADER_TPDU,HostName.BPC)
.build(); .build();
} }
@ -84,7 +84,7 @@ public class SignOnProcess {
} }
byte[] sendBytes = isoMsgX.buildISOPackets(tradeData, BitmapConfig.MPU_SIGN_ON, MessageType.NETWORK_MANAGEMENT); byte[] sendBytes = isoMsgX.buildISOPackets(tradeData, BitmapConfig.BPC_SIGN_ON, MessageType.NETWORK_MANAGEMENT);
ISOSocket.getInstance().enqueue(sendBytes, sendBytes.length,false, new ISOCallback() { ISOSocket.getInstance().enqueue(sendBytes, sendBytes.length,false, new ISOCallback() {
@Override @Override
public void onReceive(byte[] bytes, int length) { public void onReceive(byte[] bytes, int length) {

View File

@ -82,7 +82,7 @@ public class TransactionsOperation {
TradeData transTradeData; TradeData transTradeData;
PayDetail transPayDetail; PayDetail transPayDetail;
isoMsgX = new ISOMsgX.ISOMsgXBuilder(ISOVersion.VERSION_1987, ISOMode.ONLY_HEADER, hostName) isoMsgX = new ISOMsgX.ISOMsgXBuilder(ISOVersion.VERSION_1993, ISOMode.BOTH_HEADER_TPDU, hostName)
.build(); .build();
if (transactionsType == TransactionsType.SALE || transactionsType == TransactionsType.PRE_AUTH_SALE || transactionsType == TransactionsType.CASH_OUT) { if (transactionsType == TransactionsType.SALE || transactionsType == TransactionsType.PRE_AUTH_SALE || transactionsType == TransactionsType.CASH_OUT) {

View File

@ -371,8 +371,8 @@ public class FieldUtils {
break; break;
case 24: //Network International Identifier NII case 24: //Network International Identifier NII
String nii = "609"; // String nii = "609";
// String nii = processField24(payDetail); // BPC String nii = processField24(payDetail); // BPC
field.setDataStr(nii); field.setDataStr(nii);
break; break;

View File

@ -82,8 +82,8 @@ public class Params {
payDetail.setIsCanceled(false); payDetail.setIsCanceled(false);
payDetail.transNum = System.currentTimeMillis() / 1000; payDetail.transNum = System.currentTimeMillis() / 1000;
// need to add host logic in another place // need to add host logic in another place
// payDetail.setHostName("BPC"); payDetail.setHostName("BPC");
payDetail.setHostName("FINEXUS"); // payDetail.setHostName("FINEXUS");
payDetail.setOriginalTransDate(SystemDateTime.getMMDD()+SystemDateTime.getYYYY()); payDetail.setOriginalTransDate(SystemDateTime.getMMDD()+SystemDateTime.getYYYY());

View File

@ -21,7 +21,7 @@ dependencyResolutionManagement {
} }
} }
rootProject.name = "KBZ-Master" rootProject.name = "KBZ-Master-latest"
include ':app' include ':app'
include ':nexsdk-lib' include ':nexsdk-lib'
include ':paylibs' include ':paylibs'