Integrate ComponentNameResolver into ReactInstanceManager
Summary: This diff integrates the ComponentNameResolver class into ReactInstanceManager changelog: [internal] internal Reviewed By: JoshuaGross Differential Revision: D26716900 fbshipit-source-id: e3a5f44485f659a32bf6094eee7985daf634f50f
This commit is contained in:
Родитель
2f5f6c40c2
Коммит
056f1fd2cd
|
@ -83,6 +83,8 @@ import com.facebook.react.devsupport.RedBoxHandler;
|
||||||
import com.facebook.react.devsupport.interfaces.DevBundleDownloadListener;
|
import com.facebook.react.devsupport.interfaces.DevBundleDownloadListener;
|
||||||
import com.facebook.react.devsupport.interfaces.DevSupportManager;
|
import com.facebook.react.devsupport.interfaces.DevSupportManager;
|
||||||
import com.facebook.react.devsupport.interfaces.PackagerStatusCallback;
|
import com.facebook.react.devsupport.interfaces.PackagerStatusCallback;
|
||||||
|
import com.facebook.react.fabric.ComponentNameResolver;
|
||||||
|
import com.facebook.react.fabric.ComponentNameResolverManager;
|
||||||
import com.facebook.react.modules.appearance.AppearanceModule;
|
import com.facebook.react.modules.appearance.AppearanceModule;
|
||||||
import com.facebook.react.modules.appregistry.AppRegistry;
|
import com.facebook.react.modules.appregistry.AppRegistry;
|
||||||
import com.facebook.react.modules.core.DefaultHardwareBackBtnHandler;
|
import com.facebook.react.modules.core.DefaultHardwareBackBtnHandler;
|
||||||
|
@ -159,6 +161,7 @@ public class ReactInstanceManager {
|
||||||
private final List<ReactPackage> mPackages;
|
private final List<ReactPackage> mPackages;
|
||||||
private final DevSupportManager mDevSupportManager;
|
private final DevSupportManager mDevSupportManager;
|
||||||
private final boolean mUseDeveloperSupport;
|
private final boolean mUseDeveloperSupport;
|
||||||
|
private @Nullable ComponentNameResolverManager mComponentNameResolverManager;
|
||||||
private final @Nullable NotThreadSafeBridgeIdleDebugListener mBridgeIdleDebugListener;
|
private final @Nullable NotThreadSafeBridgeIdleDebugListener mBridgeIdleDebugListener;
|
||||||
private final Object mReactContextLock = new Object();
|
private final Object mReactContextLock = new Object();
|
||||||
private @Nullable volatile ReactContext mCurrentReactContext;
|
private @Nullable volatile ReactContext mCurrentReactContext;
|
||||||
|
@ -715,6 +718,7 @@ public class ReactInstanceManager {
|
||||||
synchronized (mPackages) {
|
synchronized (mPackages) {
|
||||||
mViewManagerNames = null;
|
mViewManagerNames = null;
|
||||||
}
|
}
|
||||||
|
mComponentNameResolverManager = null;
|
||||||
FLog.d(ReactConstants.TAG, "ReactInstanceManager has been destroyed");
|
FLog.d(ReactConstants.TAG, "ReactInstanceManager has been destroyed");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1331,6 +1335,15 @@ public class ReactInstanceManager {
|
||||||
catalystInstance.setGlobalVariable("__RCTProfileIsProfiling", "true");
|
catalystInstance.setGlobalVariable("__RCTProfileIsProfiling", "true");
|
||||||
}
|
}
|
||||||
if (ReactFeatureFlags.enableExperimentalStaticViewConfigs) {
|
if (ReactFeatureFlags.enableExperimentalStaticViewConfigs) {
|
||||||
|
mComponentNameResolverManager =
|
||||||
|
new ComponentNameResolverManager(
|
||||||
|
catalystInstance.getRuntimeExecutor(),
|
||||||
|
new ComponentNameResolver() {
|
||||||
|
@Override
|
||||||
|
public String[] getComponentNames() {
|
||||||
|
return getViewManagerNames().toArray(new String[0]);
|
||||||
|
}
|
||||||
|
});
|
||||||
catalystInstance.setGlobalVariable("__fbStaticViewConfig", "true");
|
catalystInstance.setGlobalVariable("__fbStaticViewConfig", "true");
|
||||||
}
|
}
|
||||||
ReactMarker.logMarker(ReactMarkerConstants.PRE_RUN_JS_BUNDLE_START);
|
ReactMarker.logMarker(ReactMarkerConstants.PRE_RUN_JS_BUNDLE_START);
|
||||||
|
|
Загрузка…
Ссылка в новой задаче