add proguard rules to fix issue in retrofit

This commit is contained in:
Daniel Gultsch 2023-10-22 21:29:05 +02:00 committed by Arne
parent d6531d3afb
commit 999617232b
9 changed files with 22 additions and 1 deletions

Binary file not shown.

Binary file not shown.

23
proguard-rules.pro vendored
View file

@ -3,11 +3,18 @@
-keep class de.monocles.chat.**
-keep class de.pixart.messenger.**
-keep class eu.siacs.conversations.**
-keep class org.whispersystems.**
-keep class com.kyleduo.switchbutton.Configuration
-keep class com.soundcloud.android.crop.**
-keep class com.google.android.gms.**
-keep class org.openintents.openpgp.*
-keep class org.webrtc.** { *; }
-keep class com.squareup.okhttp.** { *; }
-keep interface com.squareup.okhttp.** { *; }
@ -76,7 +83,21 @@
-dontwarn retrofit2.KotlinExtensions
-dontwarn retrofit2.KotlinExtensions$*
# 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,allowobfuscation interface <1>
# Keep inherited services.
-if interface * { @retrofit2.http.* <methods>; }
-keep,allowobfuscation interface * extends <1>
# With R8 full mode generic signatures are stripped for classes that are not
# kept. Suspend functions are wrapped in continuations where the type argument
# is used.
-keep,allowobfuscation,allowshrinking class kotlin.coroutines.Continuation
# R8 full mode strips generic signatures from return types if not kept.
-if interface * { @retrofit2.http.* public *** *(...); }
-keep,allowoptimization,allowshrinking,allowobfuscation class <3>