git.iko.soy/parseable-android
on icon help sign in
parseable-android/app/proguard-rules.pro
61 lines 2.4 kB history raw
1# Parseable Android ProGuard Rules
3# Keep kotlinx serialization
4-keepattributes *Annotation*, InnerClasses, Signature
5-dontnote kotlinx.serialization.AnnotationsKt
7-keepclassmembers class kotlinx.serialization.json.** {
8 *** Companion;
9}
10-keepclasseswithmembers class kotlinx.serialization.json.** {
11 kotlinx.serialization.KSerializer serializer(...);
14# Keep all @Serializable model classes and their generated serializers
15-keep,includedescriptorclasses class com.parseable.android.**$$serializer { *; }
16-keepclassmembers class com.parseable.android.** {
17 *** Companion;
19-keepclasseswithmembers class com.parseable.android.** {
20 kotlinx.serialization.KSerializer serializer(...);
22# Keep @Serializable data classes (fields needed for JSON encoding/decoding)
23-keep @kotlinx.serialization.Serializable class com.parseable.android.data.model.** { *; }
25# Keep ViewModel state data classes (used with StateFlow/collectAsState)
26-keep class com.parseable.android.ui.screens.**State { *; }
27-keep class com.parseable.android.ui.screens.logviewer.FilterState { *; }
28-keep class com.parseable.android.ui.screens.logviewer.StreamingState { *; }
29-keep class com.parseable.android.ui.screens.streams.StreamsViewModel$StreamStatsUi { *; }
31# Room entities
32-keep class com.parseable.android.data.local.** { *; }
34# OkHttp (library ships its own consumer rules; only suppress warnings)
35-dontwarn okhttp3.**
36-dontwarn okio.**
38# Keep the custom X509TrustManager used for insecure TLS config
39-keep class com.parseable.android.data.api.ParseableApiClient { *; }
41# EncryptedSharedPreferences (androidx.security:security-crypto)
42-keep class androidx.security.crypto.** { *; }
43-keep class * extends android.content.SharedPreferences { *; }
45# Google Tink (transitive dependency of androidx.security:security-crypto)
46# Tink's complex class hierarchy and use of Protobuf causes R8 crashes
47# in security-crypto alpha versions that ship incomplete consumer rules.
48-keep class com.google.crypto.tink.** { *; }
49-dontwarn com.google.crypto.tink.**
51# Protobuf Lite (Tink dependency)
52-keep class com.google.protobuf.** { *; }
53-dontwarn com.google.protobuf.**
55# Annotation libraries referenced by Tink/Google libs but not always on classpath
56-dontwarn com.google.errorprone.annotations.**
57-dontwarn javax.annotation.**
58-dontwarn org.checkerframework.**
59-dontwarn com.google.api.**
60-dontwarn com.google.j2objc.annotations.**
61-dontwarn sun.misc.Unsafe