From 690b08a8b0a03ac36442cf436e80cafd85c0f2cc Mon Sep 17 00:00:00 2001 From: Dmitry Brant Date: Thu, 10 Sep 2026 14:23:08 -0400 Subject: [PATCH 1/2] Enable obfuscation. --- app/build.gradle | 9 +++------ .../androidTest/keepRules/custom-rules.keep} | 0 .../main/keepRules/custom-rules.keep} | 1 - 3 files changed, 3 insertions(+), 7 deletions(-) rename app/{test-proguard-rules.pro => src/androidTest/keepRules/custom-rules.keep} (100%) rename app/{proguard-rules.pro => src/main/keepRules/custom-rules.keep} (93%) diff --git a/app/build.gradle b/app/build.gradle index be35eef66df..cf0d20bb905 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -96,14 +96,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/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/proguard-rules.pro b/app/src/main/keepRules/custom-rules.keep similarity index 93% rename from app/proguard-rules.pro rename to app/src/main/keepRules/custom-rules.keep index ba4f280a85a..5bd93ff37c9 100644 --- a/app/proguard-rules.pro +++ b/app/src/main/keepRules/custom-rules.keep @@ -1,4 +1,3 @@ --dontobfuscate -dontwarn com.google.re2j.Matcher -dontwarn com.google.re2j.Pattern From fed4e30c782e330c39ea334e59b0c809d87a9b51 Mon Sep 17 00:00:00 2001 From: Dmitry Brant Date: Mon, 26 Oct 2026 12:08:40 -0400 Subject: [PATCH 2/2] Iron out keep rules. --- app/src/main/keepRules/custom-rules.keep | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/app/src/main/keepRules/custom-rules.keep b/app/src/main/keepRules/custom-rules.keep index 5bd93ff37c9..b7835802451 100644 --- a/app/src/main/keepRules/custom-rules.keep +++ b/app/src/main/keepRules/custom-rules.keep @@ -1,7 +1,16 @@ --dontwarn com.google.re2j.Matcher --dontwarn com.google.re2j.Pattern - -# TODO: remove after reading challenge widget is removed +# 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