react-native 0.66.0-rc.4 → 0.67.0-rc.1

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 (447) 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/react/BUCK +0 -1
  122. package/ReactAndroid/src/main/java/com/facebook/react/ReactActivity.java +7 -0
  123. package/ReactAndroid/src/main/java/com/facebook/react/ReactActivityDelegate.java +7 -0
  124. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +63 -26
  125. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManagerBuilder.java +46 -1
  126. package/ReactAndroid/src/main/java/com/facebook/react/ReactNativeHost.java +31 -0
  127. package/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java +17 -1
  128. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstance.java +2 -0
  129. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstanceImpl.java +13 -2
  130. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java +1 -0
  131. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactCxxErrorHandler.java +39 -0
  132. package/ReactAndroid/src/main/java/com/facebook/react/bridge/RuntimeScheduler.java +21 -0
  133. package/ReactAndroid/src/main/java/com/facebook/react/common/BUCK +2 -2
  134. package/ReactAndroid/src/main/java/com/facebook/react/common/SurfaceDelegate.java +40 -0
  135. package/ReactAndroid/src/main/java/com/facebook/react/common/SurfaceDelegateFactory.java +24 -0
  136. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/BUCK +0 -6
  137. package/ReactAndroid/src/main/java/com/facebook/react/config/ReactFeatureFlags.java +16 -0
  138. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BUCK +1 -0
  139. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BridgeDevSupportManager.java +5 -2
  140. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DefaultDevSupportManagerFactory.java +102 -0
  141. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.java +35 -11
  142. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerFactory.java +5 -72
  143. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DisabledDevSupportManager.java +12 -0
  144. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LogBoxDialogSurfaceDelegate.java +92 -0
  145. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LogBoxModule.java +27 -42
  146. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevSupportManager.java +14 -0
  147. package/ReactAndroid/src/main/java/com/facebook/react/fabric/Binding.java +5 -4
  148. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricJSIModuleProvider.java +3 -7
  149. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +41 -2
  150. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventEmitterWrapper.java +8 -3
  151. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/FabricEventEmitter.java +43 -9
  152. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Android.mk +2 -1
  153. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/AsyncEventBeatV2.cpp +69 -0
  154. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/AsyncEventBeatV2.h +40 -0
  155. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/BUCK +2 -6
  156. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Binding.cpp +84 -32
  157. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Binding.h +4 -2
  158. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/EventEmitterWrapper.cpp +20 -2
  159. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/EventEmitterWrapper.h +2 -1
  160. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountItemDispatcher.java +9 -1
  161. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.java +19 -4
  162. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/IntBufferBatchMountItem.java +6 -2
  163. package/ReactAndroid/src/main/java/com/facebook/react/jscexecutor/BUCK +2 -1
  164. package/ReactAndroid/src/main/java/com/facebook/react/modules/appearance/AppearanceModule.java +10 -1
  165. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/jni/BUCK +0 -6
  166. package/ReactAndroid/src/main/java/com/facebook/react/modules/clipboard/BUCK +4 -1
  167. package/ReactAndroid/src/main/java/com/facebook/react/modules/clipboard/ClipboardModule.java +9 -8
  168. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ExceptionsManagerModule.java +7 -19
  169. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/{JavaScriptTimerManager.java → JavaScriptTimerExecutor.java} +1 -1
  170. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/JavaTimerManager.java +7 -7
  171. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/TimingModule.java +2 -2
  172. package/ReactAndroid/src/main/java/com/facebook/react/modules/i18nmanager/I18nManagerModule.java +7 -1
  173. package/ReactAndroid/src/main/java/com/facebook/react/modules/intent/IntentModule.java +23 -19
  174. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ForwardingCookieHandler.java +1 -4
  175. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java +2 -2
  176. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/ReconnectingWebSocket.java +8 -8
  177. package/ReactAndroid/src/main/java/com/facebook/react/processing/ReactPropertyProcessor.java +1 -1
  178. package/ReactAndroid/src/main/java/com/facebook/react/reactperflogger/jni/BUCK +0 -6
  179. package/ReactAndroid/src/main/java/com/facebook/react/shell/BUCK +0 -1
  180. package/ReactAndroid/src/main/java/com/facebook/react/shell/MainReactPackage.java +0 -5
  181. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/BUCK +0 -12
  182. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSTouchDispatcher.java +1 -1
  183. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TouchTargetHelper.java +75 -10
  184. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/Event.java +19 -22
  185. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventCategoryDef.java +42 -0
  186. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcherImpl.java +7 -1
  187. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/LockFreeEventDispatcherImpl.java +2 -2
  188. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTEventEmitter.java +7 -0
  189. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTModernEventEmitter.java +2 -1
  190. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/ReactEventEmitter.java +17 -9
  191. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchEvent.java +43 -8
  192. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchEventType.java +15 -16
  193. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchesHelper.java +108 -19
  194. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/jni/BUCK +0 -6
  195. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +79 -4
  196. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollViewManager.java +5 -0
  197. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +94 -3
  198. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewHelper.java +21 -1
  199. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewManager.java +5 -0
  200. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextAnchorViewManager.java +0 -4
  201. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextShadowNode.java +16 -0
  202. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextView.java +9 -1
  203. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributeProps.java +20 -1
  204. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.java +25 -6
  205. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManagerMapBuffer.java +25 -5
  206. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditTextInputConnectionWrapper.java +3 -0
  207. package/ReactAndroid/src/main/java/com/facebook/react/views/view/CanvasUtil.java +92 -0
  208. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewBackgroundDrawable.java +8 -8
  209. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.java +19 -0
  210. package/ReactAndroid/src/main/jni/react/jni/Android.mk +3 -2
  211. package/ReactAndroid/src/main/jni/react/jni/BUCK +4 -5
  212. package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.cpp +49 -7
  213. package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.h +15 -2
  214. package/ReactAndroid/src/main/jni/react/jni/JReactCxxErrorHandler.cpp +18 -0
  215. package/ReactAndroid/src/main/jni/react/jni/JReactCxxErrorHandler.h +25 -0
  216. package/{ReactCommon/react/renderer/core/Constants.cpp → ReactAndroid/src/main/jni/react/jni/JRuntimeScheduler.cpp} +6 -8
  217. package/ReactAndroid/src/main/jni/react/jni/JRuntimeScheduler.h +30 -0
  218. package/ReactAndroid/src/main/jni/react/perftests/BUCK +0 -4
  219. package/ReactAndroid/src/main/third-party/android/androidx/BUCK +6 -6
  220. package/ReactAndroid/src/test/java/com/facebook/react/RootViewTest.java +43 -0
  221. package/ReactAndroid/src/test/java/com/facebook/react/modules/clipboard/ClipboardModuleTest.java +3 -1
  222. package/ReactCommon/React-Fabric.podspec +9 -1
  223. package/ReactCommon/better/BUCK +0 -6
  224. package/ReactCommon/callinvoker/BUCK +2 -8
  225. package/ReactCommon/cxxreact/BUCK +1 -16
  226. package/ReactCommon/cxxreact/ReactNativeVersion.h +2 -2
  227. package/ReactCommon/hermes/inspector/tools/msggen/package.json +7 -4
  228. package/ReactCommon/hermes/inspector/tools/msggen/yarn.lock +13 -10
  229. package/ReactCommon/jsi/BUCK +0 -9
  230. package/ReactCommon/jsinspector/BUCK +0 -5
  231. package/ReactCommon/logger/BUCK +0 -5
  232. package/ReactCommon/react/config/BUCK +0 -6
  233. package/ReactCommon/react/debug/BUCK +0 -6
  234. package/ReactCommon/react/nativemodule/core/BUCK +0 -5
  235. package/ReactCommon/react/nativemodule/core/platform/ios/RCTTurboModuleManager.mm +14 -31
  236. package/ReactCommon/react/nativemodule/samples/BUCK +0 -7
  237. package/ReactCommon/react/renderer/animations/BUCK +1 -4
  238. package/ReactCommon/react/renderer/animations/LayoutAnimationCallbackWrapper.h +34 -0
  239. package/ReactCommon/react/renderer/animations/LayoutAnimationDriver.cpp +5 -26
  240. package/ReactCommon/react/renderer/animations/LayoutAnimationDriver.h +8 -14
  241. package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.cpp +912 -1147
  242. package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.h +80 -245
  243. package/ReactCommon/react/renderer/animations/conversions.h +212 -0
  244. package/ReactCommon/react/renderer/animations/primitives.h +104 -0
  245. package/ReactCommon/react/renderer/animations/tests/LayoutAnimationTest.cpp +3 -3
  246. package/ReactCommon/react/renderer/animations/utils.cpp +71 -0
  247. package/ReactCommon/react/renderer/animations/utils.h +80 -0
  248. package/ReactCommon/react/renderer/attributedstring/AttributedString.h +0 -1
  249. package/ReactCommon/react/renderer/attributedstring/BUCK +0 -6
  250. package/ReactCommon/react/renderer/attributedstring/ParagraphAttributes.cpp +7 -3
  251. package/ReactCommon/react/renderer/attributedstring/ParagraphAttributes.h +12 -2
  252. package/ReactCommon/react/renderer/attributedstring/TextAttributes.h +1 -1
  253. package/ReactCommon/react/renderer/attributedstring/conversions.h +58 -3
  254. package/ReactCommon/react/renderer/attributedstring/primitives.h +18 -1
  255. package/ReactCommon/react/renderer/componentregistry/BUCK +0 -6
  256. package/ReactCommon/react/renderer/componentregistry/native/BUCK +0 -6
  257. package/ReactCommon/react/renderer/components/image/BUCK +0 -6
  258. package/ReactCommon/react/renderer/components/image/ImageComponentDescriptor.h +0 -2
  259. package/ReactCommon/react/renderer/components/inputaccessory/BUCK +0 -6
  260. package/ReactCommon/react/renderer/components/inputaccessory/InputAccessoryComponentDescriptor.h +0 -4
  261. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/BUCK +0 -6
  262. package/ReactCommon/react/renderer/components/modal/BUCK +0 -6
  263. package/ReactCommon/react/renderer/components/modal/ModalHostViewComponentDescriptor.h +0 -5
  264. package/ReactCommon/react/renderer/components/progressbar/BUCK +0 -6
  265. package/ReactCommon/react/renderer/components/progressbar/android/react/renderer/components/progressbar/AndroidProgressBarComponentDescriptor.h +0 -3
  266. package/ReactCommon/react/renderer/components/root/BUCK +0 -6
  267. package/ReactCommon/react/renderer/components/safeareaview/BUCK +0 -6
  268. package/ReactCommon/react/renderer/components/scrollview/BUCK +0 -6
  269. package/ReactCommon/react/renderer/components/slider/BUCK +0 -6
  270. package/ReactCommon/react/renderer/components/slider/SliderComponentDescriptor.h +0 -3
  271. package/ReactCommon/react/renderer/components/switch/BUCK +0 -6
  272. package/ReactCommon/react/renderer/components/switch/androidswitch/react/renderer/components/androidswitch/AndroidSwitchComponentDescriptor.h +0 -3
  273. package/ReactCommon/react/renderer/components/text/BUCK +0 -6
  274. package/ReactCommon/react/renderer/components/text/ParagraphComponentDescriptor.h +1 -20
  275. package/ReactCommon/react/renderer/components/textinput/BUCK +0 -6
  276. package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputComponentDescriptor.h +0 -3
  277. package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputProps.h +2 -0
  278. package/ReactCommon/react/renderer/components/textinput/iostextinput/BUCK +0 -6
  279. package/ReactCommon/react/renderer/components/textinput/iostextinput/TextInputComponentDescriptor.h +0 -3
  280. package/ReactCommon/react/renderer/components/unimplementedview/BUCK +0 -6
  281. package/ReactCommon/react/renderer/components/unimplementedview/UnimplementedViewComponentDescriptor.cpp +0 -4
  282. package/ReactCommon/react/renderer/components/view/Android.mk +1 -1
  283. package/ReactCommon/react/renderer/components/view/BUCK +0 -6
  284. package/ReactCommon/react/renderer/components/view/Touch.h +1 -32
  285. package/ReactCommon/react/renderer/components/view/ViewComponentDescriptor.h +0 -23
  286. package/ReactCommon/react/renderer/components/view/ViewPropsInterpolation.h +2 -3
  287. package/ReactCommon/react/renderer/components/view/ViewShadowNode.cpp +3 -3
  288. package/ReactCommon/react/renderer/components/view/ViewShadowNode.h +1 -1
  289. package/ReactCommon/react/renderer/components/view/accessibilityPropsConversions.h +4 -0
  290. package/ReactCommon/react/renderer/core/BUCK +2 -6
  291. package/ReactCommon/react/renderer/core/ConcreteComponentDescriptor.h +14 -9
  292. package/ReactCommon/react/renderer/core/ConcreteShadowNode.h +1 -10
  293. package/ReactCommon/react/renderer/core/EventEmitter.cpp +9 -4
  294. package/ReactCommon/react/renderer/core/EventEmitter.h +2 -1
  295. package/ReactCommon/react/renderer/core/Props.h +1 -0
  296. package/ReactCommon/react/renderer/core/PropsParserContext.h +3 -2
  297. package/ReactCommon/react/renderer/core/RawEvent.h +7 -5
  298. package/ReactCommon/react/renderer/core/RawPropsKey.cpp +10 -2
  299. package/ReactCommon/react/renderer/core/ReactPrimitives.h +0 -2
  300. package/ReactCommon/react/renderer/core/ShadowNode.cpp +7 -10
  301. package/ReactCommon/react/renderer/core/ShadowNodeFamily.h +1 -0
  302. package/ReactCommon/react/renderer/debug/BUCK +0 -6
  303. package/ReactCommon/react/renderer/element/BUCK +0 -6
  304. package/ReactCommon/react/renderer/graphics/Android.mk +1 -1
  305. package/ReactCommon/react/renderer/graphics/BUCK +0 -6
  306. package/ReactCommon/react/renderer/graphics/React-graphics.podspec +0 -1
  307. package/ReactCommon/react/renderer/graphics/Transform.cpp +1 -1
  308. package/ReactCommon/react/renderer/graphics/Transform.h +1 -1
  309. package/ReactCommon/react/renderer/imagemanager/BUCK +0 -6
  310. package/ReactCommon/react/renderer/leakchecker/BUCK +0 -6
  311. package/ReactCommon/react/renderer/mapbuffer/BUCK +0 -6
  312. package/ReactCommon/react/renderer/mounting/Android.mk +2 -1
  313. package/ReactCommon/react/renderer/mounting/BUCK +0 -6
  314. package/ReactCommon/react/renderer/mounting/MountingOverrideDelegate.h +1 -1
  315. package/ReactCommon/react/renderer/mounting/ShadowViewMutation.cpp +12 -0
  316. package/ReactCommon/react/renderer/mounting/ShadowViewMutation.h +10 -1
  317. package/ReactCommon/react/renderer/runtimescheduler/Android.mk +2 -1
  318. package/ReactCommon/react/renderer/runtimescheduler/BUCK +1 -7
  319. package/ReactCommon/react/renderer/runtimescheduler/ErrorUtils.h +36 -0
  320. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.cpp +28 -20
  321. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.h +4 -2
  322. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerBinding.cpp +4 -3
  323. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerBinding.h +4 -2
  324. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerCallInvoker.cpp +32 -0
  325. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerCallInvoker.h +36 -0
  326. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerClock.h +4 -2
  327. package/ReactCommon/react/renderer/runtimescheduler/SchedulerPriority.h +4 -3
  328. package/ReactCommon/react/renderer/runtimescheduler/Task.cpp +4 -2
  329. package/ReactCommon/react/renderer/runtimescheduler/Task.h +4 -2
  330. package/ReactCommon/react/renderer/runtimescheduler/primitives.h +4 -2
  331. package/ReactCommon/react/renderer/runtimescheduler/tests/RuntimeSchedulerTest.cpp +26 -1
  332. package/ReactCommon/react/renderer/runtimescheduler/tests/StubErrorUtils.h +72 -0
  333. package/ReactCommon/react/renderer/scheduler/BUCK +0 -6
  334. package/ReactCommon/react/renderer/scheduler/Scheduler.cpp +1 -4
  335. package/ReactCommon/react/renderer/scheduler/Scheduler.h +1 -1
  336. package/ReactCommon/react/renderer/scheduler/SurfaceHandler.h +4 -4
  337. package/ReactCommon/react/renderer/telemetry/BUCK +0 -6
  338. package/ReactCommon/react/renderer/templateprocessor/BUCK +0 -6
  339. package/ReactCommon/react/renderer/textlayoutmanager/BUCK +0 -6
  340. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/RCTAttributedTextUtils.h +2 -0
  341. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/RCTAttributedTextUtils.mm +19 -0
  342. package/ReactCommon/react/renderer/timeline/BUCK +6 -12
  343. package/ReactCommon/react/renderer/uimanager/BUCK +0 -6
  344. package/ReactCommon/react/renderer/uimanager/UIManagerAnimationDelegate.h +1 -1
  345. package/ReactCommon/react/renderer/uimanager/UIManagerBinding.cpp +2 -2
  346. package/ReactCommon/react/renderer/uimanager/UIManagerBinding.h +1 -1
  347. package/ReactCommon/react/test_utils/BUCK +3 -6
  348. package/ReactCommon/react/{renderer/core/Constants.h → test_utils/MockSurfaceHandler.h} +9 -7
  349. package/ReactCommon/react/utils/BUCK +0 -6
  350. package/ReactCommon/react/utils/ContextContainer.h +0 -27
  351. package/ReactCommon/reactperflogger/BUCK +0 -4
  352. package/ReactCommon/runtimeexecutor/BUCK +0 -6
  353. package/ReactCommon/yoga/BUCK +1 -5
  354. package/android/com/facebook/react/react-native/{0.66.0-rc.4/react-native-0.66.0-rc.4.aar → 0.67.0-rc.1/react-native-0.67.0-rc.1.aar} +0 -0
  355. package/android/com/facebook/react/react-native/0.67.0-rc.1/react-native-0.67.0-rc.1.aar.md5 +1 -0
  356. package/android/com/facebook/react/react-native/0.67.0-rc.1/react-native-0.67.0-rc.1.aar.sha1 +1 -0
  357. package/android/com/facebook/react/react-native/0.67.0-rc.1/react-native-0.67.0-rc.1.aar.sha256 +1 -0
  358. package/android/com/facebook/react/react-native/0.67.0-rc.1/react-native-0.67.0-rc.1.aar.sha512 +1 -0
  359. package/android/com/facebook/react/react-native/{0.66.0-rc.4/react-native-0.66.0-rc.4.module → 0.67.0-rc.1/react-native-0.67.0-rc.1.module} +16 -17
  360. package/android/com/facebook/react/react-native/0.67.0-rc.1/react-native-0.67.0-rc.1.module.md5 +1 -0
  361. package/android/com/facebook/react/react-native/0.67.0-rc.1/react-native-0.67.0-rc.1.module.sha1 +1 -0
  362. package/android/com/facebook/react/react-native/0.67.0-rc.1/react-native-0.67.0-rc.1.module.sha256 +1 -0
  363. package/android/com/facebook/react/react-native/0.67.0-rc.1/react-native-0.67.0-rc.1.module.sha512 +1 -0
  364. package/android/com/facebook/react/react-native/{0.66.0-rc.4/react-native-0.66.0-rc.4.pom → 0.67.0-rc.1/react-native-0.67.0-rc.1.pom} +2 -2
  365. package/android/com/facebook/react/react-native/0.67.0-rc.1/react-native-0.67.0-rc.1.pom.md5 +1 -0
  366. package/android/com/facebook/react/react-native/0.67.0-rc.1/react-native-0.67.0-rc.1.pom.sha1 +1 -0
  367. package/android/com/facebook/react/react-native/0.67.0-rc.1/react-native-0.67.0-rc.1.pom.sha256 +1 -0
  368. package/android/com/facebook/react/react-native/0.67.0-rc.1/react-native-0.67.0-rc.1.pom.sha512 +1 -0
  369. package/android/com/facebook/react/react-native/maven-metadata.xml +4 -4
  370. package/android/com/facebook/react/react-native/maven-metadata.xml.md5 +1 -1
  371. package/android/com/facebook/react/react-native/maven-metadata.xml.sha1 +1 -1
  372. package/android/com/facebook/react/react-native/maven-metadata.xml.sha256 +1 -1
  373. package/android/com/facebook/react/react-native/maven-metadata.xml.sha512 +1 -1
  374. package/flow/global.js +45 -0
  375. package/index.js +15 -10
  376. package/jest/mockModal.js +31 -0
  377. package/jest/setup.js +5 -3
  378. package/package.json +8 -9
  379. package/react.gradle +53 -18
  380. package/scripts/find-node.sh +13 -0
  381. package/scripts/generate-specs-cli.js +18 -0
  382. package/scripts/ios-configure-glog.sh +4 -0
  383. package/scripts/react-native-xcode.sh +7 -7
  384. package/scripts/react_native_pods.rb +202 -70
  385. package/template/Gemfile +6 -0
  386. package/template/Gemfile.lock +100 -0
  387. package/template/_bundle/config +2 -0
  388. package/template/_flowconfig +1 -1
  389. package/template/_ruby-version +1 -0
  390. package/template/android/app/build.gradle +1 -1
  391. package/template/android/app/src/main/res/drawable/rn_edit_text_material.xml +36 -0
  392. package/template/android/app/src/main/res/values/styles.xml +1 -0
  393. package/template/android/build.gradle +7 -3
  394. package/template/android/gradle/wrapper/gradle-wrapper.properties +1 -1
  395. package/template/android/gradle.properties +1 -1
  396. package/template/ios/HelloWorld.xcodeproj/project.pbxproj +0 -2
  397. package/template/ios/Podfile +0 -1
  398. package/template/package.json +1 -1
  399. package/third-party-podspecs/RCT-Folly.podspec +1 -1
  400. package/third-party-podspecs/glog.podspec +0 -1
  401. package/Libraries/Components/DatePickerAndroid/DatePickerAndroid.android.js +0 -87
  402. package/Libraries/Components/DatePickerAndroid/DatePickerAndroid.ios.js +0 -30
  403. package/Libraries/Components/DatePickerAndroid/DatePickerAndroidTypes.js +0 -30
  404. package/Libraries/Components/StaticContainer.react.js +0 -51
  405. package/Libraries/Components/Touchable/ensurePositiveDelayProps.js +0 -25
  406. package/Libraries/Interaction/InteractionMixin.js +0 -54
  407. package/Libraries/ReactNative/queryLayoutByID.js +0 -58
  408. package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/DatePickerDialogTestCase.java +0 -172
  409. package/ReactAndroid/src/androidTest/js/DatePickerDialogTestModule.js +0 -45
  410. package/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/BUCK +0 -27
  411. package/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/DatePickerDialogFragment.java +0 -137
  412. package/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/DatePickerDialogModule.java +0 -153
  413. package/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/DatePickerMode.java +0 -15
  414. package/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/DismissableDatePickerDialog.java +0 -117
  415. package/ReactAndroid/src/main/java/com/facebook/react/runtimescheduler/BUCK +0 -20
  416. package/ReactAndroid/src/main/java/com/facebook/react/runtimescheduler/RuntimeSchedulerManager.java +0 -39
  417. package/ReactAndroid/src/main/java/com/facebook/react/runtimescheduler/jni/Android.mk +0 -34
  418. package/ReactAndroid/src/main/java/com/facebook/react/runtimescheduler/jni/BUCK +0 -35
  419. package/ReactAndroid/src/main/java/com/facebook/react/runtimescheduler/jni/OnLoad.cpp +0 -15
  420. package/ReactAndroid/src/main/java/com/facebook/react/runtimescheduler/jni/RuntimeSchedulerManager.cpp +0 -46
  421. package/ReactAndroid/src/main/java/com/facebook/react/runtimescheduler/jni/RuntimeSchedulerManager.h +0 -40
  422. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/AndroidViewPagerManagerDelegate.java +0 -57
  423. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/AndroidViewPagerManagerInterface.java +0 -23
  424. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/BUCK +0 -19
  425. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/DatePickerManagerDelegate.java +0 -62
  426. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/DatePickerManagerInterface.java +0 -25
  427. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/InputAccessoryViewManagerDelegate.java +0 -33
  428. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/InputAccessoryViewManagerInterface.java +0 -17
  429. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/PullToRefreshViewManagerDelegate.java +0 -51
  430. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/PullToRefreshViewManagerInterface.java +0 -21
  431. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/SwitchManagerDelegate.java +0 -63
  432. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/SwitchManagerInterface.java +0 -24
  433. package/android/com/facebook/react/react-native/0.66.0-rc.4/react-native-0.66.0-rc.4.aar.md5 +0 -1
  434. package/android/com/facebook/react/react-native/0.66.0-rc.4/react-native-0.66.0-rc.4.aar.sha1 +0 -1
  435. package/android/com/facebook/react/react-native/0.66.0-rc.4/react-native-0.66.0-rc.4.aar.sha256 +0 -1
  436. package/android/com/facebook/react/react-native/0.66.0-rc.4/react-native-0.66.0-rc.4.aar.sha512 +0 -1
  437. package/android/com/facebook/react/react-native/0.66.0-rc.4/react-native-0.66.0-rc.4.module.md5 +0 -1
  438. package/android/com/facebook/react/react-native/0.66.0-rc.4/react-native-0.66.0-rc.4.module.sha1 +0 -1
  439. package/android/com/facebook/react/react-native/0.66.0-rc.4/react-native-0.66.0-rc.4.module.sha256 +0 -1
  440. package/android/com/facebook/react/react-native/0.66.0-rc.4/react-native-0.66.0-rc.4.module.sha512 +0 -1
  441. package/android/com/facebook/react/react-native/0.66.0-rc.4/react-native-0.66.0-rc.4.pom.md5 +0 -1
  442. package/android/com/facebook/react/react-native/0.66.0-rc.4/react-native-0.66.0-rc.4.pom.sha1 +0 -1
  443. package/android/com/facebook/react/react-native/0.66.0-rc.4/react-native-0.66.0-rc.4.pom.sha256 +0 -1
  444. package/android/com/facebook/react/react-native/0.66.0-rc.4/react-native-0.66.0-rc.4.pom.sha512 +0 -1
  445. package/scripts/generate-specs.sh +0 -99
  446. package/template/_editorconfig +0 -3
  447. package/template/_gitattributes +0 -3
@@ -8,8 +8,8 @@
8
8
  #pragma once
9
9
 
10
10
  #include <fbjni/fbjni.h>
11
- #include <react/jni/JMessageQueueThread.h>
12
11
  #include <react/jni/JRuntimeExecutor.h>
12
+ #include <react/jni/JRuntimeScheduler.h>
13
13
  #include <react/jni/ReadableNativeMap.h>
14
14
  #include <react/renderer/animations/LayoutAnimationDriver.h>
15
15
  #include <react/renderer/scheduler/Scheduler.h>
@@ -105,9 +105,9 @@ class Binding : public jni::HybridClass<Binding>,
105
105
 
106
106
  void installFabricUIManager(
107
107
  jni::alias_ref<JRuntimeExecutor::javaobject> runtimeExecutorHolder,
108
+ jni::alias_ref<JRuntimeScheduler::javaobject> runtimeSchedulerHolder,
108
109
  jni::alias_ref<jobject> javaUIManager,
109
110
  EventBeatManager *eventBeatManager,
110
- jni::alias_ref<JavaMessageQueueThread::javaobject> jsMessageQueueThread,
111
111
  ComponentFactory *componentsRegistry,
112
112
  jni::alias_ref<jobject> reactNativeConfig);
113
113
 
@@ -199,6 +199,8 @@ class Binding : public jni::HybridClass<Binding>,
199
199
  bool disablePreallocateViews_{false};
200
200
  bool enableFabricLogs_{false};
201
201
  bool enableEarlyEventEmitterUpdate_{false};
202
+ bool disableRevisionCheckForPreallocation_{false};
203
+ bool enableEventEmitterRawPointer_{false};
202
204
  };
203
205
 
204
206
  } // namespace react
@@ -20,13 +20,26 @@ EventEmitterWrapper::initHybrid(jni::alias_ref<jclass>) {
20
20
 
21
21
  void EventEmitterWrapper::invokeEvent(
22
22
  std::string eventName,
23
- NativeMap *payload) {
23
+ NativeMap *payload,
24
+ int category) {
25
+ if (eventEmitterPointer) {
26
+ eventEmitterPointer->dispatchEvent(
27
+ std::move(eventName),
28
+ payload->consume(),
29
+ EventPriority::AsynchronousBatched,
30
+ static_cast<RawEvent::Category>(category));
31
+ return;
32
+ }
33
+
24
34
  // It is marginal, but possible for this to be constructed without a valid
25
35
  // EventEmitter. In those cases, make sure we noop/blackhole events instead of
26
36
  // crashing.
27
37
  if (eventEmitter != nullptr) {
28
38
  eventEmitter->dispatchEvent(
29
- eventName, payload->consume(), EventPriority::AsynchronousBatched);
39
+ eventName,
40
+ payload->consume(),
41
+ EventPriority::AsynchronousBatched,
42
+ static_cast<RawEvent::Category>(category));
30
43
  }
31
44
  }
32
45
 
@@ -34,6 +47,11 @@ void EventEmitterWrapper::invokeUniqueEvent(
34
47
  std::string eventName,
35
48
  NativeMap *payload,
36
49
  int customCoalesceKey) {
50
+ if (eventEmitterPointer) {
51
+ eventEmitterPointer->dispatchUniqueEvent(
52
+ std::move(eventName), payload->consume());
53
+ return;
54
+ }
37
55
  // TODO: customCoalesceKey currently unused
38
56
  // It is marginal, but possible for this to be constructed without a valid
39
57
  // EventEmitter. In those cases, make sure we noop/blackhole events instead of
@@ -24,8 +24,9 @@ class EventEmitterWrapper : public jni::HybridClass<EventEmitterWrapper> {
24
24
  static void registerNatives();
25
25
 
26
26
  SharedEventEmitter eventEmitter;
27
+ EventEmitter const *eventEmitterPointer;
27
28
 
28
- void invokeEvent(std::string eventName, NativeMap *params);
29
+ void invokeEvent(std::string eventName, NativeMap *params, int category);
29
30
  void invokeUniqueEvent(
30
31
  std::string eventName,
31
32
  NativeMap *params,
@@ -13,6 +13,7 @@ import static com.facebook.react.fabric.FabricUIManager.ENABLE_FABRIC_LOGS;
13
13
  import static com.facebook.react.fabric.FabricUIManager.IS_DEVELOPMENT_ENVIRONMENT;
14
14
 
15
15
  import android.os.SystemClock;
16
+ import android.view.View;
16
17
  import androidx.annotation.AnyThread;
17
18
  import androidx.annotation.NonNull;
18
19
  import androidx.annotation.Nullable;
@@ -274,10 +275,17 @@ public class MountItemDispatcher {
274
275
  executeOrEnqueue(mountItem);
275
276
  } catch (Throwable e) {
276
277
  // If there's an exception, we want to log diagnostics in prod and rethrow.
277
- FLog.e(TAG, "dispatchMountItems: caught exception, displaying all MountItems", e);
278
+ FLog.e(TAG, "dispatchMountItems: caught exception, displaying mount state", e);
278
279
  for (MountItem m : mountItemsToDispatch) {
279
280
  printMountItem(m, "dispatchMountItems: mountItem");
280
281
  }
282
+ if (mountItem.getSurfaceId() != View.NO_ID) {
283
+ SurfaceMountingManager surfaceManager =
284
+ mMountingManager.getSurfaceManager(mountItem.getSurfaceId());
285
+ if (surfaceManager != null) {
286
+ surfaceManager.printSurfaceState();
287
+ }
288
+ }
281
289
 
282
290
  if (ReactIgnorableMountingException.isIgnorable(e)) {
283
291
  ReactSoftExceptionLogger.logSoftException(TAG, e);
@@ -910,10 +910,6 @@ public class SurfaceMountingManager {
910
910
  // We treat this as a perf problem and not a logical error. View Preallocation or unexpected
911
911
  // changes to Differ or C++ Binding could cause some redundant Create instructions.
912
912
  if (getNullableViewState(reactTag) != null) {
913
- ReactSoftExceptionLogger.logSoftException(
914
- TAG,
915
- new IllegalStateException(
916
- "Cannot Preallocate view with tag [" + reactTag + "], already exists."));
917
913
  return;
918
914
  }
919
915
 
@@ -963,6 +959,25 @@ public class SurfaceMountingManager {
963
959
  return (ViewGroupManager<ViewGroup>) viewState.mViewManager;
964
960
  }
965
961
 
962
+ public void printSurfaceState() {
963
+ FLog.e(TAG, "Views created for surface {%d}:", getSurfaceId());
964
+ for (ViewState viewState : mTagToViewState.values()) {
965
+ String viewManagerName =
966
+ viewState.mViewManager != null ? viewState.mViewManager.getName() : null;
967
+ @Nullable View view = viewState.mView;
968
+ @Nullable View parent = view != null ? (View) view.getParent() : null;
969
+ @Nullable Integer parentTag = parent != null ? parent.getId() : null;
970
+
971
+ FLog.e(
972
+ TAG,
973
+ "<%s id=%d parentTag=%s isRoot=%b />",
974
+ viewManagerName,
975
+ viewState.mReactTag,
976
+ parentTag,
977
+ viewState.mIsRoot);
978
+ }
979
+ }
980
+
966
981
  /**
967
982
  * This class holds view state for react tags. Objects of this class are stored into the {@link
968
983
  * #mTagToViewState}, and they should be updated in the same thread.
@@ -226,8 +226,12 @@ public class IntBufferBatchMountItem implements MountItem {
226
226
  : "<hidden>";
227
227
  s.append(String.format("UPDATE PROPS [%d]: %s\n", mIntBuffer[i++], propsString));
228
228
  } else if (type == INSTRUCTION_UPDATE_STATE) {
229
- j += 1;
230
- s.append(String.format("UPDATE STATE [%d]\n", mIntBuffer[i++]));
229
+ StateWrapper state = castToState(mObjBuffer[j++]);
230
+ String stateString =
231
+ IS_DEVELOPMENT_ENVIRONMENT
232
+ ? (state != null ? state.getStateData().toString() : "<null>")
233
+ : "<hidden>";
234
+ s.append(String.format("UPDATE STATE [%d]: %s\n", mIntBuffer[i++], stateString));
231
235
  } else if (type == INSTRUCTION_UPDATE_LAYOUT) {
232
236
  s.append(
233
237
  String.format(
@@ -20,7 +20,8 @@ rn_xplat_cxx_library(
20
20
  srcs = glob(["*.cpp"]),
21
21
  headers = glob(["*.h"]),
22
22
  header_namespace = "",
23
- compiler_flags = ["-fexceptions"],
23
+ compiler_flags_enable_exceptions = True, # TODO: is this necessary?
24
+ compiler_flags_enable_rtti = True, # TODO: is this necessary?
24
25
  fbandroid_allow_jni_merging = True,
25
26
  platforms = ANDROID,
26
27
  soname = "libjscexecutor.$(ext)",
@@ -7,6 +7,7 @@
7
7
 
8
8
  package com.facebook.react.modules.appearance;
9
9
 
10
+ import android.app.Activity;
10
11
  import android.content.Context;
11
12
  import android.content.res.Configuration;
12
13
  import androidx.annotation.Nullable;
@@ -74,7 +75,15 @@ public class AppearanceModule extends NativeAppearanceSpec {
74
75
 
75
76
  @Override
76
77
  public String getColorScheme() {
77
- mColorScheme = colorSchemeForCurrentConfiguration(getReactApplicationContext());
78
+ // Attempt to use the Activity context first in order to get the most up to date
79
+ // scheme. This covers the scenario when AppCompatDelegate.setDefaultNightMode()
80
+ // is called directly (which can occur in Brownfield apps for example).
81
+ Activity activity = getCurrentActivity();
82
+
83
+ mColorScheme =
84
+ colorSchemeForCurrentConfiguration(
85
+ activity != null ? activity : getReactApplicationContext());
86
+
78
87
  return mColorScheme;
79
88
  }
80
89
 
@@ -5,12 +5,6 @@ rn_xplat_cxx_library(
5
5
  srcs = glob(["*.cpp"]),
6
6
  headers = glob(["*.h"]),
7
7
  header_namespace = "",
8
- compiler_flags = [
9
- "-fexceptions",
10
- "-frtti",
11
- "-std=c++17",
12
- "-Wall",
13
- ],
14
8
  labels = ["supermodule:xplat/default/public.react_native.infra"],
15
9
  platforms = ANDROID,
16
10
  soname = "libreactnativeblob.$(ext)",
@@ -1,4 +1,4 @@
1
- load("//tools/build_defs/oss:rn_defs.bzl", "react_native_dep", "react_native_target", "rn_android_library")
1
+ load("//tools/build_defs/oss:rn_defs.bzl", "react_native_dep", "react_native_root_target", "react_native_target", "rn_android_library")
2
2
 
3
3
  rn_android_library(
4
4
  name = "clipboard",
@@ -16,4 +16,7 @@ rn_android_library(
16
16
  react_native_target("java/com/facebook/react/common:common"),
17
17
  react_native_target("java/com/facebook/react/module/annotations:annotations"),
18
18
  ],
19
+ exported_deps = [
20
+ react_native_root_target(":FBReactNativeSpec"),
21
+ ],
19
22
  )
@@ -9,17 +9,16 @@ package com.facebook.react.modules.clipboard;
9
9
 
10
10
  import android.content.ClipData;
11
11
  import android.content.ClipboardManager;
12
- import android.content.Context;
13
- import com.facebook.react.bridge.ContextBaseJavaModule;
12
+ import com.facebook.fbreact.specs.NativeClipboardSpec;
14
13
  import com.facebook.react.bridge.Promise;
15
- import com.facebook.react.bridge.ReactMethod;
14
+ import com.facebook.react.bridge.ReactApplicationContext;
16
15
  import com.facebook.react.module.annotations.ReactModule;
17
16
 
18
17
  /** A module that allows JS to get/set clipboard contents. */
19
18
  @ReactModule(name = ClipboardModule.NAME)
20
- public class ClipboardModule extends ContextBaseJavaModule {
19
+ public class ClipboardModule extends NativeClipboardSpec {
21
20
 
22
- public ClipboardModule(Context context) {
21
+ public ClipboardModule(ReactApplicationContext context) {
23
22
  super(context);
24
23
  }
25
24
 
@@ -31,10 +30,12 @@ public class ClipboardModule extends ContextBaseJavaModule {
31
30
  }
32
31
 
33
32
  private ClipboardManager getClipboardService() {
34
- return (ClipboardManager) getContext().getSystemService(getContext().CLIPBOARD_SERVICE);
33
+ return (ClipboardManager)
34
+ getReactApplicationContext()
35
+ .getSystemService(getReactApplicationContext().CLIPBOARD_SERVICE);
35
36
  }
36
37
 
37
- @ReactMethod
38
+ @Override
38
39
  public void getString(Promise promise) {
39
40
  try {
40
41
  ClipboardManager clipboard = getClipboardService();
@@ -50,7 +51,7 @@ public class ClipboardModule extends ContextBaseJavaModule {
50
51
  }
51
52
  }
52
53
 
53
- @ReactMethod
54
+ @Override
54
55
  public void setString(String text) {
55
56
  ClipData clipdata = ClipData.newPlainText(null, text);
56
57
  ClipboardManager clipboard = getClipboardService();
@@ -65,28 +65,16 @@ public class ExceptionsManagerModule extends NativeExceptionsManagerSpec {
65
65
  public void reportException(ReadableMap data) {
66
66
  String message = data.hasKey("message") ? data.getString("message") : "";
67
67
  ReadableArray stack = data.hasKey("stack") ? data.getArray("stack") : Arguments.createArray();
68
- int id = data.hasKey("id") ? data.getInt("id") : -1;
69
68
  boolean isFatal = data.hasKey("isFatal") ? data.getBoolean("isFatal") : false;
70
69
 
71
- if (mDevSupportManager.getDevSupportEnabled()) {
72
- boolean suppressRedBox = false;
73
- if (data.getMap("extraData") != null && data.getMap("extraData").hasKey("suppressRedBox")) {
74
- suppressRedBox = data.getMap("extraData").getBoolean("suppressRedBox");
75
- }
76
-
77
- if (!suppressRedBox) {
78
- mDevSupportManager.showNewJSError(message, stack, id);
79
- }
70
+ String extraDataAsJson = ExceptionDataHelper.getExtraDataAsJson(data);
71
+ if (isFatal) {
72
+ throw new JavascriptException(JSStackTrace.format(message, stack))
73
+ .setExtraDataAsJson(extraDataAsJson);
80
74
  } else {
81
- String extraDataAsJson = ExceptionDataHelper.getExtraDataAsJson(data);
82
- if (isFatal) {
83
- throw new JavascriptException(JSStackTrace.format(message, stack))
84
- .setExtraDataAsJson(extraDataAsJson);
85
- } else {
86
- FLog.e(ReactConstants.TAG, JSStackTrace.format(message, stack));
87
- if (extraDataAsJson != null) {
88
- FLog.d(ReactConstants.TAG, "extraData: %s", extraDataAsJson);
89
- }
75
+ FLog.e(ReactConstants.TAG, JSStackTrace.format(message, stack));
76
+ if (extraDataAsJson != null) {
77
+ FLog.d(ReactConstants.TAG, "extraData: %s", extraDataAsJson);
90
78
  }
91
79
  }
92
80
  }
@@ -10,7 +10,7 @@ package com.facebook.react.modules.core;
10
10
  import com.facebook.react.bridge.WritableArray;
11
11
 
12
12
  /** An interface used by {@link JavaTimerManager} to access and call JS timers from Java. */
13
- public interface JavaScriptTimerManager {
13
+ public interface JavaScriptTimerExecutor {
14
14
 
15
15
  /**
16
16
  * Calls the JS callback(s) associated with the timer ID(s). Also unregisters the callback if the
@@ -81,7 +81,7 @@ public class JavaTimerManager {
81
81
  }
82
82
 
83
83
  if (mTimersToCall != null) {
84
- mJavaScriptTimerManager.callTimers(mTimersToCall);
84
+ mJavaScriptTimerExecutor.callTimers(mTimersToCall);
85
85
  mTimersToCall = null;
86
86
  }
87
87
 
@@ -139,7 +139,7 @@ public class JavaTimerManager {
139
139
  }
140
140
 
141
141
  if (sendIdleEvents) {
142
- mJavaScriptTimerManager.callIdleCallbacks(absoluteFrameStartTime);
142
+ mJavaScriptTimerExecutor.callIdleCallbacks(absoluteFrameStartTime);
143
143
  }
144
144
 
145
145
  mCurrentIdleCallbackRunnable = null;
@@ -151,7 +151,7 @@ public class JavaTimerManager {
151
151
  }
152
152
 
153
153
  private final ReactApplicationContext mReactApplicationContext;
154
- private final JavaScriptTimerManager mJavaScriptTimerManager;
154
+ private final JavaScriptTimerExecutor mJavaScriptTimerExecutor;
155
155
  private final ReactChoreographer mReactChoreographer;
156
156
  private final DevSupportManager mDevSupportManager;
157
157
  private final Object mTimerGuard = new Object();
@@ -169,11 +169,11 @@ public class JavaTimerManager {
169
169
 
170
170
  public JavaTimerManager(
171
171
  ReactApplicationContext reactContext,
172
- JavaScriptTimerManager javaScriptTimerManager,
172
+ JavaScriptTimerExecutor javaScriptTimerManager,
173
173
  ReactChoreographer reactChoreographer,
174
174
  DevSupportManager devSupportManager) {
175
175
  mReactApplicationContext = reactContext;
176
- mJavaScriptTimerManager = javaScriptTimerManager;
176
+ mJavaScriptTimerExecutor = javaScriptTimerManager;
177
177
  mReactChoreographer = reactChoreographer;
178
178
  mDevSupportManager = devSupportManager;
179
179
 
@@ -327,7 +327,7 @@ public class JavaTimerManager {
327
327
  if (mDevSupportManager.getDevSupportEnabled()) {
328
328
  long driftTime = Math.abs(remoteTime - deviceTime);
329
329
  if (driftTime > 60000) {
330
- mJavaScriptTimerManager.emitTimeDriftWarning(
330
+ mJavaScriptTimerExecutor.emitTimeDriftWarning(
331
331
  "Debugger and device times have drifted by more than 60s. Please correct this by "
332
332
  + "running adb shell \"date `date +%m%d%H%M%Y.%S`\" on your debugger machine.");
333
333
  }
@@ -338,7 +338,7 @@ public class JavaTimerManager {
338
338
  if (duration == 0 && !repeat) {
339
339
  WritableArray timerToCall = Arguments.createArray();
340
340
  timerToCall.pushInt(callbackID);
341
- mJavaScriptTimerManager.callTimers(timerToCall);
341
+ mJavaScriptTimerExecutor.callTimers(timerToCall);
342
342
  return;
343
343
  }
344
344
 
@@ -22,7 +22,7 @@ import com.facebook.react.module.annotations.ReactModule;
22
22
  public final class TimingModule extends NativeTimingSpec
23
23
  implements LifecycleEventListener, HeadlessJsTaskEventListener {
24
24
 
25
- public class BridgeTimerManager implements JavaScriptTimerManager {
25
+ public class BridgeTimerExecutor implements JavaScriptTimerExecutor {
26
26
  @Override
27
27
  public void callTimers(WritableArray timerIDs) {
28
28
  ReactApplicationContext reactApplicationContext = getReactApplicationContextIfActiveOrWarn();
@@ -61,7 +61,7 @@ public final class TimingModule extends NativeTimingSpec
61
61
  mJavaTimerManager =
62
62
  new JavaTimerManager(
63
63
  reactContext,
64
- new BridgeTimerManager(),
64
+ new BridgeTimerExecutor(),
65
65
  ReactChoreographer.getInstance(),
66
66
  devSupportManager);
67
67
  }
@@ -8,6 +8,7 @@
8
8
  package com.facebook.react.modules.i18nmanager;
9
9
 
10
10
  import android.content.Context;
11
+ import android.os.Build;
11
12
  import com.facebook.fbreact.specs.NativeI18nManagerSpec;
12
13
  import com.facebook.react.bridge.NativeModule;
13
14
  import com.facebook.react.bridge.ReactApplicationContext;
@@ -36,7 +37,12 @@ public class I18nManagerModule extends NativeI18nManagerSpec {
36
37
  @Override
37
38
  public Map<String, Object> getTypedExportedConstants() {
38
39
  final Context context = getReactApplicationContext();
39
- final Locale locale = context.getResources().getConfiguration().locale;
40
+ final Locale locale;
41
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
42
+ locale = context.getResources().getConfiguration().getLocales().get(0);
43
+ } else {
44
+ locale = context.getResources().getConfiguration().locale;
45
+ }
40
46
 
41
47
  final Map<String, Object> constants = MapBuilder.newHashMap();
42
48
  constants.put("isRTL", sharedI18nUtilInstance.isRTL(context));
@@ -86,25 +86,8 @@ public class IntentModule extends NativeIntentAndroidSpec {
86
86
  }
87
87
 
88
88
  try {
89
- Activity currentActivity = getCurrentActivity();
90
89
  Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url).normalizeScheme());
91
-
92
- String selfPackageName = getReactApplicationContext().getPackageName();
93
- ComponentName componentName =
94
- intent.resolveActivity(getReactApplicationContext().getPackageManager());
95
- String otherPackageName = (componentName != null ? componentName.getPackageName() : "");
96
-
97
- // If there is no currentActivity or we are launching to a different package we need to set
98
- // the FLAG_ACTIVITY_NEW_TASK flag
99
- if (currentActivity == null || !selfPackageName.equals(otherPackageName)) {
100
- intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
101
- }
102
-
103
- if (currentActivity != null) {
104
- currentActivity.startActivity(intent);
105
- } else {
106
- getReactApplicationContext().startActivity(intent);
107
- }
90
+ sendOSIntent(intent, false);
108
91
 
109
92
  promise.resolve(true);
110
93
  } catch (Exception e) {
@@ -235,6 +218,27 @@ public class IntentModule extends NativeIntentAndroidSpec {
235
218
  }
236
219
  }
237
220
 
238
- getReactApplicationContext().startActivity(intent);
221
+ sendOSIntent(intent, true);
222
+ }
223
+
224
+ private void sendOSIntent(Intent intent, Boolean useNewTaskFlag) {
225
+ Activity currentActivity = getCurrentActivity();
226
+
227
+ String selfPackageName = getReactApplicationContext().getPackageName();
228
+ ComponentName componentName =
229
+ intent.resolveActivity(getReactApplicationContext().getPackageManager());
230
+ String otherPackageName = (componentName != null ? componentName.getPackageName() : "");
231
+
232
+ // If there is no currentActivity or we are launching to a different package we need to set
233
+ // the FLAG_ACTIVITY_NEW_TASK flag
234
+ if (useNewTaskFlag || currentActivity == null || !selfPackageName.equals(otherPackageName)) {
235
+ intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
236
+ }
237
+
238
+ if (currentActivity != null) {
239
+ currentActivity.startActivity(intent);
240
+ } else {
241
+ getReactApplicationContext().startActivity(intent);
242
+ }
239
243
  }
240
244
  }
@@ -144,10 +144,7 @@ public class ForwardingCookieHandler extends CookieHandler {
144
144
  // specific exception.
145
145
  // https://android.googlesource.com/platform/frameworks/base/+/master/core/java/android/webkit/WebViewFactory.java#348
146
146
  if (message != null
147
- && exception
148
- .getClass()
149
- .getCanonicalName()
150
- .equals("android.webkit.WebViewFactory.MissingWebViewPackageException")) {
147
+ && exception.getClass().getCanonicalName().contains("MissingWebViewPackageException")) {
151
148
  return null;
152
149
  } else {
153
150
  throw exception;
@@ -16,7 +16,7 @@ import java.util.Map;
16
16
  public class ReactNativeVersion {
17
17
  public static final Map<String, Object> VERSION = MapBuilder.<String, Object>of(
18
18
  "major", 0,
19
- "minor", 66,
19
+ "minor", 67,
20
20
  "patch", 0,
21
- "prerelease", "rc.4");
21
+ "prerelease", "rc.1");
22
22
  }
@@ -41,6 +41,7 @@ public final class ReconnectingWebSocket extends WebSocketListener {
41
41
 
42
42
  private final String mUrl;
43
43
  private final Handler mHandler;
44
+ private final OkHttpClient mOkHttpClient;
44
45
  private boolean mClosed = false;
45
46
  private boolean mSuppressConnectionErrors;
46
47
  private @Nullable WebSocket mWebSocket;
@@ -56,6 +57,12 @@ public final class ReconnectingWebSocket extends WebSocketListener {
56
57
  mMessageCallback = messageCallback;
57
58
  mConnectionCallback = connectionCallback;
58
59
  mHandler = new Handler(Looper.getMainLooper());
60
+ mOkHttpClient =
61
+ new OkHttpClient.Builder()
62
+ .connectTimeout(10, TimeUnit.SECONDS)
63
+ .writeTimeout(10, TimeUnit.SECONDS)
64
+ .readTimeout(0, TimeUnit.MINUTES) // Disable timeouts for read
65
+ .build();
59
66
  }
60
67
 
61
68
  public void connect() {
@@ -63,15 +70,8 @@ public final class ReconnectingWebSocket extends WebSocketListener {
63
70
  throw new IllegalStateException("Can't connect closed client");
64
71
  }
65
72
 
66
- OkHttpClient httpClient =
67
- new OkHttpClient.Builder()
68
- .connectTimeout(10, TimeUnit.SECONDS)
69
- .writeTimeout(10, TimeUnit.SECONDS)
70
- .readTimeout(0, TimeUnit.MINUTES) // Disable timeouts for read
71
- .build();
72
-
73
73
  Request request = new Request.Builder().url(mUrl).build();
74
- httpClient.newWebSocket(request, this);
74
+ mOkHttpClient.newWebSocket(request, this);
75
75
  }
76
76
 
77
77
  private synchronized void delayedReconnect() {
@@ -59,7 +59,7 @@ import javax.lang.model.util.Types;
59
59
  /**
60
60
  * This annotation processor crawls subclasses of ReactShadowNode and ViewManager and finds their
61
61
  * exported properties with the @ReactProp or @ReactGroupProp annotation. It generates a class per
62
- * shadow node/view manager that is named {@code <classname>$$PropSetter}. This class contains
62
+ * shadow node/view manager that is named {@code <classname>$$PropsSetter}. This class contains
63
63
  * methods to retrieve the name and type of all methods and a way to set these properties without
64
64
  * reflection.
65
65
  */
@@ -9,12 +9,6 @@ rn_xplat_cxx_library(
9
9
  exported_headers = {
10
10
  "reactperflogger/JNativeModulePerfLogger.h": "reactperflogger/JNativeModulePerfLogger.h",
11
11
  },
12
- compiler_flags = [
13
- "-fexceptions",
14
- "-frtti",
15
- "-std=c++17",
16
- "-Wall",
17
- ],
18
12
  fbandroid_allow_jni_merging = True,
19
13
  fbandroid_labels = [
20
14
  "supermodule:xplat/default/public.react_native.infra",
@@ -34,7 +34,6 @@ rn_android_library(
34
34
  react_native_target("java/com/facebook/react/modules/camera:camera"),
35
35
  react_native_target("java/com/facebook/react/modules/clipboard:clipboard"),
36
36
  react_native_target("java/com/facebook/react/modules/core:core"),
37
- react_native_target("java/com/facebook/react/modules/datepicker:datepicker"),
38
37
  react_native_target("java/com/facebook/react/modules/debug:debug"),
39
38
  react_native_target("java/com/facebook/react/modules/dialog:dialog"),
40
39
  react_native_target("java/com/facebook/react/modules/fresco:fresco"),
@@ -23,7 +23,6 @@ import com.facebook.react.modules.blob.BlobModule;
23
23
  import com.facebook.react.modules.blob.FileReaderModule;
24
24
  import com.facebook.react.modules.camera.ImageStoreManager;
25
25
  import com.facebook.react.modules.clipboard.ClipboardModule;
26
- import com.facebook.react.modules.datepicker.DatePickerDialogModule;
27
26
  import com.facebook.react.modules.dialog.DialogModule;
28
27
  import com.facebook.react.modules.fresco.FrescoModule;
29
28
  import com.facebook.react.modules.i18nmanager.I18nManagerModule;
@@ -72,7 +71,6 @@ import java.util.Map;
72
71
  FileReaderModule.class,
73
72
  AsyncStorageModule.class,
74
73
  ClipboardModule.class,
75
- DatePickerDialogModule.class,
76
74
  DialogModule.class,
77
75
  FrescoModule.class,
78
76
  I18nManagerModule.class,
@@ -117,8 +115,6 @@ public class MainReactPackage extends TurboReactPackage {
117
115
  return new AsyncStorageModule(context);
118
116
  case ClipboardModule.NAME:
119
117
  return new ClipboardModule(context);
120
- case DatePickerDialogModule.FRAGMENT_TAG:
121
- return new DatePickerDialogModule(context);
122
118
  case DialogModule.NAME:
123
119
  return new DialogModule(context);
124
120
  case FrescoModule.NAME:
@@ -199,7 +195,6 @@ public class MainReactPackage extends TurboReactPackage {
199
195
  FileReaderModule.class,
200
196
  AsyncStorageModule.class,
201
197
  ClipboardModule.class,
202
- DatePickerDialogModule.class,
203
198
  DialogModule.class,
204
199
  FrescoModule.class,
205
200
  I18nManagerModule.class,
@@ -11,12 +11,6 @@ rn_xplat_cxx_library(
11
11
  "ReactCommon/TurboModuleManager.h": "ReactCommon/TurboModuleManager.h",
12
12
  "ReactCommon/TurboModuleManagerDelegate.h": "ReactCommon/TurboModuleManagerDelegate.h",
13
13
  },
14
- compiler_flags = [
15
- "-fexceptions",
16
- "-frtti",
17
- "-std=c++17",
18
- "-Wall",
19
- ],
20
14
  labels = ["supermodule:xplat/default/public.react_native.infra"],
21
15
  platforms = ANDROID,
22
16
  preprocessor_flags = [
@@ -49,12 +43,6 @@ rn_xplat_cxx_library(
49
43
  exported_headers = {
50
44
  "ReactCommon/CallInvokerHolder.h": "ReactCommon/CallInvokerHolder.h",
51
45
  },
52
- compiler_flags = [
53
- "-fexceptions",
54
- "-frtti",
55
- "-std=c++17",
56
- "-Wall",
57
- ],
58
46
  fbandroid_deps = [
59
47
  FBJNI_TARGET,
60
48
  ],
@@ -155,7 +155,7 @@ public class JSTouchDispatcher {
155
155
  mTargetCoordinates[1],
156
156
  mTouchEventCoalescingKeyHelper));
157
157
  } else if (action == MotionEvent.ACTION_POINTER_UP) {
158
- // Exactly onw of the pointers goes up
158
+ // Exactly one of the pointers goes up
159
159
  eventDispatcher.dispatchEvent(
160
160
  TouchEvent.obtain(
161
161
  getSurfaceId(),