From ca8792d2ccb16baefde7837b5a1a97d864575528 Mon Sep 17 00:00:00 2001 From: Nathan Spaun Date: Thu, 28 Jan 2016 15:50:45 -0800 Subject: [PATCH] Add check to broadcast receiver to prevent exception Reviewed By: andreicoman11 Differential Revision: D2876479 fb-gh-sync-id: 55b7e31a91cf8a05849a0876bf912ac931233638 --- .../react/modules/netinfo/NetInfoModule.java | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/ReactAndroid/src/main/java/com/facebook/react/modules/netinfo/NetInfoModule.java b/ReactAndroid/src/main/java/com/facebook/react/modules/netinfo/NetInfoModule.java index bff80bf26..463ad17c4 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/modules/netinfo/NetInfoModule.java +++ b/ReactAndroid/src/main/java/com/facebook/react/modules/netinfo/NetInfoModule.java @@ -106,10 +106,14 @@ public class NetInfoModule extends ReactContextBaseJavaModule IntentFilter filter = new IntentFilter(); filter.addAction(ConnectivityManager.CONNECTIVITY_ACTION); getReactApplicationContext().registerReceiver(mConnectivityBroadcastReceiver, filter); + mConnectivityBroadcastReceiver.setRegistered(true); } private void unregisterReceiver() { - getReactApplicationContext().unregisterReceiver(mConnectivityBroadcastReceiver); + if (mConnectivityBroadcastReceiver.isRegistered()) { + getReactApplicationContext().unregisterReceiver(mConnectivityBroadcastReceiver); + mConnectivityBroadcastReceiver.setRegistered(false); + } } private void updateAndSendConnectionType() { @@ -155,6 +159,17 @@ public class NetInfoModule extends ReactContextBaseJavaModule */ private class ConnectivityBroadcastReceiver extends BroadcastReceiver { + //TODO: Remove registered check when source of crash is found. t9846865 + private boolean isRegistered = false; + + public void setRegistered(boolean registered) { + isRegistered = registered; + } + + public boolean isRegistered() { + return isRegistered; + } + @Override public void onReceive(Context context, Intent intent) { if (intent.getAction().equals(ConnectivityManager.CONNECTIVITY_ACTION)) {