diff --git a/proguard/common.pro b/proguard/common.pro index d7f2023..2fe9033 100644 --- a/proguard/common.pro +++ b/proguard/common.pro @@ -7,3 +7,7 @@ -include rules/kaspersky.pro -include rules/appsflyer.pro -include rules/moshi.pro +-include rules/androidx_security.pro +-include rules/kotlinx_serialization.pro +-include rules/workmanager.pro +-include rules/navigation.pro diff --git a/proguard/rules/kotlinx_serialization.pro b/proguard/rules/kotlinx_serialization.pro new file mode 100644 index 0000000..8d0c203 --- /dev/null +++ b/proguard/rules/kotlinx_serialization.pro @@ -0,0 +1,21 @@ +-keepattributes *Annotation*, InnerClasses +-dontnote kotlinx.serialization.AnnotationsKt + +-keepclassmembers class kotlinx.serialization.json.** { *** Companion; } +-keepclasseswithmembers class kotlinx.serialization.json.** { + kotlinx.serialization.KSerializer serializer(...); +} + +-keepclasseswithmembers class **$$serializer { + static **$$serializer INSTANCE; +} + +-keepclassmembers @kotlinx.serialization.Serializable class ** { + static **$serializer INSTANCE; + static kotlinx.serialization.KSerializer serializer(...); + *** Companion; + *** INSTANCE; + kotlinx.serialization.KSerializer serializer(); +} + +-keep @kotlinx.serialization.Serializable class * { *; } diff --git a/proguard/rules/navigation.pro b/proguard/rules/navigation.pro new file mode 100644 index 0000000..cff6f56 --- /dev/null +++ b/proguard/rules/navigation.pro @@ -0,0 +1,4 @@ +-keepnames class * implements com.manzherok.mobile.corenavigation.Route +-keep class * implements com.manzherok.mobile.corenavigation.Route { + public java.lang.String getName(); +} diff --git a/proguard/rules/workmanager.pro b/proguard/rules/workmanager.pro new file mode 100644 index 0000000..fcf3f01 --- /dev/null +++ b/proguard/rules/workmanager.pro @@ -0,0 +1,8 @@ +-keep class * extends androidx.work.Worker { *; } +-keep class * extends androidx.work.CoroutineWorker { *; } +-keep class * extends androidx.work.ListenableWorker { + public (android.content.Context, androidx.work.WorkerParameters); +} +-keepclasseswithmembers class * { + @dagger.assisted.AssistedInject (...); +}