mirror of
https://github.com/zhigang1992/react-native.git
synced 2026-04-23 11:57:46 +08:00
Initialize Event Emitter as part of UIManagerModule
Reviewed By: achen1 Differential Revision: D8216184 fbshipit-source-id: 3b188804e2dad2b112f566da49a939eb4338713d
This commit is contained in:
committed by
Facebook Github Bot
parent
0f10e03dd8
commit
6e359c4589
@@ -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<ReactCheckBox> {
|
||||
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
|
||||
ReactContext reactContext = (ReactContext) buttonView.getContext();
|
||||
reactContext
|
||||
.<EventDispatcher>getEventDispatcher()
|
||||
.getNativeModule(UIManagerModule.class).getEventDispatcher()
|
||||
.dispatchEvent(new ReactCheckBoxEvent(buttonView.getId(), isChecked));
|
||||
}
|
||||
};
|
||||
|
||||
@@ -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 ViewGroupManager<ReactDrawerLayout
|
||||
view.setDrawerListener(
|
||||
new DrawerEventEmitter(
|
||||
view,
|
||||
reactContext.<EventDispatcher>getEventDispatcher()));
|
||||
reactContext.getNativeModule(UIManagerModule.class).getEventDispatcher()));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -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()).<EventDispatcher>getEventDispatcher();
|
||||
final EventDispatcher mEventDispatcher = ((ReactContext) getContext()).getNativeModule(UIManagerModule.class).getEventDispatcher();
|
||||
|
||||
mControllerListener = new BaseControllerListener<ImageInfo>() {
|
||||
@Override
|
||||
|
||||
@@ -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<ReactModalHostView>
|
||||
ThemedReactContext reactContext,
|
||||
final ReactModalHostView view) {
|
||||
final EventDispatcher dispatcher =
|
||||
reactContext.<EventDispatcher>getEventDispatcher();
|
||||
reactContext.getNativeModule(UIManagerModule.class).getEventDispatcher();
|
||||
view.setOnRequestCloseListener(
|
||||
new ReactModalHostView.OnRequestCloseListener() {
|
||||
@Override
|
||||
|
||||
@@ -370,7 +370,7 @@ public class ReactModalHostView extends ViewGroup implements LifecycleEventListe
|
||||
|
||||
private EventDispatcher getEventDispatcher() {
|
||||
ReactContext reactContext = getReactContext();
|
||||
return reactContext.<EventDispatcher>getEventDispatcher();
|
||||
return reactContext.getNativeModule(UIManagerModule.class).getEventDispatcher();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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<ReactPicker>
|
||||
picker.setOnSelectListener(
|
||||
new PickerEventEmitter(
|
||||
picker,
|
||||
reactContext.<EventDispatcher>getEventDispatcher()));
|
||||
reactContext.getNativeModule(UIManagerModule.class).getEventDispatcher()));
|
||||
}
|
||||
|
||||
private static class ReactPickerAdapter extends ArrayAdapter<ReadableMap> {
|
||||
|
||||
@@ -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.<EventDispatcher>getEventDispatcher().dispatchEvent(
|
||||
reactContext.getNativeModule(UIManagerModule.class).getEventDispatcher().dispatchEvent(
|
||||
ScrollEvent.obtain(
|
||||
scrollView.getId(),
|
||||
scrollEventType,
|
||||
|
||||
@@ -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<ReactSlider> {
|
||||
@Override
|
||||
public void onProgressChanged(SeekBar seekbar, int progress, boolean fromUser) {
|
||||
ReactContext reactContext = (ReactContext) seekbar.getContext();
|
||||
reactContext.<EventDispatcher>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<ReactSlider> {
|
||||
@Override
|
||||
public void onStopTrackingTouch(SeekBar seekbar) {
|
||||
ReactContext reactContext = (ReactContext) seekbar.getContext();
|
||||
reactContext.<EventDispatcher>getEventDispatcher().dispatchEvent(
|
||||
reactContext.getNativeModule(UIManagerModule.class).getEventDispatcher().dispatchEvent(
|
||||
new ReactSlidingCompleteEvent(
|
||||
seekbar.getId(),
|
||||
((ReactSlider) seekbar).toRealProgress(seekbar.getProgress())));
|
||||
|
||||
@@ -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 ViewGroupManager<ReactSwipeRefres
|
||||
new OnRefreshListener() {
|
||||
@Override
|
||||
public void onRefresh() {
|
||||
reactContext.<EventDispatcher>getEventDispatcher()
|
||||
reactContext.getNativeModule(UIManagerModule.class).getEventDispatcher()
|
||||
.dispatchEvent(new RefreshEvent(view.getId()));
|
||||
}
|
||||
});
|
||||
|
||||
@@ -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<ReactSwitch> {
|
||||
@Override
|
||||
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
|
||||
ReactContext reactContext = (ReactContext) buttonView.getContext();
|
||||
reactContext.<EventDispatcher>getEventDispatcher().dispatchEvent(
|
||||
reactContext.getNativeModule(UIManagerModule.class).getEventDispatcher().dispatchEvent(
|
||||
new ReactSwitchEvent(
|
||||
buttonView.getId(),
|
||||
isChecked));
|
||||
|
||||
@@ -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.<EventDispatcher>getEventDispatcher();
|
||||
mEventDispatcher = reactContext.getNativeModule(UIManagerModule.class).getEventDispatcher();
|
||||
mEditText = editText;
|
||||
}
|
||||
|
||||
|
||||
@@ -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 BaseViewManager<ReactEditText, Layout
|
||||
public ReactTextInputTextWatcher(
|
||||
final ReactContext reactContext,
|
||||
final ReactEditText editText) {
|
||||
mEventDispatcher = reactContext.<EventDispatcher>getEventDispatcher();
|
||||
mEventDispatcher = reactContext.getNativeModule(UIManagerModule.class).getEventDispatcher();
|
||||
mEditText = editText;
|
||||
mPreviousText = null;
|
||||
}
|
||||
@@ -751,7 +753,7 @@ public class ReactTextInputManager extends BaseViewManager<ReactEditText, Layout
|
||||
new View.OnFocusChangeListener() {
|
||||
public void onFocusChange(View v, boolean hasFocus) {
|
||||
EventDispatcher eventDispatcher =
|
||||
reactContext.<EventDispatcher>getEventDispatcher();
|
||||
reactContext.getNativeModule(UIManagerModule.class).getEventDispatcher();
|
||||
if (hasFocus) {
|
||||
eventDispatcher.dispatchEvent(
|
||||
new ReactTextInputFocusEvent(
|
||||
@@ -788,7 +790,7 @@ public class ReactTextInputManager extends BaseViewManager<ReactEditText, Layout
|
||||
// Additionally we always generate a `submit` event.
|
||||
|
||||
EventDispatcher eventDispatcher =
|
||||
reactContext.<EventDispatcher>getEventDispatcher();
|
||||
reactContext.getNativeModule(UIManagerModule.class).getEventDispatcher();
|
||||
|
||||
eventDispatcher.dispatchEvent(
|
||||
new ReactTextInputSubmitEditingEvent(
|
||||
@@ -817,7 +819,7 @@ public class ReactTextInputManager extends BaseViewManager<ReactEditText, Layout
|
||||
public ReactContentSizeWatcher(ReactEditText editText) {
|
||||
mEditText = editText;
|
||||
ReactContext reactContext = (ReactContext) editText.getContext();
|
||||
mEventDispatcher = reactContext.<EventDispatcher>getEventDispatcher();
|
||||
mEventDispatcher = reactContext.getNativeModule(UIManagerModule.class).getEventDispatcher();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -856,7 +858,7 @@ public class ReactTextInputManager extends BaseViewManager<ReactEditText, Layout
|
||||
public ReactSelectionWatcher(ReactEditText editText) {
|
||||
mReactEditText = editText;
|
||||
ReactContext reactContext = (ReactContext) editText.getContext();
|
||||
mEventDispatcher = reactContext.<EventDispatcher>getEventDispatcher();
|
||||
mEventDispatcher = reactContext.getNativeModule(UIManagerModule.class).getEventDispatcher();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -888,7 +890,7 @@ public class ReactTextInputManager extends BaseViewManager<ReactEditText, Layout
|
||||
public ReactScrollWatcher(ReactEditText editText) {
|
||||
mReactEditText = editText;
|
||||
ReactContext reactContext = (ReactContext) editText.getContext();
|
||||
mEventDispatcher = reactContext.<EventDispatcher>getEventDispatcher();
|
||||
mEventDispatcher = reactContext.getNativeModule(UIManagerModule.class).getEventDispatcher();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -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<ReactToolbar> {
|
||||
|
||||
@Override
|
||||
protected void addEventEmitters(final ThemedReactContext reactContext, final ReactToolbar view) {
|
||||
final EventDispatcher mEventDispatcher = reactContext.<EventDispatcher>getEventDispatcher();
|
||||
final EventDispatcher mEventDispatcher = reactContext.getNativeModule(UIManagerModule.class).getEventDispatcher();
|
||||
view.setNavigationOnClickListener(
|
||||
new View.OnClickListener() {
|
||||
@Override
|
||||
|
||||
@@ -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.<EventDispatcher>getEventDispatcher();
|
||||
mEventDispatcher = reactContext.getNativeModule(UIManagerModule.class).getEventDispatcher();
|
||||
mIsCurrentItemFromJs = false;
|
||||
setOnPageChangeListener(new PageChangeListener());
|
||||
setAdapter(new Adapter());
|
||||
|
||||
@@ -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<WebView> {
|
||||
protected static void dispatchEvent(WebView webView, Event event) {
|
||||
ReactContext reactContext = (ReactContext) webView.getContext();
|
||||
EventDispatcher eventDispatcher =
|
||||
reactContext.<EventDispatcher>getEventDispatcher();
|
||||
reactContext.getNativeModule(UIManagerModule.class).getEventDispatcher();
|
||||
eventDispatcher.dispatchEvent(event);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user