From 285def4d3f3f9915610d36120b4b6e403d78b804 Mon Sep 17 00:00:00 2001 From: Josh Kasten Date: Fri, 13 Aug 2021 11:53:11 -0700 Subject: [PATCH 1/2] Add PendingIntent.FLAG_IMMUTABLE to notifications * This is a required change for Android 12 --- .../src/main/java/com/onesignal/GenerateNotification.java | 2 +- .../java/com/onesignal/GenerateNotificationOpenIntent.kt | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/OneSignalSDK/onesignal/src/main/java/com/onesignal/GenerateNotification.java b/OneSignalSDK/onesignal/src/main/java/com/onesignal/GenerateNotification.java index aa7ea676a8..11aa14f4da 100644 --- a/OneSignalSDK/onesignal/src/main/java/com/onesignal/GenerateNotification.java +++ b/OneSignalSDK/onesignal/src/main/java/com/onesignal/GenerateNotification.java @@ -128,7 +128,7 @@ private static CharSequence getTitle(JSONObject fcmJson) { } private static PendingIntent getNewDismissActionPendingIntent(int requestCode, Intent intent) { - return PendingIntent.getBroadcast(currentContext, requestCode, intent, PendingIntent.FLAG_UPDATE_CURRENT); + return PendingIntent.getBroadcast(currentContext, requestCode, intent, PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE); } private static Intent getNewBaseDismissIntent(int notificationId) { diff --git a/OneSignalSDK/onesignal/src/main/java/com/onesignal/GenerateNotificationOpenIntent.kt b/OneSignalSDK/onesignal/src/main/java/com/onesignal/GenerateNotificationOpenIntent.kt index caf6e7b71a..db6faefc37 100644 --- a/OneSignalSDK/onesignal/src/main/java/com/onesignal/GenerateNotificationOpenIntent.kt +++ b/OneSignalSDK/onesignal/src/main/java/com/onesignal/GenerateNotificationOpenIntent.kt @@ -59,6 +59,7 @@ class GenerateNotificationOpenIntent( requestCode: Int, oneSignalIntent: Intent, ): PendingIntent? { + val flags = PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_IMMUTABLE val launchIntent = getIntentVisible() ?: // Even though the default app open action is disabled we still need to attach OneSignal's @@ -71,7 +72,7 @@ class GenerateNotificationOpenIntent( context, requestCode, oneSignalIntent, - PendingIntent.FLAG_UPDATE_CURRENT + flags ) @@ -84,7 +85,7 @@ class GenerateNotificationOpenIntent( context, requestCode, arrayOf(launchIntent, oneSignalIntent), - PendingIntent.FLAG_UPDATE_CURRENT + flags ) } From 0192817081b27dcfdc0d09f2d2ef536ac340a403 Mon Sep 17 00:00:00 2001 From: Josh Kasten Date: Fri, 13 Aug 2021 11:53:44 -0700 Subject: [PATCH 2/2] Add PendingIntent.FLAG_IMMUTABLE to sync service * This is a required change for Android 12 --- .../onesignal/src/main/java/com/onesignal/OSBackgroundSync.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OneSignalSDK/onesignal/src/main/java/com/onesignal/OSBackgroundSync.java b/OneSignalSDK/onesignal/src/main/java/com/onesignal/OSBackgroundSync.java index 28534bc431..e658e80901 100644 --- a/OneSignalSDK/onesignal/src/main/java/com/onesignal/OSBackgroundSync.java +++ b/OneSignalSDK/onesignal/src/main/java/com/onesignal/OSBackgroundSync.java @@ -178,7 +178,7 @@ private PendingIntent syncServicePendingIntent(Context context) { context, getSyncTaskId(), new Intent(context, getSyncServicePendingIntentClass()), - PendingIntent.FLAG_UPDATE_CURRENT + PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE ); }