From 1575e7ffe32419761186fc12ef659b9ea6a982ff Mon Sep 17 00:00:00 2001 From: Joshua Gross Date: Thu, 28 Jan 2021 14:01:07 -0800 Subject: [PATCH] Support RCTModernEventEmitter+RCTEventEmitter in ScrollEvent Event class Summary: Support RCTModernEventEmitter+RCTEventEmitter in an Event class(es). This improves perf in Fabric. Migrate any constructor callsites to the new constructor and deprecate the previous one. Changelog: [Internal] Reviewed By: PeteTheHeat, mdvacca Differential Revision: D26056720 fbshipit-source-id: f36a6caf4e748c915b66f66fd9b4cad6826ecacf --- .../react/views/scroll/ScrollEvent.java | 41 +++++++++++++------ 1 file changed, 28 insertions(+), 13 deletions(-) diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ScrollEvent.java b/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ScrollEvent.java index 3141aa5545..9d4ba87d9b 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ScrollEvent.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ScrollEvent.java @@ -14,8 +14,6 @@ import com.facebook.react.bridge.Arguments; import com.facebook.react.bridge.WritableMap; import com.facebook.react.uimanager.PixelUtil; import com.facebook.react.uimanager.events.Event; -import com.facebook.react.uimanager.events.RCTEventEmitter; -import com.facebook.react.uimanager.events.RCTModernEventEmitter; /** A event dispatched from a ScrollView scrolling. */ public class ScrollEvent extends Event { @@ -33,6 +31,32 @@ public class ScrollEvent extends Event { private int mScrollViewHeight; private @Nullable ScrollEventType mScrollEventType; + @Deprecated + public static ScrollEvent obtain( + int viewTag, + ScrollEventType scrollEventType, + int scrollX, + int scrollY, + float xVelocity, + float yVelocity, + int contentWidth, + int contentHeight, + int scrollViewWidth, + int scrollViewHeight) { + return obtain( + -1, + viewTag, + scrollEventType, + scrollX, + scrollY, + xVelocity, + yVelocity, + contentWidth, + contentHeight, + scrollViewWidth, + scrollViewHeight); + } + public static ScrollEvent obtain( int surfaceId, int viewTag, @@ -115,18 +139,9 @@ public class ScrollEvent extends Event { return false; } + @Nullable @Override - public void dispatch(RCTEventEmitter rctEventEmitter) { - rctEventEmitter.receiveEvent(getViewTag(), getEventName(), serializeEventData()); - } - - @Override - public void dispatchModern(RCTModernEventEmitter rctEventEmitter) { - rctEventEmitter.receiveEvent( - getSurfaceId(), getViewTag(), getEventName(), serializeEventData()); - } - - private WritableMap serializeEventData() { + protected WritableMap getEventData() { WritableMap contentInset = Arguments.createMap(); contentInset.putDouble("top", 0); contentInset.putDouble("bottom", 0);