# --- SCAN-WICH SECURITY RULES --- # Optimisations agressives -optimizationpasses 5 -allowaccessmodification -mergeinterfacesaggressively # Supprimer les informations de débogage -renamesourcefileattribute SourceFile -keepattributes SourceFile,LineNumberTable # Offusquer plus profondément -repackageclasses '' # --- FIREBASE / GOOGLE --- # Les bibliothèques Google fournissent leurs propres règles optimisées. -dontwarn com.google.firebase.** -dontwarn com.google.android.gms.** -dontwarn com.google.errorprone.annotations.** # --- ITEXT --- # On cible plus précisément les packages iText utilisés pour le rapport PDF -dontwarn com.itextpdf.** -keep class com.itextpdf.kernel.** { public protected *; } -keep class com.itextpdf.layout.** { public protected *; } -keep class com.itextpdf.io.** { public protected *; } # --- RETROFIT / OKHTTP --- -keepattributes Signature, InnerClasses, EnclosingMethod -keepattributes RuntimeVisibleAnnotations, RuntimeVisibleParameterAnnotations # Garder uniquement les annotations Retrofit -keep @interface retrofit2.http.* -dontwarn retrofit2.** # Note: On laisse Retrofit gérer ses propres règles internes (incluses dans l'AAR) # --- ROOM --- # On ne garde que les classes liées à la base de données -keep class * extends androidx.room.RoomDatabase -dontwarn androidx.room.paging.** # --- DATA MODELS --- # Crucial : On garde tout ce qui est nécessaire au parsing JSON et à Room -keepclassmembers class com.example.scanwich.** { @com.google.gson.annotations.SerializedName ; @androidx.room.PrimaryKey ; } -keep @androidx.room.Entity class com.example.scanwich.** { *; } # On liste explicitement les modèles pour plus de précision -keep class com.example.scanwich.Meal { *; } -keep class com.example.scanwich.SportActivity { *; } -keep class com.example.scanwich.Glycemia { *; } -keep class com.example.scanwich.FavoriteMeal { *; } -keep class com.example.scanwich.N8nMealRequest { *; } -keep class com.example.scanwich.StravaActivity { *; } -keep class com.example.scanwich.StravaTokenResponse { *; } # --- CONFIGURATION --- -keep class com.example.scanwich.BuildConfig { *; }