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 @@ + + +