# 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 # Ktor -keep class io.ktor.** { *; } -keep class kotlinx.coroutines.** { *; } # Kotlinx serialization -keepattributes *Annotation*, InnerClasses -dontnote kotlinx.serialization.AnnotationsKt -keep,includedescriptorclasses class dev.zxq5.chatapp.android.**$$serializer { *; } -keepclassmembers class dev.zxq5.chatapp.android.** { *** Companion; } -keepclasseswithmembers class dev.zxq5.chatapp.android.** { kotlinx.serialization.KSerializer serializer(...); } # Keep model classes (serialization needs these) -keep class dev.zxq5.chatapp.android.api.model.** { *; } -keep class dev.zxq5.chatapp.android.data.model.** { *; } # Fix for missing errorprone and javax annotations used by Tink and other libraries -dontwarn com.google.errorprone.annotations.** -dontwarn javax.annotation.** # Fix for missing java.lang.management referenced by Ktor (not available on Android) -dontwarn java.lang.management.**