apps-android-commons/app/proguard-rules.txt
Kaartic Sivaraam eae3e312e4 Disable full mode R8 optimizations
Full mode R8 configurations are hindering the working of the app severly.
So, disable the same.

Also, ensure the POJO classes used to hold the API responses aren't optimized
so that we could use the response properly without any issues.
2023-10-16 00:14:21 +05:30

88 lines
2.6 KiB
Text

-dontobfuscate
-ignorewarnings
-dontnote **
-dontwarn net.bytebuddy.**
-dontwarn org.mockito.**
# --- Apache ---
-keep class org.apache.http.** { *; }
-dontwarn org.apache.**
# --- /Apache ---
# --- Butter Knife ---
# Finder.castParam() is stripped when not needed and ProGuard notes it
# unnecessarily. When castParam() is needed, it's not stripped. e.g.:
#
# @OnItemSelected(value = R.id.history_entry_list)
# void foo(ListView bar) {
# L.d("baz");
# }
-dontnote butterknife.internal.**
# --- /Butter Knife ---
# --- Retrofit2 ---
# Platform calls Class.forName on types which do not exist on Android to determine platform.
-dontnote retrofit2.Platform
# Platform used when running on Java 8 VMs. Will not be used at runtime.
-dontwarn retrofit2.Platform$Java8
# Retain generic type information for use by reflection by converters and adapters.
-keepattributes Signature
# Retain declared checked exceptions for use by a Proxy instance.
-keepattributes Exceptions
# Classes used by retrofit to fetch API repsonse
-keepclasseswithmembers class org.wikipedia.** { *; }
# --- /Retrofit ---
# --- OkHttp + Okio ---
-dontwarn okhttp3.**
-dontwarn okio.**
# --- /OkHttp + Okio ---
# --- Gson ---
# https://github.com/google/gson/blob/master/examples/android-proguard-example/proguard.cfg
# 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.**
#-keep class com.google.gson.stream.** { *; }
# Application classes that will be serialized/deserialized over Gson
-keep class com.google.gson.examples.android.model.** { *; }
# Prevent proguard from stripping interface information from TypeAdapterFactory,
# JsonSerializer, JsonDeserializer instances (so they can be used in @JsonAdapter)
-keep class * implements com.google.gson.TypeAdapterFactory
-keep class * implements com.google.gson.JsonSerializer
-keep class * implements com.google.gson.JsonDeserializer
# --- /Gson ---
# --- /logback ---
-keep class ch.qos.** { *; }
-keep class org.slf4j.** { *; }
-keepattributes *Annotation*
-dontwarn ch.qos.logback.core.net.*
# --- /acra ---
-keep class org.acra.** { *; }
-keepattributes SourceFile,LineNumberTable
-keepattributes *Annotation*
# --- /recycler view ---
-keep class androidx.recyclerview.widget.RecyclerView {
public androidx.recyclerview.widget.RecyclerView$ViewHolder findViewHolderForPosition(int);
}
# --- Parcelable ---
-keepclassmembers class * implements android.os.Parcelable {
static ** CREATOR;
}