From a3372fc2eb0dc0cbdae3bbef421c01073119568f Mon Sep 17 00:00:00 2001 From: Jenna Antilla <46546946+jennantilla@users.noreply.github.com> Date: Wed, 30 Aug 2023 16:49:41 -0700 Subject: [PATCH 1/2] Update proguard rules with new classes --- .../onesignal/notifications/consumer-rules.pro | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/OneSignalSDK/onesignal/notifications/consumer-rules.pro b/OneSignalSDK/onesignal/notifications/consumer-rules.pro index ebcdfb243..5ec72afa0 100644 --- a/OneSignalSDK/onesignal/notifications/consumer-rules.pro +++ b/OneSignalSDK/onesignal/notifications/consumer-rules.pro @@ -12,6 +12,18 @@ java.lang.String getToken(java.lang.String, java.lang.String); } +-keep class ** implements com.onesignal.notifications.IPermissionObserver{ + void onNotificationPermissionChange(java.lang.Boolean); +} + +-keep class ** implements com.onesignal.user.subscriptions.IPushSubscriptionObserver { + void onPushSubscriptionChange(com.onesignal.user.subscriptions.PushSubscriptionChangedState); +} + +-keep class ** implements com.onesignal.notifications.INotificationServiceExtension{ + void onNotificationReceived(com.onesignal.notifications.INotificationReceivedEvent); +} + -keep class com.onesignal.notifications.internal.badges.impl.shortcutbadger.impl.AdwHomeBadger { (...); } -keep class com.onesignal.notifications.internal.badges.impl.shortcutbadger.impl.ApexHomeBadger { (...); } -keep class com.onesignal.notifications.internal.badges.impl.shortcutbadger.impl.AsusHomeBadger { (...); } From a19cc178191e761fda12e1d1519b8a63698c824b Mon Sep 17 00:00:00 2001 From: emawby Date: Fri, 1 Sep 2023 11:35:01 -0700 Subject: [PATCH 2/2] protecting all classmembers via consumer-rules.pro This is a shorterm fix that should be a catch all solution but will increase the size of the SDK. Long term we should change how we are implementing dependency injection so that pro guard can better detect what can be removed. Keep all classes that implement IModule since they use reflection --- OneSignalSDK/onesignal/core/consumer-rules.pro | 16 +++++++++++++++- .../onesignal/in-app-messages/consumer-rules.pro | 4 +++- .../onesignal/location/consumer-rules.pro | 4 +++- .../onesignal/notifications/consumer-rules.pro | 4 +++- 4 files changed, 24 insertions(+), 4 deletions(-) diff --git a/OneSignalSDK/onesignal/core/consumer-rules.pro b/OneSignalSDK/onesignal/core/consumer-rules.pro index 24aa8bfa0..d5ba5fee1 100644 --- a/OneSignalSDK/onesignal/core/consumer-rules.pro +++ b/OneSignalSDK/onesignal/core/consumer-rules.pro @@ -1,3 +1,17 @@ -dontwarn com.onesignal.** --dontwarn com.amazon.** \ No newline at end of file +-dontwarn com.amazon.** + +-keepclassmembers class com.onesignal.core.** { *; } + +-keepclassmembers class com.onesignal.session.** { *; } + +-keepclassmembers class com.onesignal.user.** { *; } + +-keepclassmembers class com.onesignal.internal.** { *; } + +-keepclassmembers class com.onesignal.debug.** { *; } + +-keepclassmembers class com.onesignal.common.** { *; } + +-keep class ** implements com.onesignal.common.modules.IModule { *; } \ No newline at end of file diff --git a/OneSignalSDK/onesignal/in-app-messages/consumer-rules.pro b/OneSignalSDK/onesignal/in-app-messages/consumer-rules.pro index 9f4d1d06b..644bfe12f 100644 --- a/OneSignalSDK/onesignal/in-app-messages/consumer-rules.pro +++ b/OneSignalSDK/onesignal/in-app-messages/consumer-rules.pro @@ -1 +1,3 @@ --dontwarn com.onesignal.iam.** \ No newline at end of file +-dontwarn com.onesignal.iam.** + +-keepclassmembers class com.onesignal.inAppMessages.** { *; } \ No newline at end of file diff --git a/OneSignalSDK/onesignal/location/consumer-rules.pro b/OneSignalSDK/onesignal/location/consumer-rules.pro index 7c1eb21f4..40ec90dc9 100644 --- a/OneSignalSDK/onesignal/location/consumer-rules.pro +++ b/OneSignalSDK/onesignal/location/consumer-rules.pro @@ -1 +1,3 @@ --dontwarn com.onesignal.location.** \ No newline at end of file +-dontwarn com.onesignal.location.** + +-keepclassmembers class com.onesignal.location.** { *; } \ No newline at end of file diff --git a/OneSignalSDK/onesignal/notifications/consumer-rules.pro b/OneSignalSDK/onesignal/notifications/consumer-rules.pro index 5ec72afa0..d9fc94835 100644 --- a/OneSignalSDK/onesignal/notifications/consumer-rules.pro +++ b/OneSignalSDK/onesignal/notifications/consumer-rules.pro @@ -48,4 +48,6 @@ -keep public class com.onesignal.notifications.services.ADMMessageHandlerJob {*;} --keep class com.onesignal.JobIntentService$* {*;} \ No newline at end of file +-keep class com.onesignal.JobIntentService$* {*;} + +-keepclassmembers class com.onesignal.notifications.** { *; } \ No newline at end of file