From bc2a545bfeb48b0b019d97bb2ae4cc4f904df7d0 Mon Sep 17 00:00:00 2001 From: AR Abdul Azeez Date: Thu, 19 Mar 2026 15:07:23 -0400 Subject: [PATCH 1/2] fix: keep notification workers for R8 minification Add explicit consumer ProGuard keep rules for OneSignal WorkManager workers and their required constructors so minified app builds can instantiate workers and display pushes reliably. Made-with: Cursor --- OneSignalSDK/onesignal/notifications/consumer-rules.pro | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/OneSignalSDK/onesignal/notifications/consumer-rules.pro b/OneSignalSDK/onesignal/notifications/consumer-rules.pro index 2d829efe1b..9c554db6ce 100644 --- a/OneSignalSDK/onesignal/notifications/consumer-rules.pro +++ b/OneSignalSDK/onesignal/notifications/consumer-rules.pro @@ -54,4 +54,11 @@ -keep class com.onesignal.JobIntentService$* {*;} --keepclassmembers class com.onesignal.notifications.** { *; } \ No newline at end of file +-keepclassmembers class com.onesignal.notifications.** { *; } + +# Keep OneSignal WorkManager workers and constructors used for runtime instantiation. +-keep class com.onesignal.notifications.internal.** extends androidx.work.ListenableWorker { + public (android.content.Context, androidx.work.WorkerParameters); +} + +-keep class androidx.work.WorkerParameters { *; } \ No newline at end of file From 8dcd746d93388417438b282ff1210bd2e981c939 Mon Sep 17 00:00:00 2001 From: AR Abdul Azeez Date: Thu, 19 Mar 2026 15:15:59 -0400 Subject: [PATCH 2/2] refactor: narrow WorkManager keep rule scope Remove the broad WorkerParameters keep rule and retain only the worker constructor keep rule needed for runtime instantiation, reducing minification impact on consumer apps. Made-with: Cursor --- OneSignalSDK/onesignal/notifications/consumer-rules.pro | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/OneSignalSDK/onesignal/notifications/consumer-rules.pro b/OneSignalSDK/onesignal/notifications/consumer-rules.pro index 9c554db6ce..815f507c16 100644 --- a/OneSignalSDK/onesignal/notifications/consumer-rules.pro +++ b/OneSignalSDK/onesignal/notifications/consumer-rules.pro @@ -59,6 +59,4 @@ # Keep OneSignal WorkManager workers and constructors used for runtime instantiation. -keep class com.onesignal.notifications.internal.** extends androidx.work.ListenableWorker { public (android.content.Context, androidx.work.WorkerParameters); -} - --keep class androidx.work.WorkerParameters { *; } \ No newline at end of file +} \ No newline at end of file