diff --git a/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java b/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java index b40b80d00d1..24d6fcc7c32 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +++ b/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java @@ -67,6 +67,8 @@ import com.facebook.react.bridge.ReactApplicationContext; import com.facebook.react.bridge.ReactContext; import com.facebook.react.bridge.ReactMarker; import com.facebook.react.bridge.ReactMarkerConstants; +import com.facebook.react.bridge.ReactNoCrashSoftException; +import com.facebook.react.bridge.ReactSoftException; import com.facebook.react.bridge.UIManager; import com.facebook.react.bridge.UiThreadUtil; import com.facebook.react.bridge.WritableNativeMap; @@ -477,10 +479,15 @@ public class ReactInstanceManager { private void toggleElementInspector() { ReactContext currentContext = getCurrentReactContext(); - if (currentContext != null) { + if (currentContext != null && currentContext.hasActiveCatalystInstance()) { currentContext .getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter.class) .emit("toggleElementInspector", null); + } else { + ReactSoftException.logSoftException( + TAG, + new ReactNoCrashSoftException( + "Cannot toggleElementInspector, CatalystInstance not available")); } } diff --git a/ReactAndroid/src/main/java/com/facebook/react/jstasks/HeadlessJsTaskContext.java b/ReactAndroid/src/main/java/com/facebook/react/jstasks/HeadlessJsTaskContext.java index 2bdee667834..b6f60da4e17 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/jstasks/HeadlessJsTaskContext.java +++ b/ReactAndroid/src/main/java/com/facebook/react/jstasks/HeadlessJsTaskContext.java @@ -11,6 +11,7 @@ import android.os.Handler; import android.util.SparseArray; import com.facebook.infer.annotation.Assertions; import com.facebook.react.bridge.ReactContext; +import com.facebook.react.bridge.ReactSoftException; import com.facebook.react.bridge.UiThreadUtil; import com.facebook.react.common.LifecycleState; import com.facebook.react.modules.appregistry.AppRegistry; @@ -106,9 +107,15 @@ public class HeadlessJsTaskContext { } mActiveTasks.add(taskId); mActiveTaskConfigs.put(taskId, new HeadlessJsTaskConfig(taskConfig)); - reactContext - .getJSModule(AppRegistry.class) - .startHeadlessTask(taskId, taskConfig.getTaskKey(), taskConfig.getData()); + if (reactContext.hasActiveCatalystInstance()) { + reactContext + .getJSModule(AppRegistry.class) + .startHeadlessTask(taskId, taskConfig.getTaskKey(), taskConfig.getData()); + } else { + ReactSoftException.logSoftException( + "HeadlessJsTaskContext", + new RuntimeException("Cannot start headless task, CatalystInstance not available")); + } if (taskConfig.getTimeout() > 0) { scheduleTaskTimeout(taskId, taskConfig.getTimeout()); }