# ProGuard rules for InTono (NoteMusicali) # --- Kotlin --- -keepattributes *Annotation* -keepattributes Signature -keepattributes InnerClasses -keepattributes EnclosingMethod -keep class kotlin.Metadata { *; } -dontwarn kotlin.** # --- Kotlin Serialization --- -keepattributes RuntimeVisibleAnnotations -keep class kotlinx.serialization.** { *; } -keepclassmembers class * { @kotlinx.serialization.Serializable ; } -keepclassmembers @kotlinx.serialization.Serializable class * { *** Companion; *** serializer(...); kotlinx.serialization.KSerializer serializer(...); } -keepclasseswithmembers class * { kotlinx.serialization.KSerializer serializer(...); } # --- Ktor --- -keep class io.ktor.** { *; } -dontwarn io.ktor.** -keep class io.ktor.client.engine.** { *; } -keepclassmembers class io.ktor.** { volatile ; } # --- Coroutines --- -keepnames class kotlinx.coroutines.internal.MainDispatcherFactory {} -keepnames class kotlinx.coroutines.CoroutineExceptionHandler {} -keepclassmembers class kotlinx.coroutines.** { volatile ; } -dontwarn kotlinx.coroutines.** # --- Compose --- -keep class androidx.compose.** { *; } -dontwarn androidx.compose.** # --- Multiplatform Settings --- -keep class com.russhwolf.settings.** { *; } # --- App classes --- -keep class com.notemusicali.** { *; } # --- CameraX --- -keep class androidx.camera.** { *; } -dontwarn androidx.camera.** # --- Standard Android --- -keepclassmembers class * implements android.os.Parcelable { public static final ** CREATOR; } -keepclassmembers class * implements java.io.Serializable { static final long serialVersionUID; private static final java.io.ObjectStreamField[] serialPersistentFields; !static !transient ; private void writeObject(java.io.ObjectOutputStream); private void readObject(java.io.ObjectInputStream); java.lang.Object writeReplace(); java.lang.Object readResolve(); } # Annotazioni solo-compile riferite da Google Tink (via androidx.security:security-crypto): # assenti a runtime per design, R8 non deve considerarle un errore -dontwarn com.google.errorprone.annotations.** -dontwarn javax.annotation.**