123456789101112131415161718192021222324252627282930313233343536373839404142 |
- package com.reactnativenavigation.bridge;
-
- import com.facebook.react.bridge.Arguments;
- import com.facebook.react.bridge.ReactContext;
- import com.facebook.react.bridge.WritableMap;
- import com.facebook.react.modules.core.DeviceEventManagerModule.RCTDeviceEventEmitter;
-
- public class NavigationReactEventEmitter {
-
- private static final String KEY_EVENT_ID = "id";
- private static final String KEY_EVENT_TYPE = "type";
- private static final String KEY_NAVIGATOR_EVENT_ID = "navigatorEventID";
- private static final String EVENT_TYPE = "NavBarButtonPress";
- private RCTDeviceEventEmitter eventEmitter;
-
- public NavigationReactEventEmitter(ReactContext reactContext) {
- this.eventEmitter = reactContext.getJSModule(RCTDeviceEventEmitter.class);
- }
-
- public void sendNavigatorEvent(String eventId, String navigatorEventId) {
- WritableMap data = Arguments.createMap();
- data.putString(KEY_EVENT_TYPE, EVENT_TYPE);
- data.putString(KEY_EVENT_ID, eventId);
- data.putString(KEY_NAVIGATOR_EVENT_ID, navigatorEventId);
- eventEmitter.emit(navigatorEventId, data);
- }
-
- public void sendNavigatorEvent(String eventId, String navigatorEventId, WritableMap data) {
- data.putString(KEY_NAVIGATOR_EVENT_ID, navigatorEventId);
- data.putString(KEY_EVENT_ID, eventId);
- eventEmitter.emit(navigatorEventId, data);
- }
-
- public void sendEvent(String eventId, String data) {
- eventEmitter.emit(eventId, data);
- }
-
- public void sendEvent(String eventId, WritableMap data) {
- eventEmitter.emit(eventId, data);
- }
- }
|