# 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 name 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 name.
#-renamesourcefileattribute SourceFile
# 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 name 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 name.
#-renamesourcefileattribute SourceFile
-keeppackagenames com.taurusx.tax
#-repackageclasses com.taurusx.tax.defo

-optimizationpasses 5
-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-dontskipnonpubliclibraryclassmembers
-dontpreverify
-verbose
-dump class_files.txt
-printseeds seeds.txt
-printusage unused.txt
-printmapping mapping.txt
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*

-allowaccessmodification
-keepattributes Exceptions, InnerClasses, Signature, Deprecated, SourceFile, LineNumberTable, *Annotation*, EnclosingMethod
-renamesourcefileattribute SourceFile

-keep public class * extends android.app.Activity
-keep public class * extends android.app.Service
-keep public class * extends android.content.BroadcastReceiver
-keep public class * extends android.content.ContentProvider

-dontwarn java.lang.invoke.*
-dontwarn android.webkit.JavascriptInterface


-keepclasseswithmembers class * {
public <init>(android.content.Context, android.util.AttributeSet, int);
}

-keepnames class * implements android.os.Parcelable {
   public static final ** CREATOR;
}

-keep class * extends java.util.ListResourceBundle {
   protected Object[][] getContents();
}

-keep class com.taurusx.tax.api.* {
    public *;
}

-keep class com.taurusx.tax.core.* {
   public *;
}

-keep class com.taurusx.tax.log.* {
   public *;
}

-keep class com.taurusx.tax.utils.TaurusXHelper {
   public *;
}

-keep class com.taurusx.tax.td.common.util.TaxDataManager {
   public *;
}

-keep interface com.taurusx.tax.utils.TaurusXHelper$OnTaurusXHelperListener {
    public *;
}

-keep class com.google.** {
    public *;
}
-keep class com.fasterxml.jackson.core.** {
    public *;
}
-keep class javax.inject.** {
    public *;
}
-keep class javax.annotation.** {
    public *;
}
-keep class com.codahale.metrics.** {
    public *;
}
-keep class org.slf4j.** {
    public *;
}

-dontwarn org.slf4j.**
-dontwarn sun.misc.**
-dontwarn org.checkerframework.**
-dontwarn com.google.**
-dontwarn com.codahale.**

# miitmdid
-keep class com.bun.miitmdid.core.** {*;}

-keepclassmembers enum * {                                                      # 保持枚举 enum 类不被混淆
    public *;
}

-keep public class com.taurusx.tax.td.vast.*{public *; protected *;}
