# 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 -renamesourcefileattribute -repackageclasses -allowaccessmodification # from: https://www.guardsquare.com/blog/eliminating-data-leaks-caused-by-kotlin-assertions -assumenosideeffects class kotlin.jvm.internal.Intrinsics { public static void checkNotNull(...); public static void checkExpressionValueIsNotNull(...); public static void checkNotNullExpressionValue(...); public static void checkParameterIsNotNull(...); public static void checkNotNullParameter(...); public static void checkReturnedValueIsNotNull(...); public static void checkFieldIsNotNull(...); public static void throwUninitializedPropertyAccessException(...); public static void throwNpe(...); public static void throwJavaNpe(...); public static void throwAssert(...); public static void throwIllegalArgument(...); public static void throwIllegalState(...); } -dontwarn kotlin.** # Don't obfuscate XAL -keep class com.microsoft.** { *; } -keep class com.xbox.** { *; } # Rules for BouncyCastle -keep class org.bouncycastle.jcajce.provider.** { *; } -keep class org.bouncycastle.jce.provider.X509LDAPCertStoreSpi,org.bouncycastle.jce.provider.** { *; } # retrofit -keepattributes Signature, InnerClasses, EnclosingMethod -keepattributes RuntimeVisibleAnnotations, RuntimeVisibleParameterAnnotations -keepattributes AnnotationDefault -keepclassmembers,allowshrinking,allowobfuscation interface * { @retrofit2.http.* ; } -dontwarn org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement -dontwarn javax.annotation.** -dontwarn kotlin.Unit -dontwarn retrofit2.KotlinExtensions -dontwarn retrofit2.KotlinExtensions$* -if interface * { @retrofit2.http.* ; } -keep,allowobfuscation interface <1> -keep,allowobfuscation,allowshrinking interface retrofit2.Call -keep,allowobfuscation,allowshrinking class retrofit2.Response -keep,allowobfuscation,allowshrinking class kotlin.coroutines.Continuation