2025-11-13 08:15:18 +00:00
|
|
|
# Add project specific ProGuard rules here.
|
|
|
|
|
# You can control the set of applied configuration files using the
|
|
|
|
|
# proguardFiles setting in build.gradle.
|
|
|
|
|
#
|
|
|
|
|
# For more details, see
|
|
|
|
|
# http://developer.android.com/guide/developing/tools/proguard.html
|
|
|
|
|
|
|
|
|
|
# If your project uses WebView with JS, uncomment the following
|
|
|
|
|
# and specify the fully qualified class name to the JavaScript interface
|
|
|
|
|
# class:
|
|
|
|
|
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
|
|
|
|
|
# public *;
|
|
|
|
|
#}
|
|
|
|
|
|
|
|
|
|
# Uncomment this to preserve the line number information for
|
|
|
|
|
# debugging stack traces.
|
|
|
|
|
#-keepattributes SourceFile,LineNumberTable
|
|
|
|
|
|
|
|
|
|
# If you keep the line number information, uncomment this to
|
|
|
|
|
# hide the original source file name.
|
|
|
|
|
#-renamesourcefileattribute SourceFile
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Keep Bouncy Castle classes for security providers
|
|
|
|
|
-keep class org.bouncycastle.** { *; }
|
2026-01-12 15:40:15 +00:00
|
|
|
-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.** { *; }
|