This commit is contained in:
MooN 2026-01-12 22:10:15 +06:30
parent b4ecd40b46
commit 89466f8209
3 changed files with 95 additions and 8 deletions

View File

@ -14,8 +14,8 @@ android {
applicationId "com.utsmm.kbz" applicationId "com.utsmm.kbz"
minSdk 24 minSdk 24
targetSdk 33 targetSdk 33
versionCode 17 versionCode 1
versionName "1.16" versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
} }
@ -43,6 +43,7 @@ android {
dimension "env" dimension "env"
applicationId "com.utsmm.kbz" applicationId "com.utsmm.kbz"
versionNameSuffix "" versionNameSuffix ""
resValue "string", "app_name", "KBZ-POS"
} }
} }
@ -76,7 +77,8 @@ android {
buildTypes { buildTypes {
release { release {
minifyEnabled false minifyEnabled true
shrinkResources false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
} }
debug { debug {

View File

@ -24,3 +24,88 @@
# Keep Bouncy Castle classes for security providers # Keep Bouncy Castle classes for security providers
-keep class org.bouncycastle.** { *; } -keep class org.bouncycastle.** { *; }
-dontwarn org.bouncycastle.** -dontwarn org.bouncycastle.**
-keep class com.squareup.okhttp.** { *; }
-dontwarn org.conscrypt.Conscrypt$Version
-dontwarn org.conscrypt.Conscrypt
-dontwarn org.conscrypt.ConscryptHostnameVerifier
-dontwarn org.openjsse.javax.net.ssl.SSLParameters
-dontwarn org.openjsse.javax.net.ssl.SSLSocket
-dontwarn org.openjsse.net.ssl.OpenJSSE
############################
# HILT
############################
-keep class dagger.hilt.** { *; }
-keep class javax.inject.** { *; }
-keep class * extends dagger.hilt.internal.GeneratedComponent { *; }
-keep class * extends dagger.hilt.internal.GeneratedComponentManager { *; }
-keep class hilt_aggregated_deps.** { *; }
############################
# ANDROIDX NAVIGATION
############################
-keep class androidx.navigation.** { *; }
############################
# DATA BINDING
############################
-keep class **.databinding.*Binding { *; }
-keep class androidx.databinding.** { *; }
############################
# FRAGMENTS
############################
-keep class * extends androidx.fragment.app.Fragment
############################
# SERIALIZABLE / PARCELABLE
############################
-keepclassmembers class * implements java.io.Serializable {
static final long serialVersionUID;
}
############################
# NEXGO / SUNMI / PAYLIBS
############################
-keep class com.nexgo.** { *; }
-keep class com.sunmi.** { *; }
-keep class com.utsmyanmar.** { *; }
-keep class com.kizzy.xpay.** { *; }
############################
# ENUMS (ISO / TRANSACTION TYPES)
############################
-keepclassmembers enum * {
public static **[] values();
public static ** valueOf(java.lang.String);
}
# Keep Retrofit generic signatures
-keepattributes Signature
-keepattributes *Annotation*
# RxJava
-keep class io.reactivex.** { *; }
-dontwarn io.reactivex.**
# Retrofit
-keep class retrofit2.** { *; }
-dontwarn retrofit2.**
# Your API interfaces
-keep interface com.utsmyanmar.baselib.api.** { *; }
# Your response models
-keep class com.utsmyanmar.baselib.model.** { *; }
# Keep model fields for Gson
-keepclassmembers class * {
@com.google.gson.annotations.SerializedName <fields>;
}
# Or keep all models directly (simpler & safer)
-keep class com.utsmyanmar.baselib.model.** { *; }
-keep class androidx.lifecycle.** { *; }
-keep class * extends androidx.lifecycle.ViewModel { *; }
-keep class com.utsmyanmar.baselib.repo.** { *; }

View File

@ -343,9 +343,9 @@ public abstract class BaseXPrint {
// print2ColumnsStringNoSpace("AID :", MPU_AID); // print2ColumnsStringNoSpace("AID :", MPU_AID);
// } // }
if (payDetail.getTradeAnswerCode().equals(Constant.ANSWER_CODE_ACCEPT) || payDetail.getTradeAnswerCode().equals(Constant.ANSWER_CODE_APPROVED)) { // if (payDetail.getTradeAnswerCode().equals(Constant.ANSWER_CODE_ACCEPT) || payDetail.getTradeAnswerCode().equals(Constant.ANSWER_CODE_APPROVED)) {
print2ColumnsStringNoSpace("TXN ID :",payDetail.getReferNo()); // print2ColumnsStringNoSpace("TXN ID :",payDetail.getReferNo());
} // }
@ -1115,7 +1115,7 @@ public abstract class BaseXPrint {
// printer.appendPrnStr("TRACE NO:" + traceNum + " INV NO:" + invoiceNo, fontNormal, AlignEnum.LEFT,false); // printer.appendPrnStr("TRACE NO:" + traceNum + " INV NO:" + invoiceNo, fontNormal, AlignEnum.LEFT,false);
printer.appendPrnStr("INV NO :" + invoiceNo , fontNormal, AlignEnum.LEFT,false); printer.appendPrnStr("INV NO :" + invoiceNo , fontNormal, AlignEnum.LEFT,false);
} else if (!payDetail.getTransType().equals(SETTLEMENT) && !payDetail.getTransType().equals(SUMMARY) && payDetail.getTransactionType() != TransactionsType.MMQR_REFUND.value && payDetail.getTransactionType() != TransactionsType.MMQR.value) { } else if (!payDetail.getTransType().equals(SETTLEMENT) && !payDetail.getTransType().equals(SUMMARY) && payDetail.getTransactionType() != TransactionsType.MMQR_REFUND.value && payDetail.getTransactionType() != TransactionsType.MMQR.value) {
printer.appendPrnStr("BTH NO :" + batchNum + " INV NO:" + invoiceNo, fontNormal, AlignEnum.LEFT,false); printer.appendPrnStr("BTH NO :" + batchNum + " INV NO:" + invoiceNo, fontNormal, AlignEnum.LEFT,false);
} else if (payDetail.getTransType().equals(SUMMARY)) { } else if (payDetail.getTransType().equals(SUMMARY)) {
printer.appendPrnStr("HOST :" + HOST_NAME_MPU + "", fontNormal, AlignEnum.LEFT,false); printer.appendPrnStr("HOST :" + HOST_NAME_MPU + "", fontNormal, AlignEnum.LEFT,false);
} }