# BroadNet Push SDK — consumer ProGuard/R8 rules (merged into the host app).
# Keeps the public API and the Gson-serialized DTOs intact in release builds.

# Public API surface
-keep public class com.broadnet.push.BroadnetPush { public *; }
-keep public class com.broadnet.push.BroadnetConfig { public *; }
-keep public class com.broadnet.push.BroadnetConfig$* { *; }
-keep public class com.broadnet.push.model.** { *; }

# Wire DTOs — preserve field names for JSON (de)serialization
-keep class com.broadnet.push.internal.api.dto.** { *; }
-keepclassmembers class com.broadnet.push.internal.api.dto.** { <fields>; }

# Firebase messaging service + receivers (instantiated by the framework)
-keep class com.broadnet.push.internal.messaging.** { *; }
-keep class com.broadnet.push.internal.geofence.** { *; }
-keep class * extends androidx.work.ListenableWorker { *; }

# Retrofit / OkHttp / Gson
-keepattributes Signature, *Annotation*, EnclosingMethod, InnerClasses
-dontwarn okhttp3.**
-dontwarn okio.**
-dontwarn retrofit2.**
