123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146 |
- # 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 class * implements java.io.Serializable { *; }
- -keepattributes *Annotation*
- #### OkHttp, Retrofit and Moshi
- -dontwarn okhttp3.**
- -dontwarn retrofit2.Platform$Java8
- -dontwarn okio.**
- -dontwarn javax.annotation.**
- -dontwarn org.jetbrains.annotations.**
- #-keep class kotlin.reflect.jvm.internal.impl.builtins.BuiltInsLoaderImpl
- -keep class kotlin.Metadata { *; }
- -keepclassmembers class kotlin.Metadata {
- public <methods>;
- }
- #-keepnames @kotlin.Metadata class gdt.com.e_payments.data.model.**
- #-keep class gdt.com.e_payments.data.model.** { *; }
- #-keepclassmembers class gdt.com.e_payments.data.model.** { *; }
- -keepclasseswithmembers class * {
- @retrofit2.http.* <methods>;
- }
- -keepclasseswithmembers class * {
- @com.squareup.moshi.* <methods>;
- }
- -keepclassmembers class * {
- @com.squareup.moshi.FromJson <methods>;
- @com.squareup.moshi.ToJson <methods>;
- }
- -keepclassmembers @com.squareup.moshi.JsonClass class * extends java.lang.Enum {
- <fields>;
- **[] values();
- }
- -keep @com.squareup.moshi.JsonQualifier interface *
- -keepnames @com.squareup.moshi.JsonClass class *
- # Retain generated target class's synthetic defaults constructor and keep DefaultConstructorMarker's
- # name. We will look this up reflectively to invoke the type's constructor.
- #
- # We can't _just_ keep the defaults constructor because Proguard/R8's spec doesn't allow wildcard
- # matching preceding parameters.
- -keepnames class kotlin.jvm.internal.DefaultConstructorMarker
- -keepclassmembers @com.squareup.moshi.JsonClass @kotlin.Metadata class * {
- synthetic <init>(...);
- }
- # Retain generated JsonAdapters if annotated type is retained.
- -if @com.squareup.moshi.JsonClass class *
- -keep class <1>JsonAdapter {
- <init>(...);
- <fields>;
- }
- -if @com.squareup.moshi.JsonClass class **$*
- -keep class <1>_<2>JsonAdapter {
- <init>(...);
- <fields>;
- }
- -if @com.squareup.moshi.JsonClass class **$*$*
- -keep class <1>_<2>_<3>JsonAdapter {
- <init>(...);
- <fields>;
- }
- -if @com.squareup.moshi.JsonClass class **$*$*$*
- -keep class <1>_<2>_<3>_<4>JsonAdapter {
- <init>(...);
- <fields>;
- }
- -if @com.squareup.moshi.JsonClass class **$*$*$*$*
- -keep class <1>_<2>_<3>_<4>_<5>JsonAdapter {
- <init>(...);
- <fields>;
- }
- -if @com.squareup.moshi.JsonClass class **$*$*$*$*$*
- -keep class <1>_<2>_<3>_<4>_<5>_<6>JsonAdapter {
- <init>(...);
- <fields>;
- }
- # RxJava
- -dontwarn org.reactivestreams.FlowAdapters
- -dontwarn org.reactivestreams.**
- -dontwarn java.util.concurrent.Flow.**
- -dontwarn java.util.concurrent.**
- # Firebase Crashlytics
- #-keepattributes SourceFile,LineNumberTable # Keep file names and line numbers.
- #-keep public class * extends java.lang.Exception # Optional: Keep custom exceptions.
- #-keep class com.google.firebase.crashlytics. { *; }
- #-dontwarn com.google.firebase.crashlytics.
- #-keepnames @kotlin.Metadata class com.sambath.cflive.remote.**
- #-keep class com.sambath.cflive.remote.model.** { *; }
- #-keepclassmembers class com.sambath.cflive.remote.model.** { *; }
- ##---------------Begin: proguard configuration for Gson ----------
- # Gson uses generic type information stored in a class file when working with fields. Proguard
- # removes such information by default, so configure it to keep all of it.
- -keepattributes Signature
- # For using GSON @Expose annotation
- -keepattributes *Annotation*
- # Gson specific classes
- -dontwarn sun.misc.**
- #-keep class com.google.gson.stream.** { *; }
- # Application classes that will be serialized/deserialized over Gson
- #-keep class com.google.gson.examples.android.model.** { <fields>; }
- -keep class com.sambath.sbc.remote.** { <fields>; }
- # Prevent proguard from stripping interface information from TypeAdapter, TypeAdapterFactory,
- # JsonSerializer, JsonDeserializer instances (so they can be used in @JsonAdapter)
- -keep class * implements com.google.gson.TypeAdapter
- -keep class * implements com.google.gson.TypeAdapterFactory
- -keep class * implements com.google.gson.JsonSerializer
- -keep class * implements com.google.gson.JsonDeserializer
- # Prevent R8 from leaving Data object members always null
- -keepclassmembers,allowobfuscation class * {
- @com.google.gson.annotations.SerializedName <fields>;
- }
- ##---------------End: proguard configuration for Gson ----------
|