-dontwarn javax.annotation.Nullable
-dontwarn javax.annotation.ParametersAreNonnullByDefault

-keepclassmembers,allowshrinking,allowobfuscation class com.tdshop.android.net.volley.NetworkDispatcher {
    void processRequest();
}
-keepclassmembers,allowshrinking,allowobfuscation class com.tdshop.android.net.volley.CacheDispatcher {
    void processRequest();
}

-keepclassmembers class fqcn.of.javascript.interface.for.webview {
   public *;
}

-keepclassmembers class * extends android.webkit.WebChromeClient{
    public void openFileChooser(...);
}

-keepclassmembers class * extends android.webkit.WebChromeClient{
    public void openFileChooser(...);
}

-keep class com.tdshop.android.**{*;}

#CacheWebview
-dontwarn ren.yale.android.cachewebviewlib.**
-keep class ren.yale.android.cachewebviewlib.**{*;}

# GIF
-dontwarn pl.droidsonroids.gif.**
-keep class pl.droidsonroids.gif.GifInfoHandle{<init>(long,int,int,int);}
-keep public class pl.droidsonroids.gif.GifIOException{<init>(int, java.lang.String);}

#okhttp
# JSR 305 annotations are for embedding nullability information.
-dontwarn javax.annotation.**
# A resource is loaded with a relative path so the package of this class must be preserved.
-keepnames class okhttp3.internal.publicsuffix.PublicSuffixDatabase
# Animal Sniffer compileOnly dependency to ensure APIs are compatible with older versions of Java.
-dontwarn org.codehaus.mojo.animal_sniffer.*
# OkHttp platform used only on JVM and when Conscrypt dependency is available.
-dontwarn okhttp3.internal.platform.ConscryptPlatform
#okio
-dontwarn org.codehaus.mojo.animal_sniffer.*

# Gson rules
-keepattributes Signature
-keep class sun.misc.Unsafe { *; }
-keep @interface com.google.gson.annotations.SerializedName
-keepclassmembers class * {
    @com.google.gson.annotations.SerializedName <fields>;
}