Skip to content

Commit 6e359c4

Browse files
mdvaccafacebook-github-bot
authored andcommitted
Initialize Event Emitter as part of UIManagerModule
Reviewed By: achen1 Differential Revision: D8216184 fbshipit-source-id: 3b188804e2dad2b112f566da49a939eb4338713d
1 parent 0f10e03 commit 6e359c4

22 files changed

+43
-50
lines changed

ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1078,8 +1078,6 @@ private ReactApplicationContext createReactContext(
10781078
ReactMarker.logMarker(CREATE_REACT_CONTEXT_START, jsExecutor.getName());
10791079
final ReactApplicationContext reactContext = new ReactApplicationContext(mApplicationContext);
10801080

1081-
reactContext.setEventDispatcher(new EventDispatcher(reactContext));
1082-
10831081
NativeModuleCallExceptionHandler exceptionHandler = mNativeModuleCallExceptionHandler != null
10841082
? mNativeModuleCallExceptionHandler
10851083
: mDevSupportManager;

ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -194,7 +194,7 @@ public void onChildStartedNativeGesture(MotionEvent androidEvent) {
194194
return;
195195
}
196196
ReactContext reactContext = mReactInstanceManager.getCurrentReactContext();
197-
EventDispatcher eventDispatcher = reactContext.<EventDispatcher>getEventDispatcher();
197+
EventDispatcher eventDispatcher = reactContext.getNativeModule(UIManagerModule.class).getEventDispatcher();
198198
mJSTouchDispatcher.onChildStartedNativeGesture(androidEvent, eventDispatcher);
199199
}
200200

@@ -280,7 +280,7 @@ private void dispatchJSTouchEvent(MotionEvent event) {
280280
return;
281281
}
282282
ReactContext reactContext = mReactInstanceManager.getCurrentReactContext();
283-
EventDispatcher eventDispatcher = reactContext.<EventDispatcher>getEventDispatcher();
283+
EventDispatcher eventDispatcher = reactContext.getNativeModule(UIManagerModule.class).getEventDispatcher();
284284
mJSTouchDispatcher.handleTouchEvent(event, eventDispatcher);
285285
}
286286

ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,6 @@ public class ReactContext extends ContextWrapper {
3939

4040
private LifecycleState mLifecycleState = LifecycleState.BEFORE_CREATE;
4141

42-
private @Nullable EventDispatcher mEventDispatcher;
4342
private @Nullable CatalystInstance mCatalystInstance;
4443
private @Nullable LayoutInflater mInflater;
4544
private @Nullable MessageQueueThread mUiMessageQueueThread;
@@ -351,11 +350,4 @@ public JavaScriptContextHolder getJavaScriptContextHolder() {
351350
return mCatalystInstance.getJavaScriptContextHolder();
352351
}
353352

354-
public <T extends EventDispatcher> T getEventDispatcher() {
355-
return (T) mEventDispatcher;
356-
}
357-
358-
public void setEventDispatcher(EventDispatcher eventDispatcher) {
359-
mEventDispatcher = eventDispatcher;
360-
}
361353
}

ReactAndroid/src/main/java/com/facebook/react/flat/FlatViewGroup.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
import com.facebook.react.uimanager.ReactClippingViewGroup;
3232
import com.facebook.react.uimanager.ReactCompoundViewGroup;
3333
import com.facebook.react.uimanager.ReactPointerEventsView;
34+
import com.facebook.react.uimanager.UIManagerModule;
3435
import com.facebook.react.uimanager.events.EventDispatcher;
3536
import com.facebook.react.views.image.ImageLoadEvent;
3637
import java.lang.ref.WeakReference;
@@ -126,7 +127,7 @@ public void dispatchImageLoadEvent(int reactTag, int imageLoadEvent) {
126127
}
127128

128129
ReactContext reactContext = ((ReactContext) view.getContext());
129-
reactContext.<EventDispatcher>getEventDispatcher().dispatchEvent(
130+
reactContext.getNativeModule(UIManagerModule.class).getEventDispatcher().dispatchEvent(
130131
new ImageLoadEvent(reactTag, imageLoadEvent));
131132
}
132133
}

ReactAndroid/src/main/java/com/facebook/react/uimanager/ThemedReactContext.java

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77

88
package com.facebook.react.uimanager;
99

10-
import com.facebook.react.bridge.EventDispatcher;
1110
import javax.annotation.Nullable;
1211

1312
import android.app.Activity;
@@ -17,8 +16,6 @@
1716
import com.facebook.react.bridge.ReactContext;
1817
import com.facebook.react.bridge.LifecycleEventListener;
1918

20-
//
21-
2219
/**
2320
* Wraps {@link ReactContext} with the base {@link Context} passed into the constructor.
2421
* It provides also a way to start activities using the viewContext to which RN native views belong.
@@ -56,9 +53,4 @@ public boolean hasCurrentActivity() {
5653
public @Nullable Activity getCurrentActivity() {
5754
return mReactApplicationContext.getCurrentActivity();
5855
}
59-
60-
@Override
61-
public <T extends EventDispatcher> T getEventDispatcher() {
62-
return mReactApplicationContext.getEventDispatcher();
63-
}
6456
}

ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ public UIManagerModule(
130130
int minTimeLeftInFrameForNonBatchedOperationMs) {
131131
super(reactContext);
132132
DisplayMetricsHolder.initDisplayMetricsIfNotInitialized(reactContext);
133-
mEventDispatcher = reactContext.getEventDispatcher();
133+
mEventDispatcher = new EventDispatcher(reactContext);
134134
mModuleConstants = createConstants(viewManagerResolver);
135135
mCustomDirectEvents = UIManagerModuleConstants.getDirectEventTypeConstants();
136136
mUIImplementation =
@@ -150,7 +150,7 @@ public UIManagerModule(
150150
int minTimeLeftInFrameForNonBatchedOperationMs) {
151151
super(reactContext);
152152
DisplayMetricsHolder.initDisplayMetricsIfNotInitialized(reactContext);
153-
mEventDispatcher = reactContext.getEventDispatcher();
153+
mEventDispatcher = new EventDispatcher(reactContext);
154154
mCustomDirectEvents = MapBuilder.newHashMap();
155155
mModuleConstants = createConstants(viewManagersList, null, mCustomDirectEvents);
156156
mUIImplementation =
@@ -704,10 +704,6 @@ public void setViewHierarchyUpdateDebugListener(
704704
mUIImplementation.setViewHierarchyUpdateDebugListener(listener);
705705
}
706706

707-
/**
708-
* This method is deprecated, use {@link ReactContext#getEventDispatcher()}.
709-
*/
710-
@Deprecated
711707
public EventDispatcher getEventDispatcher() {
712708
return mEventDispatcher;
713709
}

ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcher.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,8 +56,7 @@
5656
* EVENT_TYPE_ID_MASK = 0x0000ffff00000000
5757
* COALESCING_KEY_MASK = 0xffff000000000000
5858
*/
59-
public class EventDispatcher implements LifecycleEventListener,
60-
com.facebook.react.bridge.EventDispatcher {
59+
public class EventDispatcher implements LifecycleEventListener {
6160

6261
private static final Comparator<Event> EVENT_COMPARATOR = new Comparator<Event>() {
6362
@Override

ReactAndroid/src/main/java/com/facebook/react/views/checkbox/ReactCheckBoxManager.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import com.facebook.react.bridge.ReactContext;
1111
import com.facebook.react.uimanager.SimpleViewManager;
1212
import com.facebook.react.uimanager.ThemedReactContext;
13+
import com.facebook.react.uimanager.UIManagerModule;
1314
import com.facebook.react.uimanager.ViewProps;
1415
import com.facebook.react.uimanager.annotations.ReactProp;
1516
import com.facebook.react.uimanager.events.EventDispatcher;
@@ -25,7 +26,7 @@ public class ReactCheckBoxManager extends SimpleViewManager<ReactCheckBox> {
2526
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
2627
ReactContext reactContext = (ReactContext) buttonView.getContext();
2728
reactContext
28-
.<EventDispatcher>getEventDispatcher()
29+
.getNativeModule(UIManagerModule.class).getEventDispatcher()
2930
.dispatchEvent(new ReactCheckBoxEvent(buttonView.getId(), isChecked));
3031
}
3132
};

ReactAndroid/src/main/java/com/facebook/react/views/drawer/ReactDrawerLayoutManager.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import com.facebook.react.module.annotations.ReactModule;
2020
import com.facebook.react.uimanager.PixelUtil;
2121
import com.facebook.react.uimanager.ThemedReactContext;
22+
import com.facebook.react.uimanager.UIManagerModule;
2223
import com.facebook.react.uimanager.ViewGroupManager;
2324
import com.facebook.react.uimanager.annotations.ReactProp;
2425
import com.facebook.react.uimanager.events.EventDispatcher;
@@ -51,7 +52,7 @@ protected void addEventEmitters(ThemedReactContext reactContext, ReactDrawerLayo
5152
view.setDrawerListener(
5253
new DrawerEventEmitter(
5354
view,
54-
reactContext.<EventDispatcher>getEventDispatcher()));
55+
reactContext.getNativeModule(UIManagerModule.class).getEventDispatcher()));
5556
}
5657

5758
@Override

ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageView.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@
5050
import com.facebook.react.modules.fresco.ReactNetworkImageRequest;
5151
import com.facebook.react.uimanager.FloatUtil;
5252
import com.facebook.react.uimanager.PixelUtil;
53+
import com.facebook.react.uimanager.UIManagerModule;
5354
import com.facebook.react.uimanager.events.EventDispatcher;
5455
import com.facebook.react.views.imagehelper.ImageSource;
5556
import com.facebook.react.views.imagehelper.MultiSourceHelper;
@@ -231,7 +232,7 @@ public void setShouldNotifyLoadEvents(boolean shouldNotify) {
231232
if (!shouldNotify) {
232233
mControllerListener = null;
233234
} else {
234-
final EventDispatcher mEventDispatcher = ((ReactContext) getContext()).<EventDispatcher>getEventDispatcher();
235+
final EventDispatcher mEventDispatcher = ((ReactContext) getContext()).getNativeModule(UIManagerModule.class).getEventDispatcher();
235236

236237
mControllerListener = new BaseControllerListener<ImageInfo>() {
237238
@Override

0 commit comments

Comments
 (0)