Commit 6402f88b authored by Libin Lu's avatar Libin Lu

use local intents

parent 3a5fed83
...@@ -25,6 +25,7 @@ import com.google.firebase.messaging.RemoteMessage.Notification; ...@@ -25,6 +25,7 @@ import com.google.firebase.messaging.RemoteMessage.Notification;
import android.app.Application; import android.app.Application;
import android.os.Bundle; import android.os.Bundle;
import android.support.v4.app.NotificationManagerCompat; import android.support.v4.app.NotificationManagerCompat;
import android.support.v4.content.LocalBroadcastManager;
import android.util.Log; import android.util.Log;
import android.content.Context; import android.content.Context;
...@@ -165,7 +166,7 @@ public class FIRMessagingModule extends ReactContextBaseJavaModule implements Li ...@@ -165,7 +166,7 @@ public class FIRMessagingModule extends ReactContextBaseJavaModule implements Li
private void registerTokenRefreshHandler() { private void registerTokenRefreshHandler() {
IntentFilter intentFilter = new IntentFilter("com.evollu.react.fcm.FCMRefreshToken"); IntentFilter intentFilter = new IntentFilter("com.evollu.react.fcm.FCMRefreshToken");
getReactApplicationContext().registerReceiver(new BroadcastReceiver() { LocalBroadcastManager.getInstance(getReactApplicationContext()).registerReceiver(new BroadcastReceiver() {
@Override @Override
public void onReceive(Context context, Intent intent) { public void onReceive(Context context, Intent intent) {
if (getReactApplicationContext().hasActiveCatalystInstance()) { if (getReactApplicationContext().hasActiveCatalystInstance()) {
...@@ -211,7 +212,7 @@ public class FIRMessagingModule extends ReactContextBaseJavaModule implements Li ...@@ -211,7 +212,7 @@ public class FIRMessagingModule extends ReactContextBaseJavaModule implements Li
private void registerMessageHandler() { private void registerMessageHandler() {
IntentFilter intentFilter = new IntentFilter("com.evollu.react.fcm.ReceiveNotification"); IntentFilter intentFilter = new IntentFilter("com.evollu.react.fcm.ReceiveNotification");
getReactApplicationContext().registerReceiver(new BroadcastReceiver() { LocalBroadcastManager.getInstance(getReactApplicationContext()).registerReceiver(new BroadcastReceiver() {
@Override @Override
public void onReceive(Context context, Intent intent) { public void onReceive(Context context, Intent intent) {
if (getReactApplicationContext().hasActiveCatalystInstance()) { if (getReactApplicationContext().hasActiveCatalystInstance()) {
...@@ -251,7 +252,7 @@ public class FIRMessagingModule extends ReactContextBaseJavaModule implements Li ...@@ -251,7 +252,7 @@ public class FIRMessagingModule extends ReactContextBaseJavaModule implements Li
private void registerLocalMessageHandler() { private void registerLocalMessageHandler() {
IntentFilter intentFilter = new IntentFilter("com.evollu.react.fcm.ReceiveLocalNotification"); IntentFilter intentFilter = new IntentFilter("com.evollu.react.fcm.ReceiveLocalNotification");
getReactApplicationContext().registerReceiver(new BroadcastReceiver() { LocalBroadcastManager.getInstance(getReactApplicationContext()).registerReceiver(new BroadcastReceiver() {
@Override @Override
public void onReceive(Context context, Intent intent) { public void onReceive(Context context, Intent intent) {
if (getReactApplicationContext().hasActiveCatalystInstance()) { if (getReactApplicationContext().hasActiveCatalystInstance()) {
......
...@@ -2,6 +2,7 @@ package com.evollu.react.fcm; ...@@ -2,6 +2,7 @@ package com.evollu.react.fcm;
import android.content.Intent; import android.content.Intent;
import android.os.Bundle; import android.os.Bundle;
import android.support.v4.content.LocalBroadcastManager;
import android.util.Log; import android.util.Log;
import com.google.firebase.iid.FirebaseInstanceId; import com.google.firebase.iid.FirebaseInstanceId;
...@@ -29,6 +30,6 @@ public class InstanceIdService extends FirebaseInstanceIdService { ...@@ -29,6 +30,6 @@ public class InstanceIdService extends FirebaseInstanceIdService {
Bundle bundle = new Bundle(); Bundle bundle = new Bundle();
bundle.putString("token", refreshedToken); bundle.putString("token", refreshedToken);
i.putExtras(bundle); i.putExtras(bundle);
sendBroadcast(i); LocalBroadcastManager.getInstance(getApplicationContext()).sendBroadcast(i);
} }
} }
...@@ -5,6 +5,7 @@ import android.content.Intent; ...@@ -5,6 +5,7 @@ import android.content.Intent;
import android.os.Bundle; import android.os.Bundle;
import android.os.Handler; import android.os.Handler;
import android.os.Looper; import android.os.Looper;
import android.support.v4.content.LocalBroadcastManager;
import android.util.Log; import android.util.Log;
import com.facebook.react.ReactApplication; import com.facebook.react.ReactApplication;
...@@ -41,12 +42,12 @@ public class MessagingService extends FirebaseMessagingService { ...@@ -41,12 +42,12 @@ public class MessagingService extends FirebaseMessagingService {
ReactContext context = mReactInstanceManager.getCurrentReactContext(); ReactContext context = mReactInstanceManager.getCurrentReactContext();
// If it's constructed, send a notification // If it's constructed, send a notification
if (context != null) { if (context != null) {
context.sendOrderedBroadcast(message, null); LocalBroadcastManager.getInstance(getApplicationContext()).sendBroadcast(message);
} else { } else {
// Otherwise wait for construction, then send the notification // Otherwise wait for construction, then send the notification
mReactInstanceManager.addReactInstanceEventListener(new ReactInstanceManager.ReactInstanceEventListener() { mReactInstanceManager.addReactInstanceEventListener(new ReactInstanceManager.ReactInstanceEventListener() {
public void onReactContextInitialized(ReactContext context) { public void onReactContextInitialized(ReactContext context) {
context.sendOrderedBroadcast(message, null); LocalBroadcastManager.getInstance(getApplicationContext()).sendBroadcast(message);
} }
}); });
if (!mReactInstanceManager.hasStartedCreatingInitialContext()) { if (!mReactInstanceManager.hasStartedCreatingInitialContext()) {
......
...@@ -17,6 +17,7 @@ import android.os.Build; ...@@ -17,6 +17,7 @@ import android.os.Build;
import android.os.Bundle; import android.os.Bundle;
import android.support.v4.app.NotificationCompat; import android.support.v4.app.NotificationCompat;
import android.support.v4.app.NotificationManagerCompat; import android.support.v4.app.NotificationManagerCompat;
import android.support.v4.content.LocalBroadcastManager;
import android.util.Log; import android.util.Log;
import java.io.IOException; import java.io.IOException;
...@@ -191,7 +192,7 @@ public class SendNotificationTask extends AsyncTask<Void, Void, Void> { ...@@ -191,7 +192,7 @@ public class SendNotificationTask extends AsyncTask<Void, Void, Void> {
Log.d(TAG, "broadcast intent if it is a scheduled notification"); Log.d(TAG, "broadcast intent if it is a scheduled notification");
Intent i = new Intent("com.evollu.react.fcm.ReceiveLocalNotification"); Intent i = new Intent("com.evollu.react.fcm.ReceiveLocalNotification");
i.putExtras(bundle); i.putExtras(bundle);
mContext.sendOrderedBroadcast(i, null); LocalBroadcastManager.getInstance(mContext).sendBroadcast(i);
} }
if(!mIsForeground || bundle.getBoolean("show_in_foreground")){ if(!mIsForeground || bundle.getBoolean("show_in_foreground")){
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment