# Display some more statistics about the processed code.
-verbose

# DexGuard's default settings are fine for this sample application.

#option keeps the parameter names for public library methods.
-keepparameternames

#Common module
-keep class com.visa.kic.sdk.common.status.** { *; }
-keep class com.visa.kic.sdk.common.ipc.** { *; }

#Callbacks
-keep interface com.visa.kic.sdk.connector.service.EnrollCallback{ *; }
-keep interface com.visa.kic.sdk.connector.service.TransactionCallback{ *; }


#com.visa.vac.tc.sdk.lite
-keep class com.visa.kic.sdk.connector.service.IKiCThinClient {
 <methods>;
   <fields>;
}

-keep class com.visa.kic.sdk.connector.service.KiCThinClient {
 <methods>;
  <fields>;
}

-keep class com.visa.kic.sdk.connector.service.KiCThinClientImpl {
 <methods>;
}

-keep class com.visa.kic.sdk.connector.data.** { *; }

-keep class com.visa.kic.sdk.connector.SupportLibConstants { *; }
-keep class com.visa.kic.sdk.connector.SupportLibConstants$Companion { *; }


-keepclasseswithmembers class com.visa.kic.sdk.connector.data.** {
    public ** component1();
    <fields>;
}

-keepclassmembers,allowoptimization enum * {
    public static **[] values();
    public static ** valueOf(java.lang.String);
}

-dontnote javax.xml.**
-dontnote org.w3c.dom.**
-dontnote org.xml.sax.**

# adding this in to preserve line numbers so that the stack traces
# can be remapped
-renamesourcefileattribute SourceFile
-keepattributes SourceFile,LineNumberTable

# Add this option to tell DexGuard to keep and adapt Kotlin metadata on kept classes.
-keep class kotlin.Metadata

# Remove all standard Android logging invocations.
-assumenosideeffects class android.util.Log {
    public static boolean isLoggable(java.lang.String, int);
    public static int v(...);
    public static int i(...);
    public static int w(...);
    public static int d(...);
    public static int e(...);
    public static java.lang.String
                    getStackTraceString(java.lang.Throwable);
}

-forceprocessing

#Removes the Unused code
-optimizations code/removal/exception,code/removal/advanced