Support RCTModernEventEmitter+RCTEventEmitter in ReactTextInputFocusEvent Event class

Summary:
Support RCTModernEventEmitter+RCTEventEmitter in an Event class(es). This improves perf in Fabric. Migrate any constructor callsites to the new constructor and deprecate the previous one.

Changelog: [Internal]

Reviewed By: PeteTheHeat, mdvacca

Differential Revision: D26056685

fbshipit-source-id: a9abb451e62c9e378b0a5667fa4c5f82952bd02b
This commit is contained in:
Joshua Gross
2021-01-28 14:01:07 -08:00
committed by Facebook GitHub Bot
parent a5a94ce786
commit 8e2b45fe79
@@ -7,11 +7,10 @@
package com.facebook.react.views.textinput;
import androidx.annotation.Nullable;
import com.facebook.react.bridge.Arguments;
import com.facebook.react.bridge.WritableMap;
import com.facebook.react.uimanager.events.Event;
import com.facebook.react.uimanager.events.RCTEventEmitter;
import com.facebook.react.uimanager.events.RCTModernEventEmitter;
/** Event emitted by EditText native view when it receives focus. */
/* package */ class ReactTextInputFocusEvent extends Event<ReactTextInputFocusEvent> {
@@ -32,25 +31,16 @@ import com.facebook.react.uimanager.events.RCTModernEventEmitter;
return EVENT_NAME;
}
@Nullable
@Override
public boolean canCoalesce() {
return false;
}
@Override
public void dispatch(RCTEventEmitter rctEventEmitter) {
rctEventEmitter.receiveEvent(getViewTag(), getEventName(), serializeEventData());
}
@Override
public void dispatchModern(RCTModernEventEmitter rctEventEmitter) {
rctEventEmitter.receiveEvent(
getSurfaceId(), getViewTag(), getEventName(), serializeEventData());
}
private WritableMap serializeEventData() {
protected WritableMap getEventData() {
WritableMap eventData = Arguments.createMap();
eventData.putInt("target", getViewTag());
return eventData;
}
@Override
public boolean canCoalesce() {
return false;
}
}