diff --git a/app/init/push_notifications.ts b/app/init/push_notifications.ts index 315bd47b8f..c40e347190 100644 --- a/app/init/push_notifications.ts +++ b/app/init/push_notifications.ts @@ -181,13 +181,11 @@ class PushNotifications { // This triggers when a notification is tapped and the app was in the background (iOS) onNotificationOpened = (incoming: Notification, completion: () => void) => { - if (Platform.OS === 'ios') { - const notification = convertToNotificationData(incoming, false); - notification.userInteraction = true; + const notification = convertToNotificationData(incoming, false); + notification.userInteraction = true; - this.processNotification(notification); - completion(); - } + this.processNotification(notification); + completion(); }; // This triggers when the app was in the background (iOS) diff --git a/patches/react-native-notifications+4.3.1.patch b/patches/react-native-notifications+4.3.1.patch index 0be8059c2e..74e0ec24b6 100644 --- a/patches/react-native-notifications+4.3.1.patch +++ b/patches/react-native-notifications+4.3.1.patch @@ -21,9 +21,18 @@ index 24cd226..4bfacba 100644 diff --git a/node_modules/react-native-notifications/lib/android/app/src/main/java/com/wix/reactnativenotifications/RNNotificationsModule.java b/node_modules/react-native-notifications/lib/android/app/src/main/java/com/wix/reactnativenotifications/RNNotificationsModule.java -index 90969b2..778cb29 100644 +index 90969b2..3420045 100644 --- a/node_modules/react-native-notifications/lib/android/app/src/main/java/com/wix/reactnativenotifications/RNNotificationsModule.java +++ b/node_modules/react-native-notifications/lib/android/app/src/main/java/com/wix/reactnativenotifications/RNNotificationsModule.java +@@ -63,7 +63,7 @@ public class RNNotificationsModule extends ReactContextBaseJavaModule implements + @Override + public void onNewIntent(Intent intent) { + if (NotificationIntentAdapter.canHandleIntent(intent)) { +- Bundle notificationData = intent.getExtras(); ++ Bundle notificationData = NotificationIntentAdapter.extractPendingNotificationDataFromIntent(intent); + final IPushNotification notification = PushNotification.get(getReactApplicationContext().getApplicationContext(), notificationData); + if (notification != null) { + notification.onOpened(); @@ -102,7 +102,12 @@ public class RNNotificationsModule extends ReactContextBaseJavaModule implements if(BuildConfig.DEBUG) Log.d(LOGTAG, "Native method invocation: postLocalNotification"); final Bundle notificationProps = Arguments.toBundle(notificationPropsMap); @@ -38,6 +47,45 @@ index 90969b2..778cb29 100644 } @ReactMethod +diff --git a/node_modules/react-native-notifications/lib/android/app/src/main/java/com/wix/reactnativenotifications/RNNotificationsPackage.java b/node_modules/react-native-notifications/lib/android/app/src/main/java/com/wix/reactnativenotifications/RNNotificationsPackage.java +index eadf41e..a3f71dd 100644 +--- a/node_modules/react-native-notifications/lib/android/app/src/main/java/com/wix/reactnativenotifications/RNNotificationsPackage.java ++++ b/node_modules/react-native-notifications/lib/android/app/src/main/java/com/wix/reactnativenotifications/RNNotificationsPackage.java +@@ -96,8 +96,7 @@ public class RNNotificationsPackage implements ReactPackage, AppLifecycleFacade. + Intent intent = activity.getIntent(); + if (NotificationIntentAdapter.canHandleIntent(intent)) { + Context appContext = mApplication.getApplicationContext(); +- Bundle notificationData = NotificationIntentAdapter.cannotHandleTrampolineActivity(appContext) ? +- NotificationIntentAdapter.extractPendingNotificationDataFromIntent(intent) : intent.getExtras(); ++ Bundle notificationData = NotificationIntentAdapter.extractPendingNotificationDataFromIntent(intent); + final IPushNotification pushNotification = PushNotification.get(appContext, notificationData); + if (pushNotification != null) { + pushNotification.onOpened(); +diff --git a/node_modules/react-native-notifications/lib/android/app/src/main/java/com/wix/reactnativenotifications/core/NotificationIntentAdapter.java b/node_modules/react-native-notifications/lib/android/app/src/main/java/com/wix/reactnativenotifications/core/NotificationIntentAdapter.java +index 41b4824..4285ac5 100644 +--- a/node_modules/react-native-notifications/lib/android/app/src/main/java/com/wix/reactnativenotifications/core/NotificationIntentAdapter.java ++++ b/node_modules/react-native-notifications/lib/android/app/src/main/java/com/wix/reactnativenotifications/core/NotificationIntentAdapter.java +@@ -14,17 +14,9 @@ public class NotificationIntentAdapter { + + @SuppressLint("UnspecifiedImmutableFlag") + public static PendingIntent createPendingNotificationIntent(Context appContext, PushNotificationProps notification) { +- if (cannotHandleTrampolineActivity(appContext)) { +- Intent mainActivityIntent = appContext.getPackageManager().getLaunchIntentForPackage(appContext.getPackageName()); +- mainActivityIntent.putExtra(PUSH_NOTIFICATION_EXTRA_NAME, notification.asBundle()); +- TaskStackBuilder taskStackBuilder = TaskStackBuilder.create(appContext); +- taskStackBuilder.addNextIntentWithParentStack(mainActivityIntent); +- return taskStackBuilder.getPendingIntent((int) System.currentTimeMillis(), PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_ONE_SHOT | PendingIntent.FLAG_IMMUTABLE); +- } else { +- Intent intent = new Intent(appContext, ProxyService.class); +- intent.putExtra(PUSH_NOTIFICATION_EXTRA_NAME, notification.asBundle()); +- return PendingIntent.getService(appContext, (int) System.currentTimeMillis(), intent, PendingIntent.FLAG_ONE_SHOT); +- } ++ Intent intent = appContext.getPackageManager().getLaunchIntentForPackage(appContext.getPackageName()); ++ intent.putExtra(PUSH_NOTIFICATION_EXTRA_NAME, notification.asBundle()); ++ return PendingIntent.getActivity(appContext, (int) System.currentTimeMillis(), intent, PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_ONE_SHOT | PendingIntent.FLAG_IMMUTABLE); + } + + public static boolean cannotHandleTrampolineActivity(Context appContext) { diff --git a/node_modules/react-native-notifications/lib/android/app/src/main/java/com/wix/reactnativenotifications/core/helpers/ScheduleNotificationHelper.java b/node_modules/react-native-notifications/lib/android/app/src/main/java/com/wix/reactnativenotifications/core/helpers/ScheduleNotificationHelper.java new file mode 100644 index 0000000..433c754 @@ -413,4 +461,4 @@ index afd5c73..6036dda 100644 + callback(formattedNotifications); }]; } - \ No newline at end of file +