# Keep line numbers for debugging stack traces -keepattributes SourceFile,LineNumberTable -renamesourcefileattribute SourceFile # kotlinx.serialization -keepattributes *Annotation*, InnerClasses -dontnote kotlinx.serialization.** -keepclassmembers class kotlinx.serialization.json.** { *** Companion; } -keepclasseswithmembers class kotlinx.serialization.json.** { kotlinx.serialization.KSerializer serializer(...); } -keep,includedescriptorclasses class com.example.fluffytrix.**$$serializer { *; } -keepclassmembers class com.example.fluffytrix.** { *** Companion; } -keepclasseswithmembers class com.example.fluffytrix.** { kotlinx.serialization.KSerializer serializer(...); } # Trixnity — keep all SDK classes (uses reflection/serialization heavily) -keep class net.folivo.trixnity.** { *; } -dontwarn net.folivo.trixnity.** # Ktor -keep class io.ktor.** { *; } -dontwarn io.ktor.** # OkHttp -dontwarn okhttp3.** -dontwarn okio.** # Koin -keep class org.koin.** { *; } # Coil -keep class coil3.** { *; } # JNA (used by Trixnity OLM bindings) -keep class com.sun.jna.** { *; } -keep class * implements com.sun.jna.** { *; } -dontwarn com.sun.jna.** # Media3 / ExoPlayer -keep class androidx.media3.** { *; } -dontwarn androidx.media3.** # Markdown renderer & syntax highlighting -keep class com.mikepenz.markdown.** { *; } -keep class dev.snipme.highlights.** { *; } -dontwarn dev.snipme.highlights.** # Olm native library -keep class org.matrix.olm.** { *; }