From 8e2b45fe79504ef1e5d11c00cec8490b95840d64 Mon Sep 17 00:00:00 2001 From: Joshua Gross Date: Thu, 28 Jan 2021 14:01:07 -0800 Subject: [PATCH] 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 --- .../textinput/ReactTextInputFocusEvent.java | 26 ++++++------------- 1 file changed, 8 insertions(+), 18 deletions(-) diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputFocusEvent.java b/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputFocusEvent.java index a1a1843e83c..61f7250e7cc 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputFocusEvent.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputFocusEvent.java @@ -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 { @@ -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; + } }