Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -25,17 +25,17 @@ internal class EventAnimationDriver(
@JvmField internal var valueNode: ValueAnimatedNode
) : RCTModernEventEmitter {
@Deprecated("Deprecated in Java")
override fun receiveEvent(targetReactTag: Int, eventName: String, event: WritableMap?) =
receiveEvent(-1, targetReactTag, eventName, event)
override fun receiveEvent(targetTag: Int, eventName: String, params: WritableMap?) =
receiveEvent(-1, targetTag, eventName, params)

override fun receiveEvent(
surfaceId: Int,
targetTag: Int,
eventName: String,
event: WritableMap?
params: WritableMap?
) =
// We assume this event can't be coalesced. `customCoalesceKey` has no meaning in Fabric.
receiveEvent(surfaceId, targetTag, eventName, false, 0, event, EventCategoryDef.UNSPECIFIED)
receiveEvent(surfaceId, targetTag, eventName, false, 0, params, EventCategoryDef.UNSPECIFIED)

@Deprecated("Deprecated in Java")
override fun receiveTouches(
Expand All @@ -47,7 +47,7 @@ internal class EventAnimationDriver(
}

@Deprecated("Deprecated in Java")
override fun receiveTouches(touchEvent: TouchEvent) {
override fun receiveTouches(event: TouchEvent) {
throw UnsupportedOperationException("receiveTouches is not support by native animated events")
}

Expand All @@ -57,13 +57,13 @@ internal class EventAnimationDriver(
eventName: String,
canCoalesceEvent: Boolean,
customCoalesceKey: Int,
event: WritableMap?,
params: WritableMap?,
@EventCategoryDef category: Int
) {
requireNotNull(event) { "Native animated events must have event data." }
requireNotNull(params) { "Native animated events must have event data." }

// Get the new value for the node by looking into the event map using the provided event path.
var currMap: ReadableMap? = event
var currMap: ReadableMap? = params
var currArray: ReadableArray? = null
for (i in 0 until eventPath.size - 1) {
if (currMap != null) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,22 +18,22 @@ import com.facebook.systrace.Systrace

public class FabricEventEmitter(private val uiManager: FabricUIManager) : RCTModernEventEmitter {
@Deprecated("Deprecated in Java")
public override fun receiveEvent(reactTag: Int, eventName: String, params: WritableMap?): Unit {
receiveEvent(ViewUtil.NO_SURFACE_ID, reactTag, eventName, params)
public override fun receiveEvent(targetTag: Int, eventName: String, params: WritableMap?): Unit {
receiveEvent(ViewUtil.NO_SURFACE_ID, targetTag, eventName, params)
}

public override fun receiveEvent(
surfaceId: Int,
reactTag: Int,
targetTag: Int,
eventName: String,
params: WritableMap?
) {
receiveEvent(surfaceId, reactTag, eventName, false, 0, params, EventCategoryDef.UNSPECIFIED)
receiveEvent(surfaceId, targetTag, eventName, false, 0, params, EventCategoryDef.UNSPECIFIED)
}

public override fun receiveEvent(
surfaceId: Int,
reactTag: Int,
targetTag: Int,
eventName: String,
canCoalesceEvent: Boolean,
customCoalesceKey: Int,
Expand All @@ -43,7 +43,7 @@ public class FabricEventEmitter(private val uiManager: FabricUIManager) : RCTMod
Systrace.beginSection(
Systrace.TRACE_TAG_REACT_JAVA_BRIDGE, "FabricEventEmitter.receiveEvent('$eventName')")
try {
uiManager.receiveEvent(surfaceId, reactTag, eventName, canCoalesceEvent, params, category)
uiManager.receiveEvent(surfaceId, targetTag, eventName, canCoalesceEvent, params, category)
} finally {
Systrace.endSection(Systrace.TRACE_TAG_REACT_JAVA_BRIDGE)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,12 +31,12 @@ public class InteropEventEmitter(private val reactContext: ReactContext) : RCTEv
private var eventDispatcherOverride: EventDispatcher? = null

@Deprecated("Deprecated in Java")
override fun receiveEvent(targetReactTag: Int, eventName: String, eventData: WritableMap?) {
override fun receiveEvent(targetTag: Int, eventName: String, params: WritableMap?) {
val dispatcher: EventDispatcher? =
eventDispatcherOverride
?: UIManagerHelper.getEventDispatcherForReactTag(reactContext, targetReactTag)
?: UIManagerHelper.getEventDispatcherForReactTag(reactContext, targetTag)
val surfaceId = UIManagerHelper.getSurfaceId(reactContext)
dispatcher?.dispatchEvent(InteropEvent(eventName, eventData, surfaceId, targetReactTag))
dispatcher?.dispatchEvent(InteropEvent(eventName, params, surfaceId, targetTag))
}

@Deprecated("Deprecated in Java")
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
/*
* Copyright (c) Meta Platforms, Inc. and affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/

package com.facebook.react.uimanager.events

import com.facebook.react.uimanager.common.UIManagerType

public interface EventDispatcher {
/** Sends the given Event to JS, coalescing eligible events if JS is backed up. */
public fun dispatchEvent(event: Event<*>)

public fun dispatchAllEvents()

/** Add a listener to this EventDispatcher. */
public fun addListener(listener: EventDispatcherListener)

/** Remove a listener from this EventDispatcher. */
public fun removeListener(listener: EventDispatcherListener)

public fun addBatchEventDispatchedListener(listener: BatchEventDispatchedListener)

public fun removeBatchEventDispatchedListener(listener: BatchEventDispatchedListener)

@Deprecated("Use the modern version with RCTModernEventEmitter")
@Suppress("DEPRECATION")
public fun registerEventEmitter(@UIManagerType uiManagerType: Int, eventEmitter: RCTEventEmitter)

public fun registerEventEmitter(
@UIManagerType uiManagerType: Int,
eventEmitter: RCTModernEventEmitter
)

public fun unregisterEventEmitter(@UIManagerType uiManagerType: Int)

public fun onCatalystInstanceDestroyed()
}
Loading