diff --git a/gradle/caches/8.2/javaCompile/classAnalysis.bin b/gradle/caches/8.2/javaCompile/classAnalysis.bin index 3d939dc91..1c520d651 100644 Binary files a/gradle/caches/8.2/javaCompile/classAnalysis.bin and b/gradle/caches/8.2/javaCompile/classAnalysis.bin differ diff --git a/gradle/caches/8.2/javaCompile/javaCompile.lock b/gradle/caches/8.2/javaCompile/javaCompile.lock index a96da5c5a..7a02e3577 100644 Binary files a/gradle/caches/8.2/javaCompile/javaCompile.lock and b/gradle/caches/8.2/javaCompile/javaCompile.lock differ diff --git a/gradle/caches/journal-1/file-access.bin b/gradle/caches/journal-1/file-access.bin index 4b9097eba..88e8e29ac 100644 Binary files a/gradle/caches/journal-1/file-access.bin and b/gradle/caches/journal-1/file-access.bin differ diff --git a/gradle/caches/journal-1/journal-1.lock b/gradle/caches/journal-1/journal-1.lock index 381ef140f..c377c923c 100644 Binary files a/gradle/caches/journal-1/journal-1.lock and b/gradle/caches/journal-1/journal-1.lock differ diff --git a/gradle/caches/modules-2/metadata-2.106/module-metadata.bin b/gradle/caches/modules-2/metadata-2.106/module-metadata.bin index a3e75ab1f..751ec7b92 100644 Binary files a/gradle/caches/modules-2/metadata-2.106/module-metadata.bin and b/gradle/caches/modules-2/metadata-2.106/module-metadata.bin differ diff --git a/gradle/caches/modules-2/modules-2.lock b/gradle/caches/modules-2/modules-2.lock index 1fc2f1f74..8de251200 100644 Binary files a/gradle/caches/modules-2/modules-2.lock and b/gradle/caches/modules-2/modules-2.lock differ diff --git a/gradle/daemon/8.2/registry.bin b/gradle/daemon/8.2/registry.bin index 10d6f8f81..88f6022d1 100644 Binary files a/gradle/daemon/8.2/registry.bin and b/gradle/daemon/8.2/registry.bin differ diff --git a/gradle/daemon/8.2/registry.bin.lock b/gradle/daemon/8.2/registry.bin.lock index f6ca72bd3..ae32f8e2c 100644 Binary files a/gradle/daemon/8.2/registry.bin.lock and b/gradle/daemon/8.2/registry.bin.lock differ diff --git a/proguard-rules.pro b/proguard-rules.pro index 3917ae189..eb8c57688 100644 --- a/proguard-rules.pro +++ b/proguard-rules.pro @@ -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> \ No newline at end of file +-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>