# 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 # Preserve line number information for debugging stack traces -keepattributes SourceFile,LineNumberTable # Hide the original source file name -renamesourcefileattribute SourceFile # Keep generic signatures for Kotlin -keepattributes Signature # Keep annotations -keepattributes *Annotation* # Room Database -keep class * extends androidx.room.RoomDatabase -keep @androidx.room.Entity class * -keepclassmembers class * { @androidx.room.* ; @androidx.room.* ; } # Kotlinx Serialization -keepattributes *Annotation*, InnerClasses -dontnote kotlinx.serialization.AnnotationsKt -keepclassmembers class kotlinx.serialization.json.** { *** Companion; } -keepclasseswithmembers class kotlinx.serialization.json.** { kotlinx.serialization.KSerializer serializer(...); } -keep,includedescriptorclasses class com.atridad.ascently.**$$serializer { *; } -keepclassmembers class com.atridad.ascently.** { *** Companion; } -keepclasseswithmembers class com.atridad.ascently.** { kotlinx.serialization.KSerializer serializer(...); } # Keep data classes used for serialization -keep class com.atridad.ascently.data.model.** { *; } -keep class com.atridad.ascently.data.format.** { *; } # Coroutines -keepnames class kotlinx.coroutines.internal.MainDispatcherFactory {} -keepnames class kotlinx.coroutines.CoroutineExceptionHandler {} -keepclassmembers class kotlinx.coroutines.** { volatile ; } # Health Connect -keep class androidx.health.connect.client.** { *; } -keep interface androidx.health.connect.client.** { *; } # Coil Image Loading -keep class coil.** { *; } # Keep Compose -keep class androidx.compose.** { *; } # 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 *; #}