# Add project specific ProGuard rules here.
# You can control the set of applied configuration files using the
# proguardFiles setting in build.gradle.
#
# For more details, see
#   http://developer.android.com/guide/developing/tools/proguard.html

# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class n to the JavaScript interface
# class:
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
#   public *;
#}

# Uncomment this to preserve the line number information for
# debugging stack traces.
#-keepattributes SourceFile,LineNumberTable

# If you keep the line number information, uncomment this to
# hide the original source file n.
#-renamesourcefileattribute SourceFile
#-keepattributes SourceFile,LineNumberTable

-dontskipnonpubliclibraryclasses
# SDK API
-keep class com.zeus.gmc.sdk.mobileads.mintmediation.mediation.**{*;}
-keep class com.zeus.gmc.sdk.mobileads.mintmediation.utils.**{*;}

# Mediation interface
-keep class com.zeus.gmc.sdk.mobileads.mintmediation.adapters.**{*;}

 #R
 -keepclassmembers class **.R$* {
     public static <fields>;
 }
 -keepattributes *Annotation*,InnerClasses
 -keepnames class * implements android.os.Parcelable {
     public static final ** CREATOR;
}

# init
-keep class com.zeus.gmc.sdk.mobileads.mintmediation.MintAds {public *; protected *;}
-keep class com.zeus.gmc.sdk.mobileads.mintmediation.InitOptions {public *; protected *;}
-keep class com.zeus.gmc.sdk.mobileads.mintmediation.InitOptions$Builder {public *; protected *;}
-keep class com.zeus.gmc.sdk.mobileads.mintmediation.MintAds$PRELOAD_AD_TYPE {public *; protected *;}
-keep class com.zeus.gmc.sdk.mobileads.mintmediation.InitOptions$Builder {*;}
-keep interface com.zeus.gmc.sdk.mobileads.mintmediation.InitCallback {public *; protected *;}

-keep class com.zeus.gmc.sdk.mobileads.mintmediation.mediation.** {public *; protected *;}

# banner ad
-keep class com.zeus.gmc.sdk.mobileads.mintmediation.banner.AdSize {public *; protected *;}
-keep class com.zeus.gmc.sdk.mobileads.mintmediation.banner.BannerAd {public *; protected *;}
-keep interface com.zeus.gmc.sdk.mobileads.mintmediation.banner.BannerAdListener {*;}

# native ad
-keep class com.zeus.gmc.sdk.mobileads.mintmediation.nativead.AdIconView {public *; protected *;}
-keep class com.zeus.gmc.sdk.mobileads.mintmediation.nativead.AdInfo {public *; protected *;}
-keep class com.zeus.gmc.sdk.mobileads.mintmediation.nativead.MediaView {public *; protected *;}
-keep class com.zeus.gmc.sdk.mobileads.mintmediation.nativead.MediaController {public *; protected *;}
-keep class com.zeus.gmc.sdk.mobileads.mintmediation.nativead.MediaController$* {public *; protected *;}
-keep interface com.zeus.gmc.sdk.mobileads.mintmediation.nativead.MediaController$MediaControllerCallback {public *; protected *;}
-keep class com.zeus.gmc.sdk.mobileads.mintmediation.nativead.NativeAd {public *; protected *;}
-keep class com.zeus.gmc.sdk.mobileads.mintmediation.nativead.NativeAdOptions {public *; protected *;}
-keep class com.zeus.gmc.sdk.mobileads.mintmediation.nativead.NativeAdOptions$* {public *; protected *;}
-keep class com.zeus.gmc.sdk.mobileads.mintmediation.nativead.NativeAdView {public *; protected *;}
-keep class com.zeus.gmc.sdk.mobileads.mintmediation.nativead.NativeAdLoader {*;}
-keep interface com.zeus.gmc.sdk.mobileads.mintmediation.nativead.NativeAdListener {*;}
-keep interface com.zeus.gmc.sdk.mobileads.columbus.ad.nativead$* {public *; protected *;}

# utils
-keep class com.zeus.gmc.sdk.mobileads.mintmediation.utils.MLog {public *; protected *;}
-keep class com.zeus.gmc.sdk.mobileads.mintmediation.utils.error.Error {public *; protected *;}
-keep class com.zeus.gmc.sdk.mobileads.mintmediation.utils.model.Scene {public *; protected *;}
-keep class com.zeus.gmc.sdk.mobileads.mintmediation.utils.imageview.NetworkImageView {public *; protected *;}
-keep class com.zeus.gmc.sdk.mobileads.mintmediation.utils.AdLog {public *; protected *;}
-keep class com.zeus.gmc.sdk.mobileads.mintmediation.utils.thread.ThreadHelper {public *; protected *;}

# interstitial ad
-keep class com.zeus.gmc.sdk.mobileads.mintmediation.interstitial.InterstitialAd {public *; protected *;}
-keep interface com.zeus.gmc.sdk.mobileads.mintmediation.interstitial.InterstitialAdListener {*;}

# rewarded video
-keep class com.zeus.gmc.sdk.mobileads.mintmediation.video.RewardedVideoAd {public *; protected *;}
-keep interface com.zeus.gmc.sdk.mobileads.mintmediation.video.RewardedVideoListener {*;}

# rewarded interstitial
-keep class com.zeus.gmc.sdk.mobileads.mintmediation.interstitial.RewardedInterstitialAd {public *; protected *;}
-keep interface com.zeus.gmc.sdk.mobileads.mintmediation.interstitial.RewardedInterstitialListener {*;}

# bid
-keep class com.zeus.gmc.sdk.mobileads.mintmediation.bid.** {public *; protected *;}

# splash ad
-keep class com.zeus.gmc.sdk.mobileads.mintmediation.splash.SplashAd {public *; protected *;}
-keep interface com.zeus.gmc.sdk.mobileads.mintmediation.splash.SplashAdListener {*;}


# impression data
-keep class com.zeus.gmc.sdk.mobileads.mintmediation.impression.ImpressionData {public *; protected *;}
-keep interface com.zeus.gmc.sdk.mobileads.mintmediation.impression.ImpressionDataListener {*;}

-keepattributes Exceptions,InnerClasses,SourceFile,LineNumberTable,*Annotation*,*JavascriptInterface*,Signature
-ignorewarnings

# google ad support, AppLovin
-keep public class com.google.android.gms.** { public protected *; }

# pubsub
-keep class com.ot.pubsub.** {*;}
