From e11ea9f36d7bcc1327add9fa919079948878df20 Mon Sep 17 00:00:00 2001 From: Ajesh R Date: Fri, 10 Oct 2025 11:36:47 +0530 Subject: [PATCH 1/4] Updated proguard rules --- app/proguard-rules.pro | 8 -------- 1 file changed, 8 deletions(-) diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro index 3ad8efb8..e408d240 100644 --- a/app/proguard-rules.pro +++ b/app/proguard-rules.pro @@ -19,12 +19,6 @@ # If you keep the line number information, uncomment this to # hide the original source file name. #-renamesourcefileattribute SourceFile --keep class com.firebase.** { *; } --keep interface com.firebase.** { *; } --keep class org.apache.** { *; } --keepnames class com.fasterxml.jackson.** { *; } --keepnames class javax.servlet.** { *; } --keepnames class org.ietf.jgss.** { *; } -dontwarn org.w3c.dom.** -dontwarn org.joda.time.** -dontwarn org.shaded.apache.** @@ -45,8 +39,6 @@ -dontwarn javax.lang.model.** # OkHttp --keep class okhttp3.** { *; } --keep interface okhttp3.** { *; } -dontwarn okhttp3.** # Ignore SAX parser warning From eb8797251af5306469ab5902f8cb947c14b4e014 Mon Sep 17 00:00:00 2001 From: Ajesh R Date: Mon, 13 Oct 2025 13:51:34 +0100 Subject: [PATCH 2/4] Updated proguard rules --- app/proguard-rules.pro | 13 +++++++++++++ gradle.properties | 1 - 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro index e408d240..e4d960f0 100644 --- a/app/proguard-rules.pro +++ b/app/proguard-rules.pro @@ -41,5 +41,18 @@ # OkHttp -dontwarn okhttp3.** +-repackageclasses # Ignore SAX parser warning -dontwarn org.xml.sax.** + +-assumenosideeffects class kotlin.jvm.internal.Intrinsics { + static void checkParameterIsNotNull(java.lang.Object, java.lang.String); + static void checkExpressionValueIsNotNull(java.lang.Object, java.lang.String); + static void checkNotNullExpressionValue(java.lang.Object, java.lang.String); + static void checkReturnedValueIsNotNull(java.lang.Object, java.lang.String, java.lang.String); + static void checkReturnedValueIsNotNull(java.lang.Object, java.lang.String); + static void checkFieldIsNotNull(java.lang.Object, java.lang.String, java.lang.String); + static void checkFieldIsNotNull(java.lang.Object, java.lang.String); + static void checkNotNull(java.lang.Object, java.lang.String); + static void checkNotNullParameter(java.lang.Object, java.lang.String); +} \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index 4bbac8d1..e33d5542 100644 --- a/gradle.properties +++ b/gradle.properties @@ -23,6 +23,5 @@ kotlin.code.style=official # resources declared in the library itself and none from the library's dependencies, # thereby reducing the size of the R class for that library android.nonTransitiveRClass=true -android.disableMinifyLocalDependenciesForLibraries=true org.gradle.configuration-cache=true android.experimental.enableScreenshotTest=true \ No newline at end of file From b9da3a327e1cc345cd1d8a373bbb5e5ad833b961 Mon Sep 17 00:00:00 2001 From: Ajesh R Date: Thu, 16 Oct 2025 09:02:22 +0100 Subject: [PATCH 3/4] Update watchface proguard rules --- watchface/proguard-rules.pro | 30 +----------------------------- 1 file changed, 1 insertion(+), 29 deletions(-) diff --git a/watchface/proguard-rules.pro b/watchface/proguard-rules.pro index 10581e3c..c31a079c 100644 --- a/watchface/proguard-rules.pro +++ b/watchface/proguard-rules.pro @@ -1,34 +1,6 @@ -# Ignore missing Java SE classes from TwelveMonkeys ImageIO --dontwarn javax.imageio.** - # Ignore missing Java SE classes from XML libraries (Xerces, etc.) -dontwarn org.apache.xml.resolver.** -dontwarn org.eclipse.wst.xml.xpath2.processor.** # Ignore missing Java SE annotation processing classes, often from libraries like AutoValue/JavaPoet --dontwarn javax.lang.model.** - --keep class com.android.developers.androidify.watchface.creator.PackPackage { - native ; -} - --keep class com.android.developers.androidify.watchface.creator.PackPackage$Resource { *; } - -# Keep all classes in the BouncyCastle provider, as they are loaded via reflection --keep class org.bouncycastle.** { *; } --keep interface org.bouncycastle.** { *; } - -# Keep the APK Signer library --keep class com.android.apksig.** { *; } --keep interface com.android.apksig.** { *; } - -# Keep Apache Xerces XML parser --keep class org.apache.xerces.** { *; } - -## Keep standard Java XML (JAXP), DOM, and SAX interfaces and classes --keep interface org.w3c.dom.** { *; } --keep class org.w3c.dom.** { *; } --keep interface org.xml.sax.** { *; } --keep class org.xml.sax.** { *; } --keep class javax.xml.** { *; } --keep interface javax.xml.** { *; } \ No newline at end of file +-dontwarn javax.lang.model.** \ No newline at end of file From 844639f298d317a55a967d88a8658b52e596664a Mon Sep 17 00:00:00 2001 From: Ajesh R Date: Wed, 4 Feb 2026 09:32:57 +0530 Subject: [PATCH 4/4] Updates the project to use optimized resource shrinkign --- gradle.properties | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index 4911c41e..6722f4ba 100644 --- a/gradle.properties +++ b/gradle.properties @@ -24,4 +24,5 @@ kotlin.code.style=official # thereby reducing the size of the R class for that library android.nonTransitiveRClass=true org.gradle.configuration-cache=true -android.experimental.enableScreenshotTest=false \ No newline at end of file +android.experimental.enableScreenshotTest=false +android.r8.optimizedResourceShrinking=true \ No newline at end of file