# Add project specific ProGuard rules here.
# By default, the flags in this file are appended to flags specified
# in /home/ilya/Android/Sdk/tools/proguard/proguard-android.txt
# You can edit the include path and order by changing the proguardFiles
# directive in build.gradle.
#
# For more details, see
#   http://developer.android.com/guide/developing/tools/proguard.html

# Add any project specific keep options here:

# 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


-optimizationpasses 5
-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-dontpreverify
-verbose

# -keep, allowobfuscation class com.perimeterx.msdk.*

-keep class com.perimeterx.msdk.BuildConfig { *; }
-keepnames public class com.perimeterx.msdk.internal.enforcers.BlockActivity
-keepnames public class com.perimeterx.msdk.internal.enforcers.CaptchaActivity


# -keepclassmembers, allowobfuscation class * {
# *                               ;
# }

# -keep public class com.perimeterx.msdk.ActionResultCallback
# -keep public class com.perimeterx.msdk.RiskHeaderCallback
# -keep public class com.perimeterx.msdk.PXResponse
# -keep public class com.perimeterx.msdk.NewHeadersCallback

-keep public enum com.perimeterx.msdk.PXResponse$** {
    **[] $VALUES;
    public *;
}

-keep public class com.perimeterx.msdk.PXManager {
public <methods>                ;
public <fields>                 ;
}

-keep public interface com.perimeterx.msdk.PXResponse {
public <methods>                ;
public <fields>                 ;
}

-keep public interface com.perimeterx.msdk.ActionResultCallback {
public <methods>                ;
public <fields>                 ;
}

-keep public interface com.perimeterx.msdk.CaptchaResultCallback {*;}
-keep public enum com.perimeterx.msdk.CaptchaResultCallback$Result {*;}
-keep public enum com.perimeterx.msdk.CaptchaResultCallback$CancelReason {*;}

-keep public interface com.perimeterx.msdk.ManagerReadyCallback {
public <methods>                ;
public <fields>                 ;
}

-keep public interface com.perimeterx.msdk.NewHeadersCallback {
public <methods>                ;
public <fields>                 ;
}

-keep public interface com.perimeterx.msdk.BackButtonPressedCallBack {
public <methods>                ;
public <fields>                 ;
}

-keep public interface com.perimeterx.msdk.PXResponse { *; }

-dontnote junit.framework.*
-dontnote junit.runner.*
-dontnote android.net.http.*
-dontnote org.apache.commons.codec.**
-dontnote org.apache.http.**


#------------------------okHttp3--------------------
# JSR 305 annotations are for embedding nullability information.
-dontwarn javax.annotation.**

# A resource is loaded with a relative path so the package of this class must be preserved.
-keepnames class okhttp3.internal.publicsuffix.PublicSuffixDatabase

# Animal Sniffer compileOnly dependency to ensure APIs are compatible with older versions of Java.
-dontwarn org.codehaus.mojo.animal_sniffer.*

# OkHttp platform used only on JVM and when Conscrypt dependency is available.
-dontwarn okhttp3.internal.platform.
#---------------------------------------------------

#because of compileSdkVersion = 28
-dontwarn com.perimeterx.msdk.internal.enforcers.**