From 1dcb4cfe7f66d44fdebf70360d19fafda442e9c1 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 RefreshEvent 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: D26056815 fbshipit-source-id: d0e03a69f84de47385e064c74f0a79c52c61022d --- .../react/views/swiperefresh/RefreshEvent.java | 16 ++++++++++++---- .../swiperefresh/SwipeRefreshLayoutManager.java | 3 ++- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/RefreshEvent.java b/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/RefreshEvent.java index ca012572e71..85d23cff992 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/RefreshEvent.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/RefreshEvent.java @@ -7,13 +7,20 @@ package com.facebook.react.views.swiperefresh; +import androidx.annotation.Nullable; +import com.facebook.react.bridge.Arguments; +import com.facebook.react.bridge.WritableMap; import com.facebook.react.uimanager.events.Event; -import com.facebook.react.uimanager.events.RCTEventEmitter; public class RefreshEvent extends Event { + @Deprecated protected RefreshEvent(int viewTag) { - super(viewTag); + this(-1, viewTag); + } + + protected RefreshEvent(int surfaceId, int viewTag) { + super(surfaceId, viewTag); } @Override @@ -21,8 +28,9 @@ public class RefreshEvent extends Event { return "topRefresh"; } + @Nullable @Override - public void dispatch(RCTEventEmitter rctEventEmitter) { - rctEventEmitter.receiveEvent(getViewTag(), getEventName(), null); + protected WritableMap getEventData() { + return Arguments.createMap(); } } diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/SwipeRefreshLayoutManager.java b/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/SwipeRefreshLayoutManager.java index 378dc2573f6..888c7d8c0a3 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/SwipeRefreshLayoutManager.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/SwipeRefreshLayoutManager.java @@ -146,7 +146,8 @@ public class SwipeRefreshLayoutManager extends ViewGroupManager