diff --git a/node_modules/react-native-navigation/lib/android/app/src/main/java/com/reactnativenavigation/react/NavigationModule.java b/node_modules/react-native-navigation/lib/android/app/src/main/java/com/reactnativenavigation/react/NavigationModule.java index 260ed81..f719679 100644 --- a/node_modules/react-native-navigation/lib/android/app/src/main/java/com/reactnativenavigation/react/NavigationModule.java +++ b/node_modules/react-native-navigation/lib/android/app/src/main/java/com/reactnativenavigation/react/NavigationModule.java @@ -56,14 +56,18 @@ public class NavigationModule extends ReactContextBaseJavaModule { reactContext.addLifecycleEventListener(new LifecycleEventListenerAdapter() { @Override public void onHostResume() { - eventEmitter = new EventEmitter(reactContext); - navigator().setEventEmitter(eventEmitter); - layoutFactory.init( - activity(), - eventEmitter, - navigator().getChildRegistry(), - ((NavigationApplication) activity().getApplication()).getExternalComponents() - ); + try { + eventEmitter = new EventEmitter(reactContext); + navigator().setEventEmitter(eventEmitter); + layoutFactory.init( + activity(), + eventEmitter, + navigator().getChildRegistry(), + ((NavigationApplication) activity().getApplication()).getExternalComponents() + ); + } catch (ClassCastException e) { + // The most current activity is not a NavigationActivity + } } }); } @@ -196,8 +200,12 @@ public class NavigationModule extends ReactContextBaseJavaModule { protected void handle(Runnable task) { UiThread.post(() -> { - if (getCurrentActivity() != null && !activity().isFinishing()) { - task.run(); + try { + if (getCurrentActivity() != null && !activity().isFinishing()) { + task.run(); + } + } catch (ClassCastException e) { + // The most current activity is not a NavigationActivity } }); } diff --git a/node_modules/react-native-navigation/lib/ios/RNNCommandsHandler.m b/node_modules/react-native-navigation/lib/ios/RNNCommandsHandler.m index ae8be52..8a8dec5 100644 --- a/node_modules/react-native-navigation/lib/ios/RNNCommandsHandler.m +++ b/node_modules/react-native-navigation/lib/ios/RNNCommandsHandler.m @@ -300,10 +300,9 @@ - (void)dismissAllModals:(NSDictionary *)mergeOptions commandId:(NSString*)comma [CATransaction begin]; [CATransaction setCompletionBlock:^{ [self->_eventEmitter sendOnNavigationCommandCompletion:dismissAllModals commandId:commandId params:@{}]; - completion(); }]; RNNNavigationOptions* options = [[RNNNavigationOptions alloc] initWithDict:mergeOptions]; - [_modalManager dismissAllModalsAnimated:[options.animations.dismissModal.enable getWithDefaultValue:YES] completion:nil]; + [_modalManager dismissAllModalsAnimated:[options.animations.dismissModal.enable getWithDefaultValue:YES] completion:completion]; [CATransaction commit]; }