# TradPlus Proguard Config
# NOTE: You should also include the Android Proguard config found with the build tools:
# $ANDROID_HOME/tools/proguard/proguard-android.txt

# Keep public classes and methods.
#-keepclassmembers class com.tradplus.ads.** { public *; }
#-keep public class com.tradplus.ads.**
-keep public class com.tradplus.** { *; }
-keep class com.tradplus.ads.** { *; }

-keepclassmembers class com.tradplus.ads.common.** { public *; }
-keep public class com.tradplus.ads.common.**
#-keepclassmembers class com.tradplus.ads.exceptions.** { public *; }
#-keep public class com.tradplus.ads.exceptions.**
-keepclassmembers class com.tradplus.ads.fastjson.** { public *; }
-keep public class com.tradplus.ads.fastjson.**
-keepclassmembers class com.tradplus.ads.volley.** { public *; }
-keep public class com.tradplus.ads.volley.**
-keepclassmembers class com.tradplus.ads.network.** { public *; }
-keep public class com.tradplus.ads.network.**
-keepclassmembers class com.tradplus.ads.pushcenter.** { public *; }
-keep public class com.tradplus.ads.pushcenter.**
-keep public class com.tradplus.ads.pushcenter.reqeust.** {*;}
-keep public class com.tradplus.ads.pushcenter.event.** {*;}
-keep public class com.tradplus.ads.pushcenter.event.request.** {*;}
-keepclassmembers class com.tradplus.ads.unity.** { public *; }
-keep public class com.tradplus.ads.unity.**
-keepclassmembers class com.tradplus.ads.nativeads.** { public *; }
-keep public class com.tradplus.ads.nativeads.**

-keep public class com.tradplus.ads.base.common.TPSensorManager { public *; protected *; }
-keep public class com.tradplus.ads.base.common.TPUseTimeManager { public *; protected *; }
-keep public class com.tradplus.ads.base.common.TPPrivacyManager { public *; protected *; }
-keep interface com.tradplus.ads.base.common.TPPrivacyManager$OnPrivacyRegionListener  { public *; protected *; }

-keep public class com.tradplus.ads.base.TradPlus { public *; protected *; }
-keep interface com.tradplus.ads.base.TradPlus$IPrivacyListener { public *; protected *; }

-keep interface com.tradplus.ads.base.common.OnCallbackPrintListener{ public *; protected *;  }
-keep interface com.tradplus.ads.base.common.TPCallbackManager{ public *; protected *;  }
-keep interface com.tradplus.ads.base.TradPlus$OnTradPlusInitSuccessListener { public *; protected *;  }
-keep public class com.tradplus.ads.base.network.TPOpenResponse{ *; }
-keep interface com.tradplus.ads.base.TradPlus$IGDPRListener{ public *;}
-keep public class com.tradplus.ads.base.util.TradPlusListNativeOption{ public *; protected *; }
-keep public class com.tradplus.ads.base.util.oaid.AsusInterface{ public *; protected *; }
-keep public class com.tradplus.ads.base.util.oaid.AsusOaid{ public *; protected *; }
-keep interface com.tradplus.ads.base.util.oaid.HWIdentifierService{ public *; protected *; }
-keep interface com.tradplus.ads.base.util.oaid.HWIdentifierService$Stub{ public *; protected *; }
-keep public class com.tradplus.ads.base.util.oaid.HWOaidAidlUtil{ public *; protected *; }
-keep public class com.tradplus.ads.base.util.oaid.HWOaidAidlUtil$IdentifierServiceConnection{ public *; protected *; }
-keep public class com.tradplus.ads.base.util.oaid.MeizuOaid{ public *; protected *; }
-keep public class com.tradplus.ads.base.util.oaid.NubiaOaid{ public *; protected *; }
-keep interface com.tradplus.ads.base.util.oaid.OaidCallback{ public *; protected *; }
-keep public class com.tradplus.ads.base.util.oaid.OppoOaid{ public *; protected *; }
-keep public class com.tradplus.ads.base.util.oaid.OppoOaidInterface$OppoOaidBinder{ public *; protected *; }
-keep public class com.tradplus.ads.base.util.oaid.SamsungInterface$SamsungInterfaceImpl{ public *; protected *; }
-keep public class com.tradplus.ads.base.util.oaid.SamsungOaid{ public *; protected *; }
-keep public class com.tradplus.ads.base.util.oaid.VivoOaid{ public *; protected *; }
-keep interface com.tradplus.ads.base.util.oaid.ZuiInterface{ public *; protected *; }
-keep interface com.tradplus.ads.base.util.oaid.ZuiInterface$ZuiInterfaceImpl{ public *; protected *; }
-keep public class com.tradplus.ads.base.util.oaid.ZuiOaid{ public *; protected *; }
-keep public class com.tradplus.ads.base.util.OaidUtil.**{ public *; protected *; }
-keep public class com.tradplus.ads.base.util.TPContextUtils{ public *; protected *; }
-keep public class com.tradplus.ads.base.network.NetworkChangeUtil{ public *; protected *; }
-keep public class com.tradplus.ads.base.network.NetworkChangeReceiver{ public *; protected *; }
-keep public class com.tradplus.ads.base.network.NetworkChangeManager{ public *; protected *; }
-keep interface com.tradplus.ads.base.network.NetStateChangeObserver{ public *; protected *; }

-keep interface com.tradplus.ads.common.LifecycleListener { *; }
-keep public class com.tradplus.ads.common.BaseLifecycleListener { *; }
-keep public class com.tradplus.ads.base.util.ACache { public *; protected *; }
-keep public class com.tradplus.ads.base.util.TestDeviceUtil { public *; protected *; }
-keep public class com.tradplus.ads.pushcenter.utils.SendMessageUtil { public *; protected *; }
-keep public class com.tradplus.ads.base.util.TradPlusListNativeOption { public *; protected *; }
-keep public class com.tradplus.ads.base.util.AppKeyManager { public *; protected *; }
-keep public class com.tradplus.ads.base.util.TPContextUtils { public *; protected *; }
-keep public class com.tradplus.ads.base.util.TradPlusDataConstants { public *; protected *; }
-keep public class com.tradplus.ads.base.util.SegmentUtils { public *; protected *; }
-keep public class com.tradplus.ads.base.util.BaseTimeOutAdapter { public *; protected *; }
-keep public enum com.tradplus.ads.base.util.BaseTimeOutAdapter$ThirdADPlatform{ public *; }
-keep public class com.tradplus.ads.common.util.NetWorkFrequencyUtils$* { public *; protected *; }
-keep public class com.tradplus.ads.common.util.ScreenUtil { public *; protected *; }
-keep public class com.tradplus.ads.common.util.PxUtils { public *; protected *; }
-keep public class com.tradplus.ads.common.util.Audio { public *; protected *; }
-keep interface com.tradplus.ads.common.util.ImageLoadTask { public *; protected *; }
-keep public class com.tradplus.ads.base.network.response.FrequencyInfo { public *; protected *; private *; }

-dontwarn com.google.android.gms.**

# Filter out warnings that refer to legacy Code.
-dontwarn org.apache.http.**
-dontwarn com.tradplus.ads.volley.toolbox.**

-keep public enum com.tradplus.ads.base.util.AppKeyManager$AdType{  *; }


-keep public class com.tradplus.ads.base.PrivacyPolicyView{public *; protected *;}
-keep public class com.tradplus.ads.base.Const{ *; }
-keep public class com.tradplus.ads.base.Const$URL{ *; }
-keep public class com.tradplus.ads.base.Const$SPUKEY{ *; }
-keep public class com.tradplus.ads.base.common.SPUtil{ *; }
-keep public class com.tradplus.ads.base.CommonUtil{ *; }
-keep public class com.tradplus.ads.BuildConfig{ *; }
-keep interface com.tradplus.ads.base.ATGDPRAuthCallback { *; }
-keep interface com.tradplus.ads.base.ITPChinaSDKHandler { *; }
-keep public class com.tradplus.ads.base.network.util.ResourceDownloadBaseUrlLoader { *; }
-keep public class com.tradplus.ads.base.network.response.UserDataInfo{ public *; protected *; private *;}
-keep public class com.tradplus.ads.base.network.response.ConfigResponse{ public *; protected *; private *;}
-keep public class com.tradplus.ads.base.network.response.ConfigResponse$*{ public *; protected *; private *;}

#pangle draw list
-keep public interface com.tradplus.ads.common.IDrawNativeListVideoViewListener{*;}
-keep public interface com.tradplus.ads.common.IExpressAdInteractionListener{*;}


-keep interface com.tradplus.ads.bidding.utils.BiddingUtils$*{*;}
-keep public class com.tradplus.ads.bidding.bean.BiddingInfo$*{ public *; protected *; private *;}
-keep public class com.tradplus.ads.bidding.manager.LoadBiddingManager$*{*;}
-keep public class com.tradplus.ads.bidding.manager.BiddingRequestManager$*{*;}
-keep interface com.tradplus.ads.bidding.request.BiddingRequest$*{*;}
-keep public class com.tradplus.ads.bidding.response.BiddingResponse$*{public *; protected *;}
-keep public class com.tradplus.ads.base.config.response.BiddingResponse{*;}
-keep public class com.tradplus.ads.base.config.response.BiddingResponse$*{public *; protected *;}
-keep public class com.tradplus.ads.base.common.TPError{*;}
-keep public class com.tradplus.ads.base.common.TPCrashHandler{*;}
-keep public class com.tradplus.ads.base.common.LoadMode{*;}
-keep public class com.tradplus.ads.base.bean.TPAdError{*;}


-keep public class com.tradplus.ads.base.network.*{public *; protected *;}
-keep public class com.tradplus.ads.base.network.TPSettingManager{public *; protected *;}

-keep public class com.tradplus.ads.base.adapter.banner.*{public *; protected *;}
-keep public class com.tradplus.ads.base.adapter.interstitial.*{public *; protected *;}
-keep public class com.tradplus.ads.base.adapter.nativead.*{public *; protected *;}
-keep public class com.tradplus.ads.base.adapter.reward.*{public *; protected *;}
-keep public class com.tradplus.ads.base.adapter.splash.*{public *; protected *;}
-keep public class com.tradplus.ads.base.adapter.TPBaseAdapter{*;}
-keep public class com.tradplus.ads.base.adapter.TPInitMediation{*;}
-keep interface com.tradplus.ads.base.adapter.TPInitMediation$InitCallback{*;}
-keep interface com.tradplus.ads.base.adapter.TPBaseBidding{public *; protected *;}
-keep interface com.tradplus.ads.base.adapter.TPLoadAdapterListener{*;}
-keep interface com.tradplus.ads.base.adapter.TPDownloadAdapterListener{*;}
-keep interface com.tradplus.ads.base.adapter.TPShowAdapterListener{*;}
-keep interface com.tradplus.ads.base.adapter.TPDownloadConfirmListener{*;}
-keep interface com.tradplus.ads.base.adapter.TPDownloadConfirmCallBack{*;}
-keep public class com.tradplus.ads.base.adapter.TPDownloadConfirm{*;}

-keep public class com.tradplus.ads.base.bean.*{public *; protected *;}
-keep public class com.tradplus.ads.base.common.*{public *; protected *;}
-keep public class com.tradplus.ads.base.common.TPURLManager{*;}
-keep public class com.tradplus.ads.base.common.TPDiskManager{*;}
-keep public class com.tradplus.ads.base.common.TPImageLoader{public *; protected *;}
-keep public class com.tradplus.ads.base.config.*{public *; protected *;}
-keep interface com.tradplus.ads.base.config.ConfigLoadManager$ConfigLoadListener{public *; protected *;}
-keep public class com.tradplus.ads.base.filter.*{public *; protected *;}
-keep public class com.tradplus.ads.base.GetApplication{public *; protected *;}
-keep public class com.tradplus.ads.base.GlobalTradPlus{public *; protected *;}


-keep public class com.tradplus.ads.base.util.TradPlusInterstitialConstants{public *; protected *;}
-keep public class com.tradplus.ads.base.util.WebViews{public *; protected *;}
-keep public class com.tradplus.ads.base.util.XmlUtils{public *; protected *;}
-keep public class com.tradplus.ads.exceptions.IntentNotResolvableException{public *; protected *;}
-keep public class com.tradplus.ads.exceptions.UrlParseException{public *; protected *;}

-keep interface com.tradplus.ads.base.config.request.BiddingRequest$*{*;}
-keep public class com.tradplus.ads.base.config.request.BiddingRequest.*{public *; protected *;}
-keep public class com.tradplus.ads.pushcenter.event.request.EventBiddingNotification{public *; protected *;}
-keep public class com.tradplus.ads.base.config.request.BiddingRequestInfo{*;}
-keep public class com.tradplus.ads.base.config.request.BiddingRequestInfo$*{public *; protected *;}

-keep public class com.tradplus.ads.base.** {*;}
-keep public class com.tradplus.ads.base.filter.** {*;}
-keep public class com.tradplus.ads.base.event.TPPushCenter {public *; protected *;}
-keep public class com.tradplus.ads.base.event.TPMessageUtils {public *; protected *;}
-keep public class com.tradplus.ads.base.db.dao.** { *;}
-keep public class com.tradplus.ads.base.db.entity.** { *;}

