diff --git a/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventEmitterWrapper.java b/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventEmitterWrapper.java index 69d0e1c8a8a..7938b793c5d 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventEmitterWrapper.java +++ b/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventEmitterWrapper.java @@ -48,11 +48,13 @@ public class EventEmitterWrapper { * @param params {@link WritableMap} payload of the event */ public void invoke(@NonNull String eventName, @Nullable WritableMap params) { - if (!isValid()) { - return; + synchronized (mHybridData) { + if (!isValid()) { + return; + } + NativeMap payload = params == null ? new WritableNativeMap() : (NativeMap) params; + invokeEvent(eventName, payload); } - NativeMap payload = params == null ? new WritableNativeMap() : (NativeMap) params; - invokeEvent(eventName, payload); } /** @@ -64,16 +66,20 @@ public class EventEmitterWrapper { */ public void invokeUnique( @NonNull String eventName, @Nullable WritableMap params, int customCoalesceKey) { - if (!isValid()) { - return; + synchronized (mHybridData) { + if (!isValid()) { + return; + } + NativeMap payload = params == null ? new WritableNativeMap() : (NativeMap) params; + invokeUniqueEvent(eventName, payload, customCoalesceKey); } - NativeMap payload = params == null ? new WritableNativeMap() : (NativeMap) params; - invokeUniqueEvent(eventName, payload, customCoalesceKey); } public void destroy() { - if (mHybridData != null) { - mHybridData.resetNative(); + synchronized (mHybridData) { + if (mHybridData != null) { + mHybridData.resetNative(); + } } }