mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
Support RCTModernEventEmitter in for ReactTextInput* Event classes
Summary: Support RCTEventEmitterV2 in ReactTextInput*Event classes for optimal Fabric perf. Backwards-compatible with non-Fabric renderer. Changelog: [Changed][Android] Old native ReactTextInput*Event creation APIs have changed, and will be removed in the (distant) future. The old methods will work for now with minor perf implications for Fabric. Reviewed By: mdvacca Differential Revision: D26031261 fbshipit-source-id: 7c972ecfd1e395104c4639995bb5ecc5f7c6baae
This commit is contained in:
committed by
Facebook GitHub Bot
parent
ddabf3fd56
commit
ee10932e26
+14
-1
@@ -11,6 +11,7 @@ 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 content size changes. */
|
||||
public class ReactContentSizeChangedEvent extends Event<ReactTextChangedEvent> {
|
||||
@@ -20,8 +21,14 @@ public class ReactContentSizeChangedEvent extends Event<ReactTextChangedEvent> {
|
||||
private float mContentWidth;
|
||||
private float mContentHeight;
|
||||
|
||||
@Deprecated
|
||||
public ReactContentSizeChangedEvent(int viewId, float contentSizeWidth, float contentSizeHeight) {
|
||||
super(viewId);
|
||||
this(-1, viewId, contentSizeWidth, contentSizeHeight);
|
||||
}
|
||||
|
||||
public ReactContentSizeChangedEvent(
|
||||
int surfaceId, int viewId, float contentSizeWidth, float contentSizeHeight) {
|
||||
super(surfaceId, viewId);
|
||||
mContentWidth = contentSizeWidth;
|
||||
mContentHeight = contentSizeHeight;
|
||||
}
|
||||
@@ -36,6 +43,12 @@ public class ReactContentSizeChangedEvent extends Event<ReactTextChangedEvent> {
|
||||
rctEventEmitter.receiveEvent(getViewTag(), getEventName(), serializeEventData());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void dispatchV2(RCTModernEventEmitter rctEventEmitter) {
|
||||
rctEventEmitter.receiveEvent(
|
||||
getSurfaceId(), getViewTag(), getEventName(), serializeEventData());
|
||||
}
|
||||
|
||||
private WritableMap serializeEventData() {
|
||||
WritableMap eventData = Arguments.createMap();
|
||||
|
||||
|
||||
+13
-1
@@ -11,6 +11,7 @@ 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 text changes. VisibleForTesting from {@link
|
||||
@@ -23,8 +24,13 @@ public class ReactTextChangedEvent extends Event<ReactTextChangedEvent> {
|
||||
private String mText;
|
||||
private int mEventCount;
|
||||
|
||||
@Deprecated
|
||||
public ReactTextChangedEvent(int viewId, String text, int eventCount) {
|
||||
super(viewId);
|
||||
this(-1, viewId, text, eventCount);
|
||||
}
|
||||
|
||||
public ReactTextChangedEvent(int surfaceId, int viewId, String text, int eventCount) {
|
||||
super(surfaceId, viewId);
|
||||
mText = text;
|
||||
mEventCount = eventCount;
|
||||
}
|
||||
@@ -39,6 +45,12 @@ public class ReactTextChangedEvent extends Event<ReactTextChangedEvent> {
|
||||
rctEventEmitter.receiveEvent(getViewTag(), getEventName(), serializeEventData());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void dispatchV2(RCTModernEventEmitter rctEventEmitter) {
|
||||
rctEventEmitter.receiveEvent(
|
||||
getSurfaceId(), getViewTag(), getEventName(), serializeEventData());
|
||||
}
|
||||
|
||||
private WritableMap serializeEventData() {
|
||||
WritableMap eventData = Arguments.createMap();
|
||||
eventData.putString("text", mText);
|
||||
|
||||
+13
-1
@@ -11,14 +11,20 @@ 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 loses focus. */
|
||||
/* package */ class ReactTextInputBlurEvent extends Event<ReactTextInputBlurEvent> {
|
||||
|
||||
private static final String EVENT_NAME = "topBlur";
|
||||
|
||||
@Deprecated
|
||||
public ReactTextInputBlurEvent(int viewId) {
|
||||
super(viewId);
|
||||
this(-1, viewId);
|
||||
}
|
||||
|
||||
public ReactTextInputBlurEvent(int surfaceId, int viewId) {
|
||||
super(surfaceId, viewId);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -36,6 +42,12 @@ import com.facebook.react.uimanager.events.RCTEventEmitter;
|
||||
rctEventEmitter.receiveEvent(getViewTag(), getEventName(), serializeEventData());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void dispatchV2(RCTModernEventEmitter rctEventEmitter) {
|
||||
rctEventEmitter.receiveEvent(
|
||||
getSurfaceId(), getViewTag(), getEventName(), serializeEventData());
|
||||
}
|
||||
|
||||
private WritableMap serializeEventData() {
|
||||
WritableMap eventData = Arguments.createMap();
|
||||
eventData.putInt("target", getViewTag());
|
||||
|
||||
+13
-1
@@ -11,6 +11,7 @@ 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 text editing ends, because of the user leaving the
|
||||
@@ -22,8 +23,13 @@ class ReactTextInputEndEditingEvent extends Event<ReactTextInputEndEditingEvent>
|
||||
|
||||
private String mText;
|
||||
|
||||
@Deprecated
|
||||
public ReactTextInputEndEditingEvent(int viewId, String text) {
|
||||
super(viewId);
|
||||
this(-1, viewId, text);
|
||||
}
|
||||
|
||||
public ReactTextInputEndEditingEvent(int surfaceId, int viewId, String text) {
|
||||
super(surfaceId, viewId);
|
||||
mText = text;
|
||||
}
|
||||
|
||||
@@ -42,6 +48,12 @@ class ReactTextInputEndEditingEvent extends Event<ReactTextInputEndEditingEvent>
|
||||
rctEventEmitter.receiveEvent(getViewTag(), getEventName(), serializeEventData());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void dispatchV2(RCTModernEventEmitter rctEventEmitter) {
|
||||
rctEventEmitter.receiveEvent(
|
||||
getSurfaceId(), getViewTag(), getEventName(), serializeEventData());
|
||||
}
|
||||
|
||||
private WritableMap serializeEventData() {
|
||||
WritableMap eventData = Arguments.createMap();
|
||||
eventData.putInt("target", getViewTag());
|
||||
|
||||
+14
-1
@@ -11,6 +11,7 @@ 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 text changes. VisibleForTesting from {@link
|
||||
@@ -25,9 +26,15 @@ public class ReactTextInputEvent extends Event<ReactTextInputEvent> {
|
||||
private int mRangeStart;
|
||||
private int mRangeEnd;
|
||||
|
||||
@Deprecated
|
||||
public ReactTextInputEvent(
|
||||
int viewId, String text, String previousText, int rangeStart, int rangeEnd) {
|
||||
super(viewId);
|
||||
this(-1, viewId, text, previousText, rangeStart, rangeEnd);
|
||||
}
|
||||
|
||||
public ReactTextInputEvent(
|
||||
int surfaceId, int viewId, String text, String previousText, int rangeStart, int rangeEnd) {
|
||||
super(surfaceId, viewId);
|
||||
mText = text;
|
||||
mPreviousText = previousText;
|
||||
mRangeStart = rangeStart;
|
||||
@@ -50,6 +57,12 @@ public class ReactTextInputEvent extends Event<ReactTextInputEvent> {
|
||||
rctEventEmitter.receiveEvent(getViewTag(), getEventName(), serializeEventData());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void dispatchV2(RCTModernEventEmitter rctEventEmitter) {
|
||||
rctEventEmitter.receiveEvent(
|
||||
getSurfaceId(), getViewTag(), getEventName(), serializeEventData());
|
||||
}
|
||||
|
||||
private WritableMap serializeEventData() {
|
||||
WritableMap eventData = Arguments.createMap();
|
||||
WritableMap range = Arguments.createMap();
|
||||
|
||||
+13
-1
@@ -11,14 +11,20 @@ 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> {
|
||||
|
||||
private static final String EVENT_NAME = "topFocus";
|
||||
|
||||
@Deprecated
|
||||
public ReactTextInputFocusEvent(int viewId) {
|
||||
super(viewId);
|
||||
this(-1, viewId);
|
||||
}
|
||||
|
||||
public ReactTextInputFocusEvent(int surfaceId, int viewId) {
|
||||
super(surfaceId, viewId);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -36,6 +42,12 @@ import com.facebook.react.uimanager.events.RCTEventEmitter;
|
||||
rctEventEmitter.receiveEvent(getViewTag(), getEventName(), serializeEventData());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void dispatchV2(RCTModernEventEmitter rctEventEmitter) {
|
||||
rctEventEmitter.receiveEvent(
|
||||
getSurfaceId(), getViewTag(), getEventName(), serializeEventData());
|
||||
}
|
||||
|
||||
private WritableMap serializeEventData() {
|
||||
WritableMap eventData = Arguments.createMap();
|
||||
eventData.putInt("target", getViewTag());
|
||||
|
||||
+13
-1
@@ -11,6 +11,7 @@ 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 key pressed */
|
||||
public class ReactTextInputKeyPressEvent extends Event<ReactTextInputEvent> {
|
||||
@@ -19,8 +20,13 @@ public class ReactTextInputKeyPressEvent extends Event<ReactTextInputEvent> {
|
||||
|
||||
private String mKey;
|
||||
|
||||
@Deprecated
|
||||
ReactTextInputKeyPressEvent(int viewId, final String key) {
|
||||
super(viewId);
|
||||
this(-1, viewId, key);
|
||||
}
|
||||
|
||||
ReactTextInputKeyPressEvent(int surfaceId, int viewId, final String key) {
|
||||
super(surfaceId, viewId);
|
||||
mKey = key;
|
||||
}
|
||||
|
||||
@@ -40,6 +46,12 @@ public class ReactTextInputKeyPressEvent extends Event<ReactTextInputEvent> {
|
||||
rctEventEmitter.receiveEvent(getViewTag(), getEventName(), serializeEventData());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void dispatchV2(RCTModernEventEmitter rctEventEmitter) {
|
||||
rctEventEmitter.receiveEvent(
|
||||
getSurfaceId(), getViewTag(), getEventName(), serializeEventData());
|
||||
}
|
||||
|
||||
private WritableMap serializeEventData() {
|
||||
WritableMap eventData = Arguments.createMap();
|
||||
eventData.putString("key", mKey);
|
||||
|
||||
+27
-9
@@ -897,12 +897,14 @@ public class ReactTextInputManager extends BaseViewManager<ReactEditText, Layout
|
||||
private EventDispatcher mEventDispatcher;
|
||||
private ReactEditText mEditText;
|
||||
private String mPreviousText;
|
||||
private int mSurfaceId;
|
||||
|
||||
public ReactTextInputTextWatcher(
|
||||
final ReactContext reactContext, final ReactEditText editText) {
|
||||
mEventDispatcher = getEventDispatcher(reactContext, editText);
|
||||
mEditText = editText;
|
||||
mPreviousText = null;
|
||||
mSurfaceId = UIManagerHelper.getSurfaceId(reactContext);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -955,10 +957,14 @@ public class ReactTextInputManager extends BaseViewManager<ReactEditText, Layout
|
||||
// TODO: t7936714 merge these events
|
||||
mEventDispatcher.dispatchEvent(
|
||||
new ReactTextChangedEvent(
|
||||
mEditText.getId(), s.toString(), mEditText.incrementAndGetEventCounter()));
|
||||
mSurfaceId,
|
||||
mEditText.getId(),
|
||||
s.toString(),
|
||||
mEditText.incrementAndGetEventCounter()));
|
||||
|
||||
mEventDispatcher.dispatchEvent(
|
||||
new ReactTextInputEvent(mEditText.getId(), newText, oldText, start, start + before));
|
||||
new ReactTextInputEvent(
|
||||
mSurfaceId, mEditText.getId(), newText, oldText, start, start + before));
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -973,15 +979,18 @@ public class ReactTextInputManager extends BaseViewManager<ReactEditText, Layout
|
||||
editText.setOnFocusChangeListener(
|
||||
new View.OnFocusChangeListener() {
|
||||
public void onFocusChange(View v, boolean hasFocus) {
|
||||
int surfaceId = reactContext.getSurfaceId();
|
||||
EventDispatcher eventDispatcher = getEventDispatcher(reactContext, editText);
|
||||
if (hasFocus) {
|
||||
eventDispatcher.dispatchEvent(new ReactTextInputFocusEvent(editText.getId()));
|
||||
eventDispatcher.dispatchEvent(
|
||||
new ReactTextInputFocusEvent(surfaceId, editText.getId()));
|
||||
} else {
|
||||
eventDispatcher.dispatchEvent(new ReactTextInputBlurEvent(editText.getId()));
|
||||
eventDispatcher.dispatchEvent(
|
||||
new ReactTextInputBlurEvent(surfaceId, editText.getId()));
|
||||
|
||||
eventDispatcher.dispatchEvent(
|
||||
new ReactTextInputEndEditingEvent(
|
||||
editText.getId(), editText.getText().toString()));
|
||||
surfaceId, editText.getId(), editText.getText().toString()));
|
||||
}
|
||||
}
|
||||
});
|
||||
@@ -1006,7 +1015,9 @@ public class ReactTextInputManager extends BaseViewManager<ReactEditText, Layout
|
||||
EventDispatcher eventDispatcher = getEventDispatcher(reactContext, editText);
|
||||
eventDispatcher.dispatchEvent(
|
||||
new ReactTextInputSubmitEditingEvent(
|
||||
editText.getId(), editText.getText().toString()));
|
||||
reactContext.getSurfaceId(),
|
||||
editText.getId(),
|
||||
editText.getText().toString()));
|
||||
|
||||
if (blurOnSubmit) {
|
||||
editText.clearFocus();
|
||||
@@ -1039,11 +1050,13 @@ public class ReactTextInputManager extends BaseViewManager<ReactEditText, Layout
|
||||
private @Nullable EventDispatcher mEventDispatcher;
|
||||
private int mPreviousContentWidth = 0;
|
||||
private int mPreviousContentHeight = 0;
|
||||
private int mSurfaceId;
|
||||
|
||||
public ReactContentSizeWatcher(ReactEditText editText) {
|
||||
mEditText = editText;
|
||||
ReactContext reactContext = getReactContext(editText);
|
||||
mEventDispatcher = getEventDispatcher(reactContext, editText);
|
||||
mSurfaceId = UIManagerHelper.getSurfaceId(reactContext);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -1073,6 +1086,7 @@ public class ReactTextInputManager extends BaseViewManager<ReactEditText, Layout
|
||||
|
||||
mEventDispatcher.dispatchEvent(
|
||||
new ReactContentSizeChangedEvent(
|
||||
mSurfaceId,
|
||||
mEditText.getId(),
|
||||
PixelUtil.toDIPFromPixel(contentWidth),
|
||||
PixelUtil.toDIPFromPixel(contentHeight)));
|
||||
@@ -1086,12 +1100,14 @@ public class ReactTextInputManager extends BaseViewManager<ReactEditText, Layout
|
||||
private EventDispatcher mEventDispatcher;
|
||||
private int mPreviousSelectionStart;
|
||||
private int mPreviousSelectionEnd;
|
||||
private int mSurfaceId;
|
||||
|
||||
public ReactSelectionWatcher(ReactEditText editText) {
|
||||
mReactEditText = editText;
|
||||
|
||||
ReactContext reactContext = getReactContext(editText);
|
||||
mEventDispatcher = getEventDispatcher(reactContext, editText);
|
||||
mSurfaceId = UIManagerHelper.getSurfaceId(reactContext);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -1107,7 +1123,8 @@ public class ReactTextInputManager extends BaseViewManager<ReactEditText, Layout
|
||||
|
||||
if (mPreviousSelectionStart != realStart || mPreviousSelectionEnd != realEnd) {
|
||||
mEventDispatcher.dispatchEvent(
|
||||
new ReactTextInputSelectionEvent(mReactEditText.getId(), realStart, realEnd));
|
||||
new ReactTextInputSelectionEvent(
|
||||
mSurfaceId, mReactEditText.getId(), realStart, realEnd));
|
||||
|
||||
mPreviousSelectionStart = realStart;
|
||||
mPreviousSelectionEnd = realEnd;
|
||||
@@ -1121,20 +1138,21 @@ public class ReactTextInputManager extends BaseViewManager<ReactEditText, Layout
|
||||
private EventDispatcher mEventDispatcher;
|
||||
private int mPreviousHoriz;
|
||||
private int mPreviousVert;
|
||||
private int mSurfaceId;
|
||||
|
||||
public ReactScrollWatcher(ReactEditText editText) {
|
||||
mReactEditText = editText;
|
||||
ReactContext reactContext = getReactContext(editText);
|
||||
mEventDispatcher = getEventDispatcher(reactContext, editText);
|
||||
mSurfaceId = UIManagerHelper.getSurfaceId(reactContext);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onScrollChanged(int horiz, int vert, int oldHoriz, int oldVert) {
|
||||
if (mPreviousHoriz != horiz || mPreviousVert != vert) {
|
||||
int surfaceId = UIManagerHelper.getSurfaceId(mReactEditText);
|
||||
ScrollEvent event =
|
||||
ScrollEvent.obtain(
|
||||
surfaceId,
|
||||
mSurfaceId,
|
||||
mReactEditText.getId(),
|
||||
ScrollEventType.SCROLL,
|
||||
horiz,
|
||||
|
||||
+14
-1
@@ -11,6 +11,7 @@ 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 the text selection changes. */
|
||||
/* package */ class ReactTextInputSelectionEvent extends Event<ReactTextInputSelectionEvent> {
|
||||
@@ -20,8 +21,14 @@ import com.facebook.react.uimanager.events.RCTEventEmitter;
|
||||
private int mSelectionStart;
|
||||
private int mSelectionEnd;
|
||||
|
||||
@Deprecated
|
||||
public ReactTextInputSelectionEvent(int viewId, int selectionStart, int selectionEnd) {
|
||||
super(viewId);
|
||||
this(-1, viewId, selectionStart, selectionEnd);
|
||||
}
|
||||
|
||||
public ReactTextInputSelectionEvent(
|
||||
int surfaceId, int viewId, int selectionStart, int selectionEnd) {
|
||||
super(surfaceId, viewId);
|
||||
mSelectionStart = selectionStart;
|
||||
mSelectionEnd = selectionEnd;
|
||||
}
|
||||
@@ -36,6 +43,12 @@ import com.facebook.react.uimanager.events.RCTEventEmitter;
|
||||
rctEventEmitter.receiveEvent(getViewTag(), getEventName(), serializeEventData());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void dispatchV2(RCTModernEventEmitter rctEventEmitter) {
|
||||
rctEventEmitter.receiveEvent(
|
||||
getSurfaceId(), getViewTag(), getEventName(), serializeEventData());
|
||||
}
|
||||
|
||||
private WritableMap serializeEventData() {
|
||||
WritableMap eventData = Arguments.createMap();
|
||||
|
||||
|
||||
+13
-1
@@ -11,6 +11,7 @@ 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 the user submits the text. */
|
||||
/* package */ class ReactTextInputSubmitEditingEvent
|
||||
@@ -20,8 +21,13 @@ import com.facebook.react.uimanager.events.RCTEventEmitter;
|
||||
|
||||
private String mText;
|
||||
|
||||
@Deprecated
|
||||
public ReactTextInputSubmitEditingEvent(int viewId, String text) {
|
||||
super(viewId);
|
||||
this(-1, viewId, text);
|
||||
}
|
||||
|
||||
public ReactTextInputSubmitEditingEvent(int surfaceId, int viewId, String text) {
|
||||
super(surfaceId, viewId);
|
||||
mText = text;
|
||||
}
|
||||
|
||||
@@ -40,6 +46,12 @@ import com.facebook.react.uimanager.events.RCTEventEmitter;
|
||||
rctEventEmitter.receiveEvent(getViewTag(), getEventName(), serializeEventData());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void dispatchV2(RCTModernEventEmitter rctEventEmitter) {
|
||||
rctEventEmitter.receiveEvent(
|
||||
getSurfaceId(), getViewTag(), getEventName(), serializeEventData());
|
||||
}
|
||||
|
||||
private WritableMap serializeEventData() {
|
||||
WritableMap eventData = Arguments.createMap();
|
||||
eventData.putInt("target", getViewTag());
|
||||
|
||||
Reference in New Issue
Block a user