From 315d37ca31716325a6ddbc46003a6c69492e6aac Mon Sep 17 00:00:00 2001 From: MooN <56061215+MgKyawLay@users.noreply.github.com> Date: Tue, 2 Dec 2025 01:01:39 +0630 Subject: [PATCH] fix bugs from excel 1 --- app/build.gradle | 2 +- .../kbz/ui/core_ui/InputAmountFragment.java | 8 ++++ .../ui/core_viewmodel/SharedViewModel.java | 10 +++++ .../com/utsmm/kbz/util/tms/TMSSetupsImpl.java | 2 + .../res/layout/fragment_dashboard_screen.xml | 37 +++++++++++++++---- .../res/layout/fragment_qr_refund_detail.xml | 5 ++- app/src/main/res/values/strings.xml | 2 +- .../utsmyanmar/baselib/di/NetworkModule.java | 8 ++-- .../utsmyanmar/baselib/repo/Repository.java | 1 - .../utsmyanmar/baselib/ui/NumberKeyboard.java | 17 +++++++++ .../core_utils/SystemParamsOperation.java | 10 +++++ .../core_utils/SystemParamsSettings.java | 20 +++++++++- 12 files changed, 104 insertions(+), 18 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index bf6632e..41adf02 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -11,7 +11,7 @@ android { compileSdk 34 defaultConfig { - applicationId "com.utsmm.kbz.uat" //mpu + applicationId "com.utsmm.kbz" minSdk 24 targetSdk 33 versionCode 10 diff --git a/app/src/main/java/com/utsmm/kbz/ui/core_ui/InputAmountFragment.java b/app/src/main/java/com/utsmm/kbz/ui/core_ui/InputAmountFragment.java index 67a7fa4..acab534 100644 --- a/app/src/main/java/com/utsmm/kbz/ui/core_ui/InputAmountFragment.java +++ b/app/src/main/java/com/utsmm/kbz/ui/core_ui/InputAmountFragment.java @@ -7,6 +7,7 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; import com.utsmyanmar.baselib.fragment.DataBindingFragment; +import com.utsmyanmar.baselib.ui.NumberKeyboard; import com.utsmyanmar.baselib.util.CardDetectCallback; import com.utsmyanmar.baselib.util.DataBindingConfig; import com.utsmyanmar.baselib.util.TimeoutCallback; @@ -98,6 +99,13 @@ public class InputAmountFragment extends DataBindingFragment implements DataBind setToolBarTitleWithBackIcon(getResourceString(R.string.txt_subtitle_amount)); + boolean decimalEnabled = SystemParamsOperation.getInstance().getDecimalEnable(); + View keyboardView = getView().findViewById(R.id.numberKeyboard); + + if (keyboardView instanceof NumberKeyboard) { + ((NumberKeyboard) keyboardView).setDecimalEnable(decimalEnabled); + } + if(sharedViewModel.isEcr.getValue() != null){ if(sharedViewModel.isEcr.getValue()){ 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 dd0651f..4b3a4b6 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 @@ -43,6 +43,10 @@ import javax.inject.Inject; @HiltViewModel public class SharedViewModel extends ViewModel { + public MutableLiveData terminalId = new MutableLiveData<>(); + + public MutableLiveData qrPartialRefundEnable = new MutableLiveData<>(); + private static final String TAG = SharedViewModel.class.getSimpleName(); private final Repository repository; @@ -173,9 +177,14 @@ public class SharedViewModel extends ViewModel { setPrintStatus(PrintStatus.FIRST_PRINT); isReprint.setValue(false); cardNo.setValue(""); + String tid = SystemParamsOperation.getInstance().getTerminalId(); + terminalId.setValue(tid); + boolean isQrPartialRefundEnable = SystemParamsOperation.getInstance().isQrPartialRefundEnable(); + qrPartialRefundEnable.setValue(isQrPartialRefundEnable); } + public void setEmvTrans(boolean status) { isEmv.setValue(status); } @@ -268,6 +277,7 @@ public class SharedViewModel extends ViewModel { return repository.getParams(siriusRequest); } + private void printReceipt(boolean isMerchantCopy) { PrintXReceipt.getInstance().printSmileReceipt(payDetail.getValue(), isMerchantCopy, new PrintXStatus() { @Override diff --git a/app/src/main/java/com/utsmm/kbz/util/tms/TMSSetupsImpl.java b/app/src/main/java/com/utsmm/kbz/util/tms/TMSSetupsImpl.java index 0f66a71..7a265d6 100644 --- a/app/src/main/java/com/utsmm/kbz/util/tms/TMSSetupsImpl.java +++ b/app/src/main/java/com/utsmm/kbz/util/tms/TMSSetupsImpl.java @@ -428,6 +428,8 @@ public class TMSSetupsImpl implements TMSSetups{ } else if (TextUtils.equals(name,"qrpay_enable")) { SystemParamsOperation.getInstance().setQRPayStatus(parseBoolean(data)); + } else if (TextUtils.equals(name, "qr_partial_refund_enable")){ + SystemParamsOperation.getInstance().setQrPartialRefundEnable(parseBoolean(data)); } else if(TextUtils.equals(name, "mmqr_interval_waiting_time")){ SystemParamsOperation.getInstance().setWaveIntervalTime(data); diff --git a/app/src/main/res/layout/fragment_dashboard_screen.xml b/app/src/main/res/layout/fragment_dashboard_screen.xml index 8705e73..c886040 100644 --- a/app/src/main/res/layout/fragment_dashboard_screen.xml +++ b/app/src/main/res/layout/fragment_dashboard_screen.xml @@ -23,6 +23,29 @@ android:background="@color/colorPrimary" android:padding="16dp"> + + + + + + app:layout_constraintStart_toStartOf="@id/tid" + app:layout_constraintTop_toBottomOf="@+id/tid"> @@ -59,9 +82,7 @@ app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintEnd_toEndOf="parent" - android:paddingTop="12dp"> - - + > + @@ -67,7 +68,9 @@ android:layout_height="wrap_content" android:layout_weight="1" android:text="Partial Amount" - android:textSize="16sp" /> + android:textSize="16sp" + android:visibility="@{sharedViewModel.qrPartialRefundEnable ? View.VISIBLE : View.GONE}" + /> diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index ca6027e..4d8b52e 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1,5 +1,5 @@ - KBZ UAT + KBZ SMILE-SIT SMILE-UAT SMILE-PLUS diff --git a/baselib/src/main/java/com/utsmyanmar/baselib/di/NetworkModule.java b/baselib/src/main/java/com/utsmyanmar/baselib/di/NetworkModule.java index a885129..0be384f 100644 --- a/baselib/src/main/java/com/utsmyanmar/baselib/di/NetworkModule.java +++ b/baselib/src/main/java/com/utsmyanmar/baselib/di/NetworkModule.java @@ -285,8 +285,8 @@ public class NetworkModule { tmsAddress = getTMSUrlFromNative(); } -// String baseUrl = tmsAddress.trim() + "/api/v1/"; - String baseUrl = tmsAddress.trim() + "/"; + String baseUrl = tmsAddress.trim() + "/api/v1/"; +// String baseUrl = tmsAddress.trim() + "/"; final Gson gson = @@ -398,8 +398,8 @@ public class NetworkModule { OkHttpClient client = new OkHttpClient.Builder() .addInterceptor(interceptor) .build(); -// String baseUrl = "http://receipt-nest.utsmyanmar.com/"; - String baseUrl = "https://api-tms-uat.kbzbank.com:8443/receipt/"; + String baseUrl = "http://receipt-nest.utsmyanmar.com/"; +// String baseUrl = "https://api-tms-uat.kbzbank.com:8443/receipt/"; return new Retrofit.Builder() .baseUrl(baseUrl) diff --git a/baselib/src/main/java/com/utsmyanmar/baselib/repo/Repository.java b/baselib/src/main/java/com/utsmyanmar/baselib/repo/Repository.java index 5988cc3..8bda331 100644 --- a/baselib/src/main/java/com/utsmyanmar/baselib/repo/Repository.java +++ b/baselib/src/main/java/com/utsmyanmar/baselib/repo/Repository.java @@ -107,7 +107,6 @@ public class Repository { return siriusApiService.getParams(siriusRequest); } public Observable sendReceipt(Object body){ -// String apiSecret = "y812J21lhha11OS"; String apiSecret = BuildConfig.ERECEIPT_SECRET; String timestamp = String.valueOf(System.currentTimeMillis()); String bodyString = new Gson().toJson(body); diff --git a/baselib/src/main/java/com/utsmyanmar/baselib/ui/NumberKeyboard.java b/baselib/src/main/java/com/utsmyanmar/baselib/ui/NumberKeyboard.java index 43eb919..e009f89 100644 --- a/baselib/src/main/java/com/utsmyanmar/baselib/ui/NumberKeyboard.java +++ b/baselib/src/main/java/com/utsmyanmar/baselib/ui/NumberKeyboard.java @@ -20,9 +20,20 @@ public class NumberKeyboard extends ViewGroup { private int mKeyWidth; private int hSpacing = 1; private int vSpacing = 1; + boolean isDecimalEnable = false; private KeyClickCallback mKeyClickCallback; + public void setDecimalEnable(boolean enable){ + this.isDecimalEnable = enable; + View key = getChildAt(9); // index starts at 0 + if (key instanceof TextView) { + key.setAlpha(enable ? 1f : 0.3f); + } + invalidate(); + requestLayout(); + } + public void setKeyClickCallback(KeyClickCallback callback) { this.mKeyClickCallback = callback; } @@ -201,6 +212,9 @@ public class NumberKeyboard extends ViewGroup { if (child == null) { return true; } + if (!isDecimalEnable && (position + 1) == 10) { + return true; + } child.setBackgroundColor(getResources().getColor(R.color.CDDDDDD,null)); @@ -217,6 +231,9 @@ public class NumberKeyboard extends ViewGroup { child.setBackgroundColor(getResources().getColor(R.color.white,null)); if (mKeyClickCallback != null) { if ((position + 1) == 10) { + if(!isDecimalEnable){ + return true; + } mKeyClickCallback.onDelClick(); } else if ((position + 1) == 11) { mKeyClickCallback.onNumClick(0); diff --git a/paylibs/src/main/java/com/utsmyanmar/paylibs/utils/core_utils/SystemParamsOperation.java b/paylibs/src/main/java/com/utsmyanmar/paylibs/utils/core_utils/SystemParamsOperation.java index 2ce2755..69776d9 100644 --- a/paylibs/src/main/java/com/utsmyanmar/paylibs/utils/core_utils/SystemParamsOperation.java +++ b/paylibs/src/main/java/com/utsmyanmar/paylibs/utils/core_utils/SystemParamsOperation.java @@ -1562,5 +1562,15 @@ public class SystemParamsOperation { SharedPreferencesUtil.clearByKey(TRANSACTION_MANAGER_KEY); } + public void setQrPartialRefundEnable(boolean enable){ + SystemParamsSettings params = getSystemParamsSettings(); + params.setQrPartialRefundEnable(enable); + saveSystemParamsSettings(params); + } + + public boolean isQrPartialRefundEnable() { + SystemParamsSettings params = getSystemParamsSettings(); + return params.isQrPartialRefundEnable(); + } } \ No newline at end of file diff --git a/paylibs/src/main/java/com/utsmyanmar/paylibs/utils/core_utils/SystemParamsSettings.java b/paylibs/src/main/java/com/utsmyanmar/paylibs/utils/core_utils/SystemParamsSettings.java index 8a6dc29..f04ceb1 100644 --- a/paylibs/src/main/java/com/utsmyanmar/paylibs/utils/core_utils/SystemParamsSettings.java +++ b/paylibs/src/main/java/com/utsmyanmar/paylibs/utils/core_utils/SystemParamsSettings.java @@ -42,8 +42,9 @@ public class SystemParamsSettings implements Serializable { // private String tmsAddress = "https://tms.smile-mm.com"; // private String tmsAddress = "http://128.199.170.203"; -// private String tmsAddress = "http://sirius-nest.utsmyanmar.com"; - private String tmsAddress = "https://api-tms-uat.kbzbank.com:8443/sirius"; + private String tmsAddress = "http://sirius-nest.utsmyanmar.com"; +// private String tmsAddress = "https://api-tms-uat.kbzbank.com:8443/sirius"; + private String ereceiptAddress = "http://receipt-nest.utsmyanmar.com"; private String terminalCapability = "E0E8C8"; @@ -235,6 +236,15 @@ public class SystemParamsSettings implements Serializable { private byte[] pik_kcv; + private boolean qrPartialRefundEnable = false; + + public boolean isQrPartialRefundEnable(){ + return qrPartialRefundEnable; + } + + public void setQrPartialRefundEnable(boolean qrPartialRefundEnable){ + this.qrPartialRefundEnable = qrPartialRefundEnable; + } protected boolean isManualEntryPinEnable() {return manualEntryPinEnable;} @@ -266,6 +276,12 @@ public class SystemParamsSettings implements Serializable { protected String getAuthToken() { return authToken;} + protected String getEreceiptAddress() { return ereceiptAddress; } + + protected void setEreceiptAddress(String ereceiptAddress){ + this.ereceiptAddress = ereceiptAddress; + } + public boolean isDecimal_enable() { return decimal_enable; }