# 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.gdt.dev.gdtevaluationAdmin.data.remote.model.** #-keep class com.gdt.dev.gdtevaluationAdmin.data.remote.model.** { *; } #-keepclassmembers class com.gdt.dev.gdtevaluationAdmin.data.remote.model.** { *; }