# 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 # Keep classes used for serialization -keepattributes *Annotation*,EnclosingMethod,InnerClasses -keepattributes Signature -keepattributes SourceFile,LineNumberTable # Retrofit -keepattributes RuntimeVisibleAnnotations, RuntimeVisibleParameterAnnotations -keepclassmembers,allowshrinking,allowobfuscation interface * { @retrofit2.http.* ; } -dontwarn org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement -dontwarn javax.annotation.** -dontwarn kotlin.Unit -dontwarn retrofit2.KotlinExtensions -dontwarn retrofit2.KotlinExtensions$* -if interface * { @retrofit2.http.* ; } -keep,allowobfuscation interface <1> -keep,allowobfuscation,allowshrinking class kotlin.coroutines.Continuation # OkHttp -dontwarn okhttp3.** -dontwarn okio.** -dontwarn javax.annotation.** -keepnames class okhttp3.internal.publicsuffix.PublicSuffixDatabase # Moshi -keep class com.squareup.moshi.** { *; } -keep interface com.squareup.moshi.** { *; } -keep class com.shaarit.data.dto.** { *; } -keepclassmembers class com.shaarit.data.dto.** { *; } # Keep Kotlin Metadata -keep class kotlin.Metadata { *; } # Hilt -keepclasseswithmembers class * { @dagger.* ; } -keepclasseswithmembers class * { @javax.inject.* ; @javax.inject.* ; } -keep class dagger.* { *; } -keep class javax.inject.* { *; } -dontwarn dagger.internal.codegen.** # JWT (io.jsonwebtoken) -keep class io.jsonwebtoken.** { *; } # Compose -keep class androidx.compose.** { *; } # Application classes -keep class com.shaarit.domain.model.** { *; } -keep class com.shaarit.data.api.** { *; }