Example usage for com.facebook.react.modules.core RCTNativeAppEventEmitter emit

List of usage examples for com.facebook.react.modules.core RCTNativeAppEventEmitter emit

Introduction

In this page you can find the example usage for com.facebook.react.modules.core RCTNativeAppEventEmitter emit.

Prototype

void emit(String eventName, @Nullable Object data);

Source Link

Usage

From source file:com.microsoft.c3p.reactnative.C3PReactModule.java

License:Open Source License

@ReactMethod
public void addStaticEventListener(String type, final String event, Promise promise) {
    final String registrationToken = Integer.valueOf(this.nextEventRegistrationToken.getAndIncrement())
            .toString();//from w  w w.ja va2s  . co  m
    final RCTNativeAppEventEmitter eventEmitter = this.getEventEmitter();
    Consumer<JavaScriptValue> eventListener = new Consumer<JavaScriptValue>() {
        @Override
        public void accept(JavaScriptValue eventObject) {
            WritableNativeMap eventMap = C3PReactModule.convertObjectResult(eventObject);
            eventEmitter.emit(event + ":" + registrationToken, eventMap);
        }
    };
    try {
        this.bridge.addStaticEventListener(type, event, eventListener);
        this.eventListenerMap.put(registrationToken, eventListener);
        promise.resolve(registrationToken);
    } catch (InvocationTargetException e) {
        promise.reject(e.getTargetException());
    }
}

From source file:com.microsoft.c3p.reactnative.C3PReactModule.java

License:Open Source License

@ReactMethod
public void addEventListener(ReadableMap instance, final String event, Promise promise) {
    final String registrationToken = Integer.valueOf(this.nextEventRegistrationToken.getAndIncrement())
            .toString();/*w  ww . j  a v  a 2s  .c o m*/
    final RCTNativeAppEventEmitter eventEmitter = this.getEventEmitter();
    Consumer<JavaScriptValue> eventListener = new Consumer<JavaScriptValue>() {
        @Override
        public void accept(JavaScriptValue eventObject) {
            WritableNativeMap eventMap = C3PReactModule.convertObjectResult(eventObject);
            eventEmitter.emit(event + ":" + registrationToken, eventMap);
        }
    };
    try {
        JavaScriptValue instanceAdapter = new ReadableMapAdapter(instance);
        this.bridge.addEventListener(instanceAdapter, event, eventListener);
        this.eventListenerMap.put(registrationToken, eventListener);
        promise.resolve(registrationToken);
    } catch (InvocationTargetException e) {
        promise.reject(e.getTargetException());
    }
}