-keepattributes *Annotation*
-keepattributes Signature,RuntimeVisibleAnnotations,AnnotationDefault
-keeppackagenames com.cleveradssolutions.**

# Keep reflection targets
-keep public class com.cleveradssolutions.plugin.** { public *; }
-keep public class com.cleveradssolutions.adapters.** extends com.cleveradssolutions.mediation.MediationAdapter { public protected *; }
-keep class com.applovin.mediation.adapters.* extends com.applovin.mediation.adapters.MediationAdapterBase { public *; protected <methods>; }
-keep class com.ironsource.adapters.** extends com.ironsource.mediationsdk.AbstractAdapter { public *; protected <methods>; }

-keep class com.google.android.gms.ads.identifier.AdvertisingIdClient{ public *; }
-keep class com.google.android.gms.ads.identifier.AdvertisingIdClient$Info{ public *; }
-keep class com.google.android.gms.common.internal.StringResourceValueReader { public *; }
-keep class com.google.android.material.bottomsheet.BottomSheetDialog { public *; }
-keep class com.google.android.material.bottomsheet.BottomSheetBehavior { public *; }
-keep class com.google.android.ump.UserMessagingPlatform { public *; }
-keep class com.google.firebase.analytics.FirebaseAnalytics{
    public void logEvent(java.lang.String, android.os.Bundle);
}

-keepclassmembers class * {
     @android.webkit.JavascriptInterface <methods>;
 }

# OkHttp + Okio
-dontwarn okio.**
-dontwarn com.squareup.okhttp3.**
-dontwarn android.webkit.**
-dontwarn javax.annotation.**
-dontwarn org.codehaus.mojo.animal_sniffer.*
-dontwarn okhttp3.internal.platform.ConscryptPlatform
# A resource is loaded with a relative path so the package of this class must be preserved.
-keepnames class okhttp3.internal.publicsuffix.PublicSuffixDatabase
-keep class com.squareup.okhttp3.** {*;}
-keep public class android.net.http.SslError
-keep public class android.webkit.WebViewClient
-keep public class android.webkit.WebView

# Moat SDK
-keep class com.moat.** { *; }
-dontwarn com.moat.**

# GSON
# Prevent R8 from leaving Data object members always null
-keepclassmembers,allowobfuscation class * {
  @com.google.gson.annotations.SerializedName <fields>;
}

# @NotInlineFunction annotation support.
-keep class com.cleveradssolutions.internal.NotInlineFunction
-keepclasseswithmembernames,allowobfuscation class * {
  @com.cleveradssolutions.internal.NotInlineFunction <methods>;
}