diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/picker/ReactPickerManager.java b/ReactAndroid/src/main/java/com/facebook/react/views/picker/ReactPickerManager.java index ffc46232aa9..3927dc86d37 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/picker/ReactPickerManager.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/picker/ReactPickerManager.java @@ -91,7 +91,9 @@ public abstract class ReactPickerManager extends SimpleViewManager @Override public void onItemSelected(int position) { - mEventDispatcher.dispatchEvent(new PickerItemSelectEvent(mReactPicker.getId(), position)); + mEventDispatcher.dispatchEvent( + new PickerItemSelectEvent( + UIManagerHelper.getSurfaceId(mReactPicker), mReactPicker.getId(), position)); } } } diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/picker/events/PickerItemSelectEvent.java b/ReactAndroid/src/main/java/com/facebook/react/views/picker/events/PickerItemSelectEvent.java index c64ccda134a..445b0cbec38 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/picker/events/PickerItemSelectEvent.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/picker/events/PickerItemSelectEvent.java @@ -7,18 +7,23 @@ package com.facebook.react.views.picker.events; +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; public class PickerItemSelectEvent extends Event { public static final String EVENT_NAME = "topSelect"; private final int mPosition; - public PickerItemSelectEvent(int id, int position) { - super(id); + @Deprecated + public PickerItemSelectEvent(int reactTag, int position) { + this(-1, reactTag, position); + } + + public PickerItemSelectEvent(int surfaceId, int reactTag, int position) { + super(surfaceId, reactTag); mPosition = position; } @@ -27,12 +32,9 @@ public class PickerItemSelectEvent extends Event { return EVENT_NAME; } + @Nullable @Override - public void dispatch(RCTEventEmitter rctEventEmitter) { - rctEventEmitter.receiveEvent(getViewTag(), getEventName(), serializeEventData()); - } - - private WritableMap serializeEventData() { + protected WritableMap getEventData() { WritableMap eventData = Arguments.createMap(); eventData.putInt("position", mPosition); return eventData;