1*a8de6003SAndroid Build Coastguard Worker##---------------Begin: proguard configuration for Gson ---------- 2*a8de6003SAndroid Build Coastguard Worker# Gson uses generic type information stored in a class file when working with fields. Proguard 3*a8de6003SAndroid Build Coastguard Worker# removes such information by default, so configure it to keep all of it. 4*a8de6003SAndroid Build Coastguard Worker-keepattributes Signature 5*a8de6003SAndroid Build Coastguard Worker 6*a8de6003SAndroid Build Coastguard Worker# For using GSON @Expose annotation 7*a8de6003SAndroid Build Coastguard Worker-keepattributes *Annotation* 8*a8de6003SAndroid Build Coastguard Worker 9*a8de6003SAndroid Build Coastguard Worker# Gson specific classes 10*a8de6003SAndroid Build Coastguard Worker-dontwarn sun.misc.** 11*a8de6003SAndroid Build Coastguard Worker#-keep class com.google.gson.stream.** { *; } 12*a8de6003SAndroid Build Coastguard Worker 13*a8de6003SAndroid Build Coastguard Worker# Application classes that will be serialized/deserialized over Gson 14*a8de6003SAndroid Build Coastguard Worker-keep class com.google.gson.examples.android.model.** { <fields>; } 15*a8de6003SAndroid Build Coastguard Worker 16*a8de6003SAndroid Build Coastguard Worker# Prevent proguard from stripping interface information from TypeAdapter, TypeAdapterFactory, 17*a8de6003SAndroid Build Coastguard Worker# JsonSerializer, JsonDeserializer instances (so they can be used in @JsonAdapter) 18*a8de6003SAndroid Build Coastguard Worker-keep class * extends com.google.gson.TypeAdapter 19*a8de6003SAndroid Build Coastguard Worker-keep class * implements com.google.gson.TypeAdapterFactory 20*a8de6003SAndroid Build Coastguard Worker-keep class * implements com.google.gson.JsonSerializer 21*a8de6003SAndroid Build Coastguard Worker-keep class * implements com.google.gson.JsonDeserializer 22*a8de6003SAndroid Build Coastguard Worker 23*a8de6003SAndroid Build Coastguard Worker# Prevent R8 from leaving Data object members always null 24*a8de6003SAndroid Build Coastguard Worker-keepclassmembers,allowobfuscation class * { 25*a8de6003SAndroid Build Coastguard Worker @com.google.gson.annotations.SerializedName <fields>; 26*a8de6003SAndroid Build Coastguard Worker} 27*a8de6003SAndroid Build Coastguard Worker 28*a8de6003SAndroid Build Coastguard Worker# Retain generic signatures of TypeToken and its subclasses with R8 version 3.0 and higher. 29*a8de6003SAndroid Build Coastguard Worker-keep,allowobfuscation,allowshrinking class com.google.gson.reflect.TypeToken 30*a8de6003SAndroid Build Coastguard Worker-keep,allowobfuscation,allowshrinking class * extends com.google.gson.reflect.TypeToken 31*a8de6003SAndroid Build Coastguard Worker 32*a8de6003SAndroid Build Coastguard Worker##---------------End: proguard configuration for Gson ---------- 33