Support RCTModernEventEmitter+RCTEventEmitter in ReactAccessibilityDelegate.Anonymous Event class

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

Changelog: [Internal]

Reviewed By: mdvacca

Differential Revision: D26043393

fbshipit-source-id: b126658d818a18b7ffb2794de8e59a49c0e3d258
This commit is contained in:
Joshua Gross
2021-01-28 14:01:07 -08:00
committed by Facebook GitHub Bot
parent 72d0ddc16f
commit 46df827c7e
@@ -35,7 +35,6 @@ import com.facebook.react.bridge.UIManager;
import com.facebook.react.bridge.WritableMap;
import com.facebook.react.uimanager.events.Event;
import com.facebook.react.uimanager.events.EventDispatcher;
import com.facebook.react.uimanager.events.RCTEventEmitter;
import java.util.HashMap;
/**
@@ -295,20 +294,21 @@ public class ReactAccessibilityDelegate extends AccessibilityDelegateCompat {
ReactContext reactContext = (ReactContext) host.getContext();
if (reactContext.hasActiveCatalystInstance()) {
final int reactTag = host.getId();
final int surfaceId = UIManagerHelper.getSurfaceId(reactContext);
UIManager uiManager = UIManagerHelper.getUIManager(reactContext, reactTag);
if (uiManager != null) {
uiManager
.<EventDispatcher>getEventDispatcher()
.dispatchEvent(
new Event(reactTag) {
new Event(surfaceId, reactTag) {
@Override
public String getEventName() {
return TOP_ACCESSIBILITY_ACTION_EVENT;
}
@Override
public void dispatch(RCTEventEmitter rctEventEmitter) {
rctEventEmitter.receiveEvent(reactTag, TOP_ACCESSIBILITY_ACTION_EVENT, event);
protected WritableMap getEventData() {
return event;
}
});
}