6d69903a56
* Replace java.time APIs with kotlin(x).(date)time kotlinx-datetime explicitly says in its README that it does not cover i18n, so we have to stick with using their toJavaX converters wherever we localise dates and times. Yes, some of these replacements are... questionable. But I wanted to try and maximise the replacement for now. * Bump kotlinx-datetime to 0.8.0 * More kotlin.time/kotlinx-datetime replacements * Remove redundant init block & make attributes val * Replace new use of java.time.Instant
92 lines
3.8 KiB
Prolog
92 lines
3.8 KiB
Prolog
-dontobfuscate
|
|
|
|
-keep,allowoptimization class eu.kanade.**
|
|
-keep,allowoptimization class tachiyomi.**
|
|
-keep,allowoptimization class mihon.**
|
|
|
|
# Keep common dependencies used in extensions
|
|
-keep,allowoptimization class androidx.preference.** { public protected *; }
|
|
-keep,allowoptimization class kotlin.** { public protected *; }
|
|
-keep,allowoptimization class kotlinx.coroutines.** { public protected *; }
|
|
-keep,allowoptimization class kotlinx.serialization.** { public protected *; }
|
|
-keep,allowoptimization class kotlin.time.** { public protected *; }
|
|
-keep,allowoptimization class okhttp3.** { public protected *; }
|
|
-keep,allowoptimization class okio.** { public protected *; }
|
|
-keep,allowoptimization class org.jsoup.** { public protected *; }
|
|
-keep,allowoptimization class rx.** { public protected *; }
|
|
-keep,allowoptimization class app.cash.quickjs.** { public protected *; }
|
|
-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();
|
|
}
|
|
|
|
##---------------Begin: proguard configuration for RxJava 1.x ----------
|
|
-dontwarn sun.misc.**
|
|
|
|
-keepclassmembers class rx.internal.util.unsafe.*ArrayQueue*Field* {
|
|
long producerIndex;
|
|
long consumerIndex;
|
|
}
|
|
|
|
-keepclassmembers class rx.internal.util.unsafe.BaseLinkedQueueProducerNodeRef {
|
|
rx.internal.util.atomic.LinkedQueueNode producerNode;
|
|
}
|
|
|
|
-keepclassmembers class rx.internal.util.unsafe.BaseLinkedQueueConsumerNodeRef {
|
|
rx.internal.util.atomic.LinkedQueueNode consumerNode;
|
|
}
|
|
|
|
-dontnote rx.internal.util.PlatformDependent
|
|
##---------------End: proguard configuration for RxJava 1.x ----------
|
|
|
|
##---------------Begin: proguard configuration for okhttp ----------
|
|
-keepclasseswithmembers class okhttp3.MultipartBody$Builder { *; }
|
|
##---------------End: proguard configuration for okhttp ----------
|
|
|
|
##---------------Begin: proguard configuration for kotlinx.serialization ----------
|
|
-keepattributes *Annotation*, InnerClasses
|
|
-dontnote kotlinx.serialization.** # core serialization annotations
|
|
|
|
# kotlinx-serialization-json specific. Add this if you have java.lang.NoClassDefFoundError kotlinx.serialization.json.JsonObjectSerializer
|
|
-keepclassmembers class kotlinx.serialization.json.** {
|
|
*** Companion;
|
|
}
|
|
-keepclasseswithmembers class kotlinx.serialization.json.** {
|
|
kotlinx.serialization.KSerializer serializer(...);
|
|
}
|
|
|
|
-keep,includedescriptorclasses class eu.kanade.**$$serializer { *; }
|
|
-keepclassmembers class eu.kanade.** {
|
|
*** Companion;
|
|
}
|
|
-keepclasseswithmembers class eu.kanade.** {
|
|
kotlinx.serialization.KSerializer serializer(...);
|
|
}
|
|
|
|
-keep class kotlinx.serialization.**
|
|
-keepclassmembers class kotlinx.serialization.** {
|
|
<methods>;
|
|
}
|
|
##---------------End: proguard configuration for kotlinx.serialization ----------
|
|
|
|
# XmlUtil
|
|
-keep public enum nl.adaptivity.xmlutil.EventType { *; }
|
|
|
|
# Firebase
|
|
-keep class com.google.firebase.installations.** { *; }
|
|
-keep interface com.google.firebase.installations.** { *; }
|
|
|
|
# KotlinX Datetime
|
|
-keep,allowoptimization class kotlinx.datetime.** { public protected *; }
|