mirror of
https://github.com/zoriya/react-native-video.git
synced 2026-05-27 08:32:32 +00:00
fix(android): create custom event class for dispatcher (#4575)
This commit is contained in:
@@ -288,12 +288,17 @@ class VideoEventEmitter {
|
||||
}
|
||||
}
|
||||
|
||||
private class VideoCustomEvent(surfaceId: Int, viewId: Int, private val event: EventTypes, private val paramsSetter: (WritableMap.() -> Unit)?) :
|
||||
Event<VideoCustomEvent>(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<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<Track>?): WritableArray =
|
||||
|
||||
Reference in New Issue
Block a user