-
Notifications
You must be signed in to change notification settings - Fork 2
/
pendo-proguard.cfg
72 lines (63 loc) · 3.38 KB
/
pendo-proguard.cfg
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
# Keep all non obfuscated classes under Pendo SDK core code in .aar
-keep class sdk.pendo.io.** { *; }
# Keep all non obfuscated classes under external libs in .aar
-keep class external.sdk.pendo.io.** { *; }
# Keep all views - names and listed methods for
# dynamic views initialisation, predicate rules...
-keep public class * extends android.view.View {
public <init>(android.content.Context);
public <init>(android.content.Context, android.util.AttributeSet);
public <init>(android.content.Context, android.util.AttributeSet, int);
public void set*(...);
}
# Keep Fragments for their names we use in page identification screenId
-keepnames public class * extends android.support.v4.app.Fragment
-keepnames public class * extends android.app.Fragment
-keepnames public class * extends androidx.fragment.**
-dontwarn external.sdk.pendo.io.glide.R$id
-dontwarn external.sdk.pendo.io.org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement
-dontwarn external.sdk.pendo.io.org.conscrypt.Conscrypt$Version
-dontwarn external.sdk.pendo.io.org.conscrypt.Conscrypt
-dontwarn external.sdk.pendo.io.org.conscrypt.ConscryptHostnameVerifier
-dontwarn external.sdk.pendo.io.org.jetbrains.annotations.NotNull
-dontwarn external.sdk.pendo.io.org.jetbrains.annotations.Nullable
-dontwarn external.sdk.pendo.io.org.openjsse.javax.net.ssl.SSLParameters
-dontwarn external.sdk.pendo.io.org.openjsse.javax.net.ssl.SSLSocket
-dontwarn external.sdk.pendo.io.org.openjsse.net.ssl.OpenJSSE
-dontwarn external.sdk.pendo.io.slf4j.impl.StaticLoggerBinder
-dontwarn java.security.interfaces.EdECPrivateKey
-dontwarn java.security.interfaces.EdECPublicKey
-dontwarn java.security.interfaces.XECPrivateKey
-dontwarn java.security.interfaces.XECPublicKey
-dontwarn java.security.spec.EdECPoint
-dontwarn java.security.spec.EdECPrivateKeySpec
-dontwarn java.security.spec.EdECPublicKeySpec
-dontwarn java.security.spec.NamedParameterSpec
-dontwarn java.security.spec.XECPrivateKeySpec
-dontwarn java.security.spec.XECPublicKeySpec
-dontwarn javax.swing.**
-dontwarn java.awt.**
-dontwarn org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement
-dontwarn androidx.window.**
-dontwarn com.google.api.client.http.**
-dontwarn edu.umd.cs.findbugs.annotations.SuppressFBWarnings
-dontwarn java.lang.invoke.StringConcatFactory
#ParametrizedType ClassCastException error fix
-keep,allowobfuscation,allowshrinking interface retrofit2.Call
-keep,allowobfuscation,allowshrinking class retrofit2.Response
-keep,allowobfuscation,allowshrinking class kotlin.coroutines.Continuation
# Gson uses generic type information stored in a class file when working with fields. Proguard
# removes such information by default, so configure it to keep all of it.
-keepattributes Signature
# For using GSON @Expose annotation
-keepattributes *Annotation*
# Gson specific classes
-dontwarn sun.misc.**
# Application classes that will be serialized/deserialized over Gson
-keep class external.sdk.pendo.io.gson.examples.android.model.** { <fields>; }
# Prevent proguard from stripping interface information from TypeAdapter, TypeAdapterFactory,
# JsonSerializer, JsonDeserializer instances (so they can be used in @JsonAdapter)
-keep class * extends external.sdk.pendo.io.gson.TypeAdapter
-keep class * implements external.sdk.pendo.io.gson.TypeAdapterFactory
-keep class * implements external.sdk.pendo.io.gson.JsonSerializer
-keep class * implements external.sdk.pendo.io.gson.JsonDeserializer