#region General Rules
-keepattributes SourceFile,LineNumberTable,Signature,*Annotation*,AnnotationDefault,RuntimeVisibleAnnotations
-keepclassmembers enum * { *; }
#endregion

#region SDK Rules
#region Data classes
-keep class ai.instavision.guardian.sdk.data.** { *; }
-keepclassmembers class ai.instavision.guardian.sdk.data.** { *; }
-keep class ai.instavision.guardian.sdk.domain.** { *; }
-keepclassmembers class ai.instavision.guardian.sdk.domain.** { *; }
#endregion

#region webrtc
-keep class org.webrtc.** { *; }
-keepclasseswithmembernames class * { native <methods>; }
#endregion

#region Gson
-dontwarn sun.misc.**
-keep class * extends com.google.gson.TypeAdapter
-keep class * implements com.google.gson.TypeAdapterFactory
-keep class * implements com.google.gson.JsonSerializer
-keep class * implements com.google.gson.JsonDeserializer
-keep class com.google.gson.reflect.TypeToken { *; }
-keep class * extends com.google.gson.reflect.TypeToken
-keep public class org.json.** {*;}
-keepclassmembers,allowobfuscation class * {
  @com.google.gson.annotations.SerializedName <fields>;
}
#endregion

#region KVS
-dontwarn org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement
-dontwarn org.osgi.**
-dontwarn org.apache.http.**
-dontwarn com.amazonaws.http.**
-dontwarn com.amazonaws.metrics.**
-dontwarn org.apache.commons.logging.impl.**
-dontwarn org.apache.http.conn.scheme.**
-keepnames class com.amazonaws.**
-keepnames class com.amazon.**
-keep class com.amazonaws.services.**.*Handler
-keep class org.apache.commons.logging.**               { *; }
-keep class com.amazonaws.javax.xml.transform.sax.*     { public *; }
-keep class com.amazonaws.javax.xml.stream.**           { *; }
-keep class com.amazonaws.services.**.model.*Exception* { *; }
-keep class org.codehaus.**                             { *; }
#endregion

#region Logs
-assumenosideeffects class android.util.Log {
  public static *** v(...);
  public static *** d(...);
  public static *** i(...);
  public static *** w(...);
  public static *** e(...);
}
#endregion
#endregion