# Prevent proguard from stripping interface information from TypeAdapter, TypeAdapterFactory,
# JsonSerializer, JsonDeserializer instances (so they can be used in @JsonAdapter)
-keep class com.yoti.** implements com.google.gson.TypeAdapter
-keep class com.yoti.** implements com.google.gson.TypeAdapterFactory
-keep class com.yoti.** implements com.google.gson.JsonSerializer
-keep class com.yoti.** implements com.google.gson.JsonDeserializer

# Prevent R8 from leaving Data object members always null
-keepclassmembers,allowobfuscation class com.yoti.** {
  @com.google.gson.annotations.SerializedName <fields>;
}

# Keep enum classes that will be serialized/deserialized over Gson
-keepclassmembers enum com.yoti.** {
    !private <fields>;
}

# Do not remove methods with retrofit http annotations (e.g. abstract method overrides which just add the annotations)
-keep,allowobfuscation class com.yoti.** {
  @retrofit2.http.* <methods>;
}
-keep,allowobfuscation interface com.yoti.** {
  @retrofit2.http.* <methods>;
}