20
20
#include < cxxreact/ModuleRegistry.h>
21
21
#include < cxxreact/CxxNativeModule.h>
22
22
23
+ #include " CxxModuleWrapper.h"
23
24
#include " JavaScriptExecutorHolder.h"
24
25
#include " JniJSModulesUnbundle.h"
25
26
#include " JNativeRunnable.h"
@@ -128,21 +129,10 @@ void CatalystInstanceImpl::initializeBridge(
128
129
jni::alias_ref<JavaMessageQueueThread::javaobject> jsQueue,
129
130
jni::alias_ref<JavaMessageQueueThread::javaobject> moduleQueue,
130
131
jni::alias_ref<jni::JCollection<JavaModuleWrapper::javaobject>::javaobject> javaModules,
131
- jni::alias_ref<jni::JCollection<CxxModuleWrapper ::javaobject>::javaobject> cxxModules) {
132
+ jni::alias_ref<jni::JCollection<ModuleHolder ::javaobject>::javaobject> cxxModules) {
132
133
// TODO mhorowitz: how to assert here?
133
134
// Assertions.assertCondition(mBridge == null, "initializeBridge should be called once");
134
135
135
- std::vector<std::unique_ptr<NativeModule>> modules;
136
- std::weak_ptr<Instance> winstance (instance_);
137
- for (const auto & jm : *javaModules) {
138
- modules.emplace_back (folly::make_unique<JavaNativeModule>(winstance, jm));
139
- }
140
- for (const auto & cm : *cxxModules) {
141
- modules.emplace_back (
142
- folly::make_unique<CxxNativeModule>(winstance, std::move (cthis (cm)->getModule ())));
143
- }
144
- auto moduleRegistry = std::make_shared<ModuleRegistry>(std::move (modules));
145
-
146
136
// This used to be:
147
137
//
148
138
// Java CatalystInstanceImpl -> C++ CatalystInstanceImpl -> Bridge -> Bridge::Callback
@@ -163,7 +153,8 @@ void CatalystInstanceImpl::initializeBridge(
163
153
jseh->getExecutorFactory (),
164
154
folly::make_unique<JMessageQueueThread>(jsQueue),
165
155
folly::make_unique<JMessageQueueThread>(moduleQueue),
166
- moduleRegistry);
156
+ buildModuleRegistry (std::weak_ptr<Instance>(instance_),
157
+ javaModules, cxxModules));
167
158
}
168
159
169
160
void CatalystInstanceImpl::jniSetSourceURL (const std::string& sourceURL) {
0 commit comments