diff --git a/android/src/main/java/com/brentvatne/common/react/VideoEventEmitter.kt b/android/src/main/java/com/brentvatne/common/react/VideoEventEmitter.kt index 02b29226..fe469fca 100644 --- a/android/src/main/java/com/brentvatne/common/react/VideoEventEmitter.kt +++ b/android/src/main/java/com/brentvatne/common/react/VideoEventEmitter.kt @@ -288,12 +288,17 @@ class VideoEventEmitter { } } + private class VideoCustomEvent(surfaceId: Int, viewId: Int, private val event: EventTypes, private val paramsSetter: (WritableMap.() -> Unit)?) : + Event(surfaceId, viewId) { + + override fun getEventName(): String = "top${event.eventName.removePrefix("on")}" + + override fun getEventData(): WritableMap? = Arguments.createMap().apply(paramsSetter ?: {}) + } + private class EventBuilder(private val surfaceId: Int, private val viewId: Int, private val dispatcher: EventDispatcher) { fun dispatch(event: EventTypes, paramsSetter: (WritableMap.() -> Unit)? = null) = - dispatcher.dispatchEvent(object : Event>(surfaceId, viewId) { - override fun getEventName() = "top${event.eventName.removePrefix("on")}" - override fun getEventData() = Arguments.createMap().apply(paramsSetter ?: {}) - }) + dispatcher.dispatchEvent(VideoCustomEvent(surfaceId, viewId, event, paramsSetter)) } private fun audioTracksToArray(audioTracks: java.util.ArrayList?): WritableArray =