2020-10-08 22:20:20 +02:00
# Add project specific ProGuard rules here .
# You can control the set of applied configuration files using the
# proguardFiles setting in build . gradle .
#
# For more details , see
# http : // developer . android . com / guide / developing / tools / proguard . html
# If your project uses WebView with JS , uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class :
#- keepclassmembers class fqcn . of . javascript . interface . for . webview {
# public * ;
# }
# Uncomment this to preserve the line number information for
# debugging stack traces .
#- keepattributes SourceFile , LineNumberTable
2020-10-20 20:22:50 +02:00
- dontobfuscate
2020-10-08 22:20:20 +02:00
# If you keep the line number information , uncomment this to
# hide the original source file name .
2020-10-20 20:22:50 +02:00
#- renamesourcefileattribute SourceFile
- keep class org . mosad . teapod . util . ** { < fields > ; }
2022-01-02 23:38:51 +01:00
- keep class org . json . ** { * ; }
2020-10-20 20:22:50 +02:00
# Gson
- keepattributes Signature
- dontwarn sun . misc . **
2021-12-27 21:14:35 +01:00
# kotlinx . serialization
# Keep ` Companion ` object fields of serializable classes .
# This avoids serializer lookup through ` getDeclaredClasses ` as done for named companion objects .
- if @ kotlinx . serialization . Serializable class **
- keepclassmembers class < 1 > {
static < 1 > $ Companion Companion ;
}
# Keep ` serializer ( ) ` on companion objects ( both default and named ) of serializable classes .
- if @ kotlinx . serialization . Serializable class ** {
static ** $ * * ;
}
- keepclassmembers class < 1 > $ < 3 > {
kotlinx . serialization . KSerializer serializer ( . . . ) ;
}
# Keep ` INSTANCE . serializer ( ) ` of serializable objects .
- if @ kotlinx . serialization . Serializable class ** {
public static ** INSTANCE ;
}
- keepclassmembers class < 1 > {
public static < 1 > INSTANCE ;
kotlinx . serialization . KSerializer serializer ( . . . ) ;
}
# @ Serializable and @ Polymorphic are used at runtime for polymorphic serialization .
- keepattributes RuntimeVisibleAnnotations , AnnotationDefault
2020-10-20 20:22:50 +02:00
# misc
- dontwarn java . lang . instrument . ClassFileTransformer
- dontwarn java . lang . ClassValue