@@ -10,6 +10,8 @@ import android.text.style.ForegroundColorSpan
1010import android.view.*
1111import android.widget.PopupMenu
1212import com.facebook.react.bridge.*
13+ import com.facebook.react.uimanager.UIManagerHelper
14+ import com.facebook.react.uimanager.events.Event
1315import com.facebook.react.uimanager.events.RCTEventEmitter
1416import com.facebook.react.views.view.ReactViewGroup
1517import java.lang.reflect.Field
@@ -165,14 +167,14 @@ class MenuView(private val mContext: ReactContext): ReactViewGroup(mContext) {
165167 subMenuItem.setOnMenuItemClickListener {
166168 if (! it.hasSubMenu()) {
167169 mIsMenuDisplayed = false
168- val args: WritableMap = Arguments .createMap()
169170 if (! subactions.isNull(it.order)) {
170171 val selectedItem = subactions.getMap(it.order)
171- args.putString(" event" , selectedItem?.getString(" id" ))
172- args.putString(" target" , " $id " )
173- mContext
174- .getJSModule(RCTEventEmitter ::class .java)
175- .receiveEvent(id, " onPressAction" , args)
172+ val dispatcher =
173+ UIManagerHelper .getEventDispatcherForReactTag(mContext, id)
174+ val surfaceId: Int = UIManagerHelper .getSurfaceId(this )
175+ dispatcher?.dispatchEvent(
176+ MenuOnPressActionEvent (surfaceId, id, selectedItem.getString(" id" ), id)
177+ )
176178 }
177179 true
178180 } else {
@@ -210,14 +212,14 @@ class MenuView(private val mContext: ReactContext): ReactViewGroup(mContext) {
210212 menuItem.setOnMenuItemClickListener {
211213 if (! it.hasSubMenu()) {
212214 mIsMenuDisplayed = false
213- val args: WritableMap = Arguments .createMap()
214215 if (! mActions.isNull(it.order)) {
215216 val selectedItem = mActions.getMap(it.order)
216- args.putString(" event" , selectedItem?.getString(" id" ))
217- args.putString(" target" , " $id " )
218- mContext
219- .getJSModule(RCTEventEmitter ::class .java)
220- .receiveEvent(id, " onPressAction" , args)
217+ val dispatcher =
218+ UIManagerHelper .getEventDispatcherForReactTag(mContext, id)
219+ val surfaceId: Int = UIManagerHelper .getSurfaceId(this )
220+ dispatcher?.dispatchEvent(
221+ MenuOnPressActionEvent (surfaceId, id, selectedItem.getString(" id" ), id)
222+ )
221223 }
222224 true
223225 } else {
0 commit comments