App Kotlin Multiplatform (Android/iOS/Desktop) con Compose Multiplatform: controllo intonazione (YIN), pratica guidata, metronomo, ear training, sfide, scansione spartiti via AI, spartiti bundled e pentagramma con glifi tipografici, travature, battute e spaziatura proporzionale. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
65 lines
1.9 KiB
Prolog
65 lines
1.9 KiB
Prolog
# 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 <fields>;
|
|
}
|
|
-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 <fields>; }
|
|
|
|
# --- Coroutines ---
|
|
-keepnames class kotlinx.coroutines.internal.MainDispatcherFactory {}
|
|
-keepnames class kotlinx.coroutines.CoroutineExceptionHandler {}
|
|
-keepclassmembers class kotlinx.coroutines.** { volatile <fields>; }
|
|
-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 <fields>;
|
|
private void writeObject(java.io.ObjectOutputStream);
|
|
private void readObject(java.io.ObjectInputStream);
|
|
java.lang.Object writeReplace();
|
|
java.lang.Object readResolve();
|
|
}
|