From 6e359c4589b0627de59332ce56fe28804425a609 Mon Sep 17 00:00:00 2001 From: David Vacca Date: Wed, 30 May 2018 21:49:26 -0700 Subject: [PATCH] Initialize Event Emitter as part of UIManagerModule Reviewed By: achen1 Differential Revision: D8216184 fbshipit-source-id: 3b188804e2dad2b112f566da49a939eb4338713d --- .../com/facebook/react/ReactInstanceManager.java | 2 -- .../java/com/facebook/react/ReactRootView.java | 4 ++-- .../com/facebook/react/bridge/ReactContext.java | 8 -------- .../com/facebook/react/flat/FlatViewGroup.java | 3 ++- .../react/uimanager/ThemedReactContext.java | 8 -------- .../facebook/react/uimanager/UIManagerModule.java | 8 ++------ .../react/uimanager/events/EventDispatcher.java | 3 +-- .../react/views/checkbox/ReactCheckBoxManager.java | 3 ++- .../views/drawer/ReactDrawerLayoutManager.java | 3 ++- .../facebook/react/views/image/ReactImageView.java | 3 ++- .../react/views/modal/ReactModalHostManager.java | 3 ++- .../react/views/modal/ReactModalHostView.java | 2 +- .../react/views/picker/ReactPickerManager.java | 3 ++- .../react/views/scroll/ReactScrollViewHelper.java | 3 ++- .../react/views/slider/ReactSliderManager.java | 5 +++-- .../swiperefresh/SwipeRefreshLayoutManager.java | 3 ++- .../react/views/switchview/ReactSwitchManager.java | 3 ++- .../ReactEditTextInputConnectionWrapper.java | 3 ++- .../views/textinput/ReactTextInputManager.java | 14 ++++++++------ .../react/views/toolbar/ReactToolbarManager.java | 3 ++- .../react/views/viewpager/ReactViewPager.java | 3 ++- .../react/views/webview/ReactWebViewManager.java | 3 ++- 22 files changed, 43 insertions(+), 50 deletions(-) diff --git a/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java b/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java index 7363d1dda..661f0d691 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +++ b/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java @@ -1078,8 +1078,6 @@ public class ReactInstanceManager { ReactMarker.logMarker(CREATE_REACT_CONTEXT_START, jsExecutor.getName()); final ReactApplicationContext reactContext = new ReactApplicationContext(mApplicationContext); - reactContext.setEventDispatcher(new EventDispatcher(reactContext)); - NativeModuleCallExceptionHandler exceptionHandler = mNativeModuleCallExceptionHandler != null ? mNativeModuleCallExceptionHandler : mDevSupportManager; diff --git a/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java b/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java index 66d9db353..5f8ff1699 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java +++ b/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java @@ -194,7 +194,7 @@ public class ReactRootView extends SizeMonitoringFrameLayout return; } ReactContext reactContext = mReactInstanceManager.getCurrentReactContext(); - EventDispatcher eventDispatcher = reactContext.getEventDispatcher(); + EventDispatcher eventDispatcher = reactContext.getNativeModule(UIManagerModule.class).getEventDispatcher(); mJSTouchDispatcher.onChildStartedNativeGesture(androidEvent, eventDispatcher); } @@ -280,7 +280,7 @@ public class ReactRootView extends SizeMonitoringFrameLayout return; } ReactContext reactContext = mReactInstanceManager.getCurrentReactContext(); - EventDispatcher eventDispatcher = reactContext.getEventDispatcher(); + EventDispatcher eventDispatcher = reactContext.getNativeModule(UIManagerModule.class).getEventDispatcher(); mJSTouchDispatcher.handleTouchEvent(event, eventDispatcher); } diff --git a/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java b/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java index cae4c7f5f..6818d1772 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java +++ b/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java @@ -39,7 +39,6 @@ public class ReactContext extends ContextWrapper { private LifecycleState mLifecycleState = LifecycleState.BEFORE_CREATE; - private @Nullable EventDispatcher mEventDispatcher; private @Nullable CatalystInstance mCatalystInstance; private @Nullable LayoutInflater mInflater; private @Nullable MessageQueueThread mUiMessageQueueThread; @@ -351,11 +350,4 @@ public class ReactContext extends ContextWrapper { return mCatalystInstance.getJavaScriptContextHolder(); } - public T getEventDispatcher() { - return (T) mEventDispatcher; - } - - public void setEventDispatcher(EventDispatcher eventDispatcher) { - mEventDispatcher = eventDispatcher; - } } diff --git a/ReactAndroid/src/main/java/com/facebook/react/flat/FlatViewGroup.java b/ReactAndroid/src/main/java/com/facebook/react/flat/FlatViewGroup.java index bfbeb130f..eb5f4cf15 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/flat/FlatViewGroup.java +++ b/ReactAndroid/src/main/java/com/facebook/react/flat/FlatViewGroup.java @@ -31,6 +31,7 @@ import com.facebook.react.uimanager.PointerEvents; import com.facebook.react.uimanager.ReactClippingViewGroup; import com.facebook.react.uimanager.ReactCompoundViewGroup; import com.facebook.react.uimanager.ReactPointerEventsView; +import com.facebook.react.uimanager.UIManagerModule; import com.facebook.react.uimanager.events.EventDispatcher; import com.facebook.react.views.image.ImageLoadEvent; import java.lang.ref.WeakReference; @@ -126,7 +127,7 @@ import javax.annotation.Nullable; } ReactContext reactContext = ((ReactContext) view.getContext()); - reactContext.getEventDispatcher().dispatchEvent( + reactContext.getNativeModule(UIManagerModule.class).getEventDispatcher().dispatchEvent( new ImageLoadEvent(reactTag, imageLoadEvent)); } } diff --git a/ReactAndroid/src/main/java/com/facebook/react/uimanager/ThemedReactContext.java b/ReactAndroid/src/main/java/com/facebook/react/uimanager/ThemedReactContext.java index 8a6ab8670..69dec9309 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/uimanager/ThemedReactContext.java +++ b/ReactAndroid/src/main/java/com/facebook/react/uimanager/ThemedReactContext.java @@ -7,7 +7,6 @@ package com.facebook.react.uimanager; -import com.facebook.react.bridge.EventDispatcher; import javax.annotation.Nullable; import android.app.Activity; @@ -17,8 +16,6 @@ import com.facebook.react.bridge.ReactApplicationContext; import com.facebook.react.bridge.ReactContext; import com.facebook.react.bridge.LifecycleEventListener; -// - /** * Wraps {@link ReactContext} with the base {@link Context} passed into the constructor. * It provides also a way to start activities using the viewContext to which RN native views belong. @@ -56,9 +53,4 @@ public class ThemedReactContext extends ReactContext { public @Nullable Activity getCurrentActivity() { return mReactApplicationContext.getCurrentActivity(); } - - @Override - public T getEventDispatcher() { - return mReactApplicationContext.getEventDispatcher(); - } } diff --git a/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java b/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java index e0dd1dc4e..9022686a7 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java +++ b/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java @@ -130,7 +130,7 @@ public class UIManagerModule extends ReactContextBaseJavaModule implements int minTimeLeftInFrameForNonBatchedOperationMs) { super(reactContext); DisplayMetricsHolder.initDisplayMetricsIfNotInitialized(reactContext); - mEventDispatcher = reactContext.getEventDispatcher(); + mEventDispatcher = new EventDispatcher(reactContext); mModuleConstants = createConstants(viewManagerResolver); mCustomDirectEvents = UIManagerModuleConstants.getDirectEventTypeConstants(); mUIImplementation = @@ -150,7 +150,7 @@ public class UIManagerModule extends ReactContextBaseJavaModule implements int minTimeLeftInFrameForNonBatchedOperationMs) { super(reactContext); DisplayMetricsHolder.initDisplayMetricsIfNotInitialized(reactContext); - mEventDispatcher = reactContext.getEventDispatcher(); + mEventDispatcher = new EventDispatcher(reactContext); mCustomDirectEvents = MapBuilder.newHashMap(); mModuleConstants = createConstants(viewManagersList, null, mCustomDirectEvents); mUIImplementation = @@ -704,10 +704,6 @@ public class UIManagerModule extends ReactContextBaseJavaModule implements mUIImplementation.setViewHierarchyUpdateDebugListener(listener); } - /** - * This method is deprecated, use {@link ReactContext#getEventDispatcher()}. - */ - @Deprecated public EventDispatcher getEventDispatcher() { return mEventDispatcher; } 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 c9bc7af5d..cd8b44eb9 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 @@ -56,8 +56,7 @@ import javax.annotation.Nullable; * EVENT_TYPE_ID_MASK = 0x0000ffff00000000 * COALESCING_KEY_MASK = 0xffff000000000000 */ -public class EventDispatcher implements LifecycleEventListener, - com.facebook.react.bridge.EventDispatcher { +public class EventDispatcher implements LifecycleEventListener { private static final Comparator EVENT_COMPARATOR = new Comparator() { @Override diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/checkbox/ReactCheckBoxManager.java b/ReactAndroid/src/main/java/com/facebook/react/views/checkbox/ReactCheckBoxManager.java index bbc3f4650..c520f2fc8 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/checkbox/ReactCheckBoxManager.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/checkbox/ReactCheckBoxManager.java @@ -10,6 +10,7 @@ import android.widget.CompoundButton; import com.facebook.react.bridge.ReactContext; import com.facebook.react.uimanager.SimpleViewManager; import com.facebook.react.uimanager.ThemedReactContext; +import com.facebook.react.uimanager.UIManagerModule; import com.facebook.react.uimanager.ViewProps; import com.facebook.react.uimanager.annotations.ReactProp; import com.facebook.react.uimanager.events.EventDispatcher; @@ -25,7 +26,7 @@ public class ReactCheckBoxManager extends SimpleViewManager { public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { ReactContext reactContext = (ReactContext) buttonView.getContext(); reactContext - .getEventDispatcher() + .getNativeModule(UIManagerModule.class).getEventDispatcher() .dispatchEvent(new ReactCheckBoxEvent(buttonView.getId(), isChecked)); } }; diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/drawer/ReactDrawerLayoutManager.java b/ReactAndroid/src/main/java/com/facebook/react/views/drawer/ReactDrawerLayoutManager.java index b7d90bb49..61139f8a0 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/drawer/ReactDrawerLayoutManager.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/drawer/ReactDrawerLayoutManager.java @@ -19,6 +19,7 @@ import com.facebook.react.common.ReactConstants; import com.facebook.react.module.annotations.ReactModule; import com.facebook.react.uimanager.PixelUtil; import com.facebook.react.uimanager.ThemedReactContext; +import com.facebook.react.uimanager.UIManagerModule; import com.facebook.react.uimanager.ViewGroupManager; import com.facebook.react.uimanager.annotations.ReactProp; import com.facebook.react.uimanager.events.EventDispatcher; @@ -51,7 +52,7 @@ public class ReactDrawerLayoutManager extends ViewGroupManagergetEventDispatcher())); + reactContext.getNativeModule(UIManagerModule.class).getEventDispatcher())); } @Override diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageView.java b/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageView.java index 90d053c5f..440bf3f2c 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageView.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageView.java @@ -50,6 +50,7 @@ import com.facebook.react.common.build.ReactBuildConfig; import com.facebook.react.modules.fresco.ReactNetworkImageRequest; import com.facebook.react.uimanager.FloatUtil; import com.facebook.react.uimanager.PixelUtil; +import com.facebook.react.uimanager.UIManagerModule; import com.facebook.react.uimanager.events.EventDispatcher; import com.facebook.react.views.imagehelper.ImageSource; import com.facebook.react.views.imagehelper.MultiSourceHelper; @@ -231,7 +232,7 @@ public class ReactImageView extends GenericDraweeView { if (!shouldNotify) { mControllerListener = null; } else { - final EventDispatcher mEventDispatcher = ((ReactContext) getContext()).getEventDispatcher(); + final EventDispatcher mEventDispatcher = ((ReactContext) getContext()).getNativeModule(UIManagerModule.class).getEventDispatcher(); mControllerListener = new BaseControllerListener() { @Override diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostManager.java b/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostManager.java index fa193e0fa..16df07953 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostManager.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostManager.java @@ -12,6 +12,7 @@ import com.facebook.react.common.MapBuilder; import com.facebook.react.module.annotations.ReactModule; import com.facebook.react.uimanager.LayoutShadowNode; import com.facebook.react.uimanager.ThemedReactContext; +import com.facebook.react.uimanager.UIManagerModule; import com.facebook.react.uimanager.ViewGroupManager; import com.facebook.react.uimanager.annotations.ReactProp; import com.facebook.react.uimanager.events.EventDispatcher; @@ -71,7 +72,7 @@ public class ReactModalHostManager extends ViewGroupManager ThemedReactContext reactContext, final ReactModalHostView view) { final EventDispatcher dispatcher = - reactContext.getEventDispatcher(); + reactContext.getNativeModule(UIManagerModule.class).getEventDispatcher(); view.setOnRequestCloseListener( new ReactModalHostView.OnRequestCloseListener() { @Override diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.java b/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.java index 5651e7da8..ab0491fe4 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.java @@ -370,7 +370,7 @@ public class ReactModalHostView extends ViewGroup implements LifecycleEventListe private EventDispatcher getEventDispatcher() { ReactContext reactContext = getReactContext(); - return reactContext.getEventDispatcher(); + return reactContext.getNativeModule(UIManagerModule.class).getEventDispatcher(); } } } diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/picker/ReactPickerManager.java b/ReactAndroid/src/main/java/com/facebook/react/views/picker/ReactPickerManager.java index 9bc18c887..a8b3fa7d1 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/picker/ReactPickerManager.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/picker/ReactPickerManager.java @@ -19,6 +19,7 @@ import com.facebook.react.bridge.ReadableArray; import com.facebook.react.bridge.ReadableMap; import com.facebook.react.uimanager.SimpleViewManager; import com.facebook.react.uimanager.ThemedReactContext; +import com.facebook.react.uimanager.UIManagerModule; import com.facebook.react.uimanager.ViewProps; import com.facebook.react.uimanager.annotations.ReactProp; import com.facebook.react.uimanager.events.EventDispatcher; @@ -86,7 +87,7 @@ public abstract class ReactPickerManager extends SimpleViewManager picker.setOnSelectListener( new PickerEventEmitter( picker, - reactContext.getEventDispatcher())); + reactContext.getNativeModule(UIManagerModule.class).getEventDispatcher())); } private static class ReactPickerAdapter extends ArrayAdapter { diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewHelper.java b/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewHelper.java index 05ce0d596..9d6f51d05 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewHelper.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewHelper.java @@ -11,6 +11,7 @@ import android.view.View; import android.view.ViewGroup; import com.facebook.react.bridge.JSApplicationIllegalArgumentException; import com.facebook.react.bridge.ReactContext; +import com.facebook.react.uimanager.UIManagerModule; import com.facebook.react.uimanager.events.EventDispatcher; /** @@ -68,7 +69,7 @@ public class ReactScrollViewHelper { } ReactContext reactContext = (ReactContext) scrollView.getContext(); - reactContext.getEventDispatcher().dispatchEvent( + reactContext.getNativeModule(UIManagerModule.class).getEventDispatcher().dispatchEvent( ScrollEvent.obtain( scrollView.getId(), scrollEventType, diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/slider/ReactSliderManager.java b/ReactAndroid/src/main/java/com/facebook/react/views/slider/ReactSliderManager.java index 43aca591b..4111ce3b2 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/slider/ReactSliderManager.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/slider/ReactSliderManager.java @@ -19,6 +19,7 @@ import com.facebook.react.uimanager.LayoutShadowNode; import com.facebook.react.uimanager.ReactShadowNodeImpl; import com.facebook.react.uimanager.SimpleViewManager; import com.facebook.react.uimanager.ThemedReactContext; +import com.facebook.react.uimanager.UIManagerModule; import com.facebook.react.uimanager.ViewProps; import com.facebook.react.uimanager.annotations.ReactProp; import com.facebook.react.uimanager.events.EventDispatcher; @@ -107,7 +108,7 @@ public class ReactSliderManager extends SimpleViewManager { @Override public void onProgressChanged(SeekBar seekbar, int progress, boolean fromUser) { ReactContext reactContext = (ReactContext) seekbar.getContext(); - reactContext.getEventDispatcher().dispatchEvent( + reactContext.getNativeModule(UIManagerModule.class).getEventDispatcher().dispatchEvent( new ReactSliderEvent( seekbar.getId(), ((ReactSlider) seekbar).toRealProgress(progress), @@ -121,7 +122,7 @@ public class ReactSliderManager extends SimpleViewManager { @Override public void onStopTrackingTouch(SeekBar seekbar) { ReactContext reactContext = (ReactContext) seekbar.getContext(); - reactContext.getEventDispatcher().dispatchEvent( + reactContext.getNativeModule(UIManagerModule.class).getEventDispatcher().dispatchEvent( new ReactSlidingCompleteEvent( seekbar.getId(), ((ReactSlider) seekbar).toRealProgress(seekbar.getProgress()))); 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 387f931c1..ab551d943 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 @@ -16,6 +16,7 @@ import com.facebook.react.bridge.ReadableArray; import com.facebook.react.common.MapBuilder; import com.facebook.react.module.annotations.ReactModule; import com.facebook.react.uimanager.ThemedReactContext; +import com.facebook.react.uimanager.UIManagerModule; import com.facebook.react.uimanager.ViewGroupManager; import com.facebook.react.uimanager.ViewProps; import com.facebook.react.uimanager.annotations.ReactProp; @@ -88,7 +89,7 @@ public class SwipeRefreshLayoutManager extends ViewGroupManagergetEventDispatcher() + reactContext.getNativeModule(UIManagerModule.class).getEventDispatcher() .dispatchEvent(new RefreshEvent(view.getId())); } }); diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitchManager.java b/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitchManager.java index f6a7f2d8e..0d802c13c 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitchManager.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitchManager.java @@ -17,6 +17,7 @@ import com.facebook.react.uimanager.LayoutShadowNode; import com.facebook.react.uimanager.ReactShadowNodeImpl; import com.facebook.react.uimanager.SimpleViewManager; import com.facebook.react.uimanager.ThemedReactContext; +import com.facebook.react.uimanager.UIManagerModule; import com.facebook.react.uimanager.ViewProps; import com.facebook.react.uimanager.annotations.ReactProp; import com.facebook.react.uimanager.events.EventDispatcher; @@ -104,7 +105,7 @@ public class ReactSwitchManager extends SimpleViewManager { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { ReactContext reactContext = (ReactContext) buttonView.getContext(); - reactContext.getEventDispatcher().dispatchEvent( + reactContext.getNativeModule(UIManagerModule.class).getEventDispatcher().dispatchEvent( new ReactSwitchEvent( buttonView.getId(), isChecked)); diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditTextInputConnectionWrapper.java b/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditTextInputConnectionWrapper.java index 8f7f631ca..26bead547 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditTextInputConnectionWrapper.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditTextInputConnectionWrapper.java @@ -12,6 +12,7 @@ import android.view.inputmethod.EditorInfo; import android.view.inputmethod.InputConnection; import android.view.inputmethod.InputConnectionWrapper; import com.facebook.react.bridge.ReactContext; +import com.facebook.react.uimanager.UIManagerModule; import com.facebook.react.uimanager.events.EventDispatcher; import javax.annotation.Nullable; @@ -64,7 +65,7 @@ class ReactEditTextInputConnectionWrapper extends InputConnectionWrapper { final ReactEditText editText ) { super(target, false); - mEventDispatcher = reactContext.getEventDispatcher(); + mEventDispatcher = reactContext.getNativeModule(UIManagerModule.class).getEventDispatcher(); mEditText = editText; } diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.java b/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.java index 74671b06a..9311a74ab 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.java @@ -27,6 +27,7 @@ import com.facebook.react.bridge.JSApplicationIllegalArgumentException; import com.facebook.react.bridge.ReactContext; import com.facebook.react.bridge.ReadableArray; import com.facebook.react.bridge.ReadableMap; +import com.facebook.react.bridge.UIManager; import com.facebook.react.common.MapBuilder; import com.facebook.react.module.annotations.ReactModule; import com.facebook.react.uimanager.BaseViewManager; @@ -34,6 +35,7 @@ import com.facebook.react.uimanager.LayoutShadowNode; import com.facebook.react.uimanager.PixelUtil; import com.facebook.react.uimanager.Spacing; import com.facebook.react.uimanager.ThemedReactContext; +import com.facebook.react.uimanager.UIManagerModule; import com.facebook.react.uimanager.ViewDefaults; import com.facebook.react.uimanager.ViewProps; import com.facebook.react.uimanager.annotations.ReactProp; @@ -693,7 +695,7 @@ public class ReactTextInputManager extends BaseViewManagergetEventDispatcher(); + mEventDispatcher = reactContext.getNativeModule(UIManagerModule.class).getEventDispatcher(); mEditText = editText; mPreviousText = null; } @@ -751,7 +753,7 @@ public class ReactTextInputManager extends BaseViewManagergetEventDispatcher(); + reactContext.getNativeModule(UIManagerModule.class).getEventDispatcher(); if (hasFocus) { eventDispatcher.dispatchEvent( new ReactTextInputFocusEvent( @@ -788,7 +790,7 @@ public class ReactTextInputManager extends BaseViewManagergetEventDispatcher(); + reactContext.getNativeModule(UIManagerModule.class).getEventDispatcher(); eventDispatcher.dispatchEvent( new ReactTextInputSubmitEditingEvent( @@ -817,7 +819,7 @@ public class ReactTextInputManager extends BaseViewManagergetEventDispatcher(); + mEventDispatcher = reactContext.getNativeModule(UIManagerModule.class).getEventDispatcher(); } @Override @@ -856,7 +858,7 @@ public class ReactTextInputManager extends BaseViewManagergetEventDispatcher(); + mEventDispatcher = reactContext.getNativeModule(UIManagerModule.class).getEventDispatcher(); } @Override @@ -888,7 +890,7 @@ public class ReactTextInputManager extends BaseViewManagergetEventDispatcher(); + mEventDispatcher = reactContext.getNativeModule(UIManagerModule.class).getEventDispatcher(); } @Override diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/toolbar/ReactToolbarManager.java b/ReactAndroid/src/main/java/com/facebook/react/views/toolbar/ReactToolbarManager.java index 805d6ec56..99cca3169 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/toolbar/ReactToolbarManager.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/toolbar/ReactToolbarManager.java @@ -19,6 +19,7 @@ import com.facebook.react.bridge.ReadableMap; import com.facebook.react.common.MapBuilder; import com.facebook.react.uimanager.PixelUtil; import com.facebook.react.uimanager.ThemedReactContext; +import com.facebook.react.uimanager.UIManagerModule; import com.facebook.react.uimanager.ViewGroupManager; import com.facebook.react.uimanager.annotations.ReactProp; import com.facebook.react.uimanager.events.EventDispatcher; @@ -117,7 +118,7 @@ public class ReactToolbarManager extends ViewGroupManager { @Override protected void addEventEmitters(final ThemedReactContext reactContext, final ReactToolbar view) { - final EventDispatcher mEventDispatcher = reactContext.getEventDispatcher(); + final EventDispatcher mEventDispatcher = reactContext.getNativeModule(UIManagerModule.class).getEventDispatcher(); view.setNavigationOnClickListener( new View.OnClickListener() { @Override diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/viewpager/ReactViewPager.java b/ReactAndroid/src/main/java/com/facebook/react/views/viewpager/ReactViewPager.java index 1bc2e36f6..48b5f1a61 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/viewpager/ReactViewPager.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/viewpager/ReactViewPager.java @@ -15,6 +15,7 @@ import android.view.View; import android.view.ViewGroup; import com.facebook.react.bridge.ReactContext; import com.facebook.react.common.ReactConstants; +import com.facebook.react.uimanager.UIManagerModule; import com.facebook.react.uimanager.events.EventDispatcher; import com.facebook.react.uimanager.events.NativeGestureUtil; import java.util.ArrayList; @@ -158,7 +159,7 @@ public class ReactViewPager extends ViewPager { public ReactViewPager(ReactContext reactContext) { super(reactContext); - mEventDispatcher = reactContext.getEventDispatcher(); + mEventDispatcher = reactContext.getNativeModule(UIManagerModule.class).getEventDispatcher(); mIsCurrentItemFromJs = false; setOnPageChangeListener(new PageChangeListener()); setAdapter(new Adapter()); diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/webview/ReactWebViewManager.java b/ReactAndroid/src/main/java/com/facebook/react/views/webview/ReactWebViewManager.java index df6c87762..6bcc4e185 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/webview/ReactWebViewManager.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/webview/ReactWebViewManager.java @@ -9,6 +9,7 @@ package com.facebook.react.views.webview; import android.annotation.TargetApi; import android.content.Context; +import com.facebook.react.uimanager.UIManagerModule; import java.util.LinkedList; import java.util.List; import java.util.regex.Pattern; @@ -686,7 +687,7 @@ public class ReactWebViewManager extends SimpleViewManager { protected static void dispatchEvent(WebView webView, Event event) { ReactContext reactContext = (ReactContext) webView.getContext(); EventDispatcher eventDispatcher = - reactContext.getEventDispatcher(); + reactContext.getNativeModule(UIManagerModule.class).getEventDispatcher(); eventDispatcher.dispatchEvent(event); } }