From 38ce97506b783664ecfcc9ce748f03720642bc56 Mon Sep 17 00:00:00 2001 From: Anatoliy Magda <40770513+aamagda@users.noreply.github.com> Date: Fri, 20 Jan 2023 20:09:59 +0300 Subject: [PATCH 1/2] Add ReceivedMessageCustomHandler interface --- .../modules/RNReceivedMessageCustomHandler.java | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 android/src/main/java/com/dieam/reactnativepushnotification/modules/RNReceivedMessageCustomHandler.java diff --git a/android/src/main/java/com/dieam/reactnativepushnotification/modules/RNReceivedMessageCustomHandler.java b/android/src/main/java/com/dieam/reactnativepushnotification/modules/RNReceivedMessageCustomHandler.java new file mode 100644 index 000000000..930dba7d8 --- /dev/null +++ b/android/src/main/java/com/dieam/reactnativepushnotification/modules/RNReceivedMessageCustomHandler.java @@ -0,0 +1,7 @@ +package com.dieam.reactnativepushnotification.modules; + +import android.os.Bundle; + +public interface RNReceivedMessageCustomHandler { + void onMessageReceived(Bundle bundle); +} From 9883d22a1b811b9a589f181cb12d60f401600501 Mon Sep 17 00:00:00 2001 From: Anatoliy Magda <40770513+aamagda@users.noreply.github.com> Date: Fri, 20 Jan 2023 20:12:31 +0300 Subject: [PATCH 2/2] Add ReceivedMessageCustomHandler callbacks --- .../modules/RNReceivedMessageHandler.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/android/src/main/java/com/dieam/reactnativepushnotification/modules/RNReceivedMessageHandler.java b/android/src/main/java/com/dieam/reactnativepushnotification/modules/RNReceivedMessageHandler.java index 721ca40cc..c170a9bab 100644 --- a/android/src/main/java/com/dieam/reactnativepushnotification/modules/RNReceivedMessageHandler.java +++ b/android/src/main/java/com/dieam/reactnativepushnotification/modules/RNReceivedMessageHandler.java @@ -23,6 +23,7 @@ import org.json.JSONObject; +import java.util.ArrayList; import java.util.Map; import java.util.List; import java.security.SecureRandom; @@ -33,6 +34,8 @@ public class RNReceivedMessageHandler { private FirebaseMessagingService mFirebaseMessagingService; + public static List CustomHandlers = new ArrayList(); + public RNReceivedMessageHandler(@NonNull FirebaseMessagingService service) { this.mFirebaseMessagingService = service; } @@ -128,6 +131,10 @@ public void handleReceivedMessage(RemoteMessage message) { Log.v(LOG_TAG, "onMessageReceived: " + bundle); + for (RNReceivedMessageCustomHandler handler : CustomHandlers) { + handler.onMessageReceived(bundle); + } + // We need to run this on the main thread, as the React code assumes that is true. // Namely, DevServerHelper constructs a Handler() without a Looper, which triggers: // "Can't create handler inside thread that has not called Looper.prepare()"