-dontobfuscate
-renamesourcefileattribute SourceFile
-keepattributes SourceFile,LineNumberTable
-optimizations !code/allocation/variable
-optimizationpasses 5

-allowaccessmodification
-dontskipnonpubliclibraryclassmembers

# Keep our own classes and members. They are all used.
# Without this, methods only used in tests are removed and break tests.
-keep class de.danoeh.antennapod**
-keepclassmembers class de.danoeh.antennapod** {*;}
-keep class de.test.antennapod**
-keepclassmembers class de.test.antennapod** {*;}

# Keep methods used in tests.
# This is only needed when running tests with proguard enabled.
-keepclassmembers class org.apache.commons.lang3.StringUtils {*;}
-keepclassmembers class androidx.appcompat.app.ActionBar {
    public ** getTitle();
}
-keepclassmembers class org.apache.commons.io.IOUtils {
    public static void write(...);
}

-keep public class org.jsoup.** {
    public *;
}

# for okhttp
-dontwarn okhttp3.**
-dontwarn okio.**

# android-iconify
-keep class com.joanzapata.** { *; }

#### Proguard rules for fyyd client
# Retrofit 2.0
-dontwarn retrofit2.**
-keep class retrofit2.** { *; }
-keepattributes Signature
-keepattributes Exceptions

-keepclasseswithmembers class * {
    @retrofit2.http.* <methods>;
}

# Moshi
-keep class com.squareup.moshi.** { *; }
-keep interface com.squareup.moshi.** { *; }
####

# awaitility
-dontwarn java.beans.BeanInfo
-dontwarn java.beans.Introspector
-dontwarn java.beans.IntrospectionException
-dontwarn java.beans.PropertyDescriptor
-dontwarn java.lang.management.ManagementFactory
-dontwarn java.lang.management.ThreadInfo
-dontwarn java.lang.management.ThreadMXBean
