diff --git a/app/src/main/java/com/utsmm/kbz/ui/adapters/MyBindingAdapter.java b/app/src/main/java/com/utsmm/kbz/ui/adapters/MyBindingAdapter.java
index 366cc31..84f015b 100644
--- a/app/src/main/java/com/utsmm/kbz/ui/adapters/MyBindingAdapter.java
+++ b/app/src/main/java/com/utsmm/kbz/ui/adapters/MyBindingAdapter.java
@@ -2,6 +2,7 @@ package com.utsmm.kbz.ui.adapters;
import android.annotation.SuppressLint;
import android.graphics.Bitmap;
+import android.graphics.BitmapFactory;
import android.graphics.PorterDuff;
import android.view.View;
import android.view.ViewGroup;
@@ -264,6 +265,19 @@ public class MyBindingAdapter {
imageView.setImageBitmap(bitmap);
}
+ @BindingAdapter("signatureBlob")
+ public static void setSignatureFromBlob(ImageView imageView, byte[] blob) {
+ if (blob != null && blob.length > 0) {
+ Bitmap bitmap = BitmapFactory.decodeByteArray(blob, 0, blob.length);
+ if (bitmap != null) {
+ imageView.setImageBitmap(bitmap);
+ imageView.setVisibility(View.VISIBLE);
+ return;
+ }
+ }
+ imageView.setVisibility(View.GONE);
+ }
+
@BindingAdapter({"mmpayData"})
public static void setMMPayQRCode(AppCompatImageView imageView,String data) {
//250
diff --git a/app/src/main/java/com/utsmm/kbz/ui/core_viewmodel/EmvTransactionProcessViewModel.java b/app/src/main/java/com/utsmm/kbz/ui/core_viewmodel/EmvTransactionProcessViewModel.java
index ebf42f2..6129e71 100644
--- a/app/src/main/java/com/utsmm/kbz/ui/core_viewmodel/EmvTransactionProcessViewModel.java
+++ b/app/src/main/java/com/utsmm/kbz/ui/core_viewmodel/EmvTransactionProcessViewModel.java
@@ -452,6 +452,7 @@ public class EmvTransactionProcessViewModel extends EmvBaseViewModel implements
public void processVoidDB(PayDetail payResult) {
mPayDetail.setIsCanceled(true);
updatePayDetail(mPayDetail);
+ payResult.setESignBlob(mPayDetail.getESignBlob());
repository.insertPayDetail(updateCurrentDateAndTime(payResult));
}
diff --git a/app/src/main/java/com/utsmm/kbz/ui/core_viewmodel/TransProcessViewModel.java b/app/src/main/java/com/utsmm/kbz/ui/core_viewmodel/TransProcessViewModel.java
index 7e0709a..9328f4f 100644
--- a/app/src/main/java/com/utsmm/kbz/ui/core_viewmodel/TransProcessViewModel.java
+++ b/app/src/main/java/com/utsmm/kbz/ui/core_viewmodel/TransProcessViewModel.java
@@ -292,6 +292,7 @@ public class TransProcessViewModel extends ViewModel implements ProcessingTransa
public void processVoidDB(PayDetail payResult) {
payDetail.setIsCanceled(true);
updatePayDetail(payDetail);
+ payResult.setESignBlob(payDetail.getESignBlob());
repository.insertPayDetail(updateCurrentDateAndTime(payResult));
}
diff --git a/app/src/main/res/layout/fragment_trans_info_screen.xml b/app/src/main/res/layout/fragment_trans_info_screen.xml
index 3d616af..65e850e 100644
--- a/app/src/main/res/layout/fragment_trans_info_screen.xml
+++ b/app/src/main/res/layout/fragment_trans_info_screen.xml
@@ -478,6 +478,46 @@
tools:text="12/12/2024 12:12:12" />
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 5fb336c..5a35d64 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -461,6 +461,7 @@
Batch Number
Base Amount
Date/Time
+ Signature
TIP ADJUST NOT ALLOW
WavePay
Connecting to host
diff --git a/paylibs/src/main/java/com/utsmyanmar/paylibs/print/printx/BaseXPrint.java b/paylibs/src/main/java/com/utsmyanmar/paylibs/print/printx/BaseXPrint.java
index cfa4828..df00844 100644
--- a/paylibs/src/main/java/com/utsmyanmar/paylibs/print/printx/BaseXPrint.java
+++ b/paylibs/src/main/java/com/utsmyanmar/paylibs/print/printx/BaseXPrint.java
@@ -1420,9 +1420,12 @@ public abstract class BaseXPrint {
}
private void addSignatureBitmap(PayDetail payDetail) {
- if (payDetail.getESignHexData() != null) {
- Bitmap signatureBitmap = BitmapUtils.hexStringToBitmap(payDetail.getESignHexData());
- printer.appendImage(signatureBitmap, AlignEnum.CENTER);
+ byte[] blob = payDetail.getESignBlob();
+ if (blob != null && blob.length > 0) {
+ Bitmap signatureBitmap = android.graphics.BitmapFactory.decodeByteArray(blob, 0, blob.length);
+ if (signatureBitmap != null) {
+ printer.appendImage(signatureBitmap, AlignEnum.CENTER);
+ }
}
}