mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
Support RCTModernEventEmitter+RCTEventEmitter in DrawerClosedEvent, DrawerOpenedEvent, DrawerSlideEvent, DrawerStateChangedEvent Event classes
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: mdvacca Differential Revision: D26043861 fbshipit-source-id: 37757508c835cbd1181f0e0e774abc62fdbfee2b
This commit is contained in:
committed by
Facebook GitHub Bot
parent
46df827c7e
commit
5d2f77553c
+12
-4
@@ -253,22 +253,30 @@ public class ReactDrawerLayoutManager extends ViewGroupManager<ReactDrawerLayout
|
||||
|
||||
@Override
|
||||
public void onDrawerSlide(@NonNull View view, float v) {
|
||||
mEventDispatcher.dispatchEvent(new DrawerSlideEvent(mDrawerLayout.getId(), v));
|
||||
mEventDispatcher.dispatchEvent(
|
||||
new DrawerSlideEvent(
|
||||
UIManagerHelper.getSurfaceId(mDrawerLayout), mDrawerLayout.getId(), v));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDrawerOpened(@NonNull View view) {
|
||||
mEventDispatcher.dispatchEvent(new DrawerOpenedEvent(mDrawerLayout.getId()));
|
||||
mEventDispatcher.dispatchEvent(
|
||||
new DrawerOpenedEvent(
|
||||
UIManagerHelper.getSurfaceId(mDrawerLayout), mDrawerLayout.getId()));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDrawerClosed(@NonNull View view) {
|
||||
mEventDispatcher.dispatchEvent(new DrawerClosedEvent(mDrawerLayout.getId()));
|
||||
mEventDispatcher.dispatchEvent(
|
||||
new DrawerClosedEvent(
|
||||
UIManagerHelper.getSurfaceId(mDrawerLayout), mDrawerLayout.getId()));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDrawerStateChanged(int i) {
|
||||
mEventDispatcher.dispatchEvent(new DrawerStateChangedEvent(mDrawerLayout.getId(), i));
|
||||
mEventDispatcher.dispatchEvent(
|
||||
new DrawerStateChangedEvent(
|
||||
UIManagerHelper.getSurfaceId(mDrawerLayout), mDrawerLayout.getId(), i));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+12
-7
@@ -8,15 +8,20 @@
|
||||
package com.facebook.react.views.drawer.events;
|
||||
|
||||
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 DrawerClosedEvent extends Event<DrawerClosedEvent> {
|
||||
|
||||
public static final String EVENT_NAME = "topDrawerClose";
|
||||
|
||||
@Deprecated
|
||||
public DrawerClosedEvent(int viewId) {
|
||||
super(viewId);
|
||||
this(-1, viewId);
|
||||
}
|
||||
|
||||
public DrawerClosedEvent(int surfaceId, int viewId) {
|
||||
super(surfaceId, viewId);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -24,14 +29,14 @@ public class DrawerClosedEvent extends Event<DrawerClosedEvent> {
|
||||
return EVENT_NAME;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected WritableMap getEventData() {
|
||||
return Arguments.createMap();
|
||||
}
|
||||
|
||||
@Override
|
||||
public short getCoalescingKey() {
|
||||
// All events for a given view can be coalesced.
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void dispatch(RCTEventEmitter rctEventEmitter) {
|
||||
rctEventEmitter.receiveEvent(getViewTag(), getEventName(), Arguments.createMap());
|
||||
}
|
||||
}
|
||||
|
||||
+12
-7
@@ -8,15 +8,20 @@
|
||||
package com.facebook.react.views.drawer.events;
|
||||
|
||||
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 DrawerOpenedEvent extends Event<DrawerOpenedEvent> {
|
||||
|
||||
public static final String EVENT_NAME = "topDrawerOpen";
|
||||
|
||||
@Deprecated
|
||||
public DrawerOpenedEvent(int viewId) {
|
||||
super(viewId);
|
||||
this(-1, viewId);
|
||||
}
|
||||
|
||||
public DrawerOpenedEvent(int surfaceId, int viewId) {
|
||||
super(surfaceId, viewId);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -24,14 +29,14 @@ public class DrawerOpenedEvent extends Event<DrawerOpenedEvent> {
|
||||
return EVENT_NAME;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected WritableMap getEventData() {
|
||||
return Arguments.createMap();
|
||||
}
|
||||
|
||||
@Override
|
||||
public short getCoalescingKey() {
|
||||
// All events for a given view can be coalesced.
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void dispatch(RCTEventEmitter rctEventEmitter) {
|
||||
rctEventEmitter.receiveEvent(getViewTag(), getEventName(), Arguments.createMap());
|
||||
}
|
||||
}
|
||||
|
||||
+7
-7
@@ -10,7 +10,6 @@ package com.facebook.react.views.drawer.events;
|
||||
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;
|
||||
|
||||
/** Event emitted by a DrawerLayout as it is being moved open/closed. */
|
||||
public class DrawerSlideEvent extends Event<DrawerSlideEvent> {
|
||||
@@ -19,8 +18,13 @@ public class DrawerSlideEvent extends Event<DrawerSlideEvent> {
|
||||
|
||||
private final float mOffset;
|
||||
|
||||
@Deprecated
|
||||
public DrawerSlideEvent(int viewId, float offset) {
|
||||
super(viewId);
|
||||
this(-1, viewId, offset);
|
||||
}
|
||||
|
||||
public DrawerSlideEvent(int surfaceId, int viewId, float offset) {
|
||||
super(surfaceId, viewId);
|
||||
mOffset = offset;
|
||||
}
|
||||
|
||||
@@ -40,11 +44,7 @@ public class DrawerSlideEvent extends Event<DrawerSlideEvent> {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void dispatch(RCTEventEmitter rctEventEmitter) {
|
||||
rctEventEmitter.receiveEvent(getViewTag(), getEventName(), serializeEventData());
|
||||
}
|
||||
|
||||
private WritableMap serializeEventData() {
|
||||
protected WritableMap getEventData() {
|
||||
WritableMap eventData = Arguments.createMap();
|
||||
eventData.putDouble("offset", getOffset());
|
||||
return eventData;
|
||||
|
||||
+7
-7
@@ -10,7 +10,6 @@ package com.facebook.react.views.drawer.events;
|
||||
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 DrawerStateChangedEvent extends Event<DrawerStateChangedEvent> {
|
||||
|
||||
@@ -18,8 +17,13 @@ public class DrawerStateChangedEvent extends Event<DrawerStateChangedEvent> {
|
||||
|
||||
private final int mDrawerState;
|
||||
|
||||
@Deprecated
|
||||
public DrawerStateChangedEvent(int viewId, int drawerState) {
|
||||
super(viewId);
|
||||
this(-1, viewId, drawerState);
|
||||
}
|
||||
|
||||
public DrawerStateChangedEvent(int surfaceId, int viewId, int drawerState) {
|
||||
super(surfaceId, viewId);
|
||||
mDrawerState = drawerState;
|
||||
}
|
||||
|
||||
@@ -39,11 +43,7 @@ public class DrawerStateChangedEvent extends Event<DrawerStateChangedEvent> {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void dispatch(RCTEventEmitter rctEventEmitter) {
|
||||
rctEventEmitter.receiveEvent(getViewTag(), getEventName(), serializeEventData());
|
||||
}
|
||||
|
||||
private WritableMap serializeEventData() {
|
||||
protected WritableMap getEventData() {
|
||||
WritableMap eventData = Arguments.createMap();
|
||||
eventData.putDouble("drawerState", getDrawerState());
|
||||
return eventData;
|
||||
|
||||
Reference in New Issue
Block a user