From 1510612fd3015e2452b5fdfdbb5a47165cd82a9f Mon Sep 17 00:00:00 2001 From: Steel Brain Date: Tue, 31 Jul 2018 07:48:02 +0500 Subject: [PATCH] :bug: Fix pop initial for firebase --- .../modules/RNPushNotification.java | 28 ++++++++++++------- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/android/src/main/java/com/dieam/reactnativepushnotification/modules/RNPushNotification.java b/android/src/main/java/com/dieam/reactnativepushnotification/modules/RNPushNotification.java index 25c09450c..453033c97 100644 --- a/android/src/main/java/com/dieam/reactnativepushnotification/modules/RNPushNotification.java +++ b/android/src/main/java/com/dieam/reactnativepushnotification/modules/RNPushNotification.java @@ -61,9 +61,18 @@ public Map getConstants() { return constants; } - public void onNewIntent(Intent intent) { + private Bundle getBundleFromIntent(Intent intent) { + Bundle bundle = null; if (intent.hasExtra("notification")) { - Bundle bundle = intent.getBundleExtra("notification"); + bundle = intent.getBundleExtra("notification"); + } else if (intent.hasExtra("google.message_id")) { + bundle = intent.getExtras(); + } + return bundle; + } + public void onNewIntent(Intent intent) { + Bundle bundle = this.getBundleFromIntent(intent); + if (bundle != null) { bundle.putBoolean("foreground", false); intent.putExtra("notification", bundle); mJsDelivery.notifyNotification(bundle); @@ -155,8 +164,7 @@ public void getInitialNotification(Promise promise) { WritableMap params = Arguments.createMap(); Activity activity = getCurrentActivity(); if (activity != null) { - Intent intent = activity.getIntent(); - Bundle bundle = intent.getBundleExtra("notification"); + Bundle bundle = this.getBundleFromIntent(activity.getIntent()); if (bundle != null) { bundle.putBoolean("foreground", false); String bundleString = mJsDelivery.convertJSON(bundle); @@ -210,12 +218,12 @@ public void cancelLocalNotifications(ReadableMap userInfo) { } @ReactMethod - /** - * Clear notification from the notification centre. - */ - public void clearLocalNotification(int notificationID) { - mRNPushNotificationHelper.clearNotification(notificationID); - } + /** + * Clear notification from the notification centre. + */ + public void clearLocalNotification(int notificationID) { + mRNPushNotificationHelper.clearNotification(notificationID); + } @ReactMethod public void registerNotificationActions(ReadableArray actions) {