# Appodeal SDK fix proguard rules
# Kotlin enum ExceptionInInitializerError on gradle plugin 4.x.x
# https://appodeal.atlassian.net/browse/SDK-4557
-keepclassmembers class **$WhenMappings {
    <fields>;
}
# Appodeal SDK Public
-keeppackagenames com.appodeal.ads.**
-keep public class com.appodeal.ads.inapp.InAppPurchase { public *; }
-keep public class com.appodeal.ads.inapp.InAppPurchase$** { public *; }
-keep public interface com.appodeal.ads.inapp.InAppPurchaseValidateCallback { *; }
-keep public interface com.appodeal.ads.inapp.AppodealPurchaseListener { *; }

-keep public class com.appodeal.ads.adnetworks.MediationAdNetwork { *;}
-keep public class com.appodeal.ads.adnetworks.MediationAdNetwork$** { *;}

-keep public class com.appodeal.ads.revenue.RevenueInfo { public *; }
-keep public class com.appodeal.ads.revenue.RevenueCurrency { *;}
-keep public class com.appodeal.ads.revenue.RevenueCurrency$** { *;}
-keep public class com.appodeal.ads.revenue.RevenuePlatform { *;}
-keep public class com.appodeal.ads.revenue.RevenuePlatform** { *;}
-keep public class com.appodeal.ads.revenue.RevenuePrecision { *;}
-keep public class com.appodeal.ads.revenue.RevenuePrecision$** { *;}
-keep public interface com.appodeal.ads.revenue.AdRevenueCallbacks { public *; }

-keep public class com.appodeal.ads.rewarded.Reward { public *; }

-keep public class com.appodeal.ads.initializing.ApdInitializationError { *; }
-keep class * extends com.appodeal.ads.initializing.ApdInitializationError  { *; }
-keep public class com.appodeal.ads.initializing.ApdInitializationCallback { *; }

-keep public class com.appodeal.ads.service.ServiceError { *; }
-keep class * extends com.appodeal.ads.service.ServiceError  { *; }

-keep public interface com.appodeal.ads.unified.SupportsTargetingParams { public *; }

-keep public class com.appodeal.ads.MrecView { *; }
-keep public class com.appodeal.ads.BannerView { *; }
-keep public interface com.appodeal.ads.AppodealRequestCallbacks { *; }
-keep public interface com.appodeal.ads.BannerCallbacks { *; }
-keep public interface com.appodeal.ads.InterstitialCallbacks { *; }
-keep public interface com.appodeal.ads.MrecCallbacks { *; }

-keep public interface com.appodeal.ads.RewardedVideoCallbacks { *; }
-keep public interface com.appodeal.ads.UserSettings { *; }

# Native
-keep public interface com.appodeal.ads.NativeAd { *; }
-keep public interface com.appodeal.ads.NativeCallbacks { *; }
-keep public class com.appodeal.ads.MediaAssets { *; }
-keep public class com.appodeal.ads.ImageData { *; }
-keep public class com.appodeal.ads.ImageData$** { *; }
-keep public class com.appodeal.ads.VideoData { *; }
-keep public class com.appodeal.ads.VideoData$** { *; }
-keep public class com.appodeal.ads.MediaAssetsHelperKt { *; }
-keep public enum com.appodeal.ads.NativeMediaViewContentType {
    **[] $VALUES;
    public *;
}

-keep class com.appodeal.ads.AppodealServices { *; }

-dontwarn java.lang.invoke.StringConcatFactory
