package com.reactnativenavigation.bridge;
import com.facebook.react.bridge.Arguments;
import com.facebook.react.bridge.WritableMap;
import com.reactnativenavigation.NavigationApplication;
import com.reactnativenavigation.react.ReactGateway;
public class EventEmitter {
private ReactGateway reactGateway;
public EventEmitter(ReactGateway reactGateway) {
this.reactGateway = reactGateway;
}
public void sendScreenChangedEvent(String eventId, String navigatorEventId) {
WritableMap map = Arguments.createMap();
map.putString("type", "ScreenChangedEvent");
sendNavigatorEvent(eventId, navigatorEventId, map);
}
public void sendNavigatorEvent(String eventId, String navigatorEventId) {
if (!NavigationApplication.instance.isReactContextInitialized()) {
return;
}
reactGateway.getReactEventEmitter().sendNavigatorEvent(eventId, navigatorEventId);
}
public void sendNavigatorEvent(String eventId, String navigatorEventId, WritableMap data) {
if (!NavigationApplication.instance.isReactContextInitialized()) {
return;
}
reactGateway.getReactEventEmitter().sendNavigatorEvent(eventId, navigatorEventId, data);
}
public void sendEvent(String eventId, String navigatorEventId) {
if (!NavigationApplication.instance.isReactContextInitialized()) {
return;
}
reactGateway.getReactEventEmitter().sendEvent(eventId, navigatorEventId);
}
public void sendNavigatorEvent(String eventId, WritableMap arguments) {
if (!NavigationApplication.instance.isReactContextInitialized()) {
return;
}
reactGateway.getReactEventEmitter().sendEvent(eventId, arguments);
}
public void sendEvent(String eventId) {
if (!NavigationApplication.instance.isReactContextInitialized()) {
return;
}
reactGateway.getReactEventEmitter().sendEvent(eventId, Arguments.createMap());
}
}