summaryrefslogtreecommitdiff
path: root/StoneIsland/plugins/cordova-plugin-firebasex/src/android/FirebasePluginMessageReceiverManager.java
diff options
context:
space:
mode:
Diffstat (limited to 'StoneIsland/plugins/cordova-plugin-firebasex/src/android/FirebasePluginMessageReceiverManager.java')
-rw-r--r--StoneIsland/plugins/cordova-plugin-firebasex/src/android/FirebasePluginMessageReceiverManager.java41
1 files changed, 41 insertions, 0 deletions
diff --git a/StoneIsland/plugins/cordova-plugin-firebasex/src/android/FirebasePluginMessageReceiverManager.java b/StoneIsland/plugins/cordova-plugin-firebasex/src/android/FirebasePluginMessageReceiverManager.java
new file mode 100644
index 00000000..299e5cda
--- /dev/null
+++ b/StoneIsland/plugins/cordova-plugin-firebasex/src/android/FirebasePluginMessageReceiverManager.java
@@ -0,0 +1,41 @@
+package org.apache.cordova.firebase;
+
+import android.os.Bundle;
+
+import com.google.firebase.messaging.RemoteMessage;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class FirebasePluginMessageReceiverManager {
+
+ private static List<FirebasePluginMessageReceiver> receivers = new ArrayList<FirebasePluginMessageReceiver>();
+
+ public static void register(FirebasePluginMessageReceiver receiver) {
+ receivers.add(receiver);
+ }
+
+ public static boolean onMessageReceived(RemoteMessage remoteMessage) {
+ boolean handled = false;
+ for (FirebasePluginMessageReceiver receiver : receivers) {
+ boolean wasHandled = receiver.onMessageReceived(remoteMessage);
+ if (wasHandled) {
+ handled = true;
+ }
+ }
+
+ return handled;
+ }
+
+ public static boolean sendMessage(Bundle bundle) {
+ boolean handled = false;
+ for (FirebasePluginMessageReceiver receiver : receivers) {
+ boolean wasHandled = receiver.sendMessage(bundle);
+ if (wasHandled) {
+ handled = true;
+ }
+ }
+
+ return handled;
+ }
+}