# Preserve generic type signatures for Gson and Reflection in host app release builds
-keepattributes Signature
-keepattributes RuntimeVisibleAnnotations
-keepattributes EnclosingMethod,InnerClasses

# Keep Gson classes and type adapters
-keep class com.google.gson.** { *; }
-keepclassmembers class * implements com.google.gson.TypeAdapter { *; }
-keepclassmembers class * implements com.google.gson.TypeAdapterFactory { *; }
-keepclassmembers class * implements com.google.gson.JsonSerializer { *; }
-keepclassmembers class * implements com.google.gson.JsonDeserializer { *; }

# Keep Boolean Maths SDK public API, database entities and internal classes
-keep class com.booleanmaths.sdk.** { *; }
-keepclassmembers class com.booleanmaths.sdk.** { *; }

# Room Database rules
-keep class * extends androidx.room.RoomDatabase
-dontwarn androidx.room.paging.**
