diff --git a/app/build.gradle b/app/build.gradle index f7988db1baa..954b36fb62c 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -103,14 +103,11 @@ android { buildTypes { debug { - minifyEnabled false - proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' - testProguardFiles 'test-proguard-rules.pro' } release { - minifyEnabled true - proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' - testProguardFiles 'test-proguard-rules.pro' + optimization { + enable = true + } } } diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro deleted file mode 100644 index ba4f280a85a..00000000000 --- a/app/proguard-rules.pro +++ /dev/null @@ -1,8 +0,0 @@ --dontobfuscate - --dontwarn com.google.re2j.Matcher --dontwarn com.google.re2j.Pattern - -# TODO: remove after reading challenge widget is removed --keep class * implements androidx.glance.appwidget.action.ActionCallback { public (); } - diff --git a/app/test-proguard-rules.pro b/app/src/androidTest/keepRules/custom-rules.keep similarity index 100% rename from app/test-proguard-rules.pro rename to app/src/androidTest/keepRules/custom-rules.keep diff --git a/app/src/main/keepRules/custom-rules.keep b/app/src/main/keepRules/custom-rules.keep new file mode 100644 index 00000000000..b7835802451 --- /dev/null +++ b/app/src/main/keepRules/custom-rules.keep @@ -0,0 +1,16 @@ + +# Callbacks for Reading Challenge widget +-keep class * implements androidx.glance.appwidget.action.ActionCallback { public (); } + +# Accessed via reflection in OnThisDayGameArchiveCalendarHelper +-keepclassmembers class com.google.android.material.datepicker.MaterialDatePicker { + com.google.android.material.datepicker.MaterialCalendar calendar; +} + +# Class names are used as analytics values +-keepnames class * extends org.wikipedia.feed.model.Card +-keepnames class * extends androidx.fragment.app.Fragment +-keepnames class * extends java.lang.Throwable + +# Parcelables can outlive an app update in widget options and PendingIntents +-keepnames class * implements android.os.Parcelable