Disable optimizations on eu.kanade.tachiyomi.source.**

- Disable optimizations on eu.kanade.tachiyomi.source.** classes to avoid access modifications causing mismatches between the app and extensions
- Remove Gson Proguard rules, since we don't have those dependencies anymore
This commit is contained in:
Jays2Kings 2022-05-15 17:01:21 -04:00
parent 5ad63d569c
commit 7c6d0dafbe

View file

@ -1,6 +1,7 @@
-dontobfuscate -dontobfuscate
# Keep extension's common dependencies # Keep extension's common dependencies
-keep class eu.kanade.tachiyomi.source.** { public protected *; } # Avoid access modification
-keep,allowoptimization class eu.kanade.tachiyomi.** { public protected *; } -keep,allowoptimization class eu.kanade.tachiyomi.** { public protected *; }
-keep,allowoptimization class androidx.preference.** { *; } -keep,allowoptimization class androidx.preference.** { *; }
-keep,allowoptimization class kotlin.** { public protected *; } -keep,allowoptimization class kotlin.** { public protected *; }
@ -29,7 +30,7 @@
-keep class org.jsoup.** { *; } -keep class org.jsoup.** { *; }
-keep class kotlin.** { *; } -keep class kotlin.** { *; }
-keep class okhttp3.** { *; } -keep class okhttp3.** { *; }
-keep class com.google.gson.** { *; }
# OkHttp # OkHttp
-dontwarn okhttp3.** -dontwarn okhttp3.**
@ -56,30 +57,6 @@
-dontnote rx.internal.util.PlatformDependent -dontnote rx.internal.util.PlatformDependent
##---------------End: proguard configuration for RxJava 1.x ---------- ##---------------End: proguard configuration for RxJava 1.x ----------
##---------------Begin: proguard configuration for Gson ----------
# Gson uses generic type information stored in a class file when working with fields. Proguard
# removes such information by default, so configure it to keep all of it.
-keepattributes Signature
# For using GSON @Expose annotation
-keepattributes *Annotation*
# Gson specific classes
-dontwarn sun.misc.**
# Prevent proguard from stripping interface information from TypeAdapter, TypeAdapterFactory,
# JsonSerializer, JsonDeserializer instances (so they can be used in @JsonAdapter)
-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
# Prevent R8 from leaving Data object members always null
-keepclassmembers,allowobfuscation class * {
@com.google.gson.annotations.SerializedName <fields>;
}
##---------------End: proguard configuration for Gson ----------
##---------------Begin: proguard configuration for kotlinx.serialization ---------- ##---------------Begin: proguard configuration for kotlinx.serialization ----------
-keepattributes *Annotation*, InnerClasses -keepattributes *Annotation*, InnerClasses
-dontnote kotlinx.serialization.AnnotationsKt # core serialization annotations -dontnote kotlinx.serialization.AnnotationsKt # core serialization annotations