mirror of
https://github.com/zhigang1992/react-native.git
synced 2026-04-03 22:48:25 +08:00
Delete ModuleRegistryHolder
Reviewed By: mhorowitz Differential Revision: D4411478 fbshipit-source-id: 03f48f92f0d97bd5e3318f60c8357242fe9792cf
This commit is contained in:
committed by
Facebook Github Bot
parent
bf930e473a
commit
0e7d0ebd9a
@@ -128,7 +128,8 @@ public class CatalystInstanceImpl implements CatalystInstance {
|
||||
jsExecutor,
|
||||
mReactQueueConfiguration.getJSQueueThread(),
|
||||
mReactQueueConfiguration.getNativeModulesQueueThread(),
|
||||
mJavaRegistry.getModuleRegistryHolder(this));
|
||||
mJavaRegistry.getJavaModules(this),
|
||||
mJavaRegistry.getCxxModules());
|
||||
mMainExecutorToken = getMainExecutorToken();
|
||||
}
|
||||
|
||||
@@ -179,7 +180,8 @@ public class CatalystInstanceImpl implements CatalystInstance {
|
||||
JavaScriptExecutor jsExecutor,
|
||||
MessageQueueThread jsQueue,
|
||||
MessageQueueThread moduleQueue,
|
||||
ModuleRegistryHolder registryHolder);
|
||||
Collection<JavaModuleWrapper> javaModules,
|
||||
Collection<CxxModuleWrapper> cxxModules);
|
||||
|
||||
/**
|
||||
* This API is used in situations where the JS bundle is being executed not on
|
||||
|
||||
@@ -1,28 +0,0 @@
|
||||
/**
|
||||
* Copyright (c) 2015-present, Facebook, Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* This source code is licensed under the BSD-style license found in the
|
||||
* LICENSE file in the root directory of this source tree. An additional grant
|
||||
* of patent rights can be found in the PATENTS file in the same directory.
|
||||
*/
|
||||
|
||||
package com.facebook.react.cxxbridge;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
import com.facebook.jni.HybridData;
|
||||
|
||||
public class ModuleRegistryHolder {
|
||||
private final HybridData mHybridData;
|
||||
private static native HybridData initHybrid(
|
||||
CatalystInstanceImpl catalystInstanceImpl,
|
||||
Collection<JavaModuleWrapper> javaModules,
|
||||
Collection<CxxModuleWrapper> cxxModules);
|
||||
|
||||
public ModuleRegistryHolder(CatalystInstanceImpl catalystInstanceImpl,
|
||||
Collection<JavaModuleWrapper> javaModules,
|
||||
Collection<CxxModuleWrapper> cxxModules) {
|
||||
mHybridData = initHybrid(catalystInstanceImpl, javaModules, cxxModules);
|
||||
}
|
||||
}
|
||||
@@ -10,6 +10,7 @@
|
||||
package com.facebook.react.cxxbridge;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@@ -36,22 +37,27 @@ public class NativeModuleRegistry {
|
||||
mBatchCompleteListenerModules = batchCompleteListenerModules;
|
||||
}
|
||||
|
||||
/* package */ ModuleRegistryHolder getModuleRegistryHolder(
|
||||
CatalystInstanceImpl catalystInstanceImpl) {
|
||||
/* package */ Collection<JavaModuleWrapper> getJavaModules(
|
||||
CatalystInstanceImpl catalystInstanceImpl) {
|
||||
ArrayList<JavaModuleWrapper> javaModules = new ArrayList<>();
|
||||
for (Map.Entry<Class<? extends NativeModule>, ModuleHolder> entry : mModules.entrySet()) {
|
||||
Class<?> type = entry.getKey();
|
||||
if (!CxxModuleWrapper.class.isAssignableFrom(type)) {
|
||||
javaModules.add(new JavaModuleWrapper(catalystInstanceImpl, entry.getValue()));
|
||||
}
|
||||
}
|
||||
return javaModules;
|
||||
}
|
||||
|
||||
/* package */ Collection<CxxModuleWrapper> getCxxModules() {
|
||||
ArrayList<CxxModuleWrapper> cxxModules = new ArrayList<>();
|
||||
for (Map.Entry<Class<? extends NativeModule>, ModuleHolder> entry : mModules.entrySet()) {
|
||||
Class<?> type = entry.getKey();
|
||||
ModuleHolder moduleHolder = entry.getValue();
|
||||
if (BaseJavaModule.class.isAssignableFrom(type)) {
|
||||
javaModules.add(new JavaModuleWrapper(catalystInstanceImpl, moduleHolder));
|
||||
} else if (CxxModuleWrapper.class.isAssignableFrom(type)) {
|
||||
cxxModules.add((CxxModuleWrapper) moduleHolder.getModule());
|
||||
} else {
|
||||
throw new IllegalArgumentException("Unknown module type " + type);
|
||||
if (CxxModuleWrapper.class.isAssignableFrom(type)) {
|
||||
cxxModules.add((CxxModuleWrapper) entry.getValue().getModule());
|
||||
}
|
||||
}
|
||||
return new ModuleRegistryHolder(catalystInstanceImpl, javaModules, cxxModules);
|
||||
return cxxModules;
|
||||
}
|
||||
|
||||
/* package */ void notifyCatalystInstanceDestroy() {
|
||||
|
||||
Reference in New Issue
Block a user