react-native-navigation 8.1.0-alpha01 → 8.1.0-rc01-snapshot.1685

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (185) hide show
  1. package/autolink/postlink/__snapshots__/appDelegateLinker.test.js.snap +12 -12
  2. package/index.e2e.js +2 -1
  3. package/lib/Mock/Components/ComponentScreen.tsx +2 -1
  4. package/lib/Mock/Components/LayoutComponent.tsx +9 -0
  5. package/lib/Mock/Components/SideMenu.tsx +27 -0
  6. package/lib/Mock/Layouts/BottomTabsNode.ts +4 -2
  7. package/lib/Mock/Layouts/LayoutNodeFactory.ts +14 -1
  8. package/lib/Mock/Layouts/ParentNode.ts +4 -0
  9. package/lib/Mock/Layouts/SideMenu.ts +87 -0
  10. package/lib/Mock/Stores/LayoutStore.ts +42 -10
  11. package/lib/Mock/actions/layoutActions.ts +11 -0
  12. package/lib/Mock/mocks/NativeCommandsSender.tsx +1 -0
  13. package/lib/android/app/build.gradle +22 -125
  14. package/lib/android/app/src/main/java/com/reactnativenavigation/FeatureToggles.kt +4 -2
  15. package/lib/android/app/src/main/java/com/reactnativenavigation/NavigationActivity.java +2 -2
  16. package/lib/android/app/src/main/java/com/reactnativenavigation/NavigationApplication.java +1 -1
  17. package/lib/android/app/src/main/java/com/reactnativenavigation/options/LayoutFactory.java +4 -4
  18. package/lib/android/app/src/main/java/com/reactnativenavigation/react/NavigationPackage.kt +27 -13
  19. package/lib/android/app/src/main/java/com/reactnativenavigation/react/NavigationReactInitializer.java +2 -14
  20. package/lib/android/app/src/main/java/com/reactnativenavigation/react/NavigationTurboModule.kt +291 -0
  21. package/lib/android/app/src/{reactNative71 → main}/java/com/reactnativenavigation/react/ReactGateway.java +23 -23
  22. package/lib/android/app/src/main/java/com/reactnativenavigation/react/ReactView.java +6 -6
  23. package/lib/android/app/src/main/java/com/reactnativenavigation/utils/ColorUtils.java +11 -0
  24. package/lib/android/app/src/main/java/com/reactnativenavigation/utils/MotionEvent.kt +4 -9
  25. package/lib/android/app/src/main/java/com/reactnativenavigation/utils/SystemUiUtils.kt +12 -17
  26. package/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/bottomtabs/BottomTabPresenter.java +0 -1
  27. package/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/bottomtabs/BottomTabsController.java +20 -13
  28. package/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/component/ComponentPresenter.java +18 -0
  29. package/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/component/ComponentViewController.java +5 -17
  30. package/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/stack/StackController.java +28 -13
  31. package/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/stack/StackPresenter.java +13 -6
  32. package/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/stack/topbar/TopBarController.kt +35 -2
  33. package/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/statusbar/StatusBarPresenter.kt +212 -0
  34. package/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/viewcontroller/Presenter.java +10 -178
  35. package/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/viewcontroller/StatusBarColorAnimator.kt +28 -0
  36. package/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/viewcontroller/ViewController.java +34 -7
  37. package/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/viewcontroller/ViewControllerVisibilityInfo.kt +5 -0
  38. package/lib/android/build.gradle +27 -15
  39. package/lib/dist/Mock/Components/ComponentScreen.js +2 -1
  40. package/lib/dist/Mock/Components/LayoutComponent.js +9 -0
  41. package/lib/dist/Mock/Components/SideMenu.d.ts +58 -0
  42. package/lib/dist/Mock/Components/SideMenu.js +25 -0
  43. package/lib/dist/Mock/Layouts/BottomTabsNode.d.ts +1 -1
  44. package/lib/dist/Mock/Layouts/BottomTabsNode.js +3 -2
  45. package/lib/dist/Mock/Layouts/LayoutNodeFactory.d.ts +2 -1
  46. package/lib/dist/Mock/Layouts/LayoutNodeFactory.js +10 -1
  47. package/lib/dist/Mock/Layouts/ParentNode.d.ts +1 -0
  48. package/lib/dist/Mock/Layouts/ParentNode.js +3 -0
  49. package/lib/dist/Mock/Layouts/SideMenu.d.ts +31 -0
  50. package/lib/dist/Mock/Layouts/SideMenu.js +80 -0
  51. package/lib/dist/Mock/Stores/LayoutStore.js +38 -9
  52. package/lib/dist/Mock/actions/layoutActions.d.ts +3 -0
  53. package/lib/dist/Mock/actions/layoutActions.js +11 -1
  54. package/lib/dist/Mock/mocks/NativeCommandsSender.js +1 -0
  55. package/lib/dist/src/adapters/NativeCommandsSender.d.ts +39 -4
  56. package/lib/dist/src/adapters/NativeCommandsSender.js +2 -2
  57. package/lib/dist/src/adapters/NativeRNNTurboEventEmitter.js +2 -9
  58. package/lib/dist/src/adapters/NativeRNNTurboModule.d.ts +9 -10
  59. package/lib/dist/src/adapters/NativeRNNTurboModule.js +1 -12
  60. package/lib/dist/src/commands/Commands.d.ts +13 -13
  61. package/lib/ios/AnimatedTextView.mm +1 -0
  62. package/lib/ios/Constants.mm +7 -1
  63. package/lib/ios/RNNAppDelegate.mm +3 -1
  64. package/lib/ios/RNNCommandsHandler.mm +1 -0
  65. package/lib/ios/RNNCustomTitleView.h +1 -0
  66. package/lib/ios/RNNCustomTitleView.mm +8 -1
  67. package/lib/ios/RNNEventEmitter.mm +3 -0
  68. package/lib/ios/RNNReactButtonView.mm +1 -1
  69. package/lib/ios/RNNReactView.h +3 -1
  70. package/lib/ios/RNNReactView.mm +45 -20
  71. package/lib/ios/TopBarTitlePresenter.mm +2 -0
  72. package/lib/ios/TurboModules/RNNTurboEventEmitter.mm +7 -0
  73. package/lib/ios/UINavigationController+RNNCommands.mm +4 -0
  74. package/lib/src/adapters/NativeCommandsSender.ts +7 -7
  75. package/lib/src/adapters/NativeRNNTurboEventEmitter.ts +3 -9
  76. package/lib/src/adapters/NativeRNNTurboModule.ts +23 -21
  77. package/package.json +14 -17
  78. package/react-native.config.js +1 -1
  79. package/lib/android/app/src/main/java/com/reactnativenavigation/react/DevPermissionRequest.java +0 -42
  80. package/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/stack/statusbar/StatusBarController.kt +0 -9
  81. package/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/stack/statusbar/StatusBarPresenter.kt +0 -9
  82. package/lib/android/app/src/reactNative51/java/com/reactnativenavigation/options/parsers/ColorParser.java +0 -18
  83. package/lib/android/app/src/reactNative51/java/com/reactnativenavigation/react/DevBundleDownloadListenerAdapter.java +0 -22
  84. package/lib/android/app/src/reactNative51/java/com/reactnativenavigation/react/JsDevReloadHandlerFacade.java +0 -22
  85. package/lib/android/app/src/reactNative51/java/com/reactnativenavigation/react/NavigationReactNativeHost.java +0 -71
  86. package/lib/android/app/src/reactNative51/java/com/reactnativenavigation/react/ReactGateway.java +0 -70
  87. package/lib/android/app/src/reactNative51/java/com/reactnativenavigation/react/SyncUiImplementation.java +0 -83
  88. package/lib/android/app/src/reactNative51/java/com/reactnativenavigation/react/modal/ModalContentLayout.kt +0 -81
  89. package/lib/android/app/src/reactNative51/java/com/reactnativenavigation/viewcontrollers/viewcontroller/YellowBoxDelegate.kt +0 -42
  90. package/lib/android/app/src/reactNative51/java/com/reactnativenavigation/viewcontrollers/viewcontroller/YellowBoxHelper.java +0 -27
  91. package/lib/android/app/src/reactNative51/java/com/reactnativenavigation/views/stack/topbar/titlebar/TitleBarReactView.kt +0 -32
  92. package/lib/android/app/src/reactNative55/java/com/reactnativenavigation/options/parsers/ColorParser.java +0 -18
  93. package/lib/android/app/src/reactNative55/java/com/reactnativenavigation/react/DevBundleDownloadListenerAdapter.java +0 -22
  94. package/lib/android/app/src/reactNative55/java/com/reactnativenavigation/react/JsDevReloadHandlerFacade.java +0 -22
  95. package/lib/android/app/src/reactNative55/java/com/reactnativenavigation/react/NavigationReactNativeHost.java +0 -71
  96. package/lib/android/app/src/reactNative55/java/com/reactnativenavigation/react/ReactGateway.java +0 -70
  97. package/lib/android/app/src/reactNative55/java/com/reactnativenavigation/react/ReloadHandlerFacade.java +0 -22
  98. package/lib/android/app/src/reactNative55/java/com/reactnativenavigation/react/SyncUiImplementation.java +0 -83
  99. package/lib/android/app/src/reactNative55/java/com/reactnativenavigation/react/modal/ModalContentLayout.kt +0 -81
  100. package/lib/android/app/src/reactNative55/java/com/reactnativenavigation/viewcontrollers/viewcontroller/YellowBoxDelegate.kt +0 -42
  101. package/lib/android/app/src/reactNative55/java/com/reactnativenavigation/viewcontrollers/viewcontroller/YellowBoxHelper.java +0 -27
  102. package/lib/android/app/src/reactNative55/java/com/reactnativenavigation/views/stack/topbar/titlebar/TitleBarReactView.kt +0 -32
  103. package/lib/android/app/src/reactNative56/java/com/reactnativenavigation/options/parsers/ColorParser.java +0 -18
  104. package/lib/android/app/src/reactNative56/java/com/reactnativenavigation/react/DevBundleDownloadListenerAdapter.java +0 -28
  105. package/lib/android/app/src/reactNative56/java/com/reactnativenavigation/react/JsDevReloadHandlerFacade.java +0 -28
  106. package/lib/android/app/src/reactNative56/java/com/reactnativenavigation/react/NavigationReactNativeHost.java +0 -71
  107. package/lib/android/app/src/reactNative56/java/com/reactnativenavigation/react/ReactGateway.java +0 -70
  108. package/lib/android/app/src/reactNative56/java/com/reactnativenavigation/react/ReloadHandlerFacade.java +0 -25
  109. package/lib/android/app/src/reactNative56/java/com/reactnativenavigation/react/SyncUiImplementation.java +0 -83
  110. package/lib/android/app/src/reactNative56/java/com/reactnativenavigation/react/modal/ModalContentLayout.kt +0 -81
  111. package/lib/android/app/src/reactNative56/java/com/reactnativenavigation/viewcontrollers/viewcontroller/YellowBoxDelegate.kt +0 -42
  112. package/lib/android/app/src/reactNative56/java/com/reactnativenavigation/viewcontrollers/viewcontroller/YellowBoxHelper.java +0 -27
  113. package/lib/android/app/src/reactNative56/java/com/reactnativenavigation/views/stack/topbar/titlebar/TitleBarReactView.kt +0 -32
  114. package/lib/android/app/src/reactNative57/java/com/reactnativenavigation/options/parsers/ColorParser.java +0 -18
  115. package/lib/android/app/src/reactNative57/java/com/reactnativenavigation/react/DevBundleDownloadListenerAdapter.java +0 -28
  116. package/lib/android/app/src/reactNative57/java/com/reactnativenavigation/react/JsDevReloadHandlerFacade.java +0 -28
  117. package/lib/android/app/src/reactNative57/java/com/reactnativenavigation/react/NavigationReactNativeHost.java +0 -70
  118. package/lib/android/app/src/reactNative57/java/com/reactnativenavigation/react/ReactGateway.java +0 -70
  119. package/lib/android/app/src/reactNative57/java/com/reactnativenavigation/react/ReloadHandlerFacade.java +0 -25
  120. package/lib/android/app/src/reactNative57/java/com/reactnativenavigation/react/SyncUiImplementation.java +0 -70
  121. package/lib/android/app/src/reactNative57/java/com/reactnativenavigation/react/modal/ModalContentLayout.kt +0 -81
  122. package/lib/android/app/src/reactNative57/java/com/reactnativenavigation/viewcontrollers/viewcontroller/YellowBoxDelegate.kt +0 -42
  123. package/lib/android/app/src/reactNative57/java/com/reactnativenavigation/viewcontrollers/viewcontroller/YellowBoxHelper.java +0 -27
  124. package/lib/android/app/src/reactNative57/java/com/reactnativenavigation/views/stack/topbar/titlebar/TitleBarReactView.kt +0 -32
  125. package/lib/android/app/src/reactNative57_5/java/com/reactnativenavigation/options/parsers/ColorParser.java +0 -18
  126. package/lib/android/app/src/reactNative57_5/java/com/reactnativenavigation/react/DevBundleDownloadListenerAdapter.java +0 -28
  127. package/lib/android/app/src/reactNative57_5/java/com/reactnativenavigation/react/JsDevReloadHandlerFacade.java +0 -28
  128. package/lib/android/app/src/reactNative57_5/java/com/reactnativenavigation/react/NavigationReactNativeHost.java +0 -70
  129. package/lib/android/app/src/reactNative57_5/java/com/reactnativenavigation/react/ReactGateway.java +0 -70
  130. package/lib/android/app/src/reactNative57_5/java/com/reactnativenavigation/react/ReloadHandlerFacade.java +0 -25
  131. package/lib/android/app/src/reactNative57_5/java/com/reactnativenavigation/react/SyncUiImplementation.java +0 -83
  132. package/lib/android/app/src/reactNative57_5/java/com/reactnativenavigation/react/modal/ModalContentLayout.kt +0 -81
  133. package/lib/android/app/src/reactNative57_5/java/com/reactnativenavigation/viewcontrollers/viewcontroller/YellowBoxDelegate.kt +0 -42
  134. package/lib/android/app/src/reactNative57_5/java/com/reactnativenavigation/viewcontrollers/viewcontroller/YellowBoxHelper.java +0 -27
  135. package/lib/android/app/src/reactNative57_5/java/com/reactnativenavigation/views/stack/topbar/titlebar/TitleBarReactView.kt +0 -32
  136. package/lib/android/app/src/reactNative60/java/com/reactnativenavigation/options/parsers/ColorParser.java +0 -18
  137. package/lib/android/app/src/reactNative60/java/com/reactnativenavigation/react/DevBundleDownloadListenerAdapter.java +0 -28
  138. package/lib/android/app/src/reactNative60/java/com/reactnativenavigation/react/JsDevReloadHandlerFacade.java +0 -28
  139. package/lib/android/app/src/reactNative60/java/com/reactnativenavigation/react/NavigationReactNativeHost.java +0 -67
  140. package/lib/android/app/src/reactNative60/java/com/reactnativenavigation/react/ReactGateway.java +0 -70
  141. package/lib/android/app/src/reactNative60/java/com/reactnativenavigation/react/ReloadHandlerFacade.java +0 -25
  142. package/lib/android/app/src/reactNative60/java/com/reactnativenavigation/react/modal/ModalContentLayout.kt +0 -81
  143. package/lib/android/app/src/reactNative60/java/com/reactnativenavigation/viewcontrollers/viewcontroller/YellowBoxDelegate.kt +0 -42
  144. package/lib/android/app/src/reactNative60/java/com/reactnativenavigation/viewcontrollers/viewcontroller/YellowBoxHelper.java +0 -27
  145. package/lib/android/app/src/reactNative60/java/com/reactnativenavigation/views/stack/topbar/titlebar/TitleBarReactView.kt +0 -32
  146. package/lib/android/app/src/reactNative62/java/com/reactnativenavigation/options/parsers/ColorParser.java +0 -18
  147. package/lib/android/app/src/reactNative62/java/com/reactnativenavigation/react/NavigationReactNativeHost.java +0 -67
  148. package/lib/android/app/src/reactNative62/java/com/reactnativenavigation/react/ReactGateway.java +0 -72
  149. package/lib/android/app/src/reactNative62/java/com/reactnativenavigation/react/ReloadHandlerFacade.java +0 -22
  150. package/lib/android/app/src/reactNative62/java/com/reactnativenavigation/react/modal/ModalContentLayout.kt +0 -81
  151. package/lib/android/app/src/reactNative62/java/com/reactnativenavigation/viewcontrollers/viewcontroller/YellowBoxDelegate.kt +0 -42
  152. package/lib/android/app/src/reactNative62/java/com/reactnativenavigation/viewcontrollers/viewcontroller/YellowBoxHelper.java +0 -27
  153. package/lib/android/app/src/reactNative62/java/com/reactnativenavigation/views/stack/topbar/titlebar/TitleBarReactView.kt +0 -32
  154. package/lib/android/app/src/reactNative63/java/com/reactnativenavigation/react/DevBundleDownloadListenerAdapter.java +0 -22
  155. package/lib/android/app/src/reactNative63/java/com/reactnativenavigation/react/JsDevReloadHandlerFacade.java +0 -22
  156. package/lib/android/app/src/reactNative63/java/com/reactnativenavigation/react/NavigationReactNativeHost.java +0 -66
  157. package/lib/android/app/src/reactNative63/java/com/reactnativenavigation/react/ReactGateway.java +0 -72
  158. package/lib/android/app/src/reactNative63/java/com/reactnativenavigation/react/ReloadHandlerFacade.java +0 -22
  159. package/lib/android/app/src/reactNative63/java/com/reactnativenavigation/react/modal/ModalContentLayout.kt +0 -81
  160. package/lib/android/app/src/reactNative63/java/com/reactnativenavigation/viewcontrollers/viewcontroller/YellowBoxDelegate.kt +0 -42
  161. package/lib/android/app/src/reactNative63/java/com/reactnativenavigation/views/stack/topbar/titlebar/TitleBarReactView.kt +0 -32
  162. package/lib/android/app/src/reactNative68/java/com/reactnativenavigation/options/parsers/ColorParser.kt +0 -38
  163. package/lib/android/app/src/reactNative68/java/com/reactnativenavigation/react/DevBundleDownloadListenerAdapter.java +0 -22
  164. package/lib/android/app/src/reactNative68/java/com/reactnativenavigation/react/JsDevReloadHandlerFacade.java +0 -22
  165. package/lib/android/app/src/reactNative68/java/com/reactnativenavigation/react/NavigationReactNativeHost.java +0 -66
  166. package/lib/android/app/src/reactNative68/java/com/reactnativenavigation/react/ReactGateway.java +0 -72
  167. package/lib/android/app/src/reactNative68/java/com/reactnativenavigation/react/ReloadHandlerFacade.java +0 -22
  168. package/lib/android/app/src/reactNative68/java/com/reactnativenavigation/react/modal/ModalContentLayout.kt +0 -87
  169. package/lib/android/app/src/reactNative68/java/com/reactnativenavigation/viewcontrollers/viewcontroller/YellowBoxDelegate.kt +0 -42
  170. package/lib/android/app/src/reactNative68/java/com/reactnativenavigation/viewcontrollers/viewcontroller/YellowBoxHelper.java +0 -12
  171. package/lib/android/app/src/reactNative68/java/com/reactnativenavigation/views/stack/topbar/titlebar/TitleBarReactView.kt +0 -32
  172. package/lib/android/app/src/reactNative71/java/com/reactnativenavigation/options/parsers/ColorParser.kt +0 -38
  173. package/lib/android/app/src/reactNative71/java/com/reactnativenavigation/react/DevBundleDownloadListenerAdapter.java +0 -22
  174. package/lib/android/app/src/reactNative71/java/com/reactnativenavigation/react/JsDevReloadHandlerFacade.java +0 -22
  175. package/lib/android/app/src/reactNative71/java/com/reactnativenavigation/react/ReloadHandlerFacade.java +0 -22
  176. package/lib/android/app/src/reactNative71/java/com/reactnativenavigation/viewcontrollers/viewcontroller/YellowBoxHelper.java +0 -12
  177. /package/lib/android/app/src/{reactNative63 → main}/java/com/reactnativenavigation/options/parsers/ColorParser.kt +0 -0
  178. /package/lib/android/app/src/{reactNative62 → main}/java/com/reactnativenavigation/react/DevBundleDownloadListenerAdapter.java +0 -0
  179. /package/lib/android/app/src/{reactNative62 → main}/java/com/reactnativenavigation/react/JsDevReloadHandlerFacade.java +0 -0
  180. /package/lib/android/app/src/{reactNative71 → main}/java/com/reactnativenavigation/react/NavigationReactNativeHost.java +0 -0
  181. /package/lib/android/app/src/{reactNative51 → main}/java/com/reactnativenavigation/react/ReloadHandlerFacade.java +0 -0
  182. /package/lib/android/app/src/{reactNative71 → main}/java/com/reactnativenavigation/react/modal/ModalContentLayout.kt +0 -0
  183. /package/lib/android/app/src/{reactNative71 → main}/java/com/reactnativenavigation/viewcontrollers/viewcontroller/YellowBoxDelegate.kt +0 -0
  184. /package/lib/android/app/src/{reactNative63 → main}/java/com/reactnativenavigation/viewcontrollers/viewcontroller/YellowBoxHelper.java +0 -0
  185. /package/lib/android/app/src/{reactNative71 → main}/java/com/reactnativenavigation/views/stack/topbar/titlebar/TitleBarReactView.kt +0 -0
@@ -89,6 +89,8 @@
89
89
 
90
90
  viewController.navigationItem.titleView = nil;
91
91
  viewController.navigationItem.titleView = _customTitleView;
92
+ [_customTitleView componentWillAppear];
93
+ [_customTitleView componentDidAppear];
92
94
  } else {
93
95
  [_customTitleView removeFromSuperview];
94
96
  if (readyBlock) {
@@ -18,5 +18,12 @@ RCT_EXPORT_MODULE()
18
18
  _host = host;
19
19
  }
20
20
 
21
+ - (void)send:(NSString *)eventName body:(id)body {
22
+ if (_host == nil) {
23
+ return;
24
+ }
25
+ [self sendEventWithName:eventName body:body];
26
+ }
27
+
21
28
  @end
22
29
  #endif
@@ -21,6 +21,7 @@ typedef void (^RNNAnimationBlock)(void);
21
21
 
22
22
  [self
23
23
  performBlock:^{
24
+ NSLog(@"About to push a controller %@", newTop);
24
25
  [self pushViewController:newTop animated:animated];
25
26
  }
26
27
  animated:animated
@@ -38,9 +39,12 @@ typedef void (^RNNAnimationBlock)(void);
38
39
  }
39
40
  animated:animated
40
41
  completion:^{
42
+ NSLog(@"Pop popAnimated completed");
41
43
  if (poppedVC) {
44
+ NSLog(@"Pop popAnimated completion invokation");
42
45
  completion();
43
46
  } else {
47
+ NSLog(@"Pop rejection");
44
48
  [RNNErrorHandler reject:rejection
45
49
  withErrorCode:1012
46
50
  errorDescription:@"popping component failed"];
@@ -1,5 +1,5 @@
1
1
  import { NavigationConstants } from './Constants';
2
- import RNNCommandsModule from './NativeRNNTurboModule';
2
+ import RNNCommandsModule, { Spec } from './NativeRNNTurboModule';
3
3
 
4
4
  interface NativeCommandsModule {
5
5
  setRoot(commandId: string, layout: { root: any; modals: any[]; overlays: any[] }): Promise<any>;
@@ -9,7 +9,7 @@ interface NativeCommandsModule {
9
9
  pop(commandId: string, componentId: string, options?: object): Promise<any>;
10
10
  popTo(commandId: string, componentId: string, options?: object): Promise<any>;
11
11
  popToRoot(commandId: string, componentId: string, options?: object): Promise<any>;
12
- setStackRoot(commandId: string, onComponentId: string, layout: object): Promise<any>;
12
+ setStackRoot(commandId: string, onComponentId: string, layout: object[]): Promise<any>;
13
13
  showModal(commandId: string, layout: object): Promise<any>;
14
14
  dismissModal(commandId: string, componentId: string, options?: object): Promise<any>;
15
15
  dismissAllModals(commandId: string, options?: object): Promise<any>;
@@ -23,8 +23,8 @@ interface NativeCommandsModule {
23
23
  getConstants?: () => NavigationConstants;
24
24
  }
25
25
 
26
- export class NativeCommandsSender {
27
- private readonly nativeCommandsModule: NativeCommandsModule;
26
+ export class NativeCommandsSender implements NativeCommandsModule {
27
+ private readonly nativeCommandsModule: Spec;
28
28
  constructor() {
29
29
  this.nativeCommandsModule = RNNCommandsModule;
30
30
  }
@@ -57,7 +57,7 @@ export class NativeCommandsSender {
57
57
  return this.nativeCommandsModule.popToRoot(commandId, componentId, options);
58
58
  }
59
59
 
60
- setStackRoot(commandId: string, onComponentId: string, layout: object) {
60
+ setStackRoot(commandId: string, onComponentId: string, layout: object[]) {
61
61
  return this.nativeCommandsModule.setStackRoot(commandId, onComponentId, layout);
62
62
  }
63
63
 
@@ -90,10 +90,10 @@ export class NativeCommandsSender {
90
90
  }
91
91
 
92
92
  getNavigationConstants() {
93
- return this.nativeCommandsModule.getNavigationConstants();
93
+ return Promise.resolve(this.nativeCommandsModule.getConstants());
94
94
  }
95
95
 
96
96
  getNavigationConstantsSync() {
97
- return this.nativeCommandsModule.getNavigationConstantsSync();
97
+ return this.nativeCommandsModule.getConstants();
98
98
  }
99
99
  }
@@ -1,18 +1,12 @@
1
- import { TurboModule, TurboModuleRegistry, NativeModules, NativeModule } from 'react-native';
1
+ import { TurboModule, TurboModuleRegistry, NativeModule } from 'react-native';
2
2
 
3
3
  export interface Spec extends TurboModule {
4
4
  addListener: (eventType: string) => void;
5
5
  removeListeners: (count: number) => void;
6
6
  }
7
7
 
8
- let eventEmitter: Spec | null = null;
8
+ let eventEmitter: Spec | null;
9
+ eventEmitter = TurboModuleRegistry.get<Spec>('RNNTurboEventEmitter');
9
10
 
10
- try {
11
- // Running in bridge mode
12
- eventEmitter = NativeModules.RNNBridgeEventEmitter;
13
- } catch (e) {
14
- // Running in bridgeless, access to NativeModules is prohibited
15
- eventEmitter = TurboModuleRegistry.get<Spec>('RNNTurboEventEmitter');
16
- }
17
11
 
18
12
  export default eventEmitter as NativeModule;
@@ -1,4 +1,4 @@
1
- import { TurboModule, TurboModuleRegistry, NativeModules, Platform } from 'react-native';
1
+ import { TurboModule, TurboModuleRegistry } from 'react-native';
2
2
  import { UnsafeObject, Double } from 'react-native/Libraries/Types/CodegenTypes';
3
3
 
4
4
  export interface Spec extends TurboModule {
@@ -6,42 +6,44 @@ export interface Spec extends TurboModule {
6
6
  topBarHeight: Double;
7
7
  statusBarHeight: Double;
8
8
  bottomTabsHeight: Double;
9
+ backButtonId: string;
9
10
  };
10
11
 
11
12
  setRoot(commandId: string, layout: UnsafeObject): Promise<string>;
13
+
12
14
  setDefaultOptions(options: UnsafeObject): void;
15
+
13
16
  mergeOptions(componentId: string, options: UnsafeObject): void;
17
+
14
18
  push(commandId: string, componentId: string, layout: UnsafeObject): Promise<string>;
15
- pop(commandId: string, componentId: string, options: UnsafeObject): Promise<string>;
16
- popTo(commandId: string, componentId: string, options: UnsafeObject): Promise<string>;
17
- popToRoot(commandId: string, componentId: string, options: UnsafeObject): Promise<string>;
19
+
20
+ pop(commandId: string, componentId: string, options?: UnsafeObject): Promise<string>;
21
+
22
+ popTo(commandId: string, componentId: string, options?: UnsafeObject): Promise<string>;
23
+
24
+ popToRoot(commandId: string, componentId: string, options?: UnsafeObject): Promise<string>;
25
+
18
26
  setStackRoot(
19
27
  commandId: string,
20
28
  componentId: string,
21
29
  layout: Array<UnsafeObject>
22
30
  ): Promise<string>;
31
+
23
32
  showModal(commandId: string, layout: UnsafeObject): Promise<string>;
24
- dismissModal(commandId: string, componentId: string, options: UnsafeObject): Promise<string>;
25
- dismissAllModals(commandId: string, options: UnsafeObject): Promise<void>;
33
+
34
+ dismissModal(commandId: string, componentId: string, options?: UnsafeObject): Promise<string>;
35
+
36
+ dismissAllModals(commandId: string, options?: UnsafeObject): Promise<string>;
37
+
26
38
  showOverlay(commandId: string, layout: UnsafeObject): Promise<string>;
27
- dismissOverlay(commandId: string, componentId: string): Promise<void>;
28
- dismissAllOverlays(commandId: string): Promise<void>;
29
- getLaunchArgs(commandId: string): Promise<Array<string>>;
30
- }
31
39
 
32
- const isTurboModuleEnabled = (globalThis as any).__turboModuleProxy != null;
40
+ dismissOverlay(commandId: string, componentId: string): Promise<string>;
33
41
 
34
- const commands =
35
- isTurboModuleEnabled && Platform.OS === 'ios'
36
- ? TurboModuleRegistry.get<Spec>('RNNTurboModule')
37
- : NativeModules.RNNBridgeModule;
42
+ dismissAllOverlays(commandId: string): Promise<string>;
38
43
 
39
- const isNewArchWithBridgeless = isTurboModuleEnabled;
44
+ getLaunchArgs(commandId: string): Promise<Array<string>>;
45
+ }
40
46
 
41
- export const RCTAssertNewArchEnabled = () => {
42
- if (!isNewArchWithBridgeless)
43
- throw new Error('Allowed only in New Architecture with Bridgeless!');
44
- };
47
+ const commands = TurboModuleRegistry.get<Spec>('RNNTurboModule')!;
45
48
 
46
- export const isRNNTurboModuleAvailable = isNewArchWithBridgeless;
47
49
  export default commands;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-navigation",
3
- "version": "8.1.0-alpha01",
3
+ "version": "8.1.0-rc01-snapshot.1685",
4
4
  "description": "React Native Navigation - truly native navigation for iOS and Android",
5
5
  "license": "MIT",
6
6
  "nativePackage": true,
@@ -19,7 +19,8 @@
19
19
  "bin": {
20
20
  "rnn-link": "./autolink/postlink/run.js"
21
21
  },
22
- "main": "lib/src/index.ts",
22
+ "main": "lib/dist/src/index.js",
23
+ "typings": "lib/dist/src/index.d.ts",
23
24
  "scripts": {
24
25
  "build": "node ./scripts/build",
25
26
  "watch": "node ./scripts/watch",
@@ -80,41 +81,39 @@
80
81
  "@react-native-community/cli-platform-android": "15.0.1",
81
82
  "@react-native-community/cli-platform-ios": "15.0.1",
82
83
  "@react-native-community/datetimepicker": "^8.2.0",
83
- "@react-native-community/eslint-config": "3.2.0",
84
84
  "@react-native-community/netinfo": "^11.4.1",
85
- "@react-native/babel-preset": "0.76.6",
86
- "@react-native/eslint-config": "0.76.6",
87
- "@react-native/metro-config": "0.76.6",
88
- "@react-native/typescript-config": "0.76.6",
85
+ "@react-native/babel-preset": "0.77.2",
86
+ "@react-native/eslint-config": "0.77.2",
87
+ "@react-native/metro-config": "0.77.2",
88
+ "@react-native/typescript-config": "0.77.2",
89
89
  "@testing-library/jest-native": "^5.4.2",
90
90
  "@testing-library/react-native": "^13.0.1",
91
91
  "@types/hoist-non-react-statics": "^3.3.6",
92
92
  "@types/jasmine": "3.5.10",
93
- "@types/jest": "27.0.2",
93
+ "@types/jest": "^29.5.13",
94
94
  "@types/lodash": "^4.14.149",
95
95
  "@types/react": "^18.2.6",
96
96
  "@types/react-test-renderer": "^18.0.0",
97
97
  "@typescript-eslint/eslint-plugin": "8.21.0",
98
98
  "@typescript-eslint/parser": "8.21.0",
99
- "babel-jest": "^27.0.0",
100
99
  "clang-format": "^1.4.0",
101
- "detox": "20.33.0-prerelease.0",
100
+ "detox": "20.34.4",
102
101
  "detox-testing-library-rnn-adapter": "^2.0.3",
103
102
  "eslint": "^8.19.0",
104
103
  "eslint-config-prettier": "6.11.0",
105
104
  "eslint-formatter-codeframe": "^7.32.1",
106
105
  "eslint-plugin-prettier": "3.1.4",
106
+ "eslint-plugin-jest": "^28.11.0",
107
107
  "github-release-notes": "https://github.com/yogevbd/github-release-notes/tarball/e601b3dba72dcd6cba323c1286ea6dd0c0110b58",
108
108
  "husky": "4.2.5",
109
109
  "identity-obj-proxy": "3.0.0",
110
- "jest": "^27.5.1",
110
+ "jest": "^29.6.3",
111
111
  "lint-staged": "10.2.11",
112
- "metro-react-native-babel-preset": "^0.76.2",
113
112
  "pixelmatch": "^5.2.1",
114
113
  "pngjs": "^6.0.0",
115
114
  "prettier": "2.8.8",
116
115
  "react": "18.3.1",
117
- "react-native": "0.76.6",
116
+ "react-native": "0.77.2",
118
117
  "react-native-fast-image": "^8.6.3",
119
118
  "react-native-gesture-handler": "^2.22.1",
120
119
  "react-native-reanimated": "3.16.7",
@@ -123,6 +122,7 @@
123
122
  "redux": "3.x.x",
124
123
  "remx": "3.x.x",
125
124
  "semver": "5.x.x",
125
+ "setimmediate": "^1.0.5",
126
126
  "shell-utils": "1.x.x",
127
127
  "ts-mockito": "^2.3.1",
128
128
  "typedoc": "0.x.x",
@@ -257,9 +257,6 @@
257
257
  "codegenConfig": {
258
258
  "name": "rnnavigation",
259
259
  "type": "all",
260
- "jsSrcsDir": "./lib/src",
261
- "android": {
262
- "javaPackageName": "wix.rnn.specs"
263
- }
260
+ "jsSrcsDir": "./lib/src"
264
261
  }
265
262
  }
@@ -5,7 +5,7 @@ module.exports = {
5
5
  android: {
6
6
  sourceDir: './lib/android/app/',
7
7
  packageImportPath: 'import com.reactnativenavigation.react.NavigationPackage;',
8
- packageInstance: 'new NavigationPackage(reactNativeHost)',
8
+ packageInstance: 'new NavigationPackage()',
9
9
  },
10
10
  },
11
11
  },
@@ -1,42 +0,0 @@
1
- package com.reactnativenavigation.react;
2
-
3
- import android.annotation.TargetApi;
4
- import android.app.Activity;
5
- import android.content.Intent;
6
- import android.os.Build;
7
- import android.provider.Settings;
8
- import android.util.Log;
9
- import android.widget.Toast;
10
-
11
- import com.facebook.react.common.ReactConstants;
12
- import com.reactnativenavigation.BuildConfig;
13
-
14
- public class DevPermissionRequest {
15
-
16
- private final boolean isDebug;
17
-
18
- public DevPermissionRequest(boolean isDebug) {
19
- this.isDebug = isDebug;
20
- }
21
-
22
- public boolean shouldAskPermission(Activity activity) {
23
- return isDebug &&
24
- Build.VERSION.SDK_INT >= 23 &&
25
- BuildConfig.REACT_NATVE_VERSION_MINOR <= 51 &&
26
- !Settings.canDrawOverlays(activity);
27
- }
28
-
29
- @TargetApi(23)
30
- public void askPermission(Activity activity) {
31
- if (shouldAskPermission(activity)) {
32
- Intent serviceIntent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION);
33
- serviceIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
34
- activity.startActivity(serviceIntent);
35
- String msg = "Overlay permissions needs to be granted in order for react native apps to run in dev mode";
36
- Log.w(ReactConstants.TAG, "======================================\n\n");
37
- Log.w(ReactConstants.TAG, msg);
38
- Log.w(ReactConstants.TAG, "\n\n======================================");
39
- Toast.makeText(activity, msg, Toast.LENGTH_LONG).show();
40
- }
41
- }
42
- }
@@ -1,9 +0,0 @@
1
- package com.reactnativenavigation.viewcontrollers.stack.statusbar
2
-
3
- import android.animation.Animator
4
- import com.reactnativenavigation.options.Options
5
-
6
- interface StatusBarController {
7
- fun getStatusBarPushAnimation(appearingOptions: Options): Animator?
8
- fun getStatusBarPopAnimation(appearingOptions: Options, disappearingOptions: Options): Animator?
9
- }
@@ -1,9 +0,0 @@
1
- package com.reactnativenavigation.viewcontrollers.stack.statusbar
2
-
3
- import android.animation.Animator
4
- import com.reactnativenavigation.options.Options
5
-
6
- interface StatusBarPresenter {
7
- fun getStatusBarPushAnimation(appearingOptions: Options): Animator?
8
- fun getStatusBarPopAnimation(appearingOptions: Options, disappearingOptions: Options): Animator?
9
- }
@@ -1,18 +0,0 @@
1
- package com.reactnativenavigation.options.parsers;
2
-
3
- import android.content.Context;
4
-
5
- import com.reactnativenavigation.options.params.Colour;
6
- import com.reactnativenavigation.options.params.DontApplyColour;
7
- import com.reactnativenavigation.options.params.NullColor;
8
-
9
- import org.json.JSONObject;
10
-
11
- public class ColorParser {
12
- public static Colour parse(Context context, JSONObject json, String color) {
13
- if (json.has(color)) {
14
- return json.opt(color) instanceof Integer ? new Colour(json.optInt(color)) : new DontApplyColour();
15
- }
16
- return new NullColor();
17
- }
18
- }
@@ -1,22 +0,0 @@
1
- package com.reactnativenavigation.react;
2
-
3
- import com.facebook.react.devsupport.interfaces.DevBundleDownloadListener;
4
-
5
- import javax.annotation.Nullable;
6
-
7
- public class DevBundleDownloadListenerAdapter implements DevBundleDownloadListener {
8
- @Override
9
- public void onSuccess() {
10
-
11
- }
12
-
13
- @Override
14
- public void onProgress(@Nullable String status, @Nullable Integer done, @Nullable Integer total) {
15
-
16
- }
17
-
18
- @Override
19
- public void onFailure(Exception cause) {
20
-
21
- }
22
- }
@@ -1,22 +0,0 @@
1
- package com.reactnativenavigation.react;
2
-
3
- import com.facebook.react.devsupport.interfaces.DevBundleDownloadListener;
4
-
5
- import javax.annotation.Nullable;
6
-
7
- public class JsDevReloadHandlerFacade implements DevBundleDownloadListener, NavigationDevBundleDownloadListener {
8
- @Override
9
- public void onSuccess() {
10
-
11
- }
12
-
13
- @Override
14
- public void onProgress(@Nullable String status, @Nullable Integer done, @Nullable Integer total) {
15
-
16
- }
17
-
18
- @Override
19
- public void onFailure(Exception cause) {
20
-
21
- }
22
- }
@@ -1,71 +0,0 @@
1
- package com.reactnativenavigation.react;
2
-
3
- import com.facebook.infer.annotation.Assertions;
4
- import com.facebook.react.ReactInstanceManager;
5
- import com.facebook.react.ReactInstanceManagerBuilder;
6
- import com.facebook.react.ReactNativeHost;
7
- import com.facebook.react.ReactPackage;
8
- import com.facebook.react.common.LifecycleState;
9
- import com.facebook.react.devsupport.interfaces.DevBundleDownloadListener;
10
- import com.reactnativenavigation.NavigationApplication;
11
- import com.facebook.hermes.reactexecutor.HermesExecutorFactory;
12
-
13
- import androidx.annotation.NonNull;
14
- import androidx.annotation.Nullable;
15
-
16
- /**
17
- * Default implementation of {@link ReactNativeHost} that includes {@link NavigationPackage}
18
- * and user-defined additional packages.
19
- */
20
- public abstract class NavigationReactNativeHost extends ReactNativeHost implements BundleDownloadListenerProvider {
21
-
22
- private @Nullable NavigationDevBundleDownloadListener bundleListener;
23
- private final DevBundleDownloadListener bundleListenerMediator = new DevBundleDownloadListenerAdapter() {
24
- @Override
25
- public void onSuccess() {
26
- if (bundleListener != null) {
27
- bundleListener.onSuccess();
28
- }
29
- }
30
- };
31
-
32
- @SuppressWarnings("WeakerAccess")
33
- public NavigationReactNativeHost(NavigationApplication application) {
34
- super(application);
35
- }
36
-
37
- @Override
38
- public void setBundleLoaderListener(NavigationDevBundleDownloadListener listener) {
39
- bundleListener = listener;
40
- }
41
-
42
- protected ReactInstanceManager createReactInstanceManager() {
43
- ReactInstanceManagerBuilder builder = ReactInstanceManager.builder()
44
- .setApplication(getApplication())
45
- .setJSMainModulePath(getJSMainModuleName())
46
- .setUseDeveloperSupport(getUseDeveloperSupport())
47
- .setRedBoxHandler(getRedBoxHandler())
48
- .setJavaScriptExecutorFactory(new HermesExecutorFactory())
49
- .setUIImplementationProvider(getUIImplementationProvider())
50
- .setInitialLifecycleState(LifecycleState.BEFORE_CREATE)
51
- .setDevBundleDownloadListener(getDevBundleDownloadListener());
52
-
53
- for (ReactPackage reactPackage : getPackages()) {
54
- builder.addPackage(reactPackage);
55
- }
56
-
57
- String jsBundleFile = getJSBundleFile();
58
- if (jsBundleFile != null) {
59
- builder.setJSBundleFile(jsBundleFile);
60
- } else {
61
- builder.setBundleAssetName(Assertions.assertNotNull(getBundleAssetName()));
62
- }
63
- return builder.build();
64
- }
65
-
66
- @SuppressWarnings("WeakerAccess")
67
- @NonNull
68
- protected DevBundleDownloadListener getDevBundleDownloadListener() {
69
- return bundleListenerMediator;
70
- }
71
- }
@@ -1,70 +0,0 @@
1
- package com.reactnativenavigation.react;
2
-
3
- import android.app.Activity;
4
- import android.content.Intent;
5
- import android.content.res.Configuration;
6
-
7
- import com.facebook.react.ReactNativeHost;
8
- import com.reactnativenavigation.NavigationActivity;
9
-
10
- import androidx.annotation.NonNull;
11
-
12
- public class ReactGateway {
13
-
14
- private final ReactNativeHost host;
15
- private final NavigationReactInitializer initializer;
16
- private final JsDevReloadHandler jsDevReloadHandler;
17
-
18
- public ReactGateway(ReactNativeHost host) {
19
- this.host = host;
20
- initializer = new NavigationReactInitializer(host.getReactInstanceManager(), host.getUseDeveloperSupport());
21
- jsDevReloadHandler = new JsDevReloadHandler(host.getReactInstanceManager().getDevSupportManager());
22
- if (host instanceof BundleDownloadListenerProvider) {
23
- ((BundleDownloadListenerProvider) host).setBundleLoaderListener(jsDevReloadHandler);
24
- }
25
- }
26
-
27
- public void onActivityCreated(NavigationActivity activity) {
28
- initializer.onActivityCreated();
29
- jsDevReloadHandler.setReloadListener(activity);
30
- }
31
-
32
- public void onActivityResumed(NavigationActivity activity) {
33
- initializer.onActivityResumed(activity);
34
- jsDevReloadHandler.onActivityResumed(activity);
35
- }
36
-
37
- public boolean onNewIntent(Intent intent) {
38
- if (host.hasInstance()) {
39
- host.getReactInstanceManager().onNewIntent(intent);
40
- return true;
41
- }
42
- return false;
43
- }
44
-
45
- public void onConfigurationChanged(NavigationActivity activity, @NonNull Configuration newConfig) {
46
- // noop, needs rn >= 0.62
47
- }
48
-
49
- public void onActivityPaused(NavigationActivity activity) {
50
- initializer.onActivityPaused(activity);
51
- jsDevReloadHandler.onActivityPaused(activity);
52
- }
53
-
54
- public void onActivityDestroyed(NavigationActivity activity) {
55
- jsDevReloadHandler.removeReloadListener(activity);
56
- initializer.onActivityDestroyed(activity);
57
- }
58
-
59
- public boolean onKeyUp(Activity activity, int keyCode) {
60
- return jsDevReloadHandler.onKeyUp(activity, keyCode);
61
- }
62
-
63
- public void onBackPressed() {
64
- host.getReactInstanceManager().onBackPressed();
65
- }
66
-
67
- public void onActivityResult(Activity activity, int requestCode, int resultCode, Intent data) {
68
- host.getReactInstanceManager().onActivityResult(activity, requestCode, resultCode, data);
69
- }
70
- }
@@ -1,83 +0,0 @@
1
- package com.reactnativenavigation.react;
2
-
3
- import androidx.annotation.Nullable;
4
-
5
- import com.facebook.react.bridge.ReactApplicationContext;
6
- import com.facebook.react.bridge.ReadableArray;
7
- import com.facebook.react.bridge.ReadableMap;
8
- import com.facebook.react.uimanager.MeasureSpecProvider;
9
- import com.facebook.react.uimanager.SizeMonitoringFrameLayout;
10
- import com.facebook.react.uimanager.ThemedReactContext;
11
- import com.facebook.react.uimanager.UIImplementation;
12
- import com.facebook.react.uimanager.UIImplementationProvider;
13
- import com.facebook.react.uimanager.UIManagerModule;
14
- import com.facebook.react.uimanager.ViewManager;
15
- import com.facebook.react.uimanager.events.EventDispatcher;
16
-
17
- import java.util.List;
18
-
19
- @SuppressWarnings("WeakerAccess")
20
- public class SyncUiImplementation extends UIImplementation {
21
- private static final Object lock = new Object();
22
-
23
- public static class Provider extends UIImplementationProvider {
24
- @Override
25
- public UIImplementation createUIImplementation(ReactApplicationContext reactContext, List<ViewManager> viewManagerList, EventDispatcher eventDispatcher, int minTimeLeftInFrameForNonBatchedOperationMs) {
26
- return new SyncUiImplementation(reactContext, viewManagerList, eventDispatcher, minTimeLeftInFrameForNonBatchedOperationMs);
27
- }
28
-
29
- @Override
30
- public UIImplementation createUIImplementation(ReactApplicationContext reactContext, UIManagerModule.ViewManagerResolver viewManagerResolver, EventDispatcher eventDispatcher, int minTimeLeftInFrameForNonBatchedOperationMs) {
31
- return new SyncUiImplementation(reactContext, viewManagerResolver, eventDispatcher, minTimeLeftInFrameForNonBatchedOperationMs);
32
- }
33
- }
34
-
35
- public SyncUiImplementation(ReactApplicationContext reactContext, List<ViewManager> viewManagerList, EventDispatcher eventDispatcher, int minTimeLeftInFrameForNonBatchedOperationMs) {
36
- super(reactContext, viewManagerList, eventDispatcher, minTimeLeftInFrameForNonBatchedOperationMs);
37
- }
38
-
39
- public SyncUiImplementation(ReactApplicationContext reactContext, UIManagerModule.ViewManagerResolver viewManagerResolver, EventDispatcher eventDispatcher, int minTimeLeftInFrameForNonBatchedOperationMs) {
40
- super(reactContext, viewManagerResolver, eventDispatcher, minTimeLeftInFrameForNonBatchedOperationMs);
41
- }
42
-
43
- @Override
44
- public void manageChildren(
45
- int viewTag,
46
- @Nullable ReadableArray moveFrom,
47
- @Nullable ReadableArray moveTo,
48
- @Nullable ReadableArray addChildTags,
49
- @Nullable ReadableArray addAtIndices,
50
- @Nullable ReadableArray removeFrom) {
51
- synchronized (lock) {
52
- super.manageChildren(viewTag, moveFrom, moveTo, addChildTags, addAtIndices, removeFrom);
53
- }
54
- }
55
-
56
- @Override
57
- public void setChildren(int viewTag, ReadableArray childrenTags) {
58
- synchronized (lock) {
59
- super.setChildren(viewTag, childrenTags);
60
- }
61
- }
62
-
63
- @Override
64
- public void createView(int tag, String className, int rootViewTag, ReadableMap props) {
65
- synchronized (lock) {
66
- super.createView(tag, className, rootViewTag, props);
67
- }
68
- }
69
-
70
- @Override
71
- public void removeRootShadowNode(int rootViewTag) {
72
- synchronized (lock) {
73
- super.removeRootShadowNode(rootViewTag);
74
- }
75
- }
76
-
77
- @Override
78
- public <T extends SizeMonitoringFrameLayout & MeasureSpecProvider> void registerRootView(T rootView, int tag, ThemedReactContext context) {
79
- synchronized (lock) {
80
- super.registerRootView(rootView, tag, context);
81
- }
82
- }
83
- }