Skip to content

Commit

Permalink
Update ModuleRegistry if there're new modules registered
Browse files Browse the repository at this point in the history
Reviewed By: fkgozali

Differential Revision: D7638394

fbshipit-source-id: c1690da7977f0335bc661df5f19dc9f473150d41
  • Loading branch information
Dmitry Zakharov authored and aleclarson committed Feb 27, 2019
1 parent 23ee96d commit a9373fd
Showing 1 changed file with 9 additions and 5 deletions.
14 changes: 9 additions & 5 deletions React/CxxBridge/RCTCxxBridge.mm
Original file line number Diff line number Diff line change
Expand Up @@ -310,7 +310,7 @@ - (void)start

[self registerExtraModules];
// Initialize all native modules that cannot be loaded lazily
[self _initModules:RCTGetModuleClasses() withDispatchGroup:prepareBridge lazilyDiscovered:NO];
(void)[self _initializeModules:RCTGetModuleClasses() withDispatchGroup:prepareBridge lazilyDiscovered:NO];

[_performanceLogger markStopForTag:RCTPLNativeModuleInit];

Expand Down Expand Up @@ -623,9 +623,9 @@ - (void)registerExtraModules
RCT_PROFILE_END_EVENT(RCTProfileTagAlways, @"");
}

- (void)_initModules:(NSArray<id<RCTBridgeModule>> *)modules
withDispatchGroup:(dispatch_group_t)dispatchGroup
lazilyDiscovered:(BOOL)lazilyDiscovered
- (NSArray<RCTModuleData *> *)_initializeModules:(NSArray<id<RCTBridgeModule>> *)modules
withDispatchGroup:(dispatch_group_t)dispatchGroup
lazilyDiscovered:(BOOL)lazilyDiscovered
{
RCTAssert(!(RCTIsMainQueue() && lazilyDiscovered), @"Lazy discovery can only happen off the Main Queue");

Expand Down Expand Up @@ -676,11 +676,15 @@ - (void)_initModules:(NSArray<id<RCTBridgeModule>> *)modules
RCTProfileHookModules(self);
}
#endif
return moduleDataById;
}

- (void)registerAdditionalModuleClasses:(NSArray<Class> *)modules
{
[self _initModules:modules withDispatchGroup:NULL lazilyDiscovered:YES];
NSArray<RCTModuleData *> *newModules = [self _initializeModules:modules withDispatchGroup:NULL lazilyDiscovered:YES];
if (_reactInstance) {
_reactInstance->getModuleRegistry().registerModules(createNativeModules(newModules, self, _reactInstance));
}
}

- (void)_prepareModulesWithDispatchGroup:(dispatch_group_t)dispatchGroup
Expand Down

0 comments on commit a9373fd

Please sign in to comment.