#
# Copyright (c) Experian, 2025-2026.  All rights reserved.
#

# Consumer rules for Device Intelligence SDK customers

# Keep public API
-keep public class com.experian.deviceintelligence.DeviceIntelligenceCollector {
    public *; 
}
-keep public class com.experian.deviceintelligence.DeviceIntelligenceException { *; }
-keep public class com.experian.deviceintelligence.DeviceIntelligenceResponse { *;}

# Essential for Kotlin suspend functions
-keep class kotlin.coroutines.** { *; }
-keep class kotlinx.coroutines.** { *; }
-keep class kotlin.jvm.functions.** { *; }

# Keep Kotlin metadata for reflection
-keepattributes Signature
-keepattributes *Annotation*
-keep class kotlin.Metadata { *; }

# Suppress all warnings about internal obfuscated classes
-dontwarn com.experian.deviceintelligence.**

# Keep Android components if customers use them
-keep class * extends android.app.Activity
-keep class * extends android.app.Application
-keep class * extends android.app.Service
-keep class * extends android.content.BroadcastReceiver
-keep class * extends android.content.ContentProvider
