Refactor setup of Event Dispatcher

Reviewed By: achen1

Differential Revision: D7746311

fbshipit-source-id: cfee1c2ced6d85477628085f3260496e80ae48c2
This commit is contained in:
David Vacca
2018-05-30 21:48:52 -07:00
committed by Facebook Github Bot
parent e61341ba32
commit 58ea20b5e8
9 changed files with 126 additions and 50 deletions

View File

@@ -9,12 +9,11 @@ package com.facebook.react.uimanager;
import static com.facebook.react.bridge.ReactMarkerConstants.CREATE_UI_MANAGER_MODULE_CONSTANTS_END;
import static com.facebook.react.bridge.ReactMarkerConstants.CREATE_UI_MANAGER_MODULE_CONSTANTS_START;
import static com.facebook.react.uimanager.common.UIManagerType.DEFAULT;
import android.content.ComponentCallbacks2;
import android.content.res.Configuration;
import android.content.Context;
import android.content.res.Configuration;
import android.media.AudioManager;
import com.facebook.common.logging.FLog;
import com.facebook.debug.holder.PrinterHolder;
@@ -42,6 +41,7 @@ import com.facebook.react.uimanager.common.SizeMonitoringFrameLayout;
import com.facebook.react.uimanager.common.ViewUtil;
import com.facebook.react.uimanager.debug.NotThreadSafeViewHierarchyUpdateDebugListener;
import com.facebook.react.uimanager.events.EventDispatcher;
import com.facebook.react.uimanager.events.RCTEventEmitter;
import com.facebook.systrace.Systrace;
import com.facebook.systrace.SystraceMessage;
import java.util.ArrayList;
@@ -129,7 +129,7 @@ public class UIManagerModule extends ReactContextBaseJavaModule implements
int minTimeLeftInFrameForNonBatchedOperationMs) {
super(reactContext);
DisplayMetricsHolder.initDisplayMetricsIfNotInitialized(reactContext);
mEventDispatcher = new EventDispatcher(reactContext);
mEventDispatcher = reactContext.getEventDispatcher();
mModuleConstants = createConstants(viewManagerResolver);
mCustomDirectEvents = UIManagerModuleConstants.getDirectEventTypeConstants();
mUIImplementation =
@@ -149,7 +149,7 @@ public class UIManagerModule extends ReactContextBaseJavaModule implements
int minTimeLeftInFrameForNonBatchedOperationMs) {
super(reactContext);
DisplayMetricsHolder.initDisplayMetricsIfNotInitialized(reactContext);
mEventDispatcher = new EventDispatcher(reactContext);
mEventDispatcher = reactContext.getEventDispatcher();
mCustomDirectEvents = MapBuilder.newHashMap();
mModuleConstants = createConstants(viewManagersList, null, mCustomDirectEvents);
mUIImplementation =
@@ -182,10 +182,14 @@ public class UIManagerModule extends ReactContextBaseJavaModule implements
@Override
public void initialize() {
getReactApplicationContext().registerComponentCallbacks(mMemoryTrimCallback);
mEventDispatcher.registerEventEmitter(
DEFAULT,
getReactApplicationContext().getJSModule(RCTEventEmitter.class));
}
@Override
public void onHostResume() {
mUIImplementation.onHostResume();
}