react-native 0.66.2 → 0.67.0-rc.3
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.
- package/Libraries/ActionSheetIOS/ActionSheetIOS.js +14 -1
- package/Libraries/ActionSheetIOS/NativeActionSheetManager.js +2 -0
- package/Libraries/Animated/AnimatedEvent.js +23 -4
- package/Libraries/Animated/NativeAnimatedHelper.js +2 -2
- package/Libraries/Animated/components/AnimatedImage.js +3 -3
- package/Libraries/Animated/components/AnimatedScrollView.js +3 -3
- package/Libraries/Animated/components/AnimatedText.js +3 -3
- package/Libraries/Animated/components/AnimatedView.js +1 -3
- package/Libraries/Animated/createAnimatedComponent.js +3 -34
- package/Libraries/Components/Button.js +3 -0
- package/Libraries/Components/DatePicker/DatePickerIOS.ios.js +3 -6
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +4 -7
- package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +1 -0
- package/Libraries/Components/ScrollView/ScrollView.js +17 -16
- package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +268 -252
- package/Libraries/Components/View/View.js +1 -1
- package/Libraries/Components/View/ViewAccessibility.js +1 -1
- package/Libraries/Core/ExceptionsManager.js +45 -80
- package/Libraries/Core/ExtendedError.js +0 -1
- package/Libraries/Core/ReactNativeVersion.js +3 -3
- package/Libraries/Core/setUpBatchedBridge.js +1 -1
- package/Libraries/Core/setUpGlobals.js +2 -4
- package/Libraries/Core/setUpTimers.js +2 -2
- package/Libraries/Image/Image.ios.js +6 -0
- package/Libraries/Image/ImageBackground.js +10 -8
- package/Libraries/Image/ImageProps.js +28 -0
- package/Libraries/Image/RCTImageView.mm +4 -0
- package/Libraries/LogBox/Data/LogBoxData.js +0 -1
- package/Libraries/LogBox/UI/LogBoxImages/alert-triangle.png +0 -0
- package/Libraries/LogBox/UI/LogBoxImages/chevron-left.png +0 -0
- package/Libraries/LogBox/UI/LogBoxImages/chevron-right.png +0 -0
- package/Libraries/LogBox/UI/LogBoxImages/close.png +0 -0
- package/Libraries/LogBox/UI/LogBoxImages/loader.png +0 -0
- package/Libraries/NativeAnimation/Nodes/RCTPropsAnimatedNode.m +0 -3
- package/Libraries/NativeAnimation/RCTNativeAnimatedModule.mm +6 -3
- package/Libraries/NativeAnimation/RCTNativeAnimatedTurboModule.h +1 -2
- package/Libraries/NativeAnimation/RCTNativeAnimatedTurboModule.mm +2 -1
- package/Libraries/NewAppScreen/components/logo.png +0 -0
- package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +2 -1
- package/Libraries/PermissionsAndroid/PermissionsAndroid.js +2 -0
- package/Libraries/Pressability/Pressability.js +13 -13
- package/Libraries/Pressability/PressabilityPerformanceEventEmitter.js +1 -1
- package/Libraries/PushNotificationIOS/RCTPushNotificationManager.mm +0 -1
- package/Libraries/ReactNative/AppRegistry.js +4 -2
- package/Libraries/Renderer/REVISION +1 -1
- package/Libraries/Renderer/implementations/ReactFabric-dev.fb.js +1569 -875
- package/Libraries/Renderer/implementations/ReactFabric-prod.fb.js +529 -319
- package/Libraries/Renderer/implementations/ReactFabric-profiling.fb.js +570 -362
- package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.fb.js +1592 -891
- package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.fb.js +521 -311
- package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.fb.js +562 -354
- package/Libraries/Share/Share.js +1 -1
- package/Libraries/StyleSheet/normalizeColor.js +2 -2
- package/Libraries/Text/TextInput/Multiline/RCTUITextView.m +4 -2
- package/Libraries/Text/TextInput/RCTBaseTextInputView.m +2 -12
- package/Libraries/Text/TextInput/RCTInputAccessoryViewContent.m +4 -11
- package/Libraries/Text/TextProps.js +1 -7
- package/Libraries/TurboModule/TurboModuleRegistry.js +1 -1
- package/Libraries/Utilities/HMRClient.js +1 -1
- package/README.md +1 -1
- package/React/Base/RCTBridge+Private.h +8 -0
- package/React/Base/RCTBridge.h +4 -0
- package/React/Base/RCTBridge.m +19 -7
- package/React/Base/RCTBridgeModule.h +2 -11
- package/React/Base/RCTBundleURLProvider.h +1 -1
- package/React/Base/RCTBundleURLProvider.mm +5 -3
- package/React/Base/RCTConstants.h +0 -6
- package/React/Base/RCTConstants.m +0 -15
- package/React/Base/RCTConvert.h +1 -1
- package/React/Base/RCTDefines.h +12 -3
- package/React/Base/RCTEventDispatcherProtocol.h +2 -0
- package/React/Base/RCTJSThread.h +29 -0
- package/React/Base/RCTJSThread.m +19 -0
- package/React/Base/RCTRootView.h +15 -0
- package/React/Base/RCTRootView.m +15 -0
- package/React/Base/RCTTouchHandler.m +1 -9
- package/React/Base/RCTUtils.h +3 -0
- package/React/Base/RCTUtils.m +14 -7
- package/React/Base/RCTVersion.m +3 -3
- package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingProxyRootView.h +11 -0
- package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingProxyRootView.mm +35 -1
- package/React/CoreModules/RCTAccessibilityManager+Internal.h +24 -0
- package/React/CoreModules/RCTAccessibilityManager.mm +18 -3
- package/React/CoreModules/RCTActionSheetManager.mm +14 -5
- package/React/CoreModules/RCTDevLoadingView.mm +5 -10
- package/React/CoreModules/RCTDevSettings.mm +6 -6
- package/React/CoreModules/RCTDevSplitBundleLoader.mm +1 -1
- package/React/CoreModules/RCTDeviceInfo.mm +4 -4
- package/React/CoreModules/RCTEventDispatcher.mm +5 -0
- package/React/CoreModules/RCTExceptionsManager.mm +11 -24
- package/React/CoreModules/RCTLogBox.mm +0 -1
- package/React/CoreModules/RCTPerfMonitor.mm +9 -4
- package/React/CoreModules/RCTRedBox.mm +1 -5
- package/React/CxxBridge/RCTCxxBridge.mm +18 -1
- package/React/DevSupport/RCTPackagerConnection.h +3 -0
- package/React/DevSupport/RCTPackagerConnection.mm +9 -5
- package/React/FBReactNativeSpec/FBReactNativeSpec.podspec +11 -3
- package/React/Fabric/Mounting/ComponentViews/Modal/RCTModalHostViewComponentView.mm +0 -3
- package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +16 -0
- package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.h +6 -0
- package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +3 -5
- package/React/Fabric/Mounting/RCTMountingManager.mm +15 -1
- package/React/Fabric/RCTScheduler.mm +12 -5
- package/React/Fabric/RCTSurfacePresenter.mm +0 -4
- package/React/Fabric/RCTSurfaceTouchHandler.mm +6 -20
- package/React/Fabric/Surface/RCTFabricSurface.mm +1 -3
- package/React/React-RCTFabric.podspec +0 -1
- package/React/Views/RCTFont.mm +54 -38
- package/React/Views/RCTView.m +1 -6
- package/React/Views/RCTViewManager.m +3 -2
- package/React/Views/SafeAreaView/RCTSafeAreaView.m +1 -5
- package/React/Views/ScrollView/RCTScrollView.m +5 -15
- package/React/Views/ScrollView/RCTScrollViewManager.m +0 -7
- package/React/Views/UIView+React.m +2 -11
- package/React-Core.podspec +0 -1
- package/ReactAndroid/build.gradle +11 -5
- package/ReactAndroid/gradle.properties +1 -1
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/BUCK +0 -1
- package/ReactAndroid/src/androidTest/js/TestBundle.js +0 -7
- package/ReactAndroid/src/main/java/com/facebook/hermes/instrumentation/BUCK +2 -1
- package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/HermesExecutor.java +14 -8
- package/ReactAndroid/src/main/java/com/facebook/react/BUCK +0 -1
- package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +63 -26
- package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManagerBuilder.java +50 -2
- package/ReactAndroid/src/main/java/com/facebook/react/ReactNativeHost.java +31 -0
- package/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java +17 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstance.java +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstanceImpl.java +13 -2
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactCxxErrorHandler.java +39 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/RuntimeScheduler.java +21 -0
- package/ReactAndroid/src/main/java/com/facebook/react/common/BUCK +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/common/SurfaceDelegate.java +40 -0
- package/ReactAndroid/src/main/java/com/facebook/react/common/SurfaceDelegateFactory.java +24 -0
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/BUCK +0 -6
- package/ReactAndroid/src/main/java/com/facebook/react/config/ReactFeatureFlags.java +16 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BUCK +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BridgeDevSupportManager.java +5 -2
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DefaultDevSupportManagerFactory.java +102 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.java +35 -11
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerFactory.java +5 -72
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DisabledDevSupportManager.java +12 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LogBoxDialogSurfaceDelegate.java +92 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LogBoxModule.java +27 -42
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevSupportManager.java +14 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/Binding.java +5 -4
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricJSIModuleProvider.java +3 -7
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +41 -2
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventEmitterWrapper.java +8 -3
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/FabricEventEmitter.java +43 -9
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Android.mk +2 -1
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/AsyncEventBeatV2.cpp +69 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/AsyncEventBeatV2.h +40 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/BUCK +2 -6
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Binding.cpp +84 -32
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Binding.h +4 -2
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/EventEmitterWrapper.cpp +20 -2
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/EventEmitterWrapper.h +2 -1
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountItemDispatcher.java +9 -1
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.java +19 -4
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/IntBufferBatchMountItem.java +6 -2
- package/ReactAndroid/src/main/java/com/facebook/react/jscexecutor/BUCK +2 -1
- package/ReactAndroid/src/main/java/com/facebook/react/jscexecutor/JSCExecutor.java +6 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/jni/BUCK +0 -6
- package/ReactAndroid/src/main/java/com/facebook/react/modules/clipboard/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/clipboard/ClipboardModule.java +9 -8
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ExceptionsManagerModule.java +7 -19
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/{JavaScriptTimerManager.java → JavaScriptTimerExecutor.java} +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/JavaTimerManager.java +7 -7
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/TimingModule.java +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/modules/i18nmanager/I18nManagerModule.java +7 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/intent/IntentModule.java +23 -19
- package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ForwardingCookieHandler.java +1 -4
- package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java +3 -3
- package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/ReconnectingWebSocket.java +8 -8
- package/ReactAndroid/src/main/java/com/facebook/react/processing/ReactPropertyProcessor.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/reactperflogger/jni/BUCK +0 -6
- package/ReactAndroid/src/main/java/com/facebook/react/shell/BUCK +0 -1
- package/ReactAndroid/src/main/java/com/facebook/react/shell/MainReactPackage.java +0 -5
- package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/BUCK +0 -12
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSTouchDispatcher.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TouchTargetHelper.java +75 -10
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/Event.java +19 -22
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventCategoryDef.java +42 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcherImpl.java +7 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/LockFreeEventDispatcherImpl.java +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTEventEmitter.java +7 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTModernEventEmitter.java +2 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/ReactEventEmitter.java +17 -9
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchEvent.java +43 -8
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchEventType.java +15 -16
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchesHelper.java +108 -19
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/jni/BUCK +0 -6
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +79 -4
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollViewManager.java +5 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +94 -3
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewHelper.java +21 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewManager.java +5 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextAnchorViewManager.java +0 -4
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextShadowNode.java +16 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextView.java +9 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributeProps.java +20 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.java +25 -6
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManagerMapBuffer.java +25 -5
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditTextInputConnectionWrapper.java +3 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/CanvasUtil.java +92 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.java +19 -0
- package/ReactAndroid/src/main/jni/react/jni/Android.mk +3 -2
- package/ReactAndroid/src/main/jni/react/jni/BUCK +4 -5
- package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.cpp +49 -7
- package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.h +15 -2
- package/ReactAndroid/src/main/jni/react/jni/JReactCxxErrorHandler.cpp +18 -0
- package/ReactAndroid/src/main/jni/react/jni/JReactCxxErrorHandler.h +25 -0
- package/{ReactCommon/react/renderer/core/Constants.cpp → ReactAndroid/src/main/jni/react/jni/JRuntimeScheduler.cpp} +6 -8
- package/ReactAndroid/src/main/jni/react/jni/JRuntimeScheduler.h +30 -0
- package/ReactAndroid/src/main/jni/react/perftests/BUCK +0 -4
- package/ReactAndroid/src/main/third-party/android/androidx/BUCK +6 -6
- package/ReactAndroid/src/test/java/com/facebook/react/RootViewTest.java +43 -0
- package/ReactAndroid/src/test/java/com/facebook/react/modules/clipboard/ClipboardModuleTest.java +3 -1
- package/ReactCommon/React-Fabric.podspec +9 -1
- package/ReactCommon/better/BUCK +0 -6
- package/ReactCommon/callinvoker/BUCK +2 -8
- package/ReactCommon/cxxreact/BUCK +1 -16
- package/ReactCommon/cxxreact/ReactNativeVersion.h +3 -3
- package/ReactCommon/hermes/inspector/tools/msggen/package.json +7 -4
- package/ReactCommon/hermes/inspector/tools/msggen/yarn.lock +13 -10
- package/ReactCommon/jsi/BUCK +0 -9
- package/ReactCommon/jsinspector/BUCK +0 -5
- package/ReactCommon/logger/BUCK +0 -5
- package/ReactCommon/react/config/BUCK +0 -6
- package/ReactCommon/react/debug/BUCK +0 -6
- package/ReactCommon/react/nativemodule/core/BUCK +0 -5
- package/ReactCommon/react/nativemodule/core/platform/ios/RCTTurboModuleManager.mm +14 -31
- package/ReactCommon/react/nativemodule/samples/BUCK +0 -7
- package/ReactCommon/react/renderer/animations/BUCK +1 -4
- package/ReactCommon/react/renderer/animations/LayoutAnimationCallbackWrapper.h +34 -0
- package/ReactCommon/react/renderer/animations/LayoutAnimationDriver.cpp +5 -26
- package/ReactCommon/react/renderer/animations/LayoutAnimationDriver.h +8 -14
- package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.cpp +912 -1147
- package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.h +80 -245
- package/ReactCommon/react/renderer/animations/conversions.h +212 -0
- package/ReactCommon/react/renderer/animations/primitives.h +104 -0
- package/ReactCommon/react/renderer/animations/tests/LayoutAnimationTest.cpp +3 -3
- package/ReactCommon/react/renderer/animations/utils.cpp +71 -0
- package/ReactCommon/react/renderer/animations/utils.h +80 -0
- package/ReactCommon/react/renderer/attributedstring/AttributedString.h +0 -1
- package/ReactCommon/react/renderer/attributedstring/BUCK +0 -6
- package/ReactCommon/react/renderer/attributedstring/ParagraphAttributes.cpp +7 -3
- package/ReactCommon/react/renderer/attributedstring/ParagraphAttributes.h +12 -2
- package/ReactCommon/react/renderer/attributedstring/TextAttributes.h +1 -1
- package/ReactCommon/react/renderer/attributedstring/conversions.h +58 -3
- package/ReactCommon/react/renderer/attributedstring/primitives.h +18 -1
- package/ReactCommon/react/renderer/componentregistry/BUCK +0 -6
- package/ReactCommon/react/renderer/componentregistry/native/BUCK +0 -6
- package/ReactCommon/react/renderer/components/image/BUCK +0 -6
- package/ReactCommon/react/renderer/components/image/ImageComponentDescriptor.h +0 -2
- package/ReactCommon/react/renderer/components/inputaccessory/BUCK +0 -6
- package/ReactCommon/react/renderer/components/inputaccessory/InputAccessoryComponentDescriptor.h +0 -4
- package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/BUCK +0 -6
- package/ReactCommon/react/renderer/components/modal/BUCK +0 -6
- package/ReactCommon/react/renderer/components/modal/ModalHostViewComponentDescriptor.h +0 -5
- package/ReactCommon/react/renderer/components/progressbar/BUCK +0 -6
- package/ReactCommon/react/renderer/components/progressbar/android/react/renderer/components/progressbar/AndroidProgressBarComponentDescriptor.h +0 -3
- package/ReactCommon/react/renderer/components/root/BUCK +0 -6
- package/ReactCommon/react/renderer/components/safeareaview/BUCK +0 -6
- package/ReactCommon/react/renderer/components/scrollview/BUCK +0 -6
- package/ReactCommon/react/renderer/components/slider/BUCK +0 -6
- package/ReactCommon/react/renderer/components/slider/SliderComponentDescriptor.h +0 -3
- package/ReactCommon/react/renderer/components/switch/BUCK +0 -6
- package/ReactCommon/react/renderer/components/switch/androidswitch/react/renderer/components/androidswitch/AndroidSwitchComponentDescriptor.h +0 -3
- package/ReactCommon/react/renderer/components/text/BUCK +0 -6
- package/ReactCommon/react/renderer/components/text/ParagraphComponentDescriptor.h +1 -20
- package/ReactCommon/react/renderer/components/textinput/BUCK +0 -6
- package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputComponentDescriptor.h +0 -3
- package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputProps.h +2 -0
- package/ReactCommon/react/renderer/components/textinput/iostextinput/BUCK +0 -6
- package/ReactCommon/react/renderer/components/textinput/iostextinput/TextInputComponentDescriptor.h +0 -3
- package/ReactCommon/react/renderer/components/unimplementedview/BUCK +0 -6
- package/ReactCommon/react/renderer/components/unimplementedview/UnimplementedViewComponentDescriptor.cpp +0 -4
- package/ReactCommon/react/renderer/components/view/Android.mk +1 -1
- package/ReactCommon/react/renderer/components/view/BUCK +0 -6
- package/ReactCommon/react/renderer/components/view/Touch.h +1 -32
- package/ReactCommon/react/renderer/components/view/ViewComponentDescriptor.h +0 -23
- package/ReactCommon/react/renderer/components/view/ViewPropsInterpolation.h +2 -3
- package/ReactCommon/react/renderer/components/view/ViewShadowNode.cpp +3 -3
- package/ReactCommon/react/renderer/components/view/ViewShadowNode.h +1 -1
- package/ReactCommon/react/renderer/components/view/accessibilityPropsConversions.h +4 -0
- package/ReactCommon/react/renderer/core/BUCK +2 -6
- package/ReactCommon/react/renderer/core/ConcreteComponentDescriptor.h +14 -9
- package/ReactCommon/react/renderer/core/ConcreteShadowNode.h +1 -10
- package/ReactCommon/react/renderer/core/EventEmitter.cpp +9 -4
- package/ReactCommon/react/renderer/core/EventEmitter.h +2 -1
- package/ReactCommon/react/renderer/core/Props.h +1 -0
- package/ReactCommon/react/renderer/core/PropsParserContext.h +3 -2
- package/ReactCommon/react/renderer/core/RawEvent.h +7 -5
- package/ReactCommon/react/renderer/core/RawPropsKey.cpp +10 -2
- package/ReactCommon/react/renderer/core/ReactPrimitives.h +0 -2
- package/ReactCommon/react/renderer/core/ShadowNode.cpp +7 -10
- package/ReactCommon/react/renderer/core/ShadowNodeFamily.h +1 -0
- package/ReactCommon/react/renderer/debug/BUCK +0 -6
- package/ReactCommon/react/renderer/element/BUCK +0 -6
- package/ReactCommon/react/renderer/graphics/Android.mk +1 -1
- package/ReactCommon/react/renderer/graphics/BUCK +0 -6
- package/ReactCommon/react/renderer/graphics/React-graphics.podspec +0 -1
- package/ReactCommon/react/renderer/graphics/Transform.cpp +1 -1
- package/ReactCommon/react/renderer/graphics/Transform.h +1 -1
- package/ReactCommon/react/renderer/imagemanager/BUCK +0 -6
- package/ReactCommon/react/renderer/leakchecker/BUCK +0 -6
- package/ReactCommon/react/renderer/mapbuffer/BUCK +0 -6
- package/ReactCommon/react/renderer/mounting/Android.mk +2 -1
- package/ReactCommon/react/renderer/mounting/BUCK +0 -6
- package/ReactCommon/react/renderer/mounting/MountingOverrideDelegate.h +1 -1
- package/ReactCommon/react/renderer/mounting/ShadowViewMutation.cpp +12 -0
- package/ReactCommon/react/renderer/mounting/ShadowViewMutation.h +10 -1
- package/ReactCommon/react/renderer/runtimescheduler/Android.mk +2 -1
- package/ReactCommon/react/renderer/runtimescheduler/BUCK +1 -7
- package/ReactCommon/react/renderer/runtimescheduler/ErrorUtils.h +36 -0
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.cpp +28 -20
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.h +4 -2
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerBinding.cpp +4 -3
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerBinding.h +4 -2
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerCallInvoker.cpp +32 -0
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerCallInvoker.h +36 -0
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerClock.h +4 -2
- package/ReactCommon/react/renderer/runtimescheduler/SchedulerPriority.h +4 -3
- package/ReactCommon/react/renderer/runtimescheduler/Task.cpp +4 -2
- package/ReactCommon/react/renderer/runtimescheduler/Task.h +4 -2
- package/ReactCommon/react/renderer/runtimescheduler/primitives.h +4 -2
- package/ReactCommon/react/renderer/runtimescheduler/tests/RuntimeSchedulerTest.cpp +26 -1
- package/ReactCommon/react/renderer/runtimescheduler/tests/StubErrorUtils.h +72 -0
- package/ReactCommon/react/renderer/scheduler/BUCK +0 -6
- package/ReactCommon/react/renderer/scheduler/Scheduler.cpp +1 -4
- package/ReactCommon/react/renderer/scheduler/Scheduler.h +1 -1
- package/ReactCommon/react/renderer/scheduler/SurfaceHandler.h +4 -4
- package/ReactCommon/react/renderer/telemetry/BUCK +0 -6
- package/ReactCommon/react/renderer/templateprocessor/BUCK +0 -6
- package/ReactCommon/react/renderer/textlayoutmanager/BUCK +0 -6
- package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/RCTAttributedTextUtils.h +2 -0
- package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/RCTAttributedTextUtils.mm +19 -0
- package/ReactCommon/react/renderer/timeline/BUCK +6 -12
- package/ReactCommon/react/renderer/uimanager/BUCK +0 -6
- package/ReactCommon/react/renderer/uimanager/UIManagerAnimationDelegate.h +1 -1
- package/ReactCommon/react/renderer/uimanager/UIManagerBinding.cpp +2 -2
- package/ReactCommon/react/renderer/uimanager/UIManagerBinding.h +1 -1
- package/ReactCommon/react/test_utils/BUCK +3 -6
- package/ReactCommon/react/{renderer/core/Constants.h → test_utils/MockSurfaceHandler.h} +9 -7
- package/ReactCommon/react/utils/BUCK +0 -6
- package/ReactCommon/react/utils/ContextContainer.h +0 -27
- package/ReactCommon/reactperflogger/BUCK +0 -4
- package/ReactCommon/runtimeexecutor/BUCK +0 -6
- package/ReactCommon/yoga/BUCK +1 -5
- package/android/com/facebook/react/react-native/{0.66.2/react-native-0.66.2.aar → 0.67.0-rc.3/react-native-0.67.0-rc.3.aar} +0 -0
- package/android/com/facebook/react/react-native/0.67.0-rc.3/react-native-0.67.0-rc.3.aar.md5 +1 -0
- package/android/com/facebook/react/react-native/0.67.0-rc.3/react-native-0.67.0-rc.3.aar.sha1 +1 -0
- package/android/com/facebook/react/react-native/0.67.0-rc.3/react-native-0.67.0-rc.3.aar.sha256 +1 -0
- package/android/com/facebook/react/react-native/0.67.0-rc.3/react-native-0.67.0-rc.3.aar.sha512 +1 -0
- package/android/com/facebook/react/react-native/{0.66.2/react-native-0.66.2.module → 0.67.0-rc.3/react-native-0.67.0-rc.3.module} +16 -17
- package/android/com/facebook/react/react-native/0.67.0-rc.3/react-native-0.67.0-rc.3.module.md5 +1 -0
- package/android/com/facebook/react/react-native/0.67.0-rc.3/react-native-0.67.0-rc.3.module.sha1 +1 -0
- package/android/com/facebook/react/react-native/0.67.0-rc.3/react-native-0.67.0-rc.3.module.sha256 +1 -0
- package/android/com/facebook/react/react-native/0.67.0-rc.3/react-native-0.67.0-rc.3.module.sha512 +1 -0
- package/android/com/facebook/react/react-native/{0.66.2/react-native-0.66.2.pom → 0.67.0-rc.3/react-native-0.67.0-rc.3.pom} +2 -2
- package/android/com/facebook/react/react-native/0.67.0-rc.3/react-native-0.67.0-rc.3.pom.md5 +1 -0
- package/android/com/facebook/react/react-native/0.67.0-rc.3/react-native-0.67.0-rc.3.pom.sha1 +1 -0
- package/android/com/facebook/react/react-native/0.67.0-rc.3/react-native-0.67.0-rc.3.pom.sha256 +1 -0
- package/android/com/facebook/react/react-native/0.67.0-rc.3/react-native-0.67.0-rc.3.pom.sha512 +1 -0
- package/android/com/facebook/react/react-native/maven-metadata.xml +4 -4
- package/android/com/facebook/react/react-native/maven-metadata.xml.md5 +1 -1
- package/android/com/facebook/react/react-native/maven-metadata.xml.sha1 +1 -1
- package/android/com/facebook/react/react-native/maven-metadata.xml.sha256 +1 -1
- package/android/com/facebook/react/react-native/maven-metadata.xml.sha512 +1 -1
- package/flow/global.js +45 -0
- package/index.js +15 -10
- package/jest/mockModal.js +31 -0
- package/jest/setup.js +5 -3
- package/package.json +8 -9
- package/react.gradle +53 -18
- package/scripts/find-node.sh +13 -0
- package/scripts/generate-specs-cli.js +18 -0
- package/scripts/ios-configure-glog.sh +4 -0
- package/scripts/react-native-xcode.sh +6 -6
- package/scripts/react_native_pods.rb +200 -57
- package/template/Gemfile +6 -0
- package/template/Gemfile.lock +100 -0
- package/template/_bundle/config +2 -0
- package/template/_flowconfig +1 -1
- package/template/_ruby-version +1 -0
- package/template/android/app/build.gradle +1 -1
- package/template/android/app/src/main/res/drawable/rn_edit_text_material.xml +36 -0
- package/template/android/app/src/main/res/values/styles.xml +1 -0
- package/template/android/build.gradle +7 -3
- package/template/android/gradle/wrapper/gradle-wrapper.properties +1 -1
- package/template/android/gradle.properties +1 -1
- package/template/ios/HelloWorld.xcodeproj/project.pbxproj +0 -2
- package/template/package.json +1 -1
- package/third-party-podspecs/RCT-Folly.podspec +1 -1
- package/third-party-podspecs/glog.podspec +0 -1
- package/Libraries/Components/DatePickerAndroid/DatePickerAndroid.android.js +0 -87
- package/Libraries/Components/DatePickerAndroid/DatePickerAndroid.ios.js +0 -30
- package/Libraries/Components/DatePickerAndroid/DatePickerAndroidTypes.js +0 -30
- package/Libraries/Components/StaticContainer.react.js +0 -51
- package/Libraries/Components/Touchable/ensurePositiveDelayProps.js +0 -25
- package/Libraries/Interaction/InteractionMixin.js +0 -54
- package/Libraries/ReactNative/queryLayoutByID.js +0 -58
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/DatePickerDialogTestCase.java +0 -172
- package/ReactAndroid/src/androidTest/js/DatePickerDialogTestModule.js +0 -45
- package/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/BUCK +0 -27
- package/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/DatePickerDialogFragment.java +0 -137
- package/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/DatePickerDialogModule.java +0 -153
- package/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/DatePickerMode.java +0 -15
- package/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/DismissableDatePickerDialog.java +0 -117
- package/ReactAndroid/src/main/java/com/facebook/react/runtimescheduler/BUCK +0 -20
- package/ReactAndroid/src/main/java/com/facebook/react/runtimescheduler/RuntimeSchedulerManager.java +0 -39
- package/ReactAndroid/src/main/java/com/facebook/react/runtimescheduler/jni/Android.mk +0 -34
- package/ReactAndroid/src/main/java/com/facebook/react/runtimescheduler/jni/BUCK +0 -35
- package/ReactAndroid/src/main/java/com/facebook/react/runtimescheduler/jni/OnLoad.cpp +0 -15
- package/ReactAndroid/src/main/java/com/facebook/react/runtimescheduler/jni/RuntimeSchedulerManager.cpp +0 -46
- package/ReactAndroid/src/main/java/com/facebook/react/runtimescheduler/jni/RuntimeSchedulerManager.h +0 -40
- package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/AndroidViewPagerManagerDelegate.java +0 -57
- package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/AndroidViewPagerManagerInterface.java +0 -23
- package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/BUCK +0 -19
- package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/DatePickerManagerDelegate.java +0 -62
- package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/DatePickerManagerInterface.java +0 -25
- package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/InputAccessoryViewManagerDelegate.java +0 -33
- package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/InputAccessoryViewManagerInterface.java +0 -17
- package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/PullToRefreshViewManagerDelegate.java +0 -51
- package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/PullToRefreshViewManagerInterface.java +0 -21
- package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/SwitchManagerDelegate.java +0 -63
- package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/SwitchManagerInterface.java +0 -24
- package/android/com/facebook/react/react-native/0.66.2/react-native-0.66.2.aar.md5 +0 -1
- package/android/com/facebook/react/react-native/0.66.2/react-native-0.66.2.aar.sha1 +0 -1
- package/android/com/facebook/react/react-native/0.66.2/react-native-0.66.2.aar.sha256 +0 -1
- package/android/com/facebook/react/react-native/0.66.2/react-native-0.66.2.aar.sha512 +0 -1
- package/android/com/facebook/react/react-native/0.66.2/react-native-0.66.2.module.md5 +0 -1
- package/android/com/facebook/react/react-native/0.66.2/react-native-0.66.2.module.sha1 +0 -1
- package/android/com/facebook/react/react-native/0.66.2/react-native-0.66.2.module.sha256 +0 -1
- package/android/com/facebook/react/react-native/0.66.2/react-native-0.66.2.module.sha512 +0 -1
- package/android/com/facebook/react/react-native/0.66.2/react-native-0.66.2.pom.md5 +0 -1
- package/android/com/facebook/react/react-native/0.66.2/react-native-0.66.2.pom.sha1 +0 -1
- package/android/com/facebook/react/react-native/0.66.2/react-native-0.66.2.pom.sha256 +0 -1
- package/android/com/facebook/react/react-native/0.66.2/react-native-0.66.2.pom.sha512 +0 -1
- package/scripts/generate-specs.sh +0 -99
- package/template/_editorconfig +0 -3
- package/template/_gitattributes +0 -3
package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevSupportManager.java
CHANGED
|
@@ -7,11 +7,13 @@
|
|
|
7
7
|
|
|
8
8
|
package com.facebook.react.devsupport.interfaces;
|
|
9
9
|
|
|
10
|
+
import android.app.Activity;
|
|
10
11
|
import android.view.View;
|
|
11
12
|
import androidx.annotation.Nullable;
|
|
12
13
|
import com.facebook.react.bridge.NativeModuleCallExceptionHandler;
|
|
13
14
|
import com.facebook.react.bridge.ReactContext;
|
|
14
15
|
import com.facebook.react.bridge.ReadableArray;
|
|
16
|
+
import com.facebook.react.common.SurfaceDelegate;
|
|
15
17
|
import com.facebook.react.modules.debug.interfaces.DeveloperSettings;
|
|
16
18
|
import java.io.File;
|
|
17
19
|
|
|
@@ -107,4 +109,16 @@ public interface DevSupportManager extends NativeModuleCallExceptionHandler {
|
|
|
107
109
|
}
|
|
108
110
|
|
|
109
111
|
void setPackagerLocationCustomizer(PackagerLocationCustomizer packagerLocationCustomizer);
|
|
112
|
+
|
|
113
|
+
@Nullable
|
|
114
|
+
Activity getCurrentActivity();
|
|
115
|
+
|
|
116
|
+
/**
|
|
117
|
+
* Create the surface delegate that the provided module should use to interact with
|
|
118
|
+
*
|
|
119
|
+
* @param moduleName the module name that helps decide which surface it should interact with
|
|
120
|
+
* @return a {@link SurfaceDelegate} instance
|
|
121
|
+
*/
|
|
122
|
+
@Nullable
|
|
123
|
+
SurfaceDelegate createSurfaceDelegate(String moduleName);
|
|
110
124
|
}
|
|
@@ -9,12 +9,13 @@ package com.facebook.react.fabric;
|
|
|
9
9
|
|
|
10
10
|
import android.annotation.SuppressLint;
|
|
11
11
|
import androidx.annotation.NonNull;
|
|
12
|
+
import androidx.annotation.Nullable;
|
|
12
13
|
import com.facebook.jni.HybridData;
|
|
13
14
|
import com.facebook.proguard.annotations.DoNotStrip;
|
|
14
15
|
import com.facebook.react.bridge.NativeMap;
|
|
15
16
|
import com.facebook.react.bridge.ReadableNativeMap;
|
|
16
17
|
import com.facebook.react.bridge.RuntimeExecutor;
|
|
17
|
-
import com.facebook.react.bridge.
|
|
18
|
+
import com.facebook.react.bridge.RuntimeScheduler;
|
|
18
19
|
import com.facebook.react.fabric.events.EventBeatManager;
|
|
19
20
|
import com.facebook.react.fabric.events.EventEmitterWrapper;
|
|
20
21
|
import com.facebook.react.uimanager.PixelUtil;
|
|
@@ -37,9 +38,9 @@ public class Binding {
|
|
|
37
38
|
|
|
38
39
|
private native void installFabricUIManager(
|
|
39
40
|
RuntimeExecutor runtimeExecutor,
|
|
41
|
+
RuntimeScheduler runtimeScheduler,
|
|
40
42
|
Object uiManager,
|
|
41
43
|
EventBeatManager eventBeatManager,
|
|
42
|
-
MessageQueueThread jsMessageQueueThread,
|
|
43
44
|
ComponentFactory componentsRegistry,
|
|
44
45
|
Object reactNativeConfig);
|
|
45
46
|
|
|
@@ -83,17 +84,17 @@ public class Binding {
|
|
|
83
84
|
|
|
84
85
|
public void register(
|
|
85
86
|
@NonNull RuntimeExecutor runtimeExecutor,
|
|
87
|
+
@Nullable RuntimeScheduler runtimeScheduler,
|
|
86
88
|
@NonNull FabricUIManager fabricUIManager,
|
|
87
89
|
@NonNull EventBeatManager eventBeatManager,
|
|
88
|
-
@NonNull MessageQueueThread jsMessageQueueThread,
|
|
89
90
|
@NonNull ComponentFactory componentFactory,
|
|
90
91
|
@NonNull ReactNativeConfig reactNativeConfig) {
|
|
91
92
|
fabricUIManager.setBinding(this);
|
|
92
93
|
installFabricUIManager(
|
|
93
94
|
runtimeExecutor,
|
|
95
|
+
runtimeScheduler,
|
|
94
96
|
fabricUIManager,
|
|
95
97
|
eventBeatManager,
|
|
96
|
-
jsMessageQueueThread,
|
|
97
98
|
componentFactory,
|
|
98
99
|
reactNativeConfig);
|
|
99
100
|
|
|
@@ -11,7 +11,6 @@ import androidx.annotation.NonNull;
|
|
|
11
11
|
import com.facebook.react.bridge.JSIModuleProvider;
|
|
12
12
|
import com.facebook.react.bridge.ReactApplicationContext;
|
|
13
13
|
import com.facebook.react.bridge.UIManager;
|
|
14
|
-
import com.facebook.react.bridge.queue.MessageQueueThread;
|
|
15
14
|
import com.facebook.react.common.mapbuffer.ReadableMapBufferSoLoader;
|
|
16
15
|
import com.facebook.react.config.ReactFeatureFlags;
|
|
17
16
|
import com.facebook.react.fabric.events.EventBeatManager;
|
|
@@ -41,23 +40,20 @@ public class FabricJSIModuleProvider implements JSIModuleProvider<UIManager> {
|
|
|
41
40
|
Systrace.beginSection(Systrace.TRACE_TAG_REACT_JAVA_BRIDGE, "FabricJSIModuleProvider.get");
|
|
42
41
|
final EventBeatManager eventBeatManager = new EventBeatManager(mReactApplicationContext);
|
|
43
42
|
final FabricUIManager uiManager = createUIManager(eventBeatManager);
|
|
43
|
+
|
|
44
44
|
Systrace.beginSection(
|
|
45
45
|
Systrace.TRACE_TAG_REACT_JAVA_BRIDGE, "FabricJSIModuleProvider.registerBinding");
|
|
46
46
|
final Binding binding = new Binding();
|
|
47
|
+
|
|
47
48
|
if (ReactFeatureFlags.enableEagerInitializeMapBufferSoFile) {
|
|
48
49
|
ReadableMapBufferSoLoader.staticInit();
|
|
49
50
|
}
|
|
50
|
-
MessageQueueThread jsMessageQueueThread =
|
|
51
|
-
mReactApplicationContext
|
|
52
|
-
.getCatalystInstance()
|
|
53
|
-
.getReactQueueConfiguration()
|
|
54
|
-
.getJSQueueThread();
|
|
55
51
|
|
|
56
52
|
binding.register(
|
|
57
53
|
mReactApplicationContext.getCatalystInstance().getRuntimeExecutor(),
|
|
54
|
+
mReactApplicationContext.getCatalystInstance().getRuntimeScheduler(),
|
|
58
55
|
uiManager,
|
|
59
56
|
eventBeatManager,
|
|
60
|
-
jsMessageQueueThread,
|
|
61
57
|
mComponentFactory,
|
|
62
58
|
mConfig);
|
|
63
59
|
|
|
@@ -77,6 +77,7 @@ import com.facebook.react.uimanager.ThemedReactContext;
|
|
|
77
77
|
import com.facebook.react.uimanager.UIManagerHelper;
|
|
78
78
|
import com.facebook.react.uimanager.ViewManagerPropertyUpdater;
|
|
79
79
|
import com.facebook.react.uimanager.ViewManagerRegistry;
|
|
80
|
+
import com.facebook.react.uimanager.events.EventCategoryDef;
|
|
80
81
|
import com.facebook.react.uimanager.events.EventDispatcher;
|
|
81
82
|
import com.facebook.react.uimanager.events.EventDispatcherImpl;
|
|
82
83
|
import com.facebook.react.uimanager.events.LockFreeEventDispatcherImpl;
|
|
@@ -627,6 +628,15 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
|
|
|
627
628
|
public int getSurfaceId() {
|
|
628
629
|
return View.NO_ID;
|
|
629
630
|
}
|
|
631
|
+
|
|
632
|
+
@Override
|
|
633
|
+
public String toString() {
|
|
634
|
+
String propsString =
|
|
635
|
+
IS_DEVELOPMENT_ENVIRONMENT
|
|
636
|
+
? (props != null ? props.toHashMap().toString() : "<null>")
|
|
637
|
+
: "<hidden>";
|
|
638
|
+
return String.format("SYNC UPDATE PROPS [%d]: %s", reactTag, propsString);
|
|
639
|
+
}
|
|
630
640
|
};
|
|
631
641
|
|
|
632
642
|
// If the reactTag exists, we assume that it might at the end of the next
|
|
@@ -829,6 +839,23 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
|
|
|
829
839
|
receiveEvent(surfaceId, reactTag, eventName, false, 0, params);
|
|
830
840
|
}
|
|
831
841
|
|
|
842
|
+
public void receiveEvent(
|
|
843
|
+
int surfaceId,
|
|
844
|
+
int reactTag,
|
|
845
|
+
String eventName,
|
|
846
|
+
boolean canCoalesceEvent,
|
|
847
|
+
int customCoalesceKey,
|
|
848
|
+
@Nullable WritableMap params) {
|
|
849
|
+
receiveEvent(
|
|
850
|
+
surfaceId,
|
|
851
|
+
reactTag,
|
|
852
|
+
eventName,
|
|
853
|
+
canCoalesceEvent,
|
|
854
|
+
customCoalesceKey,
|
|
855
|
+
params,
|
|
856
|
+
EventCategoryDef.UNSPECIFIED);
|
|
857
|
+
}
|
|
858
|
+
|
|
832
859
|
/**
|
|
833
860
|
* receiveEvent API that emits an event to C++. If `canCoalesceEvent` is true, that signals that
|
|
834
861
|
* C++ may coalesce the event optionally. Otherwise, coalescing can happen in Java before
|
|
@@ -842,6 +869,7 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
|
|
|
842
869
|
* @param canCoalesceEvent
|
|
843
870
|
* @param customCoalesceKey
|
|
844
871
|
* @param params
|
|
872
|
+
* @param eventCategory
|
|
845
873
|
*/
|
|
846
874
|
public void receiveEvent(
|
|
847
875
|
int surfaceId,
|
|
@@ -849,7 +877,8 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
|
|
|
849
877
|
String eventName,
|
|
850
878
|
boolean canCoalesceEvent,
|
|
851
879
|
int customCoalesceKey,
|
|
852
|
-
@Nullable WritableMap params
|
|
880
|
+
@Nullable WritableMap params,
|
|
881
|
+
@EventCategoryDef int eventCategory) {
|
|
853
882
|
if (ReactBuildConfig.DEBUG && surfaceId == View.NO_ID) {
|
|
854
883
|
FLog.d(TAG, "Emitted event without surfaceId: [%d] %s", reactTag, eventName);
|
|
855
884
|
}
|
|
@@ -870,7 +899,7 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
|
|
|
870
899
|
if (canCoalesceEvent) {
|
|
871
900
|
eventEmitter.invokeUnique(eventName, params, customCoalesceKey);
|
|
872
901
|
} else {
|
|
873
|
-
eventEmitter.invoke(eventName, params);
|
|
902
|
+
eventEmitter.invoke(eventName, params, eventCategory);
|
|
874
903
|
}
|
|
875
904
|
}
|
|
876
905
|
|
|
@@ -996,6 +1025,11 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
|
|
|
996
1025
|
public int getSurfaceId() {
|
|
997
1026
|
return surfaceId;
|
|
998
1027
|
}
|
|
1028
|
+
|
|
1029
|
+
@Override
|
|
1030
|
+
public String toString() {
|
|
1031
|
+
return String.format("SET_JS_RESPONDER [%d] [surface:%d]", reactTag, surfaceId);
|
|
1032
|
+
}
|
|
999
1033
|
});
|
|
1000
1034
|
}
|
|
1001
1035
|
|
|
@@ -1015,6 +1049,11 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
|
|
|
1015
1049
|
public int getSurfaceId() {
|
|
1016
1050
|
return View.NO_ID;
|
|
1017
1051
|
}
|
|
1052
|
+
|
|
1053
|
+
@Override
|
|
1054
|
+
public String toString() {
|
|
1055
|
+
return "CLEAR_JS_RESPONDER";
|
|
1056
|
+
}
|
|
1018
1057
|
});
|
|
1019
1058
|
}
|
|
1020
1059
|
|
package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventEmitterWrapper.java
CHANGED
|
@@ -16,6 +16,7 @@ import com.facebook.react.bridge.NativeMap;
|
|
|
16
16
|
import com.facebook.react.bridge.WritableMap;
|
|
17
17
|
import com.facebook.react.bridge.WritableNativeMap;
|
|
18
18
|
import com.facebook.react.fabric.FabricSoLoader;
|
|
19
|
+
import com.facebook.react.uimanager.events.EventCategoryDef;
|
|
19
20
|
|
|
20
21
|
/**
|
|
21
22
|
* This class holds reference to the C++ EventEmitter object. Instances of this class are created on
|
|
@@ -36,7 +37,8 @@ public class EventEmitterWrapper {
|
|
|
36
37
|
mHybridData = initHybrid();
|
|
37
38
|
}
|
|
38
39
|
|
|
39
|
-
private native void invokeEvent(
|
|
40
|
+
private native void invokeEvent(
|
|
41
|
+
@NonNull String eventName, @NonNull NativeMap params, @EventCategoryDef int category);
|
|
40
42
|
|
|
41
43
|
private native void invokeUniqueEvent(
|
|
42
44
|
@NonNull String eventName, @NonNull NativeMap params, int customCoalesceKey);
|
|
@@ -47,12 +49,15 @@ public class EventEmitterWrapper {
|
|
|
47
49
|
* @param eventName {@link String} name of the event to execute.
|
|
48
50
|
* @param params {@link WritableMap} payload of the event
|
|
49
51
|
*/
|
|
50
|
-
public synchronized void invoke(
|
|
52
|
+
public synchronized void invoke(
|
|
53
|
+
@NonNull String eventName,
|
|
54
|
+
@Nullable WritableMap params,
|
|
55
|
+
@EventCategoryDef int eventCategory) {
|
|
51
56
|
if (!isValid()) {
|
|
52
57
|
return;
|
|
53
58
|
}
|
|
54
59
|
NativeMap payload = params == null ? new WritableNativeMap() : (NativeMap) params;
|
|
55
|
-
invokeEvent(eventName, payload);
|
|
60
|
+
invokeEvent(eventName, payload, eventCategory);
|
|
56
61
|
}
|
|
57
62
|
|
|
58
63
|
/**
|
|
@@ -10,8 +10,6 @@ package com.facebook.react.fabric.events;
|
|
|
10
10
|
import static com.facebook.react.uimanager.events.TouchesHelper.CHANGED_TOUCHES_KEY;
|
|
11
11
|
import static com.facebook.react.uimanager.events.TouchesHelper.TARGET_KEY;
|
|
12
12
|
import static com.facebook.react.uimanager.events.TouchesHelper.TARGET_SURFACE_KEY;
|
|
13
|
-
import static com.facebook.react.uimanager.events.TouchesHelper.TOP_TOUCH_CANCEL_KEY;
|
|
14
|
-
import static com.facebook.react.uimanager.events.TouchesHelper.TOP_TOUCH_END_KEY;
|
|
15
13
|
import static com.facebook.react.uimanager.events.TouchesHelper.TOUCHES_KEY;
|
|
16
14
|
|
|
17
15
|
import android.util.Pair;
|
|
@@ -24,7 +22,9 @@ import com.facebook.react.bridge.WritableMap;
|
|
|
24
22
|
import com.facebook.react.bridge.WritableNativeArray;
|
|
25
23
|
import com.facebook.react.bridge.WritableNativeMap;
|
|
26
24
|
import com.facebook.react.fabric.FabricUIManager;
|
|
25
|
+
import com.facebook.react.uimanager.events.EventCategoryDef;
|
|
27
26
|
import com.facebook.react.uimanager.events.RCTModernEventEmitter;
|
|
27
|
+
import com.facebook.react.uimanager.events.TouchEventType;
|
|
28
28
|
import com.facebook.systrace.Systrace;
|
|
29
29
|
import java.util.HashSet;
|
|
30
30
|
import java.util.Set;
|
|
@@ -47,7 +47,7 @@ public class FabricEventEmitter implements RCTModernEventEmitter {
|
|
|
47
47
|
@Override
|
|
48
48
|
public void receiveEvent(
|
|
49
49
|
int surfaceId, int reactTag, String eventName, @Nullable WritableMap params) {
|
|
50
|
-
receiveEvent(surfaceId, reactTag, eventName, false, 0, params);
|
|
50
|
+
receiveEvent(surfaceId, reactTag, eventName, false, 0, params, EventCategoryDef.UNSPECIFIED);
|
|
51
51
|
}
|
|
52
52
|
|
|
53
53
|
@Override
|
|
@@ -57,29 +57,46 @@ public class FabricEventEmitter implements RCTModernEventEmitter {
|
|
|
57
57
|
String eventName,
|
|
58
58
|
boolean canCoalesceEvent,
|
|
59
59
|
int customCoalesceKey,
|
|
60
|
-
@Nullable WritableMap params
|
|
60
|
+
@Nullable WritableMap params,
|
|
61
|
+
@EventCategoryDef int category) {
|
|
61
62
|
Systrace.beginSection(
|
|
62
63
|
Systrace.TRACE_TAG_REACT_JAVA_BRIDGE,
|
|
63
64
|
"FabricEventEmitter.receiveEvent('" + eventName + "')");
|
|
64
65
|
mUIManager.receiveEvent(
|
|
65
|
-
surfaceId, reactTag, eventName, canCoalesceEvent, customCoalesceKey, params);
|
|
66
|
+
surfaceId, reactTag, eventName, canCoalesceEvent, customCoalesceKey, params, category);
|
|
66
67
|
Systrace.endSection(Systrace.TRACE_TAG_REACT_JAVA_BRIDGE);
|
|
67
68
|
}
|
|
68
69
|
|
|
70
|
+
/**
|
|
71
|
+
* Processes touches in a JS compatible way and send it to Fabric core
|
|
72
|
+
*
|
|
73
|
+
* @param eventName the event name (see {@link TouchEventType})
|
|
74
|
+
* @param touches all the touch data extracted from MotionEvent
|
|
75
|
+
* @param changedIndices the indices of the pointers that changed (MOVE/CANCEL includes all
|
|
76
|
+
* touches, START/END only the one that was added/removed)
|
|
77
|
+
*/
|
|
69
78
|
@Override
|
|
70
79
|
public void receiveTouches(
|
|
71
|
-
@NonNull String
|
|
80
|
+
@NonNull String eventName,
|
|
72
81
|
@NonNull WritableArray touches,
|
|
73
82
|
@NonNull WritableArray changedIndices) {
|
|
83
|
+
Systrace.beginSection(
|
|
84
|
+
Systrace.TRACE_TAG_REACT_JAVA_BRIDGE,
|
|
85
|
+
"FabricEventEmitter.receiveTouches('" + eventName + "')");
|
|
86
|
+
|
|
87
|
+
boolean isFinalEvent =
|
|
88
|
+
TouchEventType.END.getJsName().equalsIgnoreCase(eventName)
|
|
89
|
+
|| TouchEventType.CANCEL.getJsName().equalsIgnoreCase(eventName);
|
|
90
|
+
|
|
74
91
|
Pair<WritableArray, WritableArray> result =
|
|
75
|
-
|
|
76
|
-
|| TOP_TOUCH_CANCEL_KEY.equalsIgnoreCase(eventTopLevelType)
|
|
92
|
+
isFinalEvent
|
|
77
93
|
? removeTouchesAtIndices(touches, changedIndices)
|
|
78
94
|
: touchSubsequence(touches, changedIndices);
|
|
79
95
|
|
|
80
96
|
WritableArray changedTouches = result.first;
|
|
81
97
|
touches = result.second;
|
|
82
98
|
|
|
99
|
+
int eventCategory = getTouchCategory(eventName);
|
|
83
100
|
for (int jj = 0; jj < changedTouches.size(); jj++) {
|
|
84
101
|
WritableMap touch = getWritableMap(changedTouches.getMap(jj));
|
|
85
102
|
// Touch objects can fulfill the role of `DOM` `Event` objects if we set
|
|
@@ -97,8 +114,10 @@ public class FabricEventEmitter implements RCTModernEventEmitter {
|
|
|
97
114
|
rootNodeID = targetReactTag;
|
|
98
115
|
}
|
|
99
116
|
|
|
100
|
-
receiveEvent(targetSurfaceId, rootNodeID,
|
|
117
|
+
receiveEvent(targetSurfaceId, rootNodeID, eventName, false, 0, touch, eventCategory);
|
|
101
118
|
}
|
|
119
|
+
|
|
120
|
+
Systrace.endSection(Systrace.TRACE_TAG_REACT_JAVA_BRIDGE);
|
|
102
121
|
}
|
|
103
122
|
|
|
104
123
|
/** TODO T31905686 optimize this to avoid copying arrays */
|
|
@@ -174,4 +193,19 @@ public class FabricEventEmitter implements RCTModernEventEmitter {
|
|
|
174
193
|
map.merge(readableMap);
|
|
175
194
|
return map;
|
|
176
195
|
}
|
|
196
|
+
|
|
197
|
+
@EventCategoryDef
|
|
198
|
+
private static int getTouchCategory(String touchEventType) {
|
|
199
|
+
int category = EventCategoryDef.UNSPECIFIED;
|
|
200
|
+
if (TouchEventType.MOVE.getJsName().equals(touchEventType)) {
|
|
201
|
+
category = EventCategoryDef.CONTINUOUS;
|
|
202
|
+
} else if (TouchEventType.START.getJsName().equals(touchEventType)) {
|
|
203
|
+
category = EventCategoryDef.CONTINUOUS_START;
|
|
204
|
+
} else if (TouchEventType.END.getJsName().equals(touchEventType)
|
|
205
|
+
|| TouchEventType.CANCEL.getJsName().equals(touchEventType)) {
|
|
206
|
+
category = EventCategoryDef.CONTINUOUS_END;
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
return category;
|
|
210
|
+
}
|
|
177
211
|
}
|
|
@@ -11,7 +11,7 @@ LOCAL_MODULE := fabricjni
|
|
|
11
11
|
|
|
12
12
|
LOCAL_SRC_FILES := $(wildcard $(LOCAL_PATH)/*.cpp)
|
|
13
13
|
|
|
14
|
-
LOCAL_SHARED_LIBRARIES := libjsi libreactconfig librrc_slider librrc_progressbar librrc_switch librrc_modal libyoga libglog libfb libfbjni libglog_init libfolly_json libfolly_futures libreact_render_mounting libreactnativeutilsjni libreact_utils libreact_render_debug libreact_render_graphics libreact_render_core react_render_componentregistry librrc_view librrc_unimplementedview librrc_root librrc_scrollview libbetter libreact_render_attributedstring libreact_render_uimanager libreact_render_templateprocessor libreact_render_scheduler libreact_render_animations libreact_render_imagemanager libreact_render_textlayoutmanager libreact_codegen_rncore rrc_text librrc_image librrc_textinput libreact_debug libreact_render_mapbuffer libmapbufferjni libreact_render_telemetry
|
|
14
|
+
LOCAL_SHARED_LIBRARIES := libjsi libreactconfig librrc_slider librrc_progressbar librrc_switch librrc_modal libyoga libglog libfb libfbjni libglog_init libfolly_json libfolly_futures libreact_render_mounting libreactnativeutilsjni libreact_utils libreact_render_debug libreact_render_graphics libreact_render_core react_render_componentregistry librrc_view librrc_unimplementedview librrc_root librrc_scrollview libbetter libreact_render_attributedstring libreact_render_uimanager libreact_render_templateprocessor libreact_render_scheduler libreact_render_animations libreact_render_imagemanager libreact_render_textlayoutmanager libreact_codegen_rncore rrc_text librrc_image librrc_textinput libreact_debug libreact_render_mapbuffer libmapbufferjni libreact_render_telemetry libreact_render_runtimescheduler
|
|
15
15
|
|
|
16
16
|
LOCAL_STATIC_LIBRARIES :=
|
|
17
17
|
|
|
@@ -56,6 +56,7 @@ $(call import-module,react/renderer/graphics)
|
|
|
56
56
|
$(call import-module,react/renderer/imagemanager)
|
|
57
57
|
$(call import-module,react/renderer/mapbuffer)
|
|
58
58
|
$(call import-module,react/renderer/mounting)
|
|
59
|
+
$(call import-module,react/renderer/runtimescheduler)
|
|
59
60
|
$(call import-module,react/renderer/scheduler)
|
|
60
61
|
$(call import-module,react/renderer/templateprocessor)
|
|
61
62
|
$(call import-module,react/renderer/textlayoutmanager)
|
|
@@ -0,0 +1,69 @@
|
|
|
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 <jsi/jsi.h>
|
|
9
|
+
#include <react/renderer/core/EventBeat.h>
|
|
10
|
+
#include <react/renderer/uimanager/primitives.h>
|
|
11
|
+
|
|
12
|
+
#include "AsyncEventBeatV2.h"
|
|
13
|
+
|
|
14
|
+
namespace facebook::react {
|
|
15
|
+
|
|
16
|
+
AsyncEventBeatV2::AsyncEventBeatV2(
|
|
17
|
+
EventBeat::SharedOwnerBox const &ownerBox,
|
|
18
|
+
EventBeatManager *eventBeatManager,
|
|
19
|
+
RuntimeExecutor runtimeExecutor,
|
|
20
|
+
jni::global_ref<jobject> javaUIManager)
|
|
21
|
+
: EventBeat(ownerBox),
|
|
22
|
+
eventBeatManager_(eventBeatManager),
|
|
23
|
+
runtimeExecutor_(runtimeExecutor),
|
|
24
|
+
javaUIManager_(javaUIManager) {
|
|
25
|
+
eventBeatManager->addObserver(*this);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
AsyncEventBeatV2::~AsyncEventBeatV2() {
|
|
29
|
+
eventBeatManager_->removeObserver(*this);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
void AsyncEventBeatV2::tick() const {
|
|
33
|
+
if (!isRequested_ || isBeatCallbackScheduled_) {
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
isRequested_ = false;
|
|
38
|
+
isBeatCallbackScheduled_ = true;
|
|
39
|
+
|
|
40
|
+
runtimeExecutor_([this, ownerBox = ownerBox_](jsi::Runtime &runtime) {
|
|
41
|
+
isBeatCallbackScheduled_ = false;
|
|
42
|
+
auto owner = ownerBox->owner.lock();
|
|
43
|
+
if (!owner) {
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
if (beatCallback_) {
|
|
48
|
+
beatCallback_(runtime);
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
void AsyncEventBeatV2::induce() const {
|
|
54
|
+
tick();
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
void AsyncEventBeatV2::request() const {
|
|
58
|
+
bool alreadyRequested = isRequested_;
|
|
59
|
+
EventBeat::request();
|
|
60
|
+
if (!alreadyRequested) {
|
|
61
|
+
// Notifies java side that an event will be dispatched (e.g. LayoutEvent)
|
|
62
|
+
static auto onRequestEventBeat =
|
|
63
|
+
jni::findClassStatic("com/facebook/react/fabric/FabricUIManager")
|
|
64
|
+
->getMethod<void()>("onRequestEventBeat");
|
|
65
|
+
onRequestEventBeat(javaUIManager_);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
} // namespace facebook::react
|
|
@@ -0,0 +1,40 @@
|
|
|
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 <react/renderer/core/EventBeat.h>
|
|
11
|
+
|
|
12
|
+
#include "EventBeatManager.h"
|
|
13
|
+
|
|
14
|
+
namespace facebook::react {
|
|
15
|
+
|
|
16
|
+
class AsyncEventBeatV2 final : public EventBeat,
|
|
17
|
+
public EventBeatManagerObserver {
|
|
18
|
+
public:
|
|
19
|
+
AsyncEventBeatV2(
|
|
20
|
+
EventBeat::SharedOwnerBox const &ownerBox,
|
|
21
|
+
EventBeatManager *eventBeatManager,
|
|
22
|
+
RuntimeExecutor runtimeExecutor,
|
|
23
|
+
jni::global_ref<jobject> javaUIManager);
|
|
24
|
+
|
|
25
|
+
~AsyncEventBeatV2() override;
|
|
26
|
+
|
|
27
|
+
void tick() const override;
|
|
28
|
+
|
|
29
|
+
void induce() const override;
|
|
30
|
+
|
|
31
|
+
void request() const override;
|
|
32
|
+
|
|
33
|
+
private:
|
|
34
|
+
EventBeatManager *eventBeatManager_;
|
|
35
|
+
RuntimeExecutor runtimeExecutor_;
|
|
36
|
+
jni::global_ref<jobject> javaUIManager_;
|
|
37
|
+
mutable std::atomic<bool> isBeatCallbackScheduled_{false};
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
} // namespace facebook::react
|
|
@@ -11,12 +11,8 @@ rn_xplat_cxx_library(
|
|
|
11
11
|
],
|
|
12
12
|
prefix = "react/fabric",
|
|
13
13
|
),
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
"-frtti",
|
|
17
|
-
"-std=c++17",
|
|
18
|
-
"-Wall",
|
|
19
|
-
],
|
|
14
|
+
compiler_flags_enable_exceptions = True,
|
|
15
|
+
compiler_flags_enable_rtti = True, # dynamic_cast used within Binding.cpp
|
|
20
16
|
fbandroid_allow_jni_merging = True,
|
|
21
17
|
labels = ["supermodule:xplat/default/public.react_native.infra"],
|
|
22
18
|
platforms = ANDROID,
|