-keeppackagenames ir.metrix
-keep class ir.metrix.** { *; }
-keepclassmembers enum ir.metrix.** { *; }

-keep class * extends ir.metrix.internal.init.MetrixComponentInitializer {
    public void preInitialize(android.content.Context);
    public void postInitialize(android.content.Context);
}

# Keep Exception names
-keepnames class ir.metrix.** extends java.lang.Exception

# -- Moshi --
-dontwarn okio.**
-dontwarn javax.annotation.**
-keepclasseswithmembers class * {
    @com.squareup.moshi.* <methods>;
}
-keep @com.squareup.moshi.JsonQualifier interface *

-keep class **JsonAdapter {
    <init>(...);
    <fields>;
}
-keepnames @com.squareup.moshi.JsonClass class *

-dontwarn org.codehaus.mojo.animal_sniffer.*

# Fix application release build problem with R8
-keep class io.reactivex.rxjava3.disposables.RunnableDisposable { <init>(...); }

-if class ir.metrix.referrer.ReferrerData
-keepnames class ir.metrix.referrer.ReferrerData
-if class ir.metrix.referrer.ReferrerData
-keep class ir.metrix.referrer.ReferrerDataJsonAdapter {
    public <init>(com.squareup.moshi.Moshi);
}
-if class ir.metrix.referrer.ReferrerData
-keepnames class kotlin.jvm.internal.DefaultConstructorMarker
-if class ir.metrix.referrer.ReferrerData
-keepclassmembers class ir.metrix.referrer.ReferrerData {
    public synthetic <init>(boolean,java.lang.String,ir.metrix.internal.utils.common.Time,ir.metrix.internal.utils.common.Time,java.lang.String,int,kotlin.jvm.internal.DefaultConstructorMarker);
}

