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..52b53d8 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 + } } }); } diff --git a/node_modules/react-native-navigation/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/modal/ModalStack.java b/node_modules/react-native-navigation/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/modal/ModalStack.java index f60119e..4c46e8c 100644 --- a/node_modules/react-native-navigation/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/modal/ModalStack.java +++ b/node_modules/react-native-navigation/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/modal/ModalStack.java @@ -84,6 +84,7 @@ public class ModalStack { public void dismissAllModals(ViewController root, Options mergeOptions, CommandListener listener) { if (modals.isEmpty()) { + listener.onSuccess(""); return; } String topModalId = peek().getId(); 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]; }