-keep public class eu.nets.pia.PiaSDK { public *;}
-keep public class eu.nets.pia.PiaInterfaceConfiguration { public *;}
-keep public interface eu.nets.pia.RegisterPaymentHandler {*;}
-keep public class eu.nets.pia.data.exception.* {*;}
-keep public class eu.nets.pia.data.model.* {*;}
-keep public class eu.nets.pia.network.model.* {*;}
-keep public class eu.nets.pia.utils.FileLogger {*;}
-keep public class eu.nets.pia.utils.LogUtils {*;}
-keep public class eu.nets.pia.utils.StringUtils {*;}
-keep public class eu.nets.pia.wallets.* {*;}
-keep public class eu.nets.pia.ui.themes.* {*;}

-keep public class eu.nets.pia.ExtensionsKt { *;}
-keep public class eu.nets.pia.card.* {*;}

-keep class **.*$HTMLInterceptor{*;}

-keepclassmembers class eu.nets.pia.ui.main.PiaActivity {
    public final static java.lang.String BUNDLE_MERCHANT_INFO;
    public final static java.lang.String BUNDLE_TOKEN_CARD_INFO;
    public final static java.lang.String BUNDLE_ORDER_INFO;
    public final static java.lang.String BUNDLE_COMPLETE_RESULT;
    public final static java.lang.String BUNDLE_TRANSACTION_INFO;
}
#section-start-to-remove-by-script
#Rules required by Card.Io library
-keep class eu.nets.pia.cardio.** { *; }
-dontwarn eu.nets.pia.cardio.**
#section-end-to-remove-by-script

-keepattributes JavascriptInterface

##---------------Begin: proguard configuration for Retrofit  ----------
# Retain service method parameters when optimizing.
-keepclassmembers,allowshrinking,allowobfuscation interface * {
    @retrofit2.http.* <methods>;
}

# With R8 full mode, it sees no subtypes of Retrofit interfaces since they are created with a Proxy
# and replaces all potential values with null. Explicitly keeping the interfaces prevents this.
-if interface * { @retrofit2.http.* <methods>; }
-keep,allowobfuscation interface <1>

# Keep inherited services.
-if interface * { @retrofit2.http.* <methods>; }
-keep,allowobfuscation interface * extends <1>

# R8 full mode strips generic signatures from return types if̄ not kept.
-if interface * { @retrofit2.http.* public *** *(...); }
-keep,allowoptimization,allowshrinking,allowobfuscation class <3>

##---------------End: proguard configuration for Retrofit  ----------