diff --git a/app/build.gradle b/app/build.gradle
index 3cf9e92..a4236d3 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -188,6 +188,7 @@ dependencies {
implementation project(path: ':qrgen-lib')
//// implementation project(path: ':samlSirius')
implementation project(path: ':ecr')
+ implementation project(path: ':nexdlkey-lib')
testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test.ext:junit:1.1.2' // 1.1.2
diff --git a/app/src/main/java/com/utsmm/kbz/MainActivity.java b/app/src/main/java/com/utsmm/kbz/MainActivity.java
index 4909807..9e0fe11 100644
--- a/app/src/main/java/com/utsmm/kbz/MainActivity.java
+++ b/app/src/main/java/com/utsmm/kbz/MainActivity.java
@@ -16,18 +16,25 @@ import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
+import android.text.TextUtils;
import android.view.Gravity;
import android.view.WindowManager;
import android.widget.Toast;
import com.google.android.material.appbar.MaterialToolbar;
import com.google.android.material.navigation.NavigationView;
+import com.nexgo.downloadkey.downloadflow.DownloadFEntity;
+import com.nexgo.downloadkey.downloadflow.DownloadFlow;
+import com.nexgo.downloadkey.downloadflow.DownloadFlowProcessListener;
+import com.nexgo.downloadkey.downloadflow.DownloadFlowResultEntity;
+import com.nexgo.downloadkey.downloadflow.DownloadResult;
import com.utsmyanmar.baselib.repo.Repository;
import com.utsmyanmar.baselib.ui.AnimationDialog;
import com.utsmyanmar.checkxread.sdk.NexGoSDK;
import com.utsmyanmar.ecr.ECRHelper;
import com.utsmyanmar.paylibs.Constant;
import com.utsmyanmar.paylibs.print.printx.PrintXReceipt;
+import com.utsmyanmar.paylibs.utils.POSUtil;
import com.utsmyanmar.paylibs.utils.core_utils.SystemParamsOperation;
import com.utsmyanmar.paylibs.utils.enums.TransMenu;
import com.utsmyanmar.paylibs.utils.iso_utils.TransactionsType;
@@ -126,6 +133,8 @@ public class MainActivity extends AppCompatActivity implements
initSpecialBackHandlingFragments();
}
+
+
private void initViewModels() {
sharedViewModel = new ViewModelProvider(this).get(SharedViewModel.class);
}
diff --git a/app/src/main/java/com/utsmm/kbz/ui/SettingsFragment.java b/app/src/main/java/com/utsmm/kbz/ui/SettingsFragment.java
index 09bc43d..294677c 100644
--- a/app/src/main/java/com/utsmm/kbz/ui/SettingsFragment.java
+++ b/app/src/main/java/com/utsmm/kbz/ui/SettingsFragment.java
@@ -1,17 +1,23 @@
package com.utsmm.kbz.ui;
import android.os.Bundle;
+import android.text.TextUtils;
import android.view.View;
+import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AlertDialog;
import androidx.lifecycle.Observer;
-import androidx.lifecycle.ViewModelProvider;
import androidx.navigation.Navigation;
import com.google.gson.Gson;
import com.google.gson.stream.MalformedJsonException;
+import com.nexgo.downloadkey.downloadflow.DownloadFEntity;
+import com.nexgo.downloadkey.downloadflow.DownloadFlow;
+import com.nexgo.downloadkey.downloadflow.DownloadFlowProcessListener;
+import com.nexgo.downloadkey.downloadflow.DownloadFlowResultEntity;
+import com.nexgo.downloadkey.downloadflow.DownloadResult;
import com.utsmyanmar.baselib.emv.EmvParamOperation;
import com.utsmyanmar.baselib.fragment.DataBindingFragment;
import com.utsmyanmar.baselib.network.model.sirius.SiriusError;
@@ -196,6 +202,16 @@ public class SettingsFragment extends DataBindingFragment {
}
}
+ public void onInjectKeyClick() {
+ try {
+ LogUtil.d(TAG, "Inject Key clicked");
+ Navigation.findNavController(requireActivity(), R.id.nav_host_fragment)
+ .navigate(R.id.action_nav_settings_to_injectKeyFragment);
+ } catch (Exception e) {
+ LogUtil.e(TAG, "Error navigating to inject key: " + e.getMessage());
+ }
+ }
+
public void onDemoClick() {
try {
boolean newValue = !SystemParamsOperation.getInstance().getDemoStatus();
diff --git a/app/src/main/java/com/utsmm/kbz/ui/core_viewmodel/SharedViewModel.java b/app/src/main/java/com/utsmm/kbz/ui/core_viewmodel/SharedViewModel.java
index 1a4d68e..0278f6e 100644
--- a/app/src/main/java/com/utsmm/kbz/ui/core_viewmodel/SharedViewModel.java
+++ b/app/src/main/java/com/utsmm/kbz/ui/core_viewmodel/SharedViewModel.java
@@ -307,6 +307,7 @@ public class SharedViewModel extends ViewModel {
+
public void startPrintReceipt(boolean isFirstPrint) {
/*
* First Print is Merchant Copy..
diff --git a/app/src/main/java/com/utsmm/kbz/util/EReceiptUtil.java b/app/src/main/java/com/utsmm/kbz/util/EReceiptUtil.java
index f4f3269..245d21a 100644
--- a/app/src/main/java/com/utsmm/kbz/util/EReceiptUtil.java
+++ b/app/src/main/java/com/utsmm/kbz/util/EReceiptUtil.java
@@ -99,25 +99,38 @@ public class EReceiptUtil {
EReceiptRequest request = new EReceiptRequest();
request.setDE3(convertTransactionType(payDetail.getTransactionType()));
-
+ request.setDE7(currentTimeStamp);
+ request.setDE11(payDetail.getVoucherNo());
if(payDetail.getTransactionType() == TransactionsType.SETTLEMENT.value) {
SettleData settleData = payDetail.getSettleDataObj();
+ long totalAmt = settleData.getSaleAmount() + settleData.getRefundAmount() + settleData.getPreAuthCompAmount() + settleData.getCashAdvanceAmount();
+ double realTotalAmount = totalAmt / 100.0;
+ String totalAmount = df.format(realTotalAmount);
+ request.setDE4(totalAmount);
+
+
request.setDE63_01(settleData.getSaleCount()+"");
request.setDE63_02(settleData.getSaleAmount()+"");
request.setDE63_03(settleData.getRefundCount()+"");
request.setDE63_04(settleData.getRefundAmount()+"");
-
+ request.setDE63_05(settleData.getPreAuthCompCount()+"");
+ request.setDE63_06(settleData.getPreAuthCompAmount()+"");
+ request.setDE63_07(settleData.getCashAdvanceCount()+"");
+ request.setDE63_08(settleData.getCashAdvanceAmount()+"");
+ invoiceNo = SystemParamsOperation.getInstance().getIncrementInvoiceNum();
request.setBatchNumber(batchNumber);
+ request.setInvoiceNumber(invoiceNo);
request.setDescription("success");
request.setDE39("A");
+ request.setDE37("0000");
+ request.setDE49("MMK");
} else {
request.setDE2(POSUtil.getInstance().getCardNumMasking(payDetail.getCardNo()));
request.setDE4(amount);
- request.setDE7(currentTimeStamp);
- request.setDE11(payDetail.getVoucherNo());
+
request.setDE37(payDetail.getReferNo());
request.setDE38(payDetail.getApprovalCode());
diff --git a/app/src/main/res/layout/fragment_settings_modern.xml b/app/src/main/res/layout/fragment_settings_modern.xml
index 6323c42..d368232 100644
--- a/app/src/main/res/layout/fragment_settings_modern.xml
+++ b/app/src/main/res/layout/fragment_settings_modern.xml
@@ -235,6 +235,80 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/navigation/mobile_navigation.xml b/app/src/main/res/navigation/mobile_navigation.xml
index ec311e3..b4dd36d 100644
--- a/app/src/main/res/navigation/mobile_navigation.xml
+++ b/app/src/main/res/navigation/mobile_navigation.xml
@@ -62,6 +62,9 @@
+
+
+