Skip to content

Commit f743b3c

Browse files
committed
decorate
1 parent 95c13bf commit f743b3c

File tree

3 files changed

+24
-19
lines changed

3 files changed

+24
-19
lines changed

packages/react-native/React/Base/RCTDevMenuConfigurationDecorator.mm

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
*/
77

88
#import <RCTDevMenuConfigurationDecorator.h>
9+
#import <React/RCTDevSettings.h>
910

1011
@implementation RCTDevMenuConfigurationDecorator
1112

@@ -18,11 +19,17 @@ - (instancetype)initWithDevMenuConfiguration:(RCTDevMenuConfiguration *)devMenuC
1819
return self;
1920
}
2021

21-
- (void)decorate:(RCTDevMenu *)devMenuModule
22+
- (void)decorate:(id<RCTBridgeModule>)bridgeModule
2223
{
23-
if (_devMenuConfiguration != nil) {
24-
devMenuModule.isDevMenuEnabled = _devMenuConfiguration.isDevMenuEnabled;
25-
[devMenuModule setShakeToShow:_devMenuConfiguration.isShakeGestureEnabled];
24+
if ([bridgeModule isKindOfClass:[RCTDevMenu class]]) {
25+
RCTDevMenu *devMenu = (RCTDevMenu *)bridgeModule;
26+
devMenu.isDevMenuEnabled = _devMenuConfiguration.isDevMenuEnabled;
27+
[devMenu setHotkeysEnabled:_devMenuConfiguration.areKeyboardShortcutsEnabled];
28+
}
29+
30+
if ([bridgeModule isKindOfClass:[RCTDevSettings class]]) {
31+
RCTDevSettings *devSettings = (RCTDevSettings *)bridgeModule;
32+
[devSettings setIsShakeToShowDevMenuEnabled:_devMenuConfiguration.isShakeGestureEnabled];
2633
}
2734
}
2835

packages/react-native/React/CoreModules/RCTDevMenu.mm

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -33,17 +33,17 @@ @interface RCTDevMenuConfiguration ()
3333
@end
3434

3535
@implementation RCTDevMenuConfiguration
36-
- (instancetype)initWithDevMenuEnabled:(BOOL) isDevMenuEnabled
37-
shakeGestureEnabled:(BOOL) isShakeGestureEnabled
38-
keyboardShortcutsEnabled:(BOOL) areKeyboardShortcutsEnabled
39-
{
40-
if (self = [super init]) {
41-
_isDevMenuEnabled = isDevMenuEnabled;
42-
_isShakeGestureEnabled = isShakeGestureEnabled;
43-
_areKeyboardShortcutsEnabled = areKeyboardShortcutsEnabled;
44-
}
45-
return self;
36+
- (instancetype)initWithDevMenuEnabled:(BOOL)isDevMenuEnabled
37+
shakeGestureEnabled:(BOOL)isShakeGestureEnabled
38+
keyboardShortcutsEnabled:(BOOL)areKeyboardShortcutsEnabled
39+
{
40+
if (self = [super init]) {
41+
_isDevMenuEnabled = isDevMenuEnabled;
42+
_isShakeGestureEnabled = isShakeGestureEnabled;
43+
_areKeyboardShortcutsEnabled = areKeyboardShortcutsEnabled;
4644
}
45+
return self;
46+
}
4747
@end
4848

4949
@implementation UIWindow (RCTDevMenu)
@@ -445,7 +445,8 @@ - (RCTDevMenuAlertActionHandler)alertActionHandlerForDevItem:(RCTDevMenuItem *__
445445

446446
- (void)setShakeToShow:(BOOL)shakeToShow
447447
{
448-
((RCTDevSettings *)[_moduleRegistry moduleForName:"DevSettings"]).isShakeToShowDevMenuEnabled = shakeToShow;
448+
RCTDevSettings *devSettings = [_moduleRegistry moduleForName:"DevSettings"];
449+
[devSettings setIsShakeToShowDevMenuEnabled:shakeToShow];
449450
}
450451

451452
- (BOOL)shakeToShow

packages/react-native/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModuleManager.mm

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -776,10 +776,7 @@ - (BOOL)_shouldCreateObjCModule:(Class)moduleClass
776776
[(id<RCTInitializing>)module initialize];
777777
}
778778

779-
if ([module isKindOfClass:[RCTDevMenu class]]) {
780-
RCTDevMenu *devMenu = (RCTDevMenu *)module;
781-
[_devMenuConfigurationDecorator decorate:devMenu];
782-
}
779+
[_devMenuConfigurationDecorator decorate:module];
783780

784781
/**
785782
* Attach method queue to id<RCTBridgeModule> object.

0 commit comments

Comments
 (0)