diff --git a/Libraries/NativeAnimation/RCTNativeAnimatedModule.m b/Libraries/NativeAnimation/RCTNativeAnimatedModule.m index 75357f6d679761..819d3937e99bc8 100644 --- a/Libraries/NativeAnimation/RCTNativeAnimatedModule.m +++ b/Libraries/NativeAnimation/RCTNativeAnimatedModule.m @@ -322,11 +322,11 @@ - (void)animatedNode:(RCTValueAnimatedNode *)node didUpdateValue:(CGFloat)value body:@{@"tag": node.nodeTag, @"value": @(value)}]; } -- (BOOL)eventDispatcherWillDispatchEvent:(id)event +- (void)eventDispatcherWillDispatchEvent:(id)event { // Native animated events only work for events dispatched from the main queue. if (!RCTIsMainQueue() || _eventAnimationDrivers.count == 0) { - return NO; + return; } NSString *key = [NSString stringWithFormat:@"%@%@", event.viewTag, event.eventName]; @@ -336,11 +336,7 @@ - (BOOL)eventDispatcherWillDispatchEvent:(id)event [driver updateWithEvent:event]; [self updateViewsProps]; [driver.valueNode cleanupAnimationUpdate]; - - return YES; } - - return NO; } - (void)updateViewsProps diff --git a/React/Base/RCTEventDispatcher.h b/React/Base/RCTEventDispatcher.h index b6a4d41bfd98b7..e65fd00343874b 100644 --- a/React/Base/RCTEventDispatcher.h +++ b/React/Base/RCTEventDispatcher.h @@ -58,10 +58,9 @@ RCT_EXTERN NSString *RCTNormalizeInputEventName(NSString *eventName); /** * Called before dispatching an event, on the same thread the event was - * dispatched from. Return YES if the event was handled and must not be - * sent to JS. + * dispatched from. */ -- (BOOL)eventDispatcherWillDispatchEvent:(id)event; +- (void)eventDispatcherWillDispatchEvent:(id)event; @end diff --git a/React/Base/RCTEventDispatcher.m b/React/Base/RCTEventDispatcher.m index 381aa265c589f4..8e9228049f88ab 100644 --- a/React/Base/RCTEventDispatcher.m +++ b/React/Base/RCTEventDispatcher.m @@ -146,19 +146,12 @@ - (void)sendEvent:(id)event { [_observersLock lock]; - BOOL eventHandled = NO; for (id observer in _observers) { - if ([observer eventDispatcherWillDispatchEvent:event]) { - eventHandled = YES; - } + [observer eventDispatcherWillDispatchEvent:event]; } [_observersLock unlock]; - if (eventHandled) { - return; - } - [_eventQueueLock lock]; NSNumber *eventID = RCTGetEventID(event); diff --git a/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedNodesManager.java b/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedNodesManager.java index 64f44d1285a08f..c59b60cc79e315 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedNodesManager.java +++ b/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedNodesManager.java @@ -314,10 +314,10 @@ public void removeAnimatedEventFromView(int viewTag, String eventName) { } @Override - public boolean onEventDispatch(Event event) { + public void onEventDispatch(Event event) { // Only support events dispatched from the UI thread. if (!UiThreadUtil.isOnUiThread()) { - return false; + return; } if (!mEventDrivers.isEmpty()) { @@ -332,11 +332,8 @@ public boolean onEventDispatch(Event event) { if (eventDriver != null) { event.dispatch(eventDriver); mUpdatedNodes.put(eventDriver.mValueNode.mTag, eventDriver.mValueNode); - return true; } } - - return false; } /** diff --git a/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcher.java b/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcher.java index ade36a58ca97c9..619ed445a14d95 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcher.java +++ b/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcher.java @@ -114,16 +114,8 @@ public EventDispatcher(ReactApplicationContext reactContext) { public void dispatchEvent(Event event) { Assertions.assertCondition(event.isInitialized(), "Dispatched event hasn't been initialized"); - boolean eventHandled = false; for (EventDispatcherListener listener : mListeners) { - if (listener.onEventDispatch(event)) { - eventHandled = true; - } - } - - // If the event was handled by one of the event listener don't send it to JS. - if (eventHandled) { - return; + listener.onEventDispatch(event); } synchronized (mEventsStagingLock) { diff --git a/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcherListener.java b/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcherListener.java index 20a9940e9a3a86..a3e3298eef5943 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcherListener.java +++ b/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcherListener.java @@ -10,7 +10,6 @@ public interface EventDispatcherListener { * Called on every time an event is dispatched using {#link EventDispatcher#dispatchEvent}. Will be * called from the same thread that the event is being dispatched from. * @param event Event that was dispatched - * @return If the event was handled. If true the event won't be sent to JS. */ - boolean onEventDispatch(Event event); + void onEventDispatch(Event event); }