diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro index 38eefa5a5..e3b2b24ff 100644 --- a/app/proguard-rules.pro +++ b/app/proguard-rules.pro @@ -18,14 +18,6 @@ -keep,allowoptimization class uy.kohesive.injekt.** { public protected *; } -keep,allowoptimization class com.squareup.zstd.** { public protected *; } -# From extensions-lib --keep,allowoptimization class eu.kanade.tachiyomi.network.interceptor.RateLimitInterceptorKt { public protected *; } --keep,allowoptimization class eu.kanade.tachiyomi.network.interceptor.SpecificHostRateLimitInterceptorKt { public protected *; } --keep,allowoptimization class eu.kanade.tachiyomi.network.NetworkHelper { public protected *; } --keep,allowoptimization class eu.kanade.tachiyomi.network.OkHttpExtensionsKt { public protected *; } --keep,allowoptimization class eu.kanade.tachiyomi.network.RequestsKt { public protected *; } --keep,allowoptimization class eu.kanade.tachiyomi.AppInfo { public protected *; } - -keepclassmembers class * implements java.io.Serializable { java.lang.Object writeReplace(); java.lang.Object readResolve(); diff --git a/source-api/consumer-proguard.pro b/source-api/consumer-proguard.pro index aa81da4bf..029089d70 100644 --- a/source-api/consumer-proguard.pro +++ b/source-api/consumer-proguard.pro @@ -1,5 +1,32 @@ --keep class eu.kanade.tachiyomi.source.model.** { public protected *; } --keep class eu.kanade.tachiyomi.source.online.** { public protected *; } --keep class eu.kanade.tachiyomi.source.** extends eu.kanade.tachiyomi.source.Source { public protected *; } +# Types extensions implement, extend or construct +-keep class eu.kanade.tachiyomi.source.Source { public protected *; } +-keep class eu.kanade.tachiyomi.source.Source$DefaultImpls { public protected *; } +-keep class eu.kanade.tachiyomi.source.CatalogueSource { public protected *; } +-keep class eu.kanade.tachiyomi.source.CatalogueSource$DefaultImpls { public protected *; } +-keep class eu.kanade.tachiyomi.source.ConfigurableSource { public protected *; } +-keep class eu.kanade.tachiyomi.source.SourceFactory { public protected *; } +-keep class eu.kanade.tachiyomi.source.UnmeteredSource { public protected *; } +-keep class eu.kanade.tachiyomi.source.model.Filter { public protected *; } +-keep class eu.kanade.tachiyomi.source.model.Filter$* { public protected *; } +-keep class eu.kanade.tachiyomi.source.model.FilterList { public protected *; } +-keep class eu.kanade.tachiyomi.source.model.MangasPage { public protected *; } +-keep class eu.kanade.tachiyomi.source.model.Page { public protected *; } +-keep class eu.kanade.tachiyomi.source.model.SChapter { public protected *; } +-keep class eu.kanade.tachiyomi.source.model.SChapter$Companion { public protected *; } +-keep class eu.kanade.tachiyomi.source.model.SManga { public protected *; } +-keep class eu.kanade.tachiyomi.source.model.SManga$Companion { public protected *; } +-keep class eu.kanade.tachiyomi.source.model.SMangaUpdate { public protected *; } +-keep class eu.kanade.tachiyomi.source.model.UpdateStrategy { public protected *; } +-keep class eu.kanade.tachiyomi.source.online.HttpSource { public protected *; } +-keep class eu.kanade.tachiyomi.source.online.ParsedHttpSource { public protected *; } +# Final classes and top-level functions extensions only call into +-keep,allowoptimization class eu.kanade.tachiyomi.AppInfo { public protected *; } +-keep,allowoptimization class eu.kanade.tachiyomi.network.HttpException { public protected *; } +-keep,allowoptimization class eu.kanade.tachiyomi.network.JavaScriptEngine { public protected *; } +-keep,allowoptimization class eu.kanade.tachiyomi.network.NetworkHelper { public protected *; } +-keep,allowoptimization class eu.kanade.tachiyomi.network.OkHttpExtensionsKt { public protected *; } +-keep,allowoptimization class eu.kanade.tachiyomi.network.RequestsKt { public protected *; } +-keep,allowoptimization class eu.kanade.tachiyomi.network.interceptor.RateLimitInterceptorKt { public protected *; } +-keep,allowoptimization class eu.kanade.tachiyomi.network.interceptor.SpecificHostRateLimitInterceptorKt { public protected *; } -keep,allowoptimization class eu.kanade.tachiyomi.util.JsoupExtensionsKt { public protected *; }