# 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 ; } #-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.* ; } -keepclasseswithmembers class * { @com.squareup.moshi.* ; } -keepclassmembers class * { @com.squareup.moshi.FromJson ; @com.squareup.moshi.ToJson ; } -keepclassmembers @com.squareup.moshi.JsonClass class * extends java.lang.Enum { ; **[] 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 (...); } # Retain generated JsonAdapters if annotated type is retained. -if @com.squareup.moshi.JsonClass class * -keep class <1>JsonAdapter { (...); ; } -if @com.squareup.moshi.JsonClass class **$* -keep class <1>_<2>JsonAdapter { (...); ; } -if @com.squareup.moshi.JsonClass class **$*$* -keep class <1>_<2>_<3>JsonAdapter { (...); ; } -if @com.squareup.moshi.JsonClass class **$*$*$* -keep class <1>_<2>_<3>_<4>JsonAdapter { (...); ; } -if @com.squareup.moshi.JsonClass class **$*$*$*$* -keep class <1>_<2>_<3>_<4>_<5>JsonAdapter { (...); ; } -if @com.squareup.moshi.JsonClass class **$*$*$*$*$* -keep class <1>_<2>_<3>_<4>_<5>_<6>JsonAdapter { (...); ; } # 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.** { ; } -keep class com.sambath.sbc.remote.** { ; } # 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 ; } ##---------------End: proguard configuration for Gson ----------