Files
Android/app/proguard/proguard.cfg
T

50 lines
2.1 KiB
INI

# Obfuscation is off: libsignal resolves store callbacks via JNI signature and Jackson
# derives property names from identifiers, neither of which survives renaming.
-dontobfuscate
-keepattributes SourceFile,LineNumberTable
-keep class org.whispersystems.** { *; }
-keep class org.thoughtcrime.securesms.** { *; }
-keep class org.signal.network.** { *; }
# libsignal hands store adapters to Rust, which resolves their methods by exact JNI
# signature, so nothing under here can have a signature rewritten.
-keep class org.signal.libsignal.** { *; }
# Jackson builds these reflectively. Without this, optimization strips the all-defaults
# constructor Kotlin synthesizes for TransformProperties and Jackson can no longer
# instantiate it.
-keep class org.signal.core.models.** { *; }
-keep class org.signal.donations.** { *; }
-keep class org.signal.emoji.** { *; }
-keep class org.signal.core.util.crypto.AttachmentSecret { *; }
-keep class org.signal.core.util.crypto.AttachmentSecret$* { *; }
-keep class org.signal.core.util.crypto.KeyStoreHelper$SealedData { *; }
-keep class org.signal.core.util.crypto.KeyStoreHelper$SealedData$* { *; }
-keepclassmembers class ** {
public void onEvent*(**);
}
# Protobuf lite
-keep class * extends com.google.protobuf.GeneratedMessageLite { *; }
-keep class androidx.window.** { *; }
# Workaround for R8 non-determinism in AGP 9.x. R8 inconsistently keeps or strips
# the Signature attribute on this Kotlin lambda subclass of the generic
# LottieValueCallback, causing intermittent dex byte differences. Explicitly
# keeping the class stabilizes R8's attribute decisions.
-keep class com.airbnb.lottie.compose.LottieDynamicPropertiesKt$toValueCallback$1 {
*;
}
-keepclassmembers class * extends androidx.constraintlayout.motion.widget.Key {
public <init>();
}
# AGP generated dont warns
-dontwarn com.android.org.conscrypt.SSLParametersImpl
-dontwarn org.apache.harmony.xnet.provider.jsse.SSLParametersImpl
-dontwarn org.slf4j.impl.StaticLoggerBinder
-dontwarn sun.net.spi.nameservice.NameService
-dontwarn sun.net.spi.nameservice.NameServiceDescriptor