# --- Kotlin ---
-dontwarn kotlin.**
-keep class kotlin.Metadata { *; }
# --- Kotlinx Serialization / Coroutines ---
-keepclassmembers class kotlinx.coroutines.** { *; }
-dontwarn kotlinx.coroutines.**
# --- Retrofit ---
-keepattributes Signature, InnerClasses, EnclosingMethod
-keepattributes RuntimeVisibleAnnotations, RuntimeVisibleParameterAnnotations
-keepclassmembers,allowshrinking,allowobfuscation interface * {
@retrofit2.http.* <methods>;
}
-dontwarn retrofit2.**
-keep class retrofit2.** { *; }
# --- OkHttp ---
-dontwarn okhttp3.**
-dontwarn okio.**
# --- Moshi ---
-keep class com.squareup.moshi.** { *; }
-keep @com.squareup.moshi.JsonClass class * { *; }
-keepclassmembers class * {
@com.squareup.moshi.Json <fields>;
}
-keepclasseswithmembers class * {
@com.squareup.moshi.* <methods>;
}
-keepnames @com.squareup.moshi.JsonClass class *
# --- Room ---
-keep class * extends androidx.room.RoomDatabase
-keep @androidx.room.Entity class * { *; }
-dontwarn androidx.room.paging.**
# --- Hilt / Dagger ---
-keep class dagger.hilt.** { *; }
-keep class javax.inject.** { *; }
-keep class * extends dagger.hilt.android.internal.managers.ViewComponentManager$FragmentContextWrapper
# --- Glide ---
-keep public class * implements com.bumptech.glide.module.GlideModule
-keep class * extends com.bumptech.glide.module.AppGlideModule { <init>(...); }
-keep public enum com.bumptech.glide.load.ImageHeaderParser$** {
**[] $VALUES;
public *;
}
# --- MiniJson (рефлексия) ---
-keep @ru.notesapp.util.MiniSerializable class * { *; }
-keepclassmembers class * {
@ru.notesapp.util.MiniSerializable <fields>;
}
# --- Модели ---
-keep class ru.notesapp.domain.** { *; }
-keep class ru.notesapp.data.remote.NoteDto { *; }
# --- Убираем логи в release ---
-assumenosideeffects class android.util.Log {
public static *** d(...);
public static *** v(...);
public static *** i(...);
}