-dontobfuscate

-keepclassmembers class ** {
    public void onEvent*(**);
}

# Only required if you use AsyncExecutor
-keepclassmembers class * extends de.greenrobot.event.util.ThrowableFailureEvent {
    ** *(java.lang.Throwable);
}

# These classes generate a warning on setLatestEventInfo but target API < 11
-dontwarn com.mixpanel.android.mpmetrics.GCMReceiver
-dontwarn com.google.android.gms.auth.GoogleAuthUtil

# TODO: Temporary fix - remove that when mixpanel fixes it
-dontwarn com.mixpanel.android.mpmetrics.Tweaks

-dontwarn okio.**

-dontwarn com.squareup.okhttp.**
-keep class com.squareup.okhttp.** { *; }
-keep interface com.squareup.okhttp.** { *; }

-keepattributes Signature
-keepattributes *Annotation*

-dontwarn com.yalantis.ucrop**
-keep class com.yalantis.ucrop** { *; }
-keep interface com.yalantis.ucrop** { *; }
