Manual: Migrate from bridge.devMenu to RCTModuleRegistry

Summary:
Ran xbgs `.devMenu`, and found all the NativeModules that used the bridge to access DevMenu. Then, I migrated them to use RCTModuleRegistry.

Changelog: [Internal]

Reviewed By: PeteTheHeat

Differential Revision: D25499960

fbshipit-source-id: 70478616d44808f3788dd0b194da155db0877db9
This commit is contained in:
Ramanpreet Nara 2020-12-12 18:58:58 -08:00 коммит произвёл Facebook GitHub Bot
Родитель f50d9c41b2
Коммит e1fea9d152
2 изменённых файлов: 11 добавлений и 10 удалений

Просмотреть файл

@ -358,11 +358,11 @@ RCT_EXPORT_METHOD(toggleElementInspector)
RCT_EXPORT_METHOD(addMenuItem : (NSString *)title)
{
__weak __typeof(self) weakSelf = self;
[self.bridge.devMenu addItem:[RCTDevMenuItem buttonItemWithTitle:title
handler:^{
[weakSelf sendEventWithName:@"didPressMenuItem"
body:@{@"title" : title}];
}]];
[(RCTDevMenu *)[self.moduleRegistry moduleForName:"DevMenu"]
addItem:[RCTDevMenuItem buttonItemWithTitle:title
handler:^{
[weakSelf sendEventWithName:@"didPressMenuItem" body:@{@"title" : title}];
}]];
}
- (BOOL)isElementInspectorShown
@ -463,7 +463,8 @@ RCT_EXPORT_METHOD(addMenuItem : (NSString *)title)
if ([self isElementInspectorShown]) {
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
[[self.moduleRegistry moduleForName:"EventDispatcher"] sendDeviceEventWithName:@"toggleElementInspector" body:nil];
[[self.moduleRegistry moduleForName:"EventDispatcher"] sendDeviceEventWithName:@"toggleElementInspector"
body:nil];
#pragma clang diagnostic pop
}
});

Просмотреть файл

@ -136,6 +136,7 @@ static vm_size_t RCTGetResidentMemorySize(void)
}
@synthesize bridge = _bridge;
@synthesize moduleRegistry = _moduleRegistry;
RCT_EXPORT_MODULE()
@ -149,12 +150,11 @@ RCT_EXPORT_MODULE()
return dispatch_get_main_queue();
}
- (void)setBridge:(RCTBridge *)bridge
- (void)setModuleRegistry:(RCTModuleRegistry *)moduleRegistry
{
_bridge = bridge;
_moduleRegistry = moduleRegistry;
#if __has_include(<React/RCTDevMenu.h>)
[_bridge.devMenu addItem:self.devMenuItem];
[(RCTDevMenu *)[_moduleRegistry moduleForName:"DevMenu"] addItem:self.devMenuItem];
#endif
}