react-native 0.66.0 → 0.67.0-rc.2

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 (448) hide show
  1. package/Libraries/ActionSheetIOS/ActionSheetIOS.js +14 -1
  2. package/Libraries/ActionSheetIOS/NativeActionSheetManager.js +2 -0
  3. package/Libraries/Animated/AnimatedEvent.js +23 -4
  4. package/Libraries/Animated/NativeAnimatedHelper.js +2 -2
  5. package/Libraries/Animated/components/AnimatedImage.js +3 -3
  6. package/Libraries/Animated/components/AnimatedScrollView.js +3 -3
  7. package/Libraries/Animated/components/AnimatedText.js +3 -3
  8. package/Libraries/Animated/components/AnimatedView.js +1 -3
  9. package/Libraries/Animated/createAnimatedComponent.js +3 -34
  10. package/Libraries/Components/Button.js +3 -0
  11. package/Libraries/Components/DatePicker/DatePickerIOS.ios.js +3 -6
  12. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +4 -7
  13. package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +1 -0
  14. package/Libraries/Components/ScrollView/ScrollView.js +17 -16
  15. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +268 -252
  16. package/Libraries/Components/View/View.js +1 -1
  17. package/Libraries/Components/View/ViewAccessibility.js +1 -1
  18. package/Libraries/Core/ExceptionsManager.js +45 -80
  19. package/Libraries/Core/ExtendedError.js +0 -1
  20. package/Libraries/Core/ReactNativeVersion.js +2 -2
  21. package/Libraries/Core/setUpBatchedBridge.js +1 -1
  22. package/Libraries/Core/setUpGlobals.js +2 -4
  23. package/Libraries/Core/setUpTimers.js +2 -2
  24. package/Libraries/Image/Image.ios.js +6 -0
  25. package/Libraries/Image/ImageBackground.js +10 -8
  26. package/Libraries/Image/ImageProps.js +28 -0
  27. package/Libraries/Image/RCTImageView.mm +4 -0
  28. package/Libraries/LogBox/Data/LogBoxData.js +18 -19
  29. package/Libraries/LogBox/UI/LogBoxImages/alert-triangle.png +0 -0
  30. package/Libraries/LogBox/UI/LogBoxImages/chevron-left.png +0 -0
  31. package/Libraries/LogBox/UI/LogBoxImages/chevron-right.png +0 -0
  32. package/Libraries/LogBox/UI/LogBoxImages/close.png +0 -0
  33. package/Libraries/LogBox/UI/LogBoxImages/loader.png +0 -0
  34. package/Libraries/NativeAnimation/Nodes/RCTPropsAnimatedNode.m +0 -3
  35. package/Libraries/NativeAnimation/RCTNativeAnimatedModule.mm +6 -3
  36. package/Libraries/NativeAnimation/RCTNativeAnimatedTurboModule.h +1 -2
  37. package/Libraries/NativeAnimation/RCTNativeAnimatedTurboModule.mm +2 -1
  38. package/Libraries/NewAppScreen/components/logo.png +0 -0
  39. package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +2 -1
  40. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +2 -0
  41. package/Libraries/Pressability/Pressability.js +13 -13
  42. package/Libraries/Pressability/PressabilityPerformanceEventEmitter.js +1 -1
  43. package/Libraries/PushNotificationIOS/RCTPushNotificationManager.mm +0 -1
  44. package/Libraries/ReactNative/AppRegistry.js +4 -2
  45. package/Libraries/Renderer/REVISION +1 -1
  46. package/Libraries/Renderer/implementations/ReactFabric-dev.fb.js +1569 -875
  47. package/Libraries/Renderer/implementations/ReactFabric-prod.fb.js +529 -319
  48. package/Libraries/Renderer/implementations/ReactFabric-profiling.fb.js +570 -362
  49. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.fb.js +1592 -891
  50. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.fb.js +521 -311
  51. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.fb.js +562 -354
  52. package/Libraries/Share/Share.js +1 -1
  53. package/Libraries/StyleSheet/normalizeColor.js +2 -2
  54. package/Libraries/Text/TextInput/Multiline/RCTUITextView.m +4 -2
  55. package/Libraries/Text/TextInput/RCTBaseTextInputView.m +2 -12
  56. package/Libraries/Text/TextInput/RCTInputAccessoryViewContent.m +4 -11
  57. package/Libraries/Text/TextProps.js +1 -7
  58. package/Libraries/TurboModule/TurboModuleRegistry.js +1 -1
  59. package/Libraries/Utilities/HMRClient.js +1 -1
  60. package/README.md +1 -1
  61. package/React/Base/RCTBridge+Private.h +8 -0
  62. package/React/Base/RCTBridge.h +4 -0
  63. package/React/Base/RCTBridge.m +19 -7
  64. package/React/Base/RCTBridgeModule.h +2 -11
  65. package/React/Base/RCTBundleURLProvider.h +1 -1
  66. package/React/Base/RCTBundleURLProvider.mm +5 -3
  67. package/React/Base/RCTConstants.h +0 -6
  68. package/React/Base/RCTConstants.m +0 -15
  69. package/React/Base/RCTConvert.h +1 -1
  70. package/React/Base/RCTDefines.h +12 -3
  71. package/React/Base/RCTEventDispatcherProtocol.h +2 -0
  72. package/React/Base/RCTJSThread.h +29 -0
  73. package/React/Base/RCTJSThread.m +19 -0
  74. package/React/Base/RCTRootView.h +15 -0
  75. package/React/Base/RCTRootView.m +15 -0
  76. package/React/Base/RCTTouchHandler.m +1 -9
  77. package/React/Base/RCTUtils.h +3 -0
  78. package/React/Base/RCTUtils.m +14 -7
  79. package/React/Base/RCTVersion.m +2 -2
  80. package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingProxyRootView.h +11 -0
  81. package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingProxyRootView.mm +35 -1
  82. package/React/CoreModules/RCTAccessibilityManager+Internal.h +24 -0
  83. package/React/CoreModules/RCTAccessibilityManager.mm +18 -3
  84. package/React/CoreModules/RCTActionSheetManager.mm +14 -5
  85. package/React/CoreModules/RCTAppearance.mm +3 -1
  86. package/React/CoreModules/RCTDevLoadingView.mm +5 -10
  87. package/React/CoreModules/RCTDevSettings.mm +6 -6
  88. package/React/CoreModules/RCTDevSplitBundleLoader.mm +1 -1
  89. package/React/CoreModules/RCTDeviceInfo.mm +4 -4
  90. package/React/CoreModules/RCTEventDispatcher.mm +5 -0
  91. package/React/CoreModules/RCTExceptionsManager.mm +11 -24
  92. package/React/CoreModules/RCTPerfMonitor.mm +9 -4
  93. package/React/CoreModules/RCTRedBox.mm +1 -5
  94. package/React/CxxBridge/RCTCxxBridge.mm +18 -1
  95. package/React/DevSupport/RCTPackagerConnection.h +3 -0
  96. package/React/DevSupport/RCTPackagerConnection.mm +9 -5
  97. package/React/FBReactNativeSpec/FBReactNativeSpec.podspec +11 -3
  98. package/React/Fabric/Mounting/ComponentViews/Modal/RCTModalHostViewComponentView.mm +0 -3
  99. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +16 -0
  100. package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.h +6 -0
  101. package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +3 -5
  102. package/React/Fabric/Mounting/RCTMountingManager.mm +15 -1
  103. package/React/Fabric/RCTScheduler.mm +12 -5
  104. package/React/Fabric/RCTSurfacePresenter.mm +0 -4
  105. package/React/Fabric/RCTSurfaceTouchHandler.mm +6 -20
  106. package/React/Fabric/Surface/RCTFabricSurface.mm +1 -3
  107. package/React/React-RCTFabric.podspec +0 -1
  108. package/React/Views/RCTFont.mm +54 -38
  109. package/React/Views/RCTView.m +1 -6
  110. package/React/Views/RCTViewManager.m +3 -2
  111. package/React/Views/SafeAreaView/RCTSafeAreaView.m +1 -5
  112. package/React/Views/ScrollView/RCTScrollView.m +5 -15
  113. package/React/Views/ScrollView/RCTScrollViewManager.m +0 -7
  114. package/React/Views/UIView+React.m +2 -11
  115. package/React-Core.podspec +0 -1
  116. package/ReactAndroid/build.gradle +11 -5
  117. package/ReactAndroid/gradle.properties +1 -1
  118. package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/BUCK +0 -1
  119. package/ReactAndroid/src/androidTest/js/TestBundle.js +0 -7
  120. package/ReactAndroid/src/main/java/com/facebook/hermes/instrumentation/BUCK +2 -1
  121. package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/HermesExecutor.java +14 -8
  122. package/ReactAndroid/src/main/java/com/facebook/react/BUCK +0 -1
  123. package/ReactAndroid/src/main/java/com/facebook/react/ReactActivity.java +7 -0
  124. package/ReactAndroid/src/main/java/com/facebook/react/ReactActivityDelegate.java +7 -0
  125. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +63 -26
  126. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManagerBuilder.java +50 -2
  127. package/ReactAndroid/src/main/java/com/facebook/react/ReactNativeHost.java +31 -0
  128. package/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java +17 -1
  129. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstance.java +2 -0
  130. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstanceImpl.java +13 -2
  131. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java +1 -0
  132. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactCxxErrorHandler.java +39 -0
  133. package/ReactAndroid/src/main/java/com/facebook/react/bridge/RuntimeScheduler.java +21 -0
  134. package/ReactAndroid/src/main/java/com/facebook/react/common/BUCK +2 -2
  135. package/ReactAndroid/src/main/java/com/facebook/react/common/SurfaceDelegate.java +40 -0
  136. package/ReactAndroid/src/main/java/com/facebook/react/common/SurfaceDelegateFactory.java +24 -0
  137. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/BUCK +0 -6
  138. package/ReactAndroid/src/main/java/com/facebook/react/config/ReactFeatureFlags.java +16 -0
  139. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BUCK +1 -0
  140. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BridgeDevSupportManager.java +5 -2
  141. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DefaultDevSupportManagerFactory.java +102 -0
  142. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.java +35 -11
  143. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerFactory.java +5 -72
  144. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DisabledDevSupportManager.java +12 -0
  145. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LogBoxDialogSurfaceDelegate.java +92 -0
  146. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LogBoxModule.java +27 -42
  147. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevSupportManager.java +14 -0
  148. package/ReactAndroid/src/main/java/com/facebook/react/fabric/Binding.java +5 -4
  149. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricJSIModuleProvider.java +3 -7
  150. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +41 -2
  151. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventEmitterWrapper.java +8 -3
  152. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/FabricEventEmitter.java +43 -9
  153. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Android.mk +2 -1
  154. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/AsyncEventBeatV2.cpp +69 -0
  155. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/AsyncEventBeatV2.h +40 -0
  156. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/BUCK +2 -6
  157. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Binding.cpp +84 -32
  158. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Binding.h +4 -2
  159. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/EventEmitterWrapper.cpp +20 -2
  160. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/EventEmitterWrapper.h +2 -1
  161. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountItemDispatcher.java +9 -1
  162. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.java +19 -4
  163. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/IntBufferBatchMountItem.java +6 -2
  164. package/ReactAndroid/src/main/java/com/facebook/react/jscexecutor/BUCK +2 -1
  165. package/ReactAndroid/src/main/java/com/facebook/react/jscexecutor/JSCExecutor.java +6 -1
  166. package/ReactAndroid/src/main/java/com/facebook/react/modules/appearance/AppearanceModule.java +10 -1
  167. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/jni/BUCK +0 -6
  168. package/ReactAndroid/src/main/java/com/facebook/react/modules/clipboard/BUCK +4 -1
  169. package/ReactAndroid/src/main/java/com/facebook/react/modules/clipboard/ClipboardModule.java +9 -8
  170. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ExceptionsManagerModule.java +7 -19
  171. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/{JavaScriptTimerManager.java → JavaScriptTimerExecutor.java} +1 -1
  172. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/JavaTimerManager.java +7 -7
  173. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/TimingModule.java +2 -2
  174. package/ReactAndroid/src/main/java/com/facebook/react/modules/i18nmanager/I18nManagerModule.java +7 -1
  175. package/ReactAndroid/src/main/java/com/facebook/react/modules/intent/IntentModule.java +23 -19
  176. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ForwardingCookieHandler.java +1 -4
  177. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java +2 -2
  178. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/ReconnectingWebSocket.java +8 -8
  179. package/ReactAndroid/src/main/java/com/facebook/react/processing/ReactPropertyProcessor.java +1 -1
  180. package/ReactAndroid/src/main/java/com/facebook/react/reactperflogger/jni/BUCK +0 -6
  181. package/ReactAndroid/src/main/java/com/facebook/react/shell/BUCK +0 -1
  182. package/ReactAndroid/src/main/java/com/facebook/react/shell/MainReactPackage.java +0 -5
  183. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/BUCK +0 -12
  184. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSTouchDispatcher.java +1 -1
  185. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TouchTargetHelper.java +75 -10
  186. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/Event.java +19 -22
  187. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventCategoryDef.java +42 -0
  188. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcherImpl.java +7 -1
  189. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/LockFreeEventDispatcherImpl.java +2 -2
  190. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTEventEmitter.java +7 -0
  191. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTModernEventEmitter.java +2 -1
  192. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/ReactEventEmitter.java +17 -9
  193. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchEvent.java +43 -8
  194. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchEventType.java +15 -16
  195. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchesHelper.java +108 -19
  196. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/jni/BUCK +0 -6
  197. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +79 -4
  198. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollViewManager.java +5 -0
  199. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +94 -3
  200. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewHelper.java +21 -1
  201. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewManager.java +5 -0
  202. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextAnchorViewManager.java +0 -4
  203. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextShadowNode.java +16 -0
  204. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextView.java +9 -1
  205. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributeProps.java +20 -1
  206. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.java +25 -6
  207. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManagerMapBuffer.java +25 -5
  208. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditTextInputConnectionWrapper.java +3 -0
  209. package/ReactAndroid/src/main/java/com/facebook/react/views/view/CanvasUtil.java +92 -0
  210. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewBackgroundDrawable.java +8 -8
  211. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.java +19 -0
  212. package/ReactAndroid/src/main/jni/react/jni/Android.mk +3 -2
  213. package/ReactAndroid/src/main/jni/react/jni/BUCK +4 -5
  214. package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.cpp +49 -7
  215. package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.h +15 -2
  216. package/ReactAndroid/src/main/jni/react/jni/JReactCxxErrorHandler.cpp +18 -0
  217. package/ReactAndroid/src/main/jni/react/jni/JReactCxxErrorHandler.h +25 -0
  218. package/{ReactCommon/react/renderer/core/Constants.cpp → ReactAndroid/src/main/jni/react/jni/JRuntimeScheduler.cpp} +6 -8
  219. package/ReactAndroid/src/main/jni/react/jni/JRuntimeScheduler.h +30 -0
  220. package/ReactAndroid/src/main/jni/react/perftests/BUCK +0 -4
  221. package/ReactAndroid/src/main/third-party/android/androidx/BUCK +6 -6
  222. package/ReactAndroid/src/test/java/com/facebook/react/RootViewTest.java +43 -0
  223. package/ReactAndroid/src/test/java/com/facebook/react/modules/clipboard/ClipboardModuleTest.java +3 -1
  224. package/ReactCommon/React-Fabric.podspec +9 -1
  225. package/ReactCommon/better/BUCK +0 -6
  226. package/ReactCommon/callinvoker/BUCK +2 -8
  227. package/ReactCommon/cxxreact/BUCK +1 -16
  228. package/ReactCommon/cxxreact/ReactNativeVersion.h +2 -2
  229. package/ReactCommon/hermes/inspector/tools/msggen/package.json +7 -4
  230. package/ReactCommon/hermes/inspector/tools/msggen/yarn.lock +13 -10
  231. package/ReactCommon/jsi/BUCK +0 -9
  232. package/ReactCommon/jsinspector/BUCK +0 -5
  233. package/ReactCommon/logger/BUCK +0 -5
  234. package/ReactCommon/react/config/BUCK +0 -6
  235. package/ReactCommon/react/debug/BUCK +0 -6
  236. package/ReactCommon/react/nativemodule/core/BUCK +0 -5
  237. package/ReactCommon/react/nativemodule/core/platform/ios/RCTTurboModuleManager.mm +14 -31
  238. package/ReactCommon/react/nativemodule/samples/BUCK +0 -7
  239. package/ReactCommon/react/renderer/animations/BUCK +1 -4
  240. package/ReactCommon/react/renderer/animations/LayoutAnimationCallbackWrapper.h +34 -0
  241. package/ReactCommon/react/renderer/animations/LayoutAnimationDriver.cpp +5 -26
  242. package/ReactCommon/react/renderer/animations/LayoutAnimationDriver.h +8 -14
  243. package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.cpp +912 -1147
  244. package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.h +80 -245
  245. package/ReactCommon/react/renderer/animations/conversions.h +212 -0
  246. package/ReactCommon/react/renderer/animations/primitives.h +104 -0
  247. package/ReactCommon/react/renderer/animations/tests/LayoutAnimationTest.cpp +3 -3
  248. package/ReactCommon/react/renderer/animations/utils.cpp +71 -0
  249. package/ReactCommon/react/renderer/animations/utils.h +80 -0
  250. package/ReactCommon/react/renderer/attributedstring/AttributedString.h +0 -1
  251. package/ReactCommon/react/renderer/attributedstring/BUCK +0 -6
  252. package/ReactCommon/react/renderer/attributedstring/ParagraphAttributes.cpp +7 -3
  253. package/ReactCommon/react/renderer/attributedstring/ParagraphAttributes.h +12 -2
  254. package/ReactCommon/react/renderer/attributedstring/TextAttributes.h +1 -1
  255. package/ReactCommon/react/renderer/attributedstring/conversions.h +58 -3
  256. package/ReactCommon/react/renderer/attributedstring/primitives.h +18 -1
  257. package/ReactCommon/react/renderer/componentregistry/BUCK +0 -6
  258. package/ReactCommon/react/renderer/componentregistry/native/BUCK +0 -6
  259. package/ReactCommon/react/renderer/components/image/BUCK +0 -6
  260. package/ReactCommon/react/renderer/components/image/ImageComponentDescriptor.h +0 -2
  261. package/ReactCommon/react/renderer/components/inputaccessory/BUCK +0 -6
  262. package/ReactCommon/react/renderer/components/inputaccessory/InputAccessoryComponentDescriptor.h +0 -4
  263. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/BUCK +0 -6
  264. package/ReactCommon/react/renderer/components/modal/BUCK +0 -6
  265. package/ReactCommon/react/renderer/components/modal/ModalHostViewComponentDescriptor.h +0 -5
  266. package/ReactCommon/react/renderer/components/progressbar/BUCK +0 -6
  267. package/ReactCommon/react/renderer/components/progressbar/android/react/renderer/components/progressbar/AndroidProgressBarComponentDescriptor.h +0 -3
  268. package/ReactCommon/react/renderer/components/root/BUCK +0 -6
  269. package/ReactCommon/react/renderer/components/safeareaview/BUCK +0 -6
  270. package/ReactCommon/react/renderer/components/scrollview/BUCK +0 -6
  271. package/ReactCommon/react/renderer/components/slider/BUCK +0 -6
  272. package/ReactCommon/react/renderer/components/slider/SliderComponentDescriptor.h +0 -3
  273. package/ReactCommon/react/renderer/components/switch/BUCK +0 -6
  274. package/ReactCommon/react/renderer/components/switch/androidswitch/react/renderer/components/androidswitch/AndroidSwitchComponentDescriptor.h +0 -3
  275. package/ReactCommon/react/renderer/components/text/BUCK +0 -6
  276. package/ReactCommon/react/renderer/components/text/ParagraphComponentDescriptor.h +1 -20
  277. package/ReactCommon/react/renderer/components/textinput/BUCK +0 -6
  278. package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputComponentDescriptor.h +0 -3
  279. package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputProps.h +2 -0
  280. package/ReactCommon/react/renderer/components/textinput/iostextinput/BUCK +0 -6
  281. package/ReactCommon/react/renderer/components/textinput/iostextinput/TextInputComponentDescriptor.h +0 -3
  282. package/ReactCommon/react/renderer/components/unimplementedview/BUCK +0 -6
  283. package/ReactCommon/react/renderer/components/unimplementedview/UnimplementedViewComponentDescriptor.cpp +0 -4
  284. package/ReactCommon/react/renderer/components/view/Android.mk +1 -1
  285. package/ReactCommon/react/renderer/components/view/BUCK +0 -6
  286. package/ReactCommon/react/renderer/components/view/Touch.h +1 -32
  287. package/ReactCommon/react/renderer/components/view/ViewComponentDescriptor.h +0 -23
  288. package/ReactCommon/react/renderer/components/view/ViewPropsInterpolation.h +2 -3
  289. package/ReactCommon/react/renderer/components/view/ViewShadowNode.cpp +3 -3
  290. package/ReactCommon/react/renderer/components/view/ViewShadowNode.h +1 -1
  291. package/ReactCommon/react/renderer/components/view/accessibilityPropsConversions.h +4 -0
  292. package/ReactCommon/react/renderer/core/BUCK +2 -6
  293. package/ReactCommon/react/renderer/core/ConcreteComponentDescriptor.h +14 -9
  294. package/ReactCommon/react/renderer/core/ConcreteShadowNode.h +1 -10
  295. package/ReactCommon/react/renderer/core/EventEmitter.cpp +9 -4
  296. package/ReactCommon/react/renderer/core/EventEmitter.h +2 -1
  297. package/ReactCommon/react/renderer/core/Props.h +1 -0
  298. package/ReactCommon/react/renderer/core/PropsParserContext.h +3 -2
  299. package/ReactCommon/react/renderer/core/RawEvent.h +7 -5
  300. package/ReactCommon/react/renderer/core/RawPropsKey.cpp +10 -2
  301. package/ReactCommon/react/renderer/core/ReactPrimitives.h +0 -2
  302. package/ReactCommon/react/renderer/core/ShadowNode.cpp +7 -10
  303. package/ReactCommon/react/renderer/core/ShadowNodeFamily.h +1 -0
  304. package/ReactCommon/react/renderer/debug/BUCK +0 -6
  305. package/ReactCommon/react/renderer/element/BUCK +0 -6
  306. package/ReactCommon/react/renderer/graphics/Android.mk +1 -1
  307. package/ReactCommon/react/renderer/graphics/BUCK +0 -6
  308. package/ReactCommon/react/renderer/graphics/React-graphics.podspec +0 -1
  309. package/ReactCommon/react/renderer/graphics/Transform.cpp +1 -1
  310. package/ReactCommon/react/renderer/graphics/Transform.h +1 -1
  311. package/ReactCommon/react/renderer/imagemanager/BUCK +0 -6
  312. package/ReactCommon/react/renderer/leakchecker/BUCK +0 -6
  313. package/ReactCommon/react/renderer/mapbuffer/BUCK +0 -6
  314. package/ReactCommon/react/renderer/mounting/Android.mk +2 -1
  315. package/ReactCommon/react/renderer/mounting/BUCK +0 -6
  316. package/ReactCommon/react/renderer/mounting/MountingOverrideDelegate.h +1 -1
  317. package/ReactCommon/react/renderer/mounting/ShadowViewMutation.cpp +12 -0
  318. package/ReactCommon/react/renderer/mounting/ShadowViewMutation.h +10 -1
  319. package/ReactCommon/react/renderer/runtimescheduler/Android.mk +2 -1
  320. package/ReactCommon/react/renderer/runtimescheduler/BUCK +1 -7
  321. package/ReactCommon/react/renderer/runtimescheduler/ErrorUtils.h +36 -0
  322. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.cpp +28 -20
  323. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.h +4 -2
  324. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerBinding.cpp +4 -3
  325. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerBinding.h +4 -2
  326. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerCallInvoker.cpp +32 -0
  327. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerCallInvoker.h +36 -0
  328. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerClock.h +4 -2
  329. package/ReactCommon/react/renderer/runtimescheduler/SchedulerPriority.h +4 -3
  330. package/ReactCommon/react/renderer/runtimescheduler/Task.cpp +4 -2
  331. package/ReactCommon/react/renderer/runtimescheduler/Task.h +4 -2
  332. package/ReactCommon/react/renderer/runtimescheduler/primitives.h +4 -2
  333. package/ReactCommon/react/renderer/runtimescheduler/tests/RuntimeSchedulerTest.cpp +26 -1
  334. package/ReactCommon/react/renderer/runtimescheduler/tests/StubErrorUtils.h +72 -0
  335. package/ReactCommon/react/renderer/scheduler/BUCK +0 -6
  336. package/ReactCommon/react/renderer/scheduler/Scheduler.cpp +1 -4
  337. package/ReactCommon/react/renderer/scheduler/Scheduler.h +1 -1
  338. package/ReactCommon/react/renderer/scheduler/SurfaceHandler.h +4 -4
  339. package/ReactCommon/react/renderer/telemetry/BUCK +0 -6
  340. package/ReactCommon/react/renderer/templateprocessor/BUCK +0 -6
  341. package/ReactCommon/react/renderer/textlayoutmanager/BUCK +0 -6
  342. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/RCTAttributedTextUtils.h +2 -0
  343. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/RCTAttributedTextUtils.mm +19 -0
  344. package/ReactCommon/react/renderer/timeline/BUCK +6 -12
  345. package/ReactCommon/react/renderer/uimanager/BUCK +0 -6
  346. package/ReactCommon/react/renderer/uimanager/UIManagerAnimationDelegate.h +1 -1
  347. package/ReactCommon/react/renderer/uimanager/UIManagerBinding.cpp +2 -2
  348. package/ReactCommon/react/renderer/uimanager/UIManagerBinding.h +1 -1
  349. package/ReactCommon/react/test_utils/BUCK +3 -6
  350. package/ReactCommon/react/{renderer/core/Constants.h → test_utils/MockSurfaceHandler.h} +9 -7
  351. package/ReactCommon/react/utils/BUCK +0 -6
  352. package/ReactCommon/react/utils/ContextContainer.h +0 -27
  353. package/ReactCommon/reactperflogger/BUCK +0 -4
  354. package/ReactCommon/runtimeexecutor/BUCK +0 -6
  355. package/ReactCommon/yoga/BUCK +1 -5
  356. package/android/com/facebook/react/react-native/{0.66.0/react-native-0.66.0.aar → 0.67.0-rc.2/react-native-0.67.0-rc.2.aar} +0 -0
  357. package/android/com/facebook/react/react-native/0.67.0-rc.2/react-native-0.67.0-rc.2.aar.md5 +1 -0
  358. package/android/com/facebook/react/react-native/0.67.0-rc.2/react-native-0.67.0-rc.2.aar.sha1 +1 -0
  359. package/android/com/facebook/react/react-native/0.67.0-rc.2/react-native-0.67.0-rc.2.aar.sha256 +1 -0
  360. package/android/com/facebook/react/react-native/0.67.0-rc.2/react-native-0.67.0-rc.2.aar.sha512 +1 -0
  361. package/android/com/facebook/react/react-native/{0.66.0/react-native-0.66.0.module → 0.67.0-rc.2/react-native-0.67.0-rc.2.module} +16 -17
  362. package/android/com/facebook/react/react-native/0.67.0-rc.2/react-native-0.67.0-rc.2.module.md5 +1 -0
  363. package/android/com/facebook/react/react-native/0.67.0-rc.2/react-native-0.67.0-rc.2.module.sha1 +1 -0
  364. package/android/com/facebook/react/react-native/0.67.0-rc.2/react-native-0.67.0-rc.2.module.sha256 +1 -0
  365. package/android/com/facebook/react/react-native/0.67.0-rc.2/react-native-0.67.0-rc.2.module.sha512 +1 -0
  366. package/android/com/facebook/react/react-native/{0.66.0/react-native-0.66.0.pom → 0.67.0-rc.2/react-native-0.67.0-rc.2.pom} +2 -2
  367. package/android/com/facebook/react/react-native/0.67.0-rc.2/react-native-0.67.0-rc.2.pom.md5 +1 -0
  368. package/android/com/facebook/react/react-native/0.67.0-rc.2/react-native-0.67.0-rc.2.pom.sha1 +1 -0
  369. package/android/com/facebook/react/react-native/0.67.0-rc.2/react-native-0.67.0-rc.2.pom.sha256 +1 -0
  370. package/android/com/facebook/react/react-native/0.67.0-rc.2/react-native-0.67.0-rc.2.pom.sha512 +1 -0
  371. package/android/com/facebook/react/react-native/maven-metadata.xml +4 -4
  372. package/android/com/facebook/react/react-native/maven-metadata.xml.md5 +1 -1
  373. package/android/com/facebook/react/react-native/maven-metadata.xml.sha1 +1 -1
  374. package/android/com/facebook/react/react-native/maven-metadata.xml.sha256 +1 -1
  375. package/android/com/facebook/react/react-native/maven-metadata.xml.sha512 +1 -1
  376. package/flow/global.js +45 -0
  377. package/index.js +15 -10
  378. package/jest/mockModal.js +31 -0
  379. package/jest/setup.js +5 -3
  380. package/package.json +8 -9
  381. package/react.gradle +53 -18
  382. package/scripts/find-node.sh +13 -0
  383. package/scripts/generate-specs-cli.js +18 -0
  384. package/scripts/ios-configure-glog.sh +4 -0
  385. package/scripts/react-native-xcode.sh +7 -7
  386. package/scripts/react_native_pods.rb +200 -57
  387. package/template/Gemfile +6 -0
  388. package/template/Gemfile.lock +100 -0
  389. package/template/_bundle/config +2 -0
  390. package/template/_flowconfig +1 -1
  391. package/template/_ruby-version +1 -0
  392. package/template/android/app/build.gradle +1 -1
  393. package/template/android/app/src/main/res/drawable/rn_edit_text_material.xml +36 -0
  394. package/template/android/app/src/main/res/values/styles.xml +1 -0
  395. package/template/android/build.gradle +7 -3
  396. package/template/android/gradle/wrapper/gradle-wrapper.properties +1 -1
  397. package/template/android/gradle.properties +1 -1
  398. package/template/ios/HelloWorld.xcodeproj/project.pbxproj +0 -2
  399. package/template/package.json +1 -1
  400. package/third-party-podspecs/RCT-Folly.podspec +1 -1
  401. package/third-party-podspecs/glog.podspec +0 -1
  402. package/Libraries/Components/DatePickerAndroid/DatePickerAndroid.android.js +0 -87
  403. package/Libraries/Components/DatePickerAndroid/DatePickerAndroid.ios.js +0 -30
  404. package/Libraries/Components/DatePickerAndroid/DatePickerAndroidTypes.js +0 -30
  405. package/Libraries/Components/StaticContainer.react.js +0 -51
  406. package/Libraries/Components/Touchable/ensurePositiveDelayProps.js +0 -25
  407. package/Libraries/Interaction/InteractionMixin.js +0 -54
  408. package/Libraries/ReactNative/queryLayoutByID.js +0 -58
  409. package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/DatePickerDialogTestCase.java +0 -172
  410. package/ReactAndroid/src/androidTest/js/DatePickerDialogTestModule.js +0 -45
  411. package/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/BUCK +0 -27
  412. package/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/DatePickerDialogFragment.java +0 -137
  413. package/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/DatePickerDialogModule.java +0 -153
  414. package/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/DatePickerMode.java +0 -15
  415. package/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/DismissableDatePickerDialog.java +0 -117
  416. package/ReactAndroid/src/main/java/com/facebook/react/runtimescheduler/BUCK +0 -20
  417. package/ReactAndroid/src/main/java/com/facebook/react/runtimescheduler/RuntimeSchedulerManager.java +0 -39
  418. package/ReactAndroid/src/main/java/com/facebook/react/runtimescheduler/jni/Android.mk +0 -34
  419. package/ReactAndroid/src/main/java/com/facebook/react/runtimescheduler/jni/BUCK +0 -35
  420. package/ReactAndroid/src/main/java/com/facebook/react/runtimescheduler/jni/OnLoad.cpp +0 -15
  421. package/ReactAndroid/src/main/java/com/facebook/react/runtimescheduler/jni/RuntimeSchedulerManager.cpp +0 -46
  422. package/ReactAndroid/src/main/java/com/facebook/react/runtimescheduler/jni/RuntimeSchedulerManager.h +0 -40
  423. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/AndroidViewPagerManagerDelegate.java +0 -57
  424. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/AndroidViewPagerManagerInterface.java +0 -23
  425. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/BUCK +0 -19
  426. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/DatePickerManagerDelegate.java +0 -62
  427. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/DatePickerManagerInterface.java +0 -25
  428. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/InputAccessoryViewManagerDelegate.java +0 -33
  429. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/InputAccessoryViewManagerInterface.java +0 -17
  430. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/PullToRefreshViewManagerDelegate.java +0 -51
  431. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/PullToRefreshViewManagerInterface.java +0 -21
  432. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/SwitchManagerDelegate.java +0 -63
  433. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/SwitchManagerInterface.java +0 -24
  434. package/android/com/facebook/react/react-native/0.66.0/react-native-0.66.0.aar.md5 +0 -1
  435. package/android/com/facebook/react/react-native/0.66.0/react-native-0.66.0.aar.sha1 +0 -1
  436. package/android/com/facebook/react/react-native/0.66.0/react-native-0.66.0.aar.sha256 +0 -1
  437. package/android/com/facebook/react/react-native/0.66.0/react-native-0.66.0.aar.sha512 +0 -1
  438. package/android/com/facebook/react/react-native/0.66.0/react-native-0.66.0.module.md5 +0 -1
  439. package/android/com/facebook/react/react-native/0.66.0/react-native-0.66.0.module.sha1 +0 -1
  440. package/android/com/facebook/react/react-native/0.66.0/react-native-0.66.0.module.sha256 +0 -1
  441. package/android/com/facebook/react/react-native/0.66.0/react-native-0.66.0.module.sha512 +0 -1
  442. package/android/com/facebook/react/react-native/0.66.0/react-native-0.66.0.pom.md5 +0 -1
  443. package/android/com/facebook/react/react-native/0.66.0/react-native-0.66.0.pom.sha1 +0 -1
  444. package/android/com/facebook/react/react-native/0.66.0/react-native-0.66.0.pom.sha256 +0 -1
  445. package/android/com/facebook/react/react-native/0.66.0/react-native-0.66.0.pom.sha512 +0 -1
  446. package/scripts/generate-specs.sh +0 -99
  447. package/template/_editorconfig +0 -3
  448. package/template/_gitattributes +0 -3
@@ -1,137 +0,0 @@
1
- /*
2
- * Copyright (c) Facebook, Inc. and its affiliates.
3
- *
4
- * This source code is licensed under the MIT license found in the
5
- * LICENSE file in the root directory of this source tree.
6
- */
7
-
8
- package com.facebook.react.modules.datepicker;
9
-
10
- import android.annotation.SuppressLint;
11
- import android.app.DatePickerDialog;
12
- import android.app.DatePickerDialog.OnDateSetListener;
13
- import android.app.Dialog;
14
- import android.content.Context;
15
- import android.content.DialogInterface;
16
- import android.content.DialogInterface.OnDismissListener;
17
- import android.graphics.drawable.ColorDrawable;
18
- import android.os.Bundle;
19
- import android.widget.DatePicker;
20
- import androidx.annotation.Nullable;
21
- import androidx.fragment.app.DialogFragment;
22
- import java.util.Calendar;
23
- import java.util.Locale;
24
-
25
- @SuppressLint("ValidFragment")
26
- public class DatePickerDialogFragment extends DialogFragment {
27
-
28
- /** Minimum date supported by {@link DatePicker}, 01 Jan 1900 */
29
- private static final long DEFAULT_MIN_DATE = -2208988800001l;
30
-
31
- @Nullable private OnDateSetListener mOnDateSetListener;
32
- @Nullable private OnDismissListener mOnDismissListener;
33
-
34
- @Override
35
- public Dialog onCreateDialog(Bundle savedInstanceState) {
36
- Bundle args = getArguments();
37
- return createDialog(args, getActivity(), mOnDateSetListener);
38
- }
39
-
40
- /*package*/ static Dialog createDialog(
41
- Bundle args, Context activityContext, @Nullable OnDateSetListener onDateSetListener) {
42
- final Calendar c = Calendar.getInstance();
43
- if (args != null && args.containsKey(DatePickerDialogModule.ARG_DATE)) {
44
- c.setTimeInMillis(args.getLong(DatePickerDialogModule.ARG_DATE));
45
- }
46
- final int year = c.get(Calendar.YEAR);
47
- final int month = c.get(Calendar.MONTH);
48
- final int day = c.get(Calendar.DAY_OF_MONTH);
49
-
50
- DatePickerMode mode = DatePickerMode.DEFAULT;
51
- if (args != null && args.getString(DatePickerDialogModule.ARG_MODE, null) != null) {
52
- mode =
53
- DatePickerMode.valueOf(
54
- args.getString(DatePickerDialogModule.ARG_MODE).toUpperCase(Locale.US));
55
- }
56
-
57
- DatePickerDialog dialog = null;
58
-
59
- switch (mode) {
60
- case CALENDAR:
61
- dialog =
62
- new DismissableDatePickerDialog(
63
- activityContext,
64
- activityContext
65
- .getResources()
66
- .getIdentifier(
67
- "CalendarDatePickerDialog", "style", activityContext.getPackageName()),
68
- onDateSetListener,
69
- year,
70
- month,
71
- day);
72
- break;
73
- case SPINNER:
74
- dialog =
75
- new DismissableDatePickerDialog(
76
- activityContext,
77
- android.R.style.Theme_Holo_Light_Dialog,
78
- onDateSetListener,
79
- year,
80
- month,
81
- day);
82
- dialog
83
- .getWindow()
84
- .setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT));
85
- break;
86
- case DEFAULT:
87
- dialog =
88
- new DismissableDatePickerDialog(activityContext, onDateSetListener, year, month, day);
89
- break;
90
- }
91
-
92
- final DatePicker datePicker = dialog.getDatePicker();
93
-
94
- if (args != null && args.containsKey(DatePickerDialogModule.ARG_MINDATE)) {
95
- // Set minDate to the beginning of the day. We need this because of clowniness in datepicker
96
- // that causes it to throw an exception if minDate is greater than the internal timestamp
97
- // that it generates from the y/m/d passed in the constructor.
98
- c.setTimeInMillis(args.getLong(DatePickerDialogModule.ARG_MINDATE));
99
- c.set(Calendar.HOUR_OF_DAY, 0);
100
- c.set(Calendar.MINUTE, 0);
101
- c.set(Calendar.SECOND, 0);
102
- c.set(Calendar.MILLISECOND, 0);
103
- datePicker.setMinDate(c.getTimeInMillis());
104
- } else {
105
- // This is to work around a bug in DatePickerDialog where it doesn't display a title showing
106
- // the date under certain conditions.
107
- datePicker.setMinDate(DEFAULT_MIN_DATE);
108
- }
109
- if (args != null && args.containsKey(DatePickerDialogModule.ARG_MAXDATE)) {
110
- // Set maxDate to the end of the day, same reason as for minDate.
111
- c.setTimeInMillis(args.getLong(DatePickerDialogModule.ARG_MAXDATE));
112
- c.set(Calendar.HOUR_OF_DAY, 23);
113
- c.set(Calendar.MINUTE, 59);
114
- c.set(Calendar.SECOND, 59);
115
- c.set(Calendar.MILLISECOND, 999);
116
- datePicker.setMaxDate(c.getTimeInMillis());
117
- }
118
-
119
- return dialog;
120
- }
121
-
122
- @Override
123
- public void onDismiss(DialogInterface dialog) {
124
- super.onDismiss(dialog);
125
- if (mOnDismissListener != null) {
126
- mOnDismissListener.onDismiss(dialog);
127
- }
128
- }
129
-
130
- /*package*/ void setOnDateSetListener(@Nullable OnDateSetListener onDateSetListener) {
131
- mOnDateSetListener = onDateSetListener;
132
- }
133
-
134
- /*package*/ void setOnDismissListener(@Nullable OnDismissListener onDismissListener) {
135
- mOnDismissListener = onDismissListener;
136
- }
137
- }
@@ -1,153 +0,0 @@
1
- /*
2
- * Copyright (c) Facebook, Inc. and its affiliates.
3
- *
4
- * This source code is licensed under the MIT license found in the
5
- * LICENSE file in the root directory of this source tree.
6
- */
7
-
8
- package com.facebook.react.modules.datepicker;
9
-
10
- import android.app.Activity;
11
- import android.app.DatePickerDialog.OnDateSetListener;
12
- import android.content.DialogInterface;
13
- import android.content.DialogInterface.OnDismissListener;
14
- import android.os.Bundle;
15
- import android.widget.DatePicker;
16
- import androidx.annotation.NonNull;
17
- import androidx.annotation.Nullable;
18
- import androidx.fragment.app.DialogFragment;
19
- import androidx.fragment.app.FragmentActivity;
20
- import androidx.fragment.app.FragmentManager;
21
- import com.facebook.fbreact.specs.NativeDatePickerAndroidSpec;
22
- import com.facebook.react.bridge.*;
23
- import com.facebook.react.common.annotations.VisibleForTesting;
24
- import com.facebook.react.module.annotations.ReactModule;
25
-
26
- /**
27
- * {@link NativeModule} that allows JS to show a native date picker dialog and get called back when
28
- * the user selects a date.
29
- */
30
- @ReactModule(name = DatePickerDialogModule.FRAGMENT_TAG)
31
- public class DatePickerDialogModule extends NativeDatePickerAndroidSpec {
32
-
33
- @VisibleForTesting public static final String FRAGMENT_TAG = "DatePickerAndroid";
34
-
35
- private static final String ERROR_NO_ACTIVITY = "E_NO_ACTIVITY";
36
-
37
- /* package */ static final String ARG_DATE = "date";
38
- /* package */ static final String ARG_MINDATE = "minDate";
39
- /* package */ static final String ARG_MAXDATE = "maxDate";
40
- /* package */ static final String ARG_MODE = "mode";
41
-
42
- /* package */ static final String ACTION_DATE_SET = "dateSetAction";
43
- /* package */ static final String ACTION_DISMISSED = "dismissedAction";
44
-
45
- public DatePickerDialogModule(ReactApplicationContext reactContext) {
46
- super(reactContext);
47
- }
48
-
49
- public @NonNull String getName() {
50
- return DatePickerDialogModule.FRAGMENT_TAG;
51
- }
52
-
53
- private class DatePickerDialogListener implements OnDateSetListener, OnDismissListener {
54
-
55
- private final Promise mPromise;
56
- private boolean mPromiseResolved = false;
57
-
58
- public DatePickerDialogListener(final Promise promise) {
59
- mPromise = promise;
60
- }
61
-
62
- @Override
63
- public void onDateSet(DatePicker view, int year, int month, int day) {
64
- if (!mPromiseResolved && getReactApplicationContext().hasActiveReactInstance()) {
65
- WritableMap result = new WritableNativeMap();
66
- result.putString("action", ACTION_DATE_SET);
67
- result.putInt("year", year);
68
- result.putInt("month", month);
69
- result.putInt("day", day);
70
- mPromise.resolve(result);
71
- mPromiseResolved = true;
72
- }
73
- }
74
-
75
- @Override
76
- public void onDismiss(DialogInterface dialog) {
77
- if (!mPromiseResolved && getReactApplicationContext().hasActiveReactInstance()) {
78
- WritableMap result = new WritableNativeMap();
79
- result.putString("action", ACTION_DISMISSED);
80
- mPromise.resolve(result);
81
- mPromiseResolved = true;
82
- }
83
- }
84
- }
85
-
86
- /**
87
- * Show a date picker dialog.
88
- *
89
- * @param options a map containing options. Available keys are:
90
- * <ul>
91
- * <li>{@code date} (timestamp in milliseconds) the date to show by default
92
- * <li>{@code minDate} (timestamp in milliseconds) the minimum date the user should be
93
- * allowed to select
94
- * <li>{@code maxDate} (timestamp in milliseconds) the maximum date the user should be
95
- * allowed to select
96
- * <li>{@code mode} To set the date picker mode to 'calendar/spinner/default'
97
- * </ul>
98
- *
99
- * @param promise This will be invoked with parameters action, year, month (0-11), day, where
100
- * action is {@code dateSetAction} or {@code dismissedAction}, depending on what the user did.
101
- * If the action is dismiss, year, month and date are undefined.
102
- */
103
- @Override
104
- public void open(@Nullable final ReadableMap options, final Promise promise) {
105
- Activity raw_activity = getCurrentActivity();
106
- if (raw_activity == null || !(raw_activity instanceof FragmentActivity)) {
107
- promise.reject(
108
- ERROR_NO_ACTIVITY,
109
- "Tried to open a DatePicker dialog while not attached to a FragmentActivity");
110
- return;
111
- }
112
-
113
- FragmentActivity activity = (FragmentActivity) raw_activity;
114
-
115
- final FragmentManager fragmentManager = activity.getSupportFragmentManager();
116
- DialogFragment oldFragment = (DialogFragment) fragmentManager.findFragmentByTag(FRAGMENT_TAG);
117
- if (oldFragment != null) {
118
- oldFragment.dismiss();
119
- }
120
- activity.runOnUiThread(
121
- new Runnable() {
122
- @Override
123
- public void run() {
124
- DatePickerDialogFragment fragment = new DatePickerDialogFragment();
125
- if (options != null) {
126
- final Bundle args = createFragmentArguments(options);
127
- fragment.setArguments(args);
128
- }
129
- final DatePickerDialogListener listener = new DatePickerDialogListener(promise);
130
- fragment.setOnDismissListener(listener);
131
- fragment.setOnDateSetListener(listener);
132
- fragment.show(fragmentManager, FRAGMENT_TAG);
133
- }
134
- });
135
- }
136
-
137
- private Bundle createFragmentArguments(ReadableMap options) {
138
- final Bundle args = new Bundle();
139
- if (options.hasKey(ARG_DATE) && !options.isNull(ARG_DATE)) {
140
- args.putLong(ARG_DATE, (long) options.getDouble(ARG_DATE));
141
- }
142
- if (options.hasKey(ARG_MINDATE) && !options.isNull(ARG_MINDATE)) {
143
- args.putLong(ARG_MINDATE, (long) options.getDouble(ARG_MINDATE));
144
- }
145
- if (options.hasKey(ARG_MAXDATE) && !options.isNull(ARG_MAXDATE)) {
146
- args.putLong(ARG_MAXDATE, (long) options.getDouble(ARG_MAXDATE));
147
- }
148
- if (options.hasKey(ARG_MODE) && !options.isNull(ARG_MODE)) {
149
- args.putString(ARG_MODE, options.getString(ARG_MODE));
150
- }
151
- return args;
152
- }
153
- }
@@ -1,15 +0,0 @@
1
- /*
2
- * Copyright (c) Facebook, Inc. and its affiliates.
3
- *
4
- * This source code is licensed under the MIT license found in the
5
- * LICENSE file in the root directory of this source tree.
6
- */
7
-
8
- package com.facebook.react.modules.datepicker;
9
-
10
- /** Date picker modes */
11
- public enum DatePickerMode {
12
- CALENDAR,
13
- SPINNER,
14
- DEFAULT
15
- }
@@ -1,117 +0,0 @@
1
- /*
2
- * Copyright (c) Facebook, Inc. and its affiliates.
3
- *
4
- * This source code is licensed under the MIT license found in the
5
- * LICENSE file in the root directory of this source tree.
6
- */
7
-
8
- package com.facebook.react.modules.datepicker;
9
-
10
- import android.app.DatePickerDialog;
11
- import android.content.Context;
12
- import android.content.res.TypedArray;
13
- import android.os.Build;
14
- import android.util.AttributeSet;
15
- import android.widget.DatePicker;
16
- import androidx.annotation.Nullable;
17
- import java.lang.reflect.Field;
18
- import java.lang.reflect.Method;
19
-
20
- public class DismissableDatePickerDialog extends DatePickerDialog {
21
-
22
- public DismissableDatePickerDialog(
23
- Context context,
24
- @Nullable DatePickerDialog.OnDateSetListener callback,
25
- int year,
26
- int monthOfYear,
27
- int dayOfMonth) {
28
- super(context, callback, year, monthOfYear, dayOfMonth);
29
- fixSpinner(context, year, monthOfYear, dayOfMonth);
30
- }
31
-
32
- public DismissableDatePickerDialog(
33
- Context context,
34
- int theme,
35
- @Nullable DatePickerDialog.OnDateSetListener callback,
36
- int year,
37
- int monthOfYear,
38
- int dayOfMonth) {
39
- super(context, theme, callback, year, monthOfYear, dayOfMonth);
40
- fixSpinner(context, year, monthOfYear, dayOfMonth);
41
- }
42
-
43
- private void fixSpinner(Context context, int year, int month, int dayOfMonth) {
44
- if (Build.VERSION.SDK_INT == Build.VERSION_CODES.N) {
45
- try {
46
- // Get the theme's android:datePickerMode
47
- final int MODE_SPINNER = 2;
48
- Class<?> styleableClass = Class.forName("com.android.internal.R$styleable");
49
- Field datePickerStyleableField = styleableClass.getField("DatePicker");
50
- int[] datePickerStyleable = (int[]) datePickerStyleableField.get(null);
51
-
52
- final TypedArray a =
53
- context.obtainStyledAttributes(
54
- null, datePickerStyleable, android.R.attr.datePickerStyle, 0);
55
- Field datePickerModeStyleableField = styleableClass.getField("DatePicker_datePickerMode");
56
- int datePickerModeStyleable = datePickerModeStyleableField.getInt(null);
57
- final int mode = a.getInt(datePickerModeStyleable, MODE_SPINNER);
58
- a.recycle();
59
-
60
- if (mode == MODE_SPINNER) {
61
- DatePicker datePicker =
62
- (DatePicker)
63
- findField(DatePickerDialog.class, DatePicker.class, "mDatePicker").get(this);
64
- Class<?> delegateClass = Class.forName("android.widget.DatePickerSpinnerDelegate");
65
- Field delegateField = findField(DatePicker.class, delegateClass, "mDelegate");
66
- Object delegate = delegateField.get(datePicker);
67
- Class<?> spinnerDelegateClass;
68
- spinnerDelegateClass = Class.forName("android.widget.DatePickerSpinnerDelegate");
69
-
70
- // In 7.0 Nougat for some reason the datePickerMode is ignored and the delegate is
71
- // DatePickerClockDelegate
72
- if (delegate.getClass() != spinnerDelegateClass) {
73
- delegateField.set(datePicker, null); // throw out the DatePickerClockDelegate!
74
- datePicker.removeAllViews(); // remove the DatePickerClockDelegate views
75
- Method createSpinnerUIDelegate =
76
- DatePicker.class.getDeclaredMethod(
77
- "createSpinnerUIDelegate",
78
- Context.class,
79
- AttributeSet.class,
80
- int.class,
81
- int.class);
82
- createSpinnerUIDelegate.setAccessible(true);
83
-
84
- // Instantiate a DatePickerSpinnerDelegate throughout createSpinnerUIDelegate method
85
- delegate =
86
- createSpinnerUIDelegate.invoke(
87
- datePicker, context, null, android.R.attr.datePickerStyle, 0);
88
- delegateField.set(
89
- datePicker, delegate); // set the DatePicker.mDelegate to the spinner delegate
90
- datePicker.setCalendarViewShown(false);
91
- // Initialize the date for the DatePicker delegate again
92
- datePicker.init(year, month, dayOfMonth, this);
93
- }
94
- }
95
- } catch (Exception e) {
96
- throw new RuntimeException(e);
97
- }
98
- }
99
- }
100
-
101
- private static Field findField(Class objectClass, Class fieldClass, String expectedName) {
102
- try {
103
- Field field = objectClass.getDeclaredField(expectedName);
104
- field.setAccessible(true);
105
- return field;
106
- } catch (NoSuchFieldException e) {
107
- } // ignore
108
- // search for it if it wasn't found under the expected ivar name
109
- for (Field searchField : objectClass.getDeclaredFields()) {
110
- if (searchField.getType() == fieldClass) {
111
- searchField.setAccessible(true);
112
- return searchField;
113
- }
114
- }
115
- return null;
116
- }
117
- }
@@ -1,20 +0,0 @@
1
- load("//tools/build_defs/oss:rn_defs.bzl", "react_native_dep", "react_native_target", "rn_android_library")
2
-
3
- rn_android_library(
4
- name = "runtimescheduler",
5
- srcs = glob(["**/*.java"]),
6
- autoglob = False,
7
- is_androidx = True,
8
- labels = ["supermodule:xplat/default/public.react_native.infra"],
9
- visibility = [
10
- "PUBLIC",
11
- ],
12
- deps = [
13
- react_native_target("java/com/facebook/react/runtimescheduler/jni:jni"),
14
- react_native_dep("third-party/android/androidx:annotation"),
15
- react_native_dep("third-party/java/infer-annotations:infer-annotations"),
16
- react_native_dep("libraries/fbjni:java"),
17
- react_native_target("java/com/facebook/react/bridge:bridge"),
18
- react_native_dep("libraries/soloader/java/com/facebook/soloader:soloader"),
19
- ],
20
- )
@@ -1,39 +0,0 @@
1
- /*
2
- * Copyright (c) Facebook, Inc. and its affiliates.
3
- *
4
- * This source code is licensed under the MIT license found in the
5
- * LICENSE file in the root directory of this source tree.
6
- */
7
-
8
- package com.facebook.react.runtimescheduler;
9
-
10
- import com.facebook.jni.HybridData;
11
- import com.facebook.proguard.annotations.DoNotStrip;
12
- import com.facebook.proguard.annotations.DoNotStripAny;
13
- import com.facebook.react.bridge.RuntimeExecutor;
14
- import com.facebook.soloader.SoLoader;
15
-
16
- @DoNotStripAny
17
- public class RuntimeSchedulerManager {
18
-
19
- static {
20
- staticInit();
21
- }
22
-
23
- @DoNotStrip
24
- @SuppressWarnings("unused")
25
- private final HybridData mHybridData;
26
-
27
- public RuntimeSchedulerManager(RuntimeExecutor runtimeExecutor) {
28
- mHybridData = initHybrid(runtimeExecutor);
29
- installJSIBindings();
30
- }
31
-
32
- private native HybridData initHybrid(RuntimeExecutor runtimeExecutor);
33
-
34
- private native void installJSIBindings();
35
-
36
- private static void staticInit() {
37
- SoLoader.loadLibrary("runtimeschedulerjni");
38
- }
39
- }
@@ -1,34 +0,0 @@
1
- # Copyright (c) Facebook, Inc. and its affiliates.
2
- #
3
- # This source code is licensed under the MIT license found in the
4
- # LICENSE file in the root directory of this source tree.
5
-
6
- LOCAL_PATH := $(call my-dir)
7
-
8
- include $(CLEAR_VARS)
9
-
10
- LOCAL_MODULE := runtimeschedulerjni
11
-
12
- LOCAL_SRC_FILES := $(wildcard $(LOCAL_PATH)/*.cpp)
13
-
14
- LOCAL_SHARED_LIBRARIES := libglog libfb libfbjni libglog_init libreact_render_runtimescheduler librrc_native
15
-
16
- LOCAL_STATIC_LIBRARIES :=
17
-
18
- LOCAL_C_INCLUDES := $(LOCAL_PATH)/
19
-
20
- LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/
21
-
22
- LOCAL_CFLAGS := \
23
- -DLOG_TAG=\"ReacTNative\"
24
-
25
- LOCAL_CFLAGS += -fexceptions -frtti -std=c++17 -Wall
26
-
27
- include $(BUILD_SHARED_LIBRARY)
28
-
29
- $(call import-module,fbgloginit)
30
- $(call import-module,fb)
31
- $(call import-module,fbjni)
32
- $(call import-module,glog)
33
-
34
- $(call import-module,react/renderer/runtimescheduler)
@@ -1,35 +0,0 @@
1
- load("//tools/build_defs/oss:rn_defs.bzl", "ANDROID", "FBJNI_TARGET", "react_native_target", "react_native_xplat_target", "rn_xplat_cxx_library", "subdir_glob")
2
-
3
- rn_xplat_cxx_library(
4
- name = "jni",
5
- srcs = glob(["*.cpp"]),
6
- headers = glob(["*.h"]),
7
- header_namespace = "",
8
- exported_headers = subdir_glob(
9
- [
10
- ("", "**/*.h"),
11
- ],
12
- prefix = "react/runtimescheduler",
13
- ),
14
- compiler_flags = [
15
- "-fexceptions",
16
- "-frtti",
17
- "-std=c++17",
18
- "-Wall",
19
- ],
20
- fbandroid_allow_jni_merging = True,
21
- labels = ["supermodule:xplat/default/public.react_native.infra"],
22
- platforms = ANDROID,
23
- preprocessor_flags = [
24
- "-DLOG_TAG=\"ReactNative\"",
25
- "-DWITH_FBSYSTRACE=1",
26
- ],
27
- soname = "libruntimeschedulerjni.$(ext)",
28
- visibility = ["PUBLIC"],
29
- deps = [
30
- react_native_xplat_target("react/renderer/runtimescheduler:runtimescheduler"),
31
- react_native_xplat_target("runtimeexecutor:runtimeexecutor"),
32
- react_native_target("jni/react/jni:jni"),
33
- FBJNI_TARGET,
34
- ],
35
- )
@@ -1,15 +0,0 @@
1
- /*
2
- * Copyright (c) Facebook, Inc. and its affiliates.
3
- *
4
- * This source code is licensed under the MIT license found in the
5
- * LICENSE file in the root directory of this source tree.
6
- */
7
-
8
- #include <fbjni/fbjni.h>
9
-
10
- #include "RuntimeSchedulerManager.h"
11
-
12
- JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *vm, void *) {
13
- return facebook::jni::initialize(
14
- vm, [] { facebook::react::RuntimeSchedulerManager::registerNatives(); });
15
- }
@@ -1,46 +0,0 @@
1
- /*
2
- * Copyright (c) Facebook, Inc. and its affiliates.
3
- *
4
- * This source code is licensed under the MIT license found in the
5
- * LICENSE file in the root directory of this source tree.
6
- */
7
-
8
- #include <fbjni/fbjni.h>
9
- #include <jsi/jsi.h>
10
- #include <react/renderer/runtimescheduler/RuntimeScheduler.h>
11
- #include <react/renderer/runtimescheduler/RuntimeSchedulerBinding.h>
12
-
13
- #include "RuntimeSchedulerManager.h"
14
-
15
- namespace facebook {
16
- namespace react {
17
-
18
- RuntimeSchedulerManager::RuntimeSchedulerManager(
19
- RuntimeExecutor runtimeExecutor)
20
- : runtimeExecutor_(runtimeExecutor) {}
21
-
22
- jni::local_ref<RuntimeSchedulerManager::jhybriddata>
23
- RuntimeSchedulerManager::initHybrid(
24
- jni::alias_ref<jclass>,
25
- jni::alias_ref<JRuntimeExecutor::javaobject> runtimeExecutor) {
26
- return makeCxxInstance(runtimeExecutor->cthis()->get());
27
- }
28
-
29
- void RuntimeSchedulerManager::registerNatives() {
30
- registerHybrid({
31
- makeNativeMethod("initHybrid", RuntimeSchedulerManager::initHybrid),
32
- makeNativeMethod(
33
- "installJSIBindings", RuntimeSchedulerManager::installJSIBindings),
34
- });
35
- }
36
-
37
- void RuntimeSchedulerManager::installJSIBindings() {
38
- runtimeExecutor_([runtimeExecutor = runtimeExecutor_](jsi::Runtime &runtime) {
39
- auto runtimeScheduler = std::make_shared<RuntimeScheduler>(runtimeExecutor);
40
- RuntimeSchedulerBinding::createAndInstallIfNeeded(
41
- runtime, runtimeScheduler);
42
- });
43
- }
44
-
45
- } // namespace react
46
- } // namespace facebook
@@ -1,40 +0,0 @@
1
- /*
2
- * Copyright (c) Facebook, Inc. and its affiliates.
3
- *
4
- * This source code is licensed under the MIT license found in the
5
- * LICENSE file in the root directory of this source tree.
6
- */
7
-
8
- #pragma once
9
-
10
- #include <ReactCommon/CallInvokerHolder.h>
11
- #include <ReactCommon/RuntimeExecutor.h>
12
- #include <fbjni/fbjni.h>
13
- #include <react/jni/JRuntimeExecutor.h>
14
-
15
- namespace facebook {
16
- namespace react {
17
-
18
- class RuntimeSchedulerManager
19
- : public facebook::jni::HybridClass<RuntimeSchedulerManager> {
20
- public:
21
- static auto constexpr kJavaDescriptor =
22
- "Lcom/facebook/react/runtimescheduler/RuntimeSchedulerManager;";
23
-
24
- static facebook::jni::local_ref<jhybriddata> initHybrid(
25
- jni::alias_ref<jclass>,
26
- facebook::jni::alias_ref<JRuntimeExecutor::javaobject> runtimeExecutor);
27
-
28
- static void registerNatives();
29
-
30
- private:
31
- friend HybridBase;
32
- RuntimeExecutor runtimeExecutor_;
33
-
34
- void installJSIBindings();
35
-
36
- explicit RuntimeSchedulerManager(RuntimeExecutor runtimeExecutor);
37
- };
38
-
39
- } // namespace react
40
- } // namespace facebook