react-native 0.0.0-17be3a003 → 0.0.0-18697adec
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/AnimatedImplementation.js +0 -2
- package/Libraries/Animated/AnimatedMock.js +1 -8
- package/Libraries/Animated/NativeAnimatedHelper.js +3 -3
- package/Libraries/Animated/animations/Animation.js +1 -0
- package/Libraries/Animated/animations/DecayAnimation.js +2 -0
- package/Libraries/Animated/animations/SpringAnimation.js +1 -0
- package/Libraries/Animated/animations/TimingAnimation.js +3 -0
- package/Libraries/Animated/createAnimatedComponent.js +6 -18
- package/Libraries/Animated/createAnimatedComponentInjection.js +48 -0
- package/Libraries/Animated/createAnimatedComponent_EXPERIMENTAL.js +48 -0
- package/Libraries/Animated/nodes/AnimatedProps.js +0 -1
- package/Libraries/Animated/nodes/AnimatedValue.js +20 -1
- package/Libraries/Animated/nodes/AnimatedWithChildren.js +1 -0
- package/Libraries/Animated/useAnimatedProps.js +211 -0
- package/Libraries/BatchedBridge/MessageQueue.js +15 -10
- package/Libraries/BatchedBridge/NativeModules.js +5 -1
- package/Libraries/Blob/FileReader.js +1 -1
- package/Libraries/Blob/RCTBlobManager.h +2 -1
- package/Libraries/Blob/RCTBlobManager.mm +1 -3
- package/Libraries/Blob/RCTBlobPlugins.mm +4 -3
- package/Libraries/Blob/React-RCTBlob.podspec +1 -1
- package/Libraries/Blob/URL.js +2 -2
- package/Libraries/BugReporting/BugReporting.js +2 -0
- package/Libraries/BugReporting/getReactData.js +1 -1
- package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +4 -6
- package/Libraries/Components/Button.js +27 -12
- package/Libraries/Components/DatePicker/DatePickerIOS.android.js +4 -5
- package/Libraries/Components/DatePicker/DatePickerIOS.ios.js +50 -12
- package/Libraries/Components/DatePicker/RCTDatePickerNativeComponent.js +1 -0
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +4 -7
- package/Libraries/Components/Keyboard/Keyboard.js +1 -1
- package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +1 -1
- package/Libraries/Components/MaskedView/MaskedViewIOS.ios.js +3 -3
- package/Libraries/Components/Pressable/useAndroidRippleForView.js +18 -15
- package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.android.js +4 -5
- package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.ios.js +2 -3
- package/Libraries/Components/RefreshControl/__mocks__/RefreshControlMock.js +2 -3
- package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +2 -2
- package/Libraries/Components/ScrollView/ScrollContentViewNativeComponent.js +2 -2
- package/Libraries/Components/ScrollView/ScrollView.js +22 -5
- package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +3 -2
- package/Libraries/Components/ScrollView/ScrollViewNativeComponentType.js +2 -0
- package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +3 -9
- package/Libraries/Components/ScrollView/ScrollViewViewConfig.js +2 -0
- package/Libraries/Components/SegmentedControlIOS/SegmentedControlIOS.android.js +4 -5
- package/Libraries/Components/SegmentedControlIOS/SegmentedControlIOS.ios.js +14 -6
- package/Libraries/Components/Slider/Slider.js +19 -6
- package/Libraries/Components/StatusBar/StatusBar.js +10 -19
- package/Libraries/Components/Switch/Switch.js +98 -114
- package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +9 -6
- package/Libraries/Components/TextInput/AndroidTextInputViewConfig.js +2 -1
- package/Libraries/Components/TextInput/InputAccessoryView.js +6 -6
- package/Libraries/Components/TextInput/RCTMultilineTextInputNativeComponent.js +5 -13
- package/Libraries/Components/TextInput/RCTSingelineTextInputNativeComponent.js +5 -13
- package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +2 -2
- package/Libraries/Components/TextInput/TextInput.js +53 -19
- package/Libraries/Components/TextInput/TextInputState.js +1 -1
- package/Libraries/Components/Touchable/BoundingDimensions.js +1 -2
- package/Libraries/Components/Touchable/PooledClass.js +1 -2
- package/Libraries/Components/Touchable/Position.js +1 -2
- package/Libraries/Components/Touchable/Touchable.js +20 -6
- package/Libraries/Components/Touchable/TouchableNativeFeedback.js +1 -1
- package/Libraries/Components/Touchable/TouchableOpacity.js +11 -2
- package/Libraries/Components/UnimplementedViews/UnimplementedView.js +2 -3
- package/Libraries/Components/View/ReactNativeStyleAttributes.js +133 -68
- package/Libraries/Components/View/ReactNativeViewAttributes.js +1 -2
- package/Libraries/Components/View/ReactNativeViewViewConfig.js +1 -1
- package/Libraries/Components/View/ViewAccessibility.js +3 -0
- package/Libraries/Core/Devtools/parseErrorStack.js +0 -10
- package/Libraries/Core/Devtools/parseHermesStack.js +1 -1
- package/Libraries/Core/ExceptionsManager.js +51 -41
- package/Libraries/Core/ExtendedError.js +19 -0
- package/Libraries/Core/InitializeCore.js +1 -0
- package/Libraries/Core/ReactFiberErrorDialog.js +44 -34
- package/Libraries/Core/ReactNativeVersion.js +1 -1
- package/Libraries/Core/Timers/JSTimers.js +37 -28
- package/Libraries/Core/Timers/immediateShim.js +67 -0
- package/Libraries/Core/Timers/queueMicrotask.js +41 -0
- package/Libraries/Core/polyfillPromise.js +1 -1
- package/Libraries/Core/setUpBatchedBridge.js +1 -1
- package/Libraries/Core/setUpGlobals.js +2 -0
- package/Libraries/Core/setUpRegeneratorRuntime.js +25 -8
- package/Libraries/Core/setUpTimers.js +65 -6
- package/Libraries/DeprecatedPropTypes/DeprecatedImagePropType.android.js +131 -0
- package/Libraries/DeprecatedPropTypes/{DeprecatedImagePropType.js → DeprecatedImagePropType.ios.js} +0 -0
- package/Libraries/DeprecatedPropTypes/DeprecatedTextInputPropTypes.js +5 -5
- package/Libraries/DeprecatedPropTypes/DeprecatedViewAccessibility.js +2 -0
- package/Libraries/EventEmitter/NativeEventEmitter.js +22 -1
- package/Libraries/EventEmitter/RCTEventEmitter.js +5 -1
- package/Libraries/FBLazyVector/BUCK +5 -1
- package/Libraries/Image/Image.android.js +22 -131
- package/Libraries/Image/Image.ios.js +16 -8
- package/Libraries/Image/ImageBackground.js +10 -8
- package/Libraries/Image/ImageInjection.js +28 -0
- package/Libraries/Image/ImageProps.js +28 -0
- package/Libraries/Image/ImageSource.js +108 -65
- package/Libraries/Image/NativeImageLoaderIOS.js +2 -1
- package/Libraries/Image/RCTImageLoader.h +2 -2
- package/Libraries/Image/RCTImageLoader.mm +6 -6
- package/Libraries/Image/RCTImagePlugins.mm +4 -3
- package/Libraries/Image/React-RCTImage.podspec +1 -1
- package/Libraries/Inspector/Inspector.js +6 -0
- package/Libraries/Interaction/InteractionManager.js +3 -0
- package/Libraries/Interaction/PanResponder.js +1 -1
- package/Libraries/LinkingIOS/RCTLinkingPlugins.mm +4 -3
- package/Libraries/LinkingIOS/React-RCTLinking.podspec +1 -1
- package/Libraries/Lists/CellRenderMask.js +145 -0
- package/Libraries/Lists/FlatList.js +43 -26
- package/Libraries/Lists/VirtualizedList.js +14 -17
- package/Libraries/Lists/VirtualizedSectionList.js +159 -136
- package/Libraries/Lists/__flowtests__/SectionList-flowtest.js +4 -4
- package/Libraries/LogBox/Data/LogBoxData.js +21 -19
- package/Libraries/LogBox/LogBox.js +114 -47
- 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/LogBox/UI/LogBoxInspectorSourceMapStatus.js +1 -0
- package/Libraries/Modal/Modal.js +8 -0
- package/Libraries/Modal/RCTModalHostViewNativeComponent.js +8 -2
- package/Libraries/NativeAnimation/Nodes/RCTPropsAnimatedNode.m +0 -3
- package/Libraries/NativeAnimation/RCTAnimationPlugins.mm +4 -3
- package/Libraries/NativeAnimation/RCTNativeAnimatedModule.mm +6 -3
- package/Libraries/NativeAnimation/RCTNativeAnimatedNodesManager.h +1 -1
- package/Libraries/NativeAnimation/RCTNativeAnimatedNodesManager.m +1 -1
- package/Libraries/NativeAnimation/RCTNativeAnimatedTurboModule.mm +32 -28
- package/Libraries/NativeAnimation/React-RCTAnimation.podspec +1 -1
- package/Libraries/Network/RCTHTTPRequestHandler.h +5 -0
- package/Libraries/Network/RCTHTTPRequestHandler.mm +19 -7
- package/Libraries/Network/RCTNetworkPlugins.mm +4 -3
- package/Libraries/Network/RCTNetworking.h +1 -1
- package/Libraries/Network/RCTNetworking.mm +3 -3
- package/Libraries/Network/React-RCTNetwork.podspec +1 -1
- package/Libraries/Network/XMLHttpRequest.js +4 -1
- package/Libraries/NewAppScreen/components/Header.js +1 -0
- package/Libraries/NewAppScreen/components/HermesBadge.js +4 -1
- package/Libraries/NewAppScreen/components/logo.png +0 -0
- package/Libraries/Performance/QuickPerformanceLogger.js +3 -1
- package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +4 -1
- package/Libraries/PermissionsAndroid/PermissionsAndroid.js +6 -0
- package/Libraries/Pressability/Pressability.js +1 -0
- package/Libraries/Pressability/PressabilityPerformanceEventEmitter.js +1 -0
- package/Libraries/PushNotificationIOS/RCTPushNotificationManager.mm +0 -1
- package/Libraries/PushNotificationIOS/RCTPushNotificationPlugins.mm +4 -3
- package/Libraries/PushNotificationIOS/React-RCTPushNotification.podspec +1 -1
- package/Libraries/RCTRequired/BUCK +4 -1
- package/Libraries/ReactNative/AppContainer.js +3 -8
- package/Libraries/ReactNative/AppRegistry.js +7 -2
- package/Libraries/ReactNative/DisplayMode.js +4 -5
- package/Libraries/ReactNative/DummyUIManager.js +7 -2
- package/Libraries/ReactNative/FabricUIManager.js +4 -3
- package/Libraries/ReactNative/I18nManager.js +12 -3
- package/Libraries/ReactNative/NativeUIManager.js +2 -1
- package/Libraries/ReactNative/PaperUIManager.js +3 -1
- package/Libraries/ReactNative/RootTag.js +2 -2
- package/Libraries/ReactNative/UIManager.js +2 -1
- package/Libraries/ReactNative/getCachedComponentWithDebugName.js +32 -0
- package/Libraries/ReactNative/renderApplication.js +12 -5
- package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +2 -3
- package/Libraries/Reliability/UserFlow.js +7 -0
- package/Libraries/Renderer/REVISION +1 -1
- package/Libraries/Renderer/implementations/ReactFabric-dev.fb.js +6364 -5120
- package/Libraries/Renderer/implementations/ReactFabric-dev.js +7877 -6935
- package/Libraries/Renderer/implementations/ReactFabric-prod.fb.js +2488 -2118
- package/Libraries/Renderer/implementations/ReactFabric-prod.js +2112 -1937
- package/Libraries/Renderer/implementations/ReactFabric-profiling.fb.js +2922 -2418
- package/Libraries/Renderer/implementations/ReactFabric-profiling.js +2568 -2244
- package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.fb.js +6086 -4942
- package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +5736 -4864
- package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.fb.js +1624 -1394
- package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +2275 -2120
- package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.fb.js +2279 -1921
- package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +2565 -2259
- package/Libraries/Renderer/shims/ReactFabric.js +5 -4
- package/Libraries/Renderer/shims/ReactFeatureFlags.js +3 -1
- package/Libraries/Renderer/shims/ReactNative.js +3 -1
- package/Libraries/Renderer/shims/ReactNativeTypes.js +7 -4
- package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +3 -1
- package/Libraries/Renderer/shims/createReactNativeComponentClass.js +3 -1
- package/Libraries/Settings/RCTSettingsPlugins.mm +4 -3
- package/Libraries/Settings/React-RCTSettings.podspec +1 -1
- package/Libraries/Settings/Settings.ios.js +4 -0
- package/Libraries/Storage/AsyncStorage.js +1 -0
- package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +16 -1
- package/Libraries/StyleSheet/PlatformColorValueTypesIOS.ios.js +8 -1
- package/Libraries/StyleSheet/PlatformColorValueTypesIOS.js +2 -0
- package/Libraries/StyleSheet/StyleSheet.js +3 -5
- package/Libraries/StyleSheet/normalizeColor.js +2 -2
- package/Libraries/SurfaceHostingComponent/RCTSurfaceHostingComponent.mm +1 -1
- package/Libraries/Text/Text.js +17 -0
- package/Libraries/Text/TextInput/RCTBaseTextInputView.m +10 -12
- package/Libraries/Text/TextInput/RCTInputAccessoryViewContent.m +4 -11
- package/Libraries/Text/TextProps.js +7 -7
- package/Libraries/TurboModule/RCTExport.js +1 -1
- package/Libraries/TurboModule/TurboModuleRegistry.js +1 -10
- package/Libraries/TypeSafety/RCTTypeSafety.podspec +1 -1
- package/Libraries/{Components/Picker/PickerAndroid.ios.js → Types/RootTagTypes.js} +2 -3
- package/Libraries/UTFSequence.js +1 -1
- package/Libraries/Utilities/Dimensions.js +9 -14
- package/Libraries/Utilities/FeatureDetection.js +31 -0
- package/Libraries/Utilities/HMRClient.js +15 -8
- package/Libraries/Utilities/MatrixMath.js +1 -1
- package/Libraries/Utilities/NativeDeviceInfo.js +1 -1
- package/Libraries/Utilities/PerformanceLoggerContext.js +8 -2
- package/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js +1 -0
- package/Libraries/Utilities/deprecatedPropType.js +2 -2
- package/Libraries/Utilities/useMergeRefs.js +44 -0
- package/Libraries/Utilities/useRefEffect.js +45 -0
- package/Libraries/Utilities/useWindowDimensions.js +7 -2
- package/Libraries/Vibration/RCTVibrationPlugins.mm +4 -3
- package/Libraries/Vibration/React-RCTVibration.podspec +1 -1
- package/Libraries/YellowBox/YellowBoxDeprecated.js +1 -0
- package/Libraries/promiseRejectionTrackingOptions.js +2 -0
- package/Libraries/vendor/emitter/_EventSubscriptionVendor.js +1 -1
- package/README.md +5 -5
- package/React/Base/RCTAssert.h +23 -13
- package/React/Base/RCTAssert.m +35 -9
- package/React/Base/RCTBridge+Private.h +8 -2
- package/React/Base/RCTBridge.h +19 -3
- package/React/Base/RCTBridge.m +33 -12
- package/React/Base/RCTBridgeModule.h +62 -12
- package/React/Base/RCTBundleManager.m +78 -0
- package/React/Base/RCTBundleURLProvider.h +36 -8
- package/React/Base/RCTBundleURLProvider.mm +91 -12
- package/React/Base/RCTCallableJSModules.m +47 -0
- package/React/Base/RCTConstants.h +6 -13
- package/React/Base/RCTConstants.m +12 -27
- package/React/Base/RCTConvert.h +1 -1
- package/React/Base/RCTConvert.m +31 -7
- package/React/Base/RCTCxxConvert.h +1 -1
- package/React/Base/RCTDefines.h +12 -3
- package/React/Base/RCTEventDispatcherProtocol.h +3 -2
- package/React/{Views/RCTPickerManager.h → Base/RCTInitializing.h} +4 -2
- package/React/Base/RCTJSThread.h +29 -0
- package/React/Base/RCTJSThread.m +19 -0
- package/React/Base/RCTModuleData.h +11 -3
- package/React/Base/RCTModuleData.mm +66 -1
- package/React/Base/RCTMultipartStreamReader.m +0 -2
- package/React/Base/RCTRootView.h +15 -0
- package/React/Base/RCTRootView.m +15 -0
- package/React/Base/RCTTouchHandler.m +4 -9
- package/React/Base/RCTUtils.h +3 -0
- package/React/Base/RCTUtils.m +14 -7
- package/React/Base/RCTVersion.m +1 -1
- package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingProxyRootView.h +12 -0
- package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingProxyRootView.mm +46 -2
- package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingView.mm +3 -0
- package/React/CoreModules/BUCK +4 -3
- package/React/CoreModules/CoreModulesPlugins.mm +4 -3
- package/React/CoreModules/RCTAccessibilityManager.mm +1 -1
- package/React/CoreModules/RCTActionSheetManager.mm +14 -5
- package/React/CoreModules/RCTAsyncLocalStorage.mm +4 -0
- package/React/CoreModules/RCTDevLoadingView.mm +10 -23
- package/React/CoreModules/RCTDevMenu.mm +22 -25
- package/React/CoreModules/RCTDevSettings.h +2 -1
- package/React/CoreModules/RCTDevSettings.mm +76 -75
- package/React/CoreModules/RCTDevSplitBundleLoader.mm +3 -8
- package/React/CoreModules/RCTDeviceInfo.mm +4 -5
- package/React/CoreModules/RCTEventDispatcher.h +2 -1
- package/React/CoreModules/RCTEventDispatcher.mm +17 -25
- package/React/CoreModules/RCTKeyboardObserver.mm +1 -1
- package/React/CoreModules/RCTLogBox.mm +14 -10
- package/React/CoreModules/RCTPerfMonitor.mm +9 -4
- package/React/CoreModules/RCTRedBox.mm +3 -12
- package/React/CoreModules/RCTSourceCode.mm +2 -1
- package/React/CoreModules/RCTTiming.h +2 -1
- package/React/CoreModules/RCTTiming.mm +1 -3
- package/React/CoreModules/React-CoreModules.podspec +1 -1
- package/React/CxxBridge/RCTCxxBridge.mm +81 -12
- package/React/CxxModule/RCTNativeModule.mm +3 -1
- package/React/DevSupport/RCTPackagerConnection.h +3 -0
- package/React/DevSupport/RCTPackagerConnection.mm +19 -8
- package/React/FBReactNativeSpec/FBReactNativeSpec.podspec +12 -4
- package/React/Fabric/Mounting/ComponentViews/LegacyViewManagerInterop/RCTLegacyViewManagerInteropComponentView.mm +3 -0
- package/React/Fabric/Mounting/ComponentViews/Modal/RCTModalHostViewComponentView.h +3 -6
- package/React/Fabric/Mounting/ComponentViews/Modal/RCTModalHostViewComponentView.mm +41 -26
- package/React/Fabric/Mounting/ComponentViews/RCTFabricComponentsPlugins.h +0 -1
- package/React/Fabric/Mounting/ComponentViews/RCTFabricComponentsPlugins.mm +0 -1
- package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +101 -85
- package/React/Fabric/Mounting/ComponentViews/Text/RCTAccessibilityElement.h +7 -0
- package/React/Fabric/Mounting/ComponentViews/Text/RCTAccessibilityElement.mm +5 -1
- package/React/Fabric/Mounting/ComponentViews/Text/RCTParagraphComponentAccessibilityProvider.mm +12 -9
- package/React/Fabric/Mounting/ComponentViews/Text/RCTParagraphComponentView.mm +1 -0
- package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +53 -17
- package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.h +6 -0
- package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +110 -8
- package/React/Fabric/Mounting/RCTComponentViewFactory.mm +1 -0
- package/React/Fabric/Mounting/RCTMountingManager.h +6 -1
- package/React/Fabric/Mounting/RCTMountingManager.mm +25 -4
- package/React/Fabric/Mounting/UIView+ComponentViewProtocol.h +2 -0
- package/React/Fabric/Mounting/UIView+ComponentViewProtocol.mm +12 -0
- package/React/Fabric/RCTConversions.h +3 -0
- package/React/Fabric/RCTScheduler.h +3 -1
- package/React/Fabric/RCTScheduler.mm +26 -8
- package/React/Fabric/RCTSurfacePresenter.mm +33 -33
- package/React/Fabric/RCTSurfacePresenterBridgeAdapter.h +4 -2
- package/React/Fabric/RCTSurfacePresenterBridgeAdapter.mm +1 -1
- package/React/Fabric/RCTSurfaceRegistry.h +1 -1
- package/React/Fabric/RCTSurfaceTouchHandler.mm +6 -20
- package/React/Fabric/Surface/RCTFabricSurface.mm +3 -0
- package/React/Modules/RCTEventEmitter.h +1 -2
- package/React/Modules/RCTEventEmitter.m +8 -11
- package/React/Modules/RCTI18nUtil.h +14 -6
- package/React/Modules/RCTI18nUtil.m +1 -47
- package/React/Modules/RCTUIManager.m +2 -0
- package/React/Profiler/RCTProfileTrampoline-arm.S +1 -1
- package/React/Profiler/RCTProfileTrampoline-arm64.S +2 -2
- package/React/React-RCTFabric.podspec +3 -3
- package/React/Tests/Text/RCTParagraphComponentViewTests.mm +63 -0
- package/React/Views/RCTDatePickerManager.m +33 -0
- package/React/Views/RCTFont.mm +54 -38
- package/React/Views/RCTModalHostView.h +5 -1
- package/React/Views/RCTModalHostView.m +52 -20
- package/React/Views/RCTModalHostViewManager.m +5 -0
- package/React/Views/RCTModalManager.h +0 -7
- package/React/Views/RCTModalManager.m +0 -9
- package/React/Views/RCTView.h +7 -7
- package/React/Views/RCTView.m +32 -49
- package/React/Views/RCTViewManager.m +22 -4
- package/React/Views/SafeAreaView/RCTSafeAreaView.m +1 -5
- package/React/Views/ScrollView/RCTScrollView.h +1 -0
- package/React/Views/ScrollView/RCTScrollView.m +123 -36
- package/React/Views/ScrollView/RCTScrollViewManager.m +4 -7
- package/React/Views/UIView+React.m +2 -11
- package/React/third-party.xcconfig +1 -1
- package/React-Core.podspec +2 -2
- package/ReactAndroid/Android-prebuilt.mk +8 -0
- package/ReactAndroid/README.md +2 -2
- package/ReactAndroid/build.gradle +132 -20
- package/ReactAndroid/gradle.properties +7 -5
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/BUCK +1 -1
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactAppInstrumentationTestCase.java +1 -1
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/idledetection/BUCK +1 -1
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/rule/BUCK +5 -5
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/BUCK +0 -2
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/core/BUCK +5 -5
- package/ReactAndroid/src/androidTest/js/BUCK +26 -0
- package/ReactAndroid/src/androidTest/js/TestBundle.js +0 -12
- package/ReactAndroid/src/androidTest/js/UIManagerTestModule.js +7 -6
- package/ReactAndroid/src/main/java/com/facebook/hermes/instrumentation/Android.mk +2 -2
- package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/Android.mk +4 -4
- package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/HermesExecutorFactory.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/RuntimeConfig.java +0 -6
- package/ReactAndroid/src/main/java/com/facebook/proguard/annotations/BUCK +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/BUCK +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/ReactActivity.java +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/ReactAndroidHWInputDeviceHelper.java +5 -0
- package/ReactAndroid/src/main/java/com/facebook/react/ReactFragment.java +6 -2
- package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +124 -66
- package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManagerBuilder.java +28 -0
- package/ReactAndroid/src/main/java/com/facebook/react/ReactNativeHost.java +13 -0
- package/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java +25 -3
- package/ReactAndroid/src/main/java/com/facebook/react/animated/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedModule.java +4 -7
- package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedNodesManager.java +5 -5
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/BackgroundExecutor.java +3 -2
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstance.java +4 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstanceImpl.java +11 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaModuleWrapper.java +37 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeModuleRegistry.java +22 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java +26 -6
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContextBaseJavaModule.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactCxxErrorHandler.java +39 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactMarkerConstants.java +3 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/{ReactSoftException.java → ReactSoftExceptionLogger.java} +8 -3
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/RuntimeScheduler.java +21 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/SoftAssertions.java +8 -7
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/UIManager.java +10 -0
- package/ReactAndroid/src/main/java/com/facebook/react/common/BUCK +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/BUCK +3 -0
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/ReadableMapBuffer.java +7 -8
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/ReadableMapBufferSoLoader.java +33 -0
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/BUCK +2 -1
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/react/common/mapbuffer/ReadableMapBuffer.cpp +23 -9
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/react/common/mapbuffer/ReadableMapBuffer.h +8 -5
- package/ReactAndroid/src/main/java/com/facebook/react/config/BUCK +2 -1
- package/ReactAndroid/src/main/java/com/facebook/react/config/ReactFeatureFlags.java +54 -29
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BridgeDevSupportManager.java +275 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DefaultDevSupportManagerFactory.java +97 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevServerHelper.java +9 -58
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.java +163 -328
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerFactory.java +3 -72
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/PackagerStatusCheck.java +100 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/RedBoxHandler.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevSupportManager.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/Binding.java +10 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricComponents.java +4 -3
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricJSIModuleProvider.java +8 -59
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +154 -74
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventEmitterWrapper.java +36 -1
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/FabricEventEmitter.java +14 -2
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Android.mk +2 -2
- 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 +1 -2
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Binding.cpp +171 -53
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Binding.h +21 -2
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/CoreComponentsRegistry.cpp +0 -6
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/EventEmitterWrapper.cpp +22 -2
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/EventEmitterWrapper.h +4 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountItemDispatcher.java +53 -7
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountingManager.java +35 -13
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.java +136 -35
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/IntBufferBatchMountItem.java +3 -2
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/PreAllocateViewMountItem.java +5 -5
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/SendAccessibilityEvent.java +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/jscexecutor/Android.mk +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/jstasks/HeadlessJsTaskContext.java +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/modules/accessibilityinfo/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/appearance/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/appstate/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobProvider.java +35 -7
- package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/jni/Android.mk +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/modules/bundleloader/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/camera/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/BUCK +1 -1
- 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/debug/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/deviceinfo/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/deviceinfo/DeviceInfoModule.java +10 -6
- package/ReactAndroid/src/main/java/com/facebook/react/modules/dialog/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/i18nmanager/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/i18nmanager/I18nManagerModule.java +7 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/image/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/intent/BUCK +1 -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/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ForwardingCookieHandler.java +1 -4
- package/ReactAndroid/src/main/java/com/facebook/react/modules/permissions/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/share/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/sound/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/statusbar/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/storage/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/BUCK +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/toast/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/vibration/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/websocket/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/ReconnectingWebSocket.java +11 -9
- package/ReactAndroid/src/main/java/com/facebook/react/shell/BUCK +0 -2
- package/ReactAndroid/src/main/java/com/facebook/react/shell/MainReactPackage.java +0 -9
- package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/TurboModuleManager.java +4 -2
- package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/ReactCommon/TurboModuleManager.cpp +39 -11
- package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/ReactCommon/TurboModuleManager.h +9 -2
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/DisplayMetricsHolder.java +7 -28
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSTouchDispatcher.java +14 -5
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyManager.java +2 -4
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyOptimizer.java +10 -13
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/PixelUtil.java +1 -6
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactAccessibilityDelegate.java +11 -5
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactClippingProhibitedView.java +26 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactClippingViewGroupHelper.java +5 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactOverflowView.java +25 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TouchTargetHelper.java +162 -66
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIImplementation.java +1 -4
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerHelper.java +28 -19
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java +10 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIViewOperationQueue.java +6 -5
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManager.java +2 -3
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagersPropertyCache.java +16 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/Event.java +53 -19
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/LockFreeEventDispatcherImpl.java +236 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTModernEventEmitter.java +8 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/ReactEventEmitter.java +20 -6
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchEvent.java +34 -5
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchesHelper.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/interfaces/ViewProps.java +9 -2
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/jni/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/jni/ComponentNameResolverManager.cpp +2 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/jni/ComponentNameResolverManager.h +10 -15
- package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/events/DrawerClosedEvent.java +0 -6
- package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/events/DrawerOpenedEvent.java +0 -6
- package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/events/DrawerSlideEvent.java +0 -6
- package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/events/DrawerStateChangedEvent.java +0 -6
- package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageManager.java +10 -5
- package/ReactAndroid/src/main/java/com/facebook/react/views/modal/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostManager.java +6 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.java +7 -11
- package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/BUCK +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +17 -1
- 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 +101 -8
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewHelper.java +18 -3
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewManager.java +5 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ScrollEvent.java +9 -7
- package/ReactAndroid/src/main/java/com/facebook/react/views/slider/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/slider/ReactSliderEvent.java +0 -5
- package/ReactAndroid/src/main/java/com/facebook/react/views/slider/ReactSliderManager.java +4 -7
- package/ReactAndroid/src/main/java/com/facebook/react/views/slider/ReactSlidingCompleteEvent.java +0 -5
- package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitchEvent.java +0 -6
- package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitchManager.java +3 -10
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/CustomStyleSpan.java +6 -8
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactFontManager.java +59 -44
- 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 +31 -3
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextView.java +19 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManager.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTypefaceUtils.java +41 -59
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributeProps.java +20 -51
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.java +39 -15
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManagerMapBuffer.java +38 -10
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/TypefaceStyle.java +72 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/BUCK +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java +16 -6
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditTextInputConnectionWrapper.java +3 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.java +117 -62
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/CanvasUtil.java +92 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewBackgroundDrawable.java +39 -8
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.java +49 -2
- package/ReactAndroid/src/main/jni/first-party/yogajni/jni/YGJNIVanilla.cpp +2 -7
- package/ReactAndroid/src/main/jni/first-party/yogajni/jni/YGJTypesVanilla.h +8 -4
- package/ReactAndroid/src/main/jni/react/jni/Android.mk +5 -3
- package/ReactAndroid/src/main/jni/react/jni/BUCK +5 -2
- package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.cpp +61 -0
- package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.h +8 -0
- package/ReactAndroid/src/main/jni/react/jni/JReactCxxErrorHandler.cpp +18 -0
- package/{ReactCommon/react/renderer/components/picker/iospicker/primitives.h → ReactAndroid/src/main/jni/react/jni/JReactCxxErrorHandler.h} +6 -10
- package/ReactAndroid/src/main/jni/react/jni/JReactSoftExceptionLogger.cpp +21 -0
- package/ReactAndroid/src/main/jni/react/jni/JReactSoftExceptionLogger.h +28 -0
- package/{ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDialogPickerComponentDescriptor.h → ReactAndroid/src/main/jni/react/jni/JRuntimeScheduler.cpp} +8 -7
- package/ReactAndroid/src/main/jni/react/jni/JRuntimeScheduler.h +30 -0
- package/ReactAndroid/src/main/jni/react/jni/JSLoader.cpp +1 -1
- package/ReactAndroid/src/main/jni/react/jni/ProxyExecutor.h +1 -0
- package/ReactAndroid/src/main/jni/third-party/boost/Android.mk +7 -2
- package/ReactAndroid/src/main/jni/third-party/boost/asm/arm/jump_arm_aapcs_elf_gas.S +86 -0
- package/ReactAndroid/src/main/jni/third-party/boost/asm/arm/make_arm_aapcs_elf_gas.S +79 -0
- package/ReactAndroid/src/main/jni/third-party/boost/asm/arm/ontop_arm_aapcs_elf_gas.S +91 -0
- package/ReactAndroid/src/main/jni/third-party/boost/asm/arm64/jump_arm64_aapcs_elf_gas.S +114 -0
- package/ReactAndroid/src/main/jni/third-party/boost/asm/arm64/make_arm64_aapcs_elf_gas.S +85 -0
- package/ReactAndroid/src/main/jni/third-party/boost/asm/arm64/ontop_arm64_aapcs_elf_gas.S +113 -0
- package/ReactAndroid/src/main/jni/third-party/boost/asm/x86/jump_i386_sysv_elf_gas.S +78 -0
- package/ReactAndroid/src/main/jni/third-party/boost/asm/x86/make_i386_sysv_elf_gas.S +106 -0
- package/ReactAndroid/src/main/jni/third-party/boost/asm/x86/ontop_i386_sysv_elf_gas.S +85 -0
- package/ReactAndroid/src/main/jni/third-party/boost/asm/x86_64/jump_x86_64_sysv_elf_gas.S +76 -0
- package/ReactAndroid/src/main/jni/third-party/boost/asm/x86_64/make_x86_64_sysv_elf_gas.S +81 -0
- package/ReactAndroid/src/main/jni/third-party/boost/asm/x86_64/ontop_x86_64_sysv_elf_gas.S +79 -0
- package/ReactAndroid/src/main/jni/third-party/fmt/Android.mk +15 -0
- package/ReactAndroid/src/main/jni/third-party/folly/Android.mk +36 -16
- package/ReactAndroid/src/main/jni/third-party/libevent/Android.mk +36 -0
- package/ReactAndroid/src/main/jni/third-party/libevent/evconfig-private.h +49 -0
- package/ReactAndroid/src/main/jni/third-party/libevent/event-config.h +340 -0
- package/ReactAndroid/src/main/libraries/fresco/fresco-react-native/BUCK +26 -26
- package/ReactAndroid/src/main/libraries/soloader/java/com/facebook/soloader/BUCK +5 -5
- package/ReactAndroid/src/main/res/devsupport/values/strings.xml +2 -1
- package/ReactAndroid/src/main/res/views/uimanager/values/strings_unlocalized.xml +0 -8
- package/ReactAndroid/src/main/third-party/android/androidx/BUCK +63 -2
- package/ReactAndroid/src/main/third-party/java/infer-annotations/BUCK +2 -2
- package/ReactAndroid/src/main/third-party/java/okhttp/BUCK +4 -4
- package/ReactAndroid/src/main/third-party/java/okio/BUCK +2 -2
- package/ReactAndroid/src/main/third-party/java/robolectric/{4.4/BUCK → BUCK} +0 -0
- package/ReactAndroid/src/main/third-party/java/testing-support-lib/BUCK +0 -31
- package/ReactAndroid/src/test/java/com/facebook/react/RootViewTest.java +2 -2
- package/ReactAndroid/src/test/java/com/facebook/react/bridge/BUCK +1 -1
- package/ReactAndroid/src/test/java/com/facebook/react/bridge/ReactTestHelper.java +1 -0
- package/ReactAndroid/src/test/java/com/facebook/react/modules/BUCK +1 -0
- package/ReactAndroid/src/test/java/com/facebook/react/modules/deviceinfo/DeviceInfoModuleTest.java +168 -0
- package/ReactAndroid/src/test/java/com/facebook/react/views/image/ReactImagePropertyTest.java +8 -0
- package/ReactAndroid/src/test/java/com/facebook/react/views/textinput/ReactTextInputPropertyTest.java +4 -0
- package/ReactCommon/React-Fabric.podspec +11 -11
- package/ReactCommon/ReactCommon.podspec +3 -2
- package/ReactCommon/callinvoker/BUCK +2 -2
- package/ReactCommon/callinvoker/React-callinvoker.podspec +1 -1
- package/ReactCommon/cxxreact/Android.mk +2 -1
- package/ReactCommon/cxxreact/BUCK +1 -3
- package/ReactCommon/cxxreact/CxxNativeModule.cpp +28 -0
- package/ReactCommon/cxxreact/CxxNativeModule.h +9 -0
- package/ReactCommon/cxxreact/Instance.cpp +21 -1
- package/ReactCommon/cxxreact/NativeToJsBridge.cpp +0 -21
- package/ReactCommon/cxxreact/NativeToJsBridge.h +0 -6
- package/ReactCommon/cxxreact/React-cxxreact.podspec +4 -3
- package/ReactCommon/cxxreact/ReactNativeVersion.h +1 -1
- package/ReactCommon/hermes/React-hermes.podspec +4 -4
- package/ReactCommon/hermes/executor/Android.mk +4 -4
- package/ReactCommon/hermes/inspector/Android.mk +1 -2
- package/ReactCommon/hermes/inspector/chrome/Connection.cpp +74 -0
- package/ReactCommon/hermes/inspector/chrome/MessageTypes.cpp +100 -1
- package/ReactCommon/hermes/inspector/chrome/MessageTypes.h +49 -1
- package/ReactCommon/hermes/inspector/chrome/tests/ConnectionTests.cpp +81 -0
- package/ReactCommon/hermes/inspector/tools/message_types.txt +2 -0
- package/ReactCommon/hermes/inspector/tools/msggen/package.json +8 -5
- package/ReactCommon/hermes/inspector/tools/msggen/src/Property.js +1 -0
- package/ReactCommon/hermes/inspector/tools/msggen/yarn.lock +2246 -1419
- package/ReactCommon/jsi/Android.mk +1 -1
- package/ReactCommon/jsi/BUCK +0 -2
- package/ReactCommon/jsi/JSCRuntime.cpp +7 -0
- package/ReactCommon/jsi/React-jsi.podspec +3 -3
- package/ReactCommon/jsi/jsi/decorator.h +7 -0
- package/ReactCommon/jsi/jsi/jsi.h +29 -0
- package/ReactCommon/jsi/jsi/jsilib-posix.cpp +1 -11
- package/ReactCommon/jsiexecutor/Android.mk +2 -2
- package/ReactCommon/jsiexecutor/React-jsiexecutor.podspec +2 -2
- package/ReactCommon/jsiexecutor/jsireact/JSIExecutor.cpp +35 -2
- package/ReactCommon/logger/Android.mk +23 -0
- package/ReactCommon/logger/BUCK +43 -0
- package/ReactCommon/logger/React-logger.podspec +40 -0
- package/ReactCommon/logger/react_native_log.cpp +52 -0
- package/ReactCommon/logger/react_native_log.h +33 -0
- package/ReactCommon/react/nativemodule/core/Android.mk +2 -2
- package/ReactCommon/react/nativemodule/core/ReactCommon/LongLivedObject.cpp +1 -0
- package/ReactCommon/react/nativemodule/core/ReactCommon/LongLivedObject.h +3 -2
- package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleBinding.cpp +46 -1
- package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleBinding.h +10 -0
- package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleUtils.h +37 -1
- package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.cpp +24 -22
- package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.h +11 -8
- package/ReactCommon/react/nativemodule/core/platform/ios/RCTTurboModule.h +7 -17
- package/ReactCommon/react/nativemodule/core/platform/ios/RCTTurboModule.mm +73 -40
- package/ReactCommon/react/nativemodule/core/platform/ios/RCTTurboModuleManager.h +0 -1
- package/ReactCommon/react/nativemodule/core/platform/ios/RCTTurboModuleManager.mm +111 -107
- package/ReactCommon/react/nativemodule/samples/BUCK +2 -2
- package/ReactCommon/react/nativemodule/samples/platform/android/Android.mk +1 -1
- package/ReactCommon/react/nativemodule/samples/platform/ios/RCTSampleTurboModule.mm +0 -2
- package/ReactCommon/react/renderer/animations/BUCK +2 -0
- package/ReactCommon/react/renderer/animations/LayoutAnimationCallbackWrapper.h +34 -0
- package/ReactCommon/react/renderer/animations/LayoutAnimationDriver.cpp +5 -27
- package/ReactCommon/react/renderer/animations/LayoutAnimationDriver.h +8 -14
- package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.cpp +1231 -1401
- package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.h +90 -241
- 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 +544 -0
- 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/ParagraphAttributes.cpp +7 -3
- package/ReactCommon/react/renderer/attributedstring/ParagraphAttributes.h +12 -2
- package/ReactCommon/react/renderer/attributedstring/TextAttributes.cpp +7 -2
- package/ReactCommon/react/renderer/attributedstring/TextAttributes.h +3 -1
- package/ReactCommon/react/renderer/attributedstring/conversions.h +162 -11
- package/ReactCommon/react/renderer/attributedstring/primitives.h +34 -1
- package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorProviderRegistry.cpp +2 -2
- package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorProviderRegistry.h +1 -0
- package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorRegistry.cpp +12 -6
- package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorRegistry.h +4 -1
- package/ReactCommon/react/renderer/componentregistry/componentNameByReactViewName.cpp +2 -1
- package/ReactCommon/react/renderer/components/image/Android.mk +1 -1
- package/ReactCommon/react/renderer/components/image/ImageProps.cpp +28 -9
- package/ReactCommon/react/renderer/components/image/ImageProps.h +5 -1
- package/ReactCommon/react/renderer/components/image/conversions.h +9 -2
- package/ReactCommon/react/renderer/components/inputaccessory/BUCK +1 -1
- package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/BUCK +1 -1
- package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropComponentDescriptor.mm +0 -1
- package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropViewProps.cpp +2 -1
- package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropViewProps.h +2 -0
- package/ReactCommon/react/renderer/components/root/BUCK +1 -0
- package/ReactCommon/react/renderer/components/root/RootProps.cpp +12 -2
- package/ReactCommon/react/renderer/components/root/RootProps.h +6 -1
- package/ReactCommon/react/renderer/components/root/RootShadowNode.cpp +7 -1
- package/ReactCommon/react/renderer/components/root/RootShadowNode.h +2 -0
- package/ReactCommon/react/renderer/components/root/tests/RootShadowNodeTest.cpp +35 -3
- package/ReactCommon/react/renderer/components/safeareaview/BUCK +1 -1
- package/ReactCommon/react/renderer/components/scrollview/Android.mk +1 -1
- package/ReactCommon/react/renderer/components/scrollview/ScrollViewProps.cpp +54 -4
- package/ReactCommon/react/renderer/components/scrollview/ScrollViewProps.h +10 -5
- package/ReactCommon/react/renderer/components/scrollview/ScrollViewShadowNode.cpp +4 -3
- package/ReactCommon/react/renderer/components/scrollview/ScrollViewState.h +5 -2
- package/ReactCommon/react/renderer/components/scrollview/conversions.h +5 -0
- package/ReactCommon/react/renderer/components/text/Android.mk +1 -1
- package/ReactCommon/react/renderer/components/text/BaseTextProps.cpp +32 -0
- package/ReactCommon/react/renderer/components/text/BaseTextProps.h +5 -1
- package/ReactCommon/react/renderer/components/text/BaseTextShadowNode.cpp +2 -3
- package/ReactCommon/react/renderer/components/text/ParagraphComponentDescriptor.h +1 -16
- package/ReactCommon/react/renderer/components/text/ParagraphProps.cpp +10 -4
- package/ReactCommon/react/renderer/components/text/ParagraphProps.h +5 -1
- package/ReactCommon/react/renderer/components/text/ParagraphShadowNode.cpp +3 -3
- package/ReactCommon/react/renderer/components/text/RawTextProps.cpp +3 -2
- package/ReactCommon/react/renderer/components/text/RawTextProps.h +5 -1
- package/ReactCommon/react/renderer/components/text/RawTextShadowNode.h +36 -2
- package/ReactCommon/react/renderer/components/text/TextProps.cpp +6 -3
- package/ReactCommon/react/renderer/components/text/TextProps.h +5 -1
- package/ReactCommon/react/renderer/components/text/TextShadowNode.h +23 -0
- package/ReactCommon/react/renderer/components/textinput/Android.mk +1 -1
- package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputProps.cpp +58 -91
- package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputProps.h +10 -6
- package/ReactCommon/react/renderer/components/textinput/iostextinput/TextInputProps.cpp +46 -22
- package/ReactCommon/react/renderer/components/textinput/iostextinput/TextInputProps.h +6 -5
- package/ReactCommon/react/renderer/components/textinput/iostextinput/conversions.h +19 -7
- package/ReactCommon/react/renderer/components/textinput/iostextinput/primitives.h +6 -0
- package/ReactCommon/react/renderer/components/textinput/iostextinput/propsConversions.h +63 -2
- package/ReactCommon/react/renderer/components/unimplementedview/Android.mk +1 -1
- package/ReactCommon/react/renderer/components/unimplementedview/UnimplementedViewComponentDescriptor.cpp +4 -2
- package/ReactCommon/react/renderer/components/unimplementedview/UnimplementedViewComponentDescriptor.h +5 -2
- package/ReactCommon/react/renderer/components/unimplementedview/UnimplementedViewProps.h +1 -0
- package/ReactCommon/react/renderer/components/view/AccessibilityPrimitives.h +28 -0
- package/ReactCommon/react/renderer/components/view/AccessibilityProps.cpp +24 -1
- package/ReactCommon/react/renderer/components/view/AccessibilityProps.h +4 -1
- package/ReactCommon/react/renderer/components/view/Android.mk +3 -2
- package/ReactCommon/react/renderer/components/view/BUCK +1 -0
- package/ReactCommon/react/renderer/components/view/Touch.h +1 -32
- package/ReactCommon/react/renderer/components/view/TouchEventEmitter.cpp +19 -5
- package/ReactCommon/react/renderer/components/view/TouchEventEmitter.h +2 -1
- package/ReactCommon/react/renderer/components/view/ViewComponentDescriptor.h +0 -22
- package/ReactCommon/react/renderer/components/view/ViewEventEmitter.cpp +1 -1
- package/ReactCommon/react/renderer/components/view/ViewProps.cpp +62 -14
- package/ReactCommon/react/renderer/components/view/ViewProps.h +7 -1
- package/ReactCommon/react/renderer/components/view/ViewPropsInterpolation.h +5 -10
- package/ReactCommon/react/renderer/components/view/ViewShadowNode.cpp +5 -12
- package/ReactCommon/react/renderer/components/view/ViewShadowNode.h +1 -1
- package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.cpp +58 -33
- package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.h +2 -8
- package/ReactCommon/react/renderer/components/view/YogaStylableProps.cpp +3 -2
- package/ReactCommon/react/renderer/components/view/YogaStylableProps.h +2 -0
- package/ReactCommon/react/renderer/components/view/accessibilityPropsConversions.h +78 -7
- package/ReactCommon/react/renderer/components/view/conversions.h +57 -14
- package/ReactCommon/react/renderer/components/view/primitives.h +5 -4
- package/ReactCommon/react/renderer/components/view/propsConversions.h +163 -28
- package/ReactCommon/react/renderer/components/view/tests/ViewTest.cpp +7 -2
- package/ReactCommon/react/renderer/core/Android.mk +1 -1
- package/ReactCommon/react/renderer/core/BUCK +1 -0
- package/ReactCommon/react/renderer/core/BatchedEventQueue.cpp +2 -34
- package/ReactCommon/react/renderer/core/BatchedEventQueue.h +2 -9
- package/ReactCommon/react/renderer/core/ComponentDescriptor.h +5 -2
- package/ReactCommon/react/renderer/core/ConcreteComponentDescriptor.h +19 -21
- package/ReactCommon/react/renderer/core/ConcreteShadowNode.h +4 -0
- package/ReactCommon/react/renderer/core/EventDispatcher.cpp +9 -15
- package/ReactCommon/react/renderer/core/EventDispatcher.h +5 -10
- package/ReactCommon/react/renderer/core/EventEmitter.cpp +22 -12
- package/ReactCommon/react/renderer/core/EventEmitter.h +7 -2
- package/ReactCommon/react/renderer/core/EventPipe.h +2 -0
- package/ReactCommon/react/renderer/core/EventPriority.h +1 -1
- package/ReactCommon/react/renderer/core/EventQueue.cpp +39 -36
- package/ReactCommon/react/renderer/core/EventQueue.h +14 -8
- package/ReactCommon/react/renderer/core/EventQueueProcessor.cpp +82 -0
- package/ReactCommon/react/renderer/core/EventQueueProcessor.h +36 -0
- package/ReactCommon/react/renderer/core/LayoutConstraints.h +6 -0
- package/ReactCommon/react/renderer/core/LayoutableShadowNode.cpp +1 -1
- package/ReactCommon/react/renderer/core/LayoutableShadowNode.h +0 -6
- package/ReactCommon/react/renderer/core/Props.cpp +10 -2
- package/ReactCommon/react/renderer/core/Props.h +6 -1
- package/ReactCommon/react/renderer/core/PropsParserContext.h +29 -0
- package/ReactCommon/react/renderer/core/RawEvent.cpp +4 -2
- package/ReactCommon/react/renderer/core/RawEvent.h +40 -3
- package/ReactCommon/react/renderer/core/RawProps.cpp +2 -1
- package/ReactCommon/react/renderer/core/RawProps.h +3 -1
- package/ReactCommon/react/renderer/core/RawPropsKey.cpp +10 -2
- package/ReactCommon/react/renderer/core/RawPropsKeyMap.cpp +1 -1
- package/ReactCommon/react/renderer/core/RawPropsParser.cpp +1 -1
- package/ReactCommon/react/renderer/core/RawPropsParser.h +11 -2
- package/ReactCommon/react/renderer/core/ReactEventPriority.h +43 -0
- package/ReactCommon/react/renderer/core/ReactPrimitives.h +0 -2
- package/ReactCommon/react/renderer/core/ShadowNode.cpp +9 -12
- package/ReactCommon/react/renderer/core/ShadowNode.h +4 -0
- package/ReactCommon/react/renderer/core/ShadowNodeFamily.h +1 -0
- package/ReactCommon/react/renderer/core/ShadowNodeTraits.h +17 -1
- package/ReactCommon/react/renderer/core/propsConversions.h +19 -9
- package/ReactCommon/react/renderer/core/tests/ComponentDescriptorTest.cpp +16 -4
- package/ReactCommon/react/renderer/core/tests/ConcreteShadowNodeTest.cpp +1 -1
- package/ReactCommon/react/renderer/core/tests/EventQueueProcessorTest.cpp +134 -0
- package/ReactCommon/react/renderer/core/tests/RawPropsTest.cpp +97 -29
- package/ReactCommon/react/renderer/core/tests/TestComponent.h +6 -2
- package/ReactCommon/react/renderer/core/tests/traitCastTest.cpp +31 -0
- package/ReactCommon/react/renderer/debug/DebugStringConvertible.h +9 -9
- package/ReactCommon/react/renderer/graphics/Android.mk +5 -2
- package/ReactCommon/react/renderer/graphics/BUCK +12 -1
- package/ReactCommon/react/renderer/graphics/React-graphics.podspec +3 -2
- package/ReactCommon/react/renderer/graphics/Transform.cpp +2 -2
- package/ReactCommon/react/renderer/graphics/Transform.h +1 -1
- package/ReactCommon/react/renderer/graphics/conversions.h +34 -19
- package/ReactCommon/react/renderer/graphics/platform/android/react/renderer/graphics/PlatformColorParser.h +67 -0
- package/ReactCommon/react/renderer/graphics/platform/cxx/react/renderer/graphics/Color.cpp +8 -0
- package/ReactCommon/react/renderer/graphics/platform/cxx/react/renderer/graphics/Color.h +1 -0
- package/ReactCommon/react/renderer/graphics/platform/cxx/react/renderer/graphics/PlatformColorParser.h +29 -0
- package/ReactCommon/react/renderer/graphics/platform/ios/Color.cpp +8 -0
- package/ReactCommon/react/renderer/graphics/platform/ios/Color.h +43 -1
- package/ReactCommon/react/renderer/graphics/platform/ios/PlatformColorParser.h +34 -0
- package/ReactCommon/react/renderer/graphics/platform/ios/RCTPlatformColorUtils.h +12 -0
- package/ReactCommon/react/renderer/graphics/platform/ios/RCTPlatformColorUtils.mm +206 -0
- package/ReactCommon/react/renderer/imagemanager/BUCK +1 -1
- package/ReactCommon/react/renderer/imagemanager/platform/ios/RCTSyncImageManager.mm +1 -1
- package/ReactCommon/react/renderer/leakchecker/LeakChecker.cpp +6 -9
- package/ReactCommon/react/renderer/leakchecker/LeakChecker.h +1 -4
- package/ReactCommon/react/renderer/mapbuffer/BUCK +2 -2
- package/ReactCommon/react/renderer/mapbuffer/MapBuffer.cpp +34 -31
- package/ReactCommon/react/renderer/mapbuffer/MapBuffer.h +10 -9
- package/ReactCommon/react/renderer/mapbuffer/MapBufferBuilder.cpp +50 -35
- package/ReactCommon/react/renderer/mapbuffer/MapBufferBuilder.h +13 -13
- package/ReactCommon/react/renderer/mapbuffer/primitives.h +18 -19
- package/ReactCommon/react/renderer/mapbuffer/tests/MapBufferTest.cpp +13 -1
- package/ReactCommon/react/renderer/mounting/Android.mk +2 -1
- package/ReactCommon/react/renderer/mounting/BUCK +1 -0
- package/ReactCommon/react/renderer/mounting/Differentiator.cpp +392 -519
- package/ReactCommon/react/renderer/mounting/Differentiator.h +1 -2
- package/ReactCommon/react/renderer/mounting/MountingCoordinator.cpp +1 -7
- package/ReactCommon/react/renderer/mounting/MountingCoordinator.h +0 -4
- package/ReactCommon/react/renderer/mounting/MountingOverrideDelegate.h +1 -1
- package/ReactCommon/react/renderer/mounting/ShadowTree.cpp +7 -5
- package/ReactCommon/react/renderer/mounting/ShadowTree.h +2 -1
- package/ReactCommon/react/renderer/mounting/ShadowView.cpp +2 -0
- package/ReactCommon/react/renderer/mounting/ShadowView.h +2 -1
- package/ReactCommon/react/renderer/mounting/ShadowViewMutation.cpp +12 -0
- package/ReactCommon/react/renderer/mounting/ShadowViewMutation.h +10 -1
- package/ReactCommon/react/renderer/mounting/StubViewTree.cpp +10 -3
- package/ReactCommon/react/renderer/mounting/TelemetryController.cpp +1 -1
- package/ReactCommon/react/renderer/mounting/stubs.cpp +3 -3
- package/ReactCommon/react/renderer/mounting/tests/MountingTest.cpp +23 -22
- package/ReactCommon/react/renderer/mounting/tests/ShadowTreeLifeCycleTest.cpp +49 -10
- package/ReactCommon/react/renderer/mounting/tests/StackingContextTest.cpp +2 -2
- package/ReactCommon/react/renderer/mounting/tests/StateReconciliationTest.cpp +6 -3
- package/ReactCommon/react/renderer/runtimescheduler/Android.mk +2 -1
- package/ReactCommon/react/renderer/runtimescheduler/BUCK +1 -0
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.cpp +78 -16
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.h +60 -8
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerBinding.cpp +17 -7
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerBinding.h +8 -5
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerCallInvoker.cpp +30 -0
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerCallInvoker.h +34 -0
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerClock.h +4 -2
- package/ReactCommon/react/renderer/runtimescheduler/SchedulerPriority.h +4 -2
- package/ReactCommon/react/renderer/runtimescheduler/Task.cpp +20 -25
- package/ReactCommon/react/renderer/runtimescheduler/Task.h +16 -15
- package/ReactCommon/react/renderer/runtimescheduler/primitives.h +4 -2
- package/ReactCommon/react/renderer/runtimescheduler/tests/RuntimeSchedulerTest.cpp +297 -11
- package/ReactCommon/react/renderer/runtimescheduler/tests/StubQueue.h +6 -0
- package/ReactCommon/react/renderer/scheduler/AsynchronousEventBeat.cpp +13 -12
- package/ReactCommon/react/renderer/scheduler/AsynchronousEventBeat.h +4 -4
- package/ReactCommon/react/renderer/{components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDialogPickerShadowNode.cpp → scheduler/InspectorData.h} +10 -2
- package/ReactCommon/react/renderer/scheduler/Scheduler.cpp +64 -40
- package/ReactCommon/react/renderer/scheduler/Scheduler.h +18 -3
- package/ReactCommon/react/renderer/scheduler/SchedulerDelegate.h +9 -1
- package/ReactCommon/react/renderer/scheduler/SchedulerToolbox.h +1 -6
- package/ReactCommon/react/renderer/scheduler/SurfaceHandler.cpp +49 -35
- package/ReactCommon/react/renderer/scheduler/SurfaceHandler.h +12 -12
- package/ReactCommon/react/renderer/scheduler/SurfaceManager.cpp +1 -0
- package/ReactCommon/react/renderer/scheduler/SynchronousEventBeat.cpp +11 -4
- package/ReactCommon/react/renderer/scheduler/SynchronousEventBeat.h +4 -1
- package/ReactCommon/react/renderer/telemetry/BUCK +1 -0
- package/ReactCommon/react/renderer/telemetry/tests/TransactionTelemetryTest.cpp +1 -19
- package/ReactCommon/react/renderer/templateprocessor/UITemplateProcessor.cpp +5 -5
- package/ReactCommon/react/renderer/textlayoutmanager/TextMeasureCache.cpp +2 -1
- package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/RCTAttributedTextUtils.h +2 -0
- package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/RCTAttributedTextUtils.mm +22 -0
- package/ReactCommon/react/renderer/timeline/BUCK +6 -6
- package/ReactCommon/react/renderer/uimanager/UIManager.cpp +32 -28
- package/ReactCommon/react/renderer/uimanager/UIManager.h +3 -4
- package/ReactCommon/react/renderer/uimanager/UIManagerAnimationDelegate.h +1 -1
- package/ReactCommon/react/renderer/uimanager/UIManagerBinding.cpp +61 -17
- package/ReactCommon/react/renderer/uimanager/UIManagerBinding.h +13 -1
- package/ReactCommon/react/renderer/uimanager/UIManagerDelegate.h +10 -2
- package/ReactCommon/react/{renderer/components/picker/iospicker → test_utils}/BUCK +12 -14
- package/ReactCommon/react/{renderer/mounting/tests → test_utils}/Entropy.h +0 -0
- package/ReactCommon/react/test_utils/MockClock.h +29 -0
- package/ReactCommon/react/{renderer/core/Constants.h → test_utils/MockSurfaceHandler.h} +9 -7
- package/ReactCommon/react/{renderer/mounting/tests → test_utils}/shadowTreeGeneration.h +18 -4
- package/ReactCommon/react/utils/Android.mk +3 -1
- package/ReactCommon/react/utils/BUCK +1 -0
- package/ReactCommon/react/utils/ContextContainer.h +0 -27
- package/ReactCommon/reactperflogger/React-perflogger.podspec +1 -1
- package/ReactCommon/runtimeexecutor/React-runtimeexecutor.podspec +1 -1
- package/ReactCommon/runtimeexecutor/ReactCommon/RuntimeExecutor.h +12 -0
- package/ReactCommon/yoga/yoga/Yoga.cpp +2 -6
- package/android/com/facebook/react/react-native/0.0.0-18697adec/react-native-0.0.0-18697adec.aar +0 -0
- package/android/com/facebook/react/react-native/0.0.0-18697adec/react-native-0.0.0-18697adec.aar.md5 +1 -0
- package/android/com/facebook/react/react-native/0.0.0-18697adec/react-native-0.0.0-18697adec.aar.sha1 +1 -0
- package/android/com/facebook/react/react-native/0.0.0-18697adec/react-native-0.0.0-18697adec.aar.sha256 +1 -0
- package/android/com/facebook/react/react-native/0.0.0-18697adec/react-native-0.0.0-18697adec.aar.sha512 +1 -0
- package/android/com/facebook/react/react-native/0.0.0-18697adec/react-native-0.0.0-18697adec.module +272 -0
- package/android/com/facebook/react/react-native/0.0.0-18697adec/react-native-0.0.0-18697adec.module.md5 +1 -0
- package/android/com/facebook/react/react-native/0.0.0-18697adec/react-native-0.0.0-18697adec.module.sha1 +1 -0
- package/android/com/facebook/react/react-native/0.0.0-18697adec/react-native-0.0.0-18697adec.module.sha256 +1 -0
- package/android/com/facebook/react/react-native/0.0.0-18697adec/react-native-0.0.0-18697adec.module.sha512 +1 -0
- package/android/com/facebook/react/react-native/{0.0.0-17be3a003/react-native-0.0.0-17be3a003.pom → 0.0.0-18697adec/react-native-0.0.0-18697adec.pom} +22 -11
- package/android/com/facebook/react/react-native/0.0.0-18697adec/react-native-0.0.0-18697adec.pom.md5 +1 -0
- package/android/com/facebook/react/react-native/0.0.0-18697adec/react-native-0.0.0-18697adec.pom.sha1 +1 -0
- package/android/com/facebook/react/react-native/0.0.0-18697adec/react-native-0.0.0-18697adec.pom.sha256 +1 -0
- package/android/com/facebook/react/react-native/0.0.0-18697adec/react-native-0.0.0-18697adec.pom.sha512 +1 -0
- package/android/com/facebook/react/react-native/maven-metadata.xml +4 -3
- 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 -0
- package/android/com/facebook/react/react-native/maven-metadata.xml.sha512 +1 -0
- package/flow/HermesInternalType.js +114 -0
- package/flow/global.js +68 -0
- package/flow-typed/npm/react-test-renderer_v16.x.x.js +79 -0
- package/index.js +67 -42
- package/jest/preprocessor.js +75 -7
- package/jest/renderer.js +3 -7
- package/jest/setup.js +3 -2
- package/package.json +59 -20
- package/react.gradle +22 -22
- package/scripts/find-node.sh +6 -0
- package/scripts/generate-specs-cli.js +20 -2
- package/scripts/ios-configure-glog.sh +4 -0
- package/scripts/react-native-xcode.sh +5 -1
- package/scripts/react_native_pods.rb +213 -43
- package/template/_flowconfig +3 -4
- package/template/_gitignore +1 -0
- package/template/android/app/build.gradle +12 -7
- package/template/android/app/src/main/res/values/styles.xml +0 -1
- package/template/android/build.gradle +5 -6
- package/template/android/gradle/wrapper/gradle-wrapper.properties +1 -1
- package/template/android/gradle.properties +1 -1
- package/template/ios/HelloWorld.xcodeproj/project.pbxproj +2 -0
- package/template/ios/Podfile +1 -0
- package/template/package.json +3 -4
- package/third-party-podspecs/RCT-Folly.podspec +31 -11
- package/third-party-podspecs/boost.podspec +23 -0
- package/Libraries/BUCK +0 -24
- 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/Picker/AndroidDialogPickerNativeComponent.js +0 -83
- package/Libraries/Components/Picker/AndroidDropdownPickerNativeComponent.js +0 -82
- package/Libraries/Components/Picker/Picker.js +0 -169
- package/Libraries/Components/Picker/PickerAndroid.android.js +0 -143
- package/Libraries/Components/Picker/PickerIOS.android.js +0 -14
- package/Libraries/Components/Picker/PickerIOS.ios.js +0 -162
- package/Libraries/Components/Picker/RCTPickerNativeComponent.js +0 -86
- package/Libraries/Components/ScrollView/ScrollViewStickyHeaderInjection.js +0 -17
- package/Libraries/Components/StaticContainer.react.js +0 -51
- package/Libraries/Components/StatusBar/StatusBarIOS.js +0 -38
- package/Libraries/Components/Switch/SwitchInjection.js +0 -17
- package/Libraries/Components/Touchable/ensurePositiveDelayProps.js +0 -26
- package/Libraries/Interaction/InteractionMixin.js +0 -53
- package/Libraries/Lists/VirtualizedListInjection.js +0 -15
- package/Libraries/Lists/VirtualizedSectionListInjection.js +0 -17
- package/Libraries/ReactNative/queryLayoutByID.js +0 -58
- package/Libraries/StyleSheet/StyleSheetValidation.js +0 -100
- package/Libraries/Text/TextInjection.js +0 -15
- package/Libraries/Utilities/registerGeneratedViewConfig.js +0 -34
- package/React/Base/RCTBundleHolderModule.h +0 -16
- package/React/Base/RCTJSInvokerModule.h +0 -18
- package/React/Fabric/Mounting/ComponentViews/Picker/RCTPickerComponentView.h +0 -19
- package/React/Fabric/Mounting/ComponentViews/Picker/RCTPickerComponentView.mm +0 -206
- package/React/Views/RCTPicker.h +0 -23
- package/React/Views/RCTPicker.m +0 -122
- package/React/Views/RCTPickerManager.m +0 -59
- package/ReactAndroid/release.gradle +0 -87
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/DatePickerDialogTestCase.java +0 -172
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/ReactPickerTestCase.java +0 -196
- package/ReactAndroid/src/androidTest/js/DatePickerDialogTestModule.js +0 -45
- package/ReactAndroid/src/androidTest/js/PickerAndroidTestModule.js +0 -89
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerImpl.java +0 -82
- 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 -147
- 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/viewmanagers/AndroidDialogPickerManagerDelegate.java +0 -48
- package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/AndroidDialogPickerManagerInterface.java +0 -23
- package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/AndroidDropdownPickerManagerDelegate.java +0 -48
- package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/AndroidDropdownPickerManagerInterface.java +0 -22
- package/ReactAndroid/src/main/java/com/facebook/react/views/picker/BUCK +0 -30
- package/ReactAndroid/src/main/java/com/facebook/react/views/picker/ReactDialogPickerManager.java +0 -51
- package/ReactAndroid/src/main/java/com/facebook/react/views/picker/ReactDropdownPickerManager.java +0 -50
- package/ReactAndroid/src/main/java/com/facebook/react/views/picker/ReactPicker.java +0 -196
- package/ReactAndroid/src/main/java/com/facebook/react/views/picker/ReactPickerAdapter.java +0 -95
- package/ReactAndroid/src/main/java/com/facebook/react/views/picker/ReactPickerItem.java +0 -43
- package/ReactAndroid/src/main/java/com/facebook/react/views/picker/ReactPickerManager.java +0 -99
- package/ReactAndroid/src/main/java/com/facebook/react/views/picker/events/PickerItemSelectEvent.java +0 -42
- package/ReactCommon/react/renderer/components/picker/Android.mk +0 -37
- package/ReactCommon/react/renderer/components/picker/BUCK +0 -98
- package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDialogPickerEventEmitter.cpp +0 -23
- package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDialogPickerEventEmitter.h +0 -27
- package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDialogPickerProps.cpp +0 -28
- package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDialogPickerProps.h +0 -77
- package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDialogPickerShadowNode.h +0 -29
- package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDropdownPickerComponentDescriptor.h +0 -21
- package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDropdownPickerEventEmitter.cpp +0 -23
- package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDropdownPickerEventEmitter.h +0 -27
- package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDropdownPickerProps.cpp +0 -28
- package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDropdownPickerProps.h +0 -77
- package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDropdownPickerShadowNode.cpp +0 -17
- package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDropdownPickerShadowNode.h +0 -29
- package/ReactCommon/react/renderer/components/picker/iospicker/PickerComponentDescriptor.h +0 -26
- package/ReactCommon/react/renderer/components/picker/iospicker/PickerEventEmitter.cpp +0 -23
- package/ReactCommon/react/renderer/components/picker/iospicker/PickerEventEmitter.h +0 -28
- package/ReactCommon/react/renderer/components/picker/iospicker/PickerProps.cpp +0 -46
- package/ReactCommon/react/renderer/components/picker/iospicker/PickerProps.h +0 -36
- package/ReactCommon/react/renderer/components/picker/iospicker/PickerShadowNode.cpp +0 -16
- package/ReactCommon/react/renderer/components/picker/iospicker/PickerShadowNode.h +0 -33
- package/ReactCommon/react/renderer/components/picker/iospicker/PickerState.h +0 -19
- package/ReactCommon/react/renderer/components/picker/iospicker/conversions.h +0 -48
- package/ReactCommon/react/renderer/core/Constants.cpp +0 -24
- package/ReactCommon/react/renderer/mounting/DifferentiatorFlatteningClassic.cpp +0 -1564
- package/ReactCommon/react/renderer/mounting/DifferentiatorFlatteningClassic.h +0 -45
- package/android/com/facebook/react/react-native/0.0.0-17be3a003/react-native-0.0.0-17be3a003.aar +0 -0
- package/android/com/facebook/react/react-native/0.0.0-17be3a003/react-native-0.0.0-17be3a003.aar.md5 +0 -1
- package/android/com/facebook/react/react-native/0.0.0-17be3a003/react-native-0.0.0-17be3a003.aar.sha1 +0 -1
- package/android/com/facebook/react/react-native/0.0.0-17be3a003/react-native-0.0.0-17be3a003.pom.md5 +0 -1
- package/android/com/facebook/react/react-native/0.0.0-17be3a003/react-native-0.0.0-17be3a003.pom.sha1 +0 -1
- package/scripts/generate-specs.sh +0 -100
|
@@ -11,6 +11,7 @@ import androidx.annotation.Nullable;
|
|
|
11
11
|
import com.facebook.react.bridge.WritableMap;
|
|
12
12
|
import com.facebook.react.common.SystemClock;
|
|
13
13
|
import com.facebook.react.uimanager.IllegalViewOperationException;
|
|
14
|
+
import com.facebook.react.uimanager.common.UIManagerType;
|
|
14
15
|
|
|
15
16
|
/**
|
|
16
17
|
* A UI event that can be dispatched to JS.
|
|
@@ -33,20 +34,12 @@ public abstract class Event<T extends Event> {
|
|
|
33
34
|
private static int sUniqueID = 0;
|
|
34
35
|
|
|
35
36
|
private boolean mInitialized;
|
|
37
|
+
private @UIManagerType int mUIManagerType;
|
|
36
38
|
private int mSurfaceId;
|
|
37
39
|
private int mViewTag;
|
|
38
40
|
private long mTimestampMs;
|
|
39
41
|
private int mUniqueID = sUniqueID++;
|
|
40
42
|
|
|
41
|
-
// Android native Event times use 'uptimeMillis', and historically we've used `uptimeMillis`
|
|
42
|
-
// throughout this Event class as the coalescing key for events, and for other purposes.
|
|
43
|
-
// To get an accurate(ish) absolute UNIX time for the event, we store the initial clock time here.
|
|
44
|
-
// uptimeMillis can then be added to this to get an accurate UNIX time.
|
|
45
|
-
// However, we still default to uptimeMillis: you must explicitly request UNIX time if you want
|
|
46
|
-
// that; see `getUnixTimestampMs`.
|
|
47
|
-
public static final long sInitialClockTimeUnixOffset =
|
|
48
|
-
SystemClock.currentTimeMillis() - SystemClock.uptimeMillis();
|
|
49
|
-
|
|
50
43
|
protected Event() {}
|
|
51
44
|
|
|
52
45
|
@Deprecated
|
|
@@ -63,14 +56,33 @@ public abstract class Event<T extends Event> {
|
|
|
63
56
|
init(-1, viewTag);
|
|
64
57
|
}
|
|
65
58
|
|
|
66
|
-
/** This method needs to be called before event is sent to event dispatcher. */
|
|
67
59
|
protected void init(int surfaceId, int viewTag) {
|
|
60
|
+
init(surfaceId, viewTag, SystemClock.uptimeMillis());
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* This method needs to be called before event is sent to event dispatcher. Event timestamps can
|
|
65
|
+
* optionally be dated/backdated to a custom time: for example, touch events should be dated with
|
|
66
|
+
* the system event time.
|
|
67
|
+
*/
|
|
68
|
+
protected void init(int surfaceId, int viewTag, long timestampMs) {
|
|
68
69
|
mSurfaceId = surfaceId;
|
|
69
70
|
mViewTag = viewTag;
|
|
70
|
-
mInitialized = true;
|
|
71
71
|
|
|
72
|
-
//
|
|
73
|
-
|
|
72
|
+
// We infer UIManagerType. Even though it's not passed in explicitly, we have a
|
|
73
|
+
// contract that Fabric events *always* have a SurfaceId passed in, and non-Fabric events
|
|
74
|
+
// NEVER have a SurfaceId passed in (the default/placeholder of -1 is passed in instead).
|
|
75
|
+
// Why does this matter?
|
|
76
|
+
// Events can be sent to Views that are part of the View hierarchy *but not directly managed
|
|
77
|
+
// by React Native*. For example, embedded custom hierachies, Litho hierachies, etc.
|
|
78
|
+
// In those cases it's important to konw that the Event should be sent to the Fabric or
|
|
79
|
+
// non-Fabric UIManager, and we cannot use the ViewTag for inference since it's not controlled
|
|
80
|
+
// by RN and is essentially a random number.
|
|
81
|
+
// At some point it would be great to pass the SurfaceContext here instead.
|
|
82
|
+
mUIManagerType = (surfaceId == -1 ? UIManagerType.DEFAULT : UIManagerType.FABRIC);
|
|
83
|
+
|
|
84
|
+
mTimestampMs = timestampMs;
|
|
85
|
+
mInitialized = true;
|
|
74
86
|
}
|
|
75
87
|
|
|
76
88
|
/** @return the view id for the view that generated this event */
|
|
@@ -91,11 +103,6 @@ public abstract class Event<T extends Event> {
|
|
|
91
103
|
return mTimestampMs;
|
|
92
104
|
}
|
|
93
105
|
|
|
94
|
-
/** @return the time at which the event happened as a UNIX timestamp, in milliseconds. */
|
|
95
|
-
public final long getUnixTimestampMs() {
|
|
96
|
-
return sInitialClockTimeUnixOffset + mTimestampMs;
|
|
97
|
-
}
|
|
98
|
-
|
|
99
106
|
/** @return false if this Event can *never* be coalesced */
|
|
100
107
|
public boolean canCoalesce() {
|
|
101
108
|
return true;
|
|
@@ -142,6 +149,10 @@ public abstract class Event<T extends Event> {
|
|
|
142
149
|
onDispose();
|
|
143
150
|
}
|
|
144
151
|
|
|
152
|
+
public final @UIManagerType int getUIManagerType() {
|
|
153
|
+
return mUIManagerType;
|
|
154
|
+
}
|
|
155
|
+
|
|
145
156
|
/** @return the name of this event as registered in JS */
|
|
146
157
|
public abstract String getEventName();
|
|
147
158
|
|
|
@@ -155,7 +166,7 @@ public abstract class Event<T extends Event> {
|
|
|
155
166
|
WritableMap eventData = getEventData();
|
|
156
167
|
if (eventData == null) {
|
|
157
168
|
throw new IllegalViewOperationException(
|
|
158
|
-
"Event: you must return a valid, non-null value from `getEventData`, or override `dispatch` and `
|
|
169
|
+
"Event: you must return a valid, non-null value from `getEventData`, or override `dispatch` and `dispatchModern`. Event: "
|
|
159
170
|
+ getEventName());
|
|
160
171
|
}
|
|
161
172
|
rctEventEmitter.receiveEvent(getViewTag(), getEventName(), eventData);
|
|
@@ -188,4 +199,27 @@ public abstract class Event<T extends Event> {
|
|
|
188
199
|
}
|
|
189
200
|
dispatch(rctEventEmitter);
|
|
190
201
|
}
|
|
202
|
+
|
|
203
|
+
/**
|
|
204
|
+
* Dispatch this event to JS using a V2 version of dispatchModern. See all comments from
|
|
205
|
+
* `dispatchModern` - all still apply. This method additionally allows C++ to coalesce events
|
|
206
|
+
* (Fabric only). This will ONLY be called in an experimental path, and in Fabric only.
|
|
207
|
+
*/
|
|
208
|
+
@Deprecated
|
|
209
|
+
public void dispatchModernV2(RCTModernEventEmitter rctEventEmitter) {
|
|
210
|
+
if (getSurfaceId() != -1) {
|
|
211
|
+
WritableMap eventData = getEventData();
|
|
212
|
+
if (eventData != null) {
|
|
213
|
+
rctEventEmitter.receiveEvent(
|
|
214
|
+
getSurfaceId(),
|
|
215
|
+
getViewTag(),
|
|
216
|
+
getEventName(),
|
|
217
|
+
canCoalesce(),
|
|
218
|
+
getCoalescingKey(),
|
|
219
|
+
eventData);
|
|
220
|
+
return;
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
dispatch(rctEventEmitter);
|
|
224
|
+
}
|
|
191
225
|
}
|
|
@@ -0,0 +1,236 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
package com.facebook.react.uimanager.events;
|
|
9
|
+
|
|
10
|
+
import com.facebook.common.logging.FLog;
|
|
11
|
+
import com.facebook.infer.annotation.Assertions;
|
|
12
|
+
import com.facebook.react.bridge.LifecycleEventListener;
|
|
13
|
+
import com.facebook.react.bridge.ReactApplicationContext;
|
|
14
|
+
import com.facebook.react.bridge.UiThreadUtil;
|
|
15
|
+
import com.facebook.react.common.build.ReactBuildConfig;
|
|
16
|
+
import com.facebook.react.modules.core.ChoreographerCompat;
|
|
17
|
+
import com.facebook.react.modules.core.ReactChoreographer;
|
|
18
|
+
import com.facebook.react.uimanager.common.UIManagerType;
|
|
19
|
+
import java.util.concurrent.CopyOnWriteArrayList;
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Class responsible for dispatching UI events to JS. The main purpose of this class is to act as an
|
|
23
|
+
* intermediary between UI code generating events and JS, making sure we don't send more events than
|
|
24
|
+
* JS can process.
|
|
25
|
+
*
|
|
26
|
+
* <p>To use it, create a subclass of {@link Event} and call {@link #dispatchEvent(Event)} whenever
|
|
27
|
+
* there's a UI event to dispatch.
|
|
28
|
+
*
|
|
29
|
+
* <p>This class works by installing a Choreographer frame callback on the main thread. This
|
|
30
|
+
* callback then enqueues a runnable on the JS thread (if one is not already pending) that is
|
|
31
|
+
* responsible for actually dispatch events to JS. This implementation depends on the properties
|
|
32
|
+
* that 1) FrameCallbacks run after UI events have been processed in Choreographer.java 2) when we
|
|
33
|
+
* enqueue a runnable on the JS queue thread, it won't be called until after any previously enqueued
|
|
34
|
+
* JS jobs have finished processing
|
|
35
|
+
*
|
|
36
|
+
* <p>If JS is taking a long time processing events, then the UI events generated on the UI thread
|
|
37
|
+
* can be coalesced into fewer events so that when the runnable runs, we don't overload JS with a
|
|
38
|
+
* ton of events and make it get even farther behind.
|
|
39
|
+
*
|
|
40
|
+
* <p>Ideally, we don't need this and JS is fast enough to process all the events each frame, but
|
|
41
|
+
* bad things happen, including load on CPUs from the system, and we should handle this case well.
|
|
42
|
+
*
|
|
43
|
+
* <p>== Event Cookies ==
|
|
44
|
+
*
|
|
45
|
+
* <p>An event cookie is made up of the event type id, view tag, and a custom coalescing key. Only
|
|
46
|
+
* Events that have the same cookie can be coalesced.
|
|
47
|
+
*
|
|
48
|
+
* <p>Event Cookie Composition: VIEW_TAG_MASK = 0x00000000ffffffff EVENT_TYPE_ID_MASK =
|
|
49
|
+
* 0x0000ffff00000000 COALESCING_KEY_MASK = 0xffff000000000000
|
|
50
|
+
*
|
|
51
|
+
* <p>This is a copy of EventDispatcherImpl, meant only to remove locking and synchronization.
|
|
52
|
+
*/
|
|
53
|
+
public class LockFreeEventDispatcherImpl implements EventDispatcher, LifecycleEventListener {
|
|
54
|
+
|
|
55
|
+
private final boolean DEBUG_MODE = ReactBuildConfig.DEBUG;
|
|
56
|
+
private final String TAG = LockFreeEventDispatcherImpl.class.getSimpleName();
|
|
57
|
+
|
|
58
|
+
private final ReactApplicationContext mReactContext;
|
|
59
|
+
private final CopyOnWriteArrayList<EventDispatcherListener> mListeners =
|
|
60
|
+
new CopyOnWriteArrayList<>();
|
|
61
|
+
private final CopyOnWriteArrayList<BatchEventDispatchedListener> mPostEventDispatchListeners =
|
|
62
|
+
new CopyOnWriteArrayList<>();
|
|
63
|
+
private final LockFreeEventDispatcherImpl.ScheduleDispatchFrameCallback mCurrentFrameCallback =
|
|
64
|
+
new LockFreeEventDispatcherImpl.ScheduleDispatchFrameCallback();
|
|
65
|
+
|
|
66
|
+
private volatile ReactEventEmitter mReactEventEmitter;
|
|
67
|
+
|
|
68
|
+
public LockFreeEventDispatcherImpl(ReactApplicationContext reactContext) {
|
|
69
|
+
mReactContext = reactContext;
|
|
70
|
+
mReactContext.addLifecycleEventListener(this);
|
|
71
|
+
mReactEventEmitter = new ReactEventEmitter(mReactContext);
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
/** Sends the given Event to C++, where it will be flushed to JS ASAP. */
|
|
75
|
+
public void dispatchEvent(Event event) {
|
|
76
|
+
Assertions.assertCondition(event.isInitialized(), "Dispatched event hasn't been initialized");
|
|
77
|
+
Assertions.assertNotNull(mReactEventEmitter);
|
|
78
|
+
|
|
79
|
+
if (DEBUG_MODE) {
|
|
80
|
+
FLog.v(TAG, "dispatchEvent: " + event.toString());
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
for (EventDispatcherListener listener : mListeners) {
|
|
84
|
+
listener.onEventDispatch(event);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
event.dispatchModernV2(mReactEventEmitter);
|
|
88
|
+
event.dispose();
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
public void dispatchAllEvents() {
|
|
92
|
+
maybePostFrameCallbackFromNonUI();
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
private void maybePostFrameCallbackFromNonUI() {
|
|
96
|
+
if (mReactEventEmitter != null) {
|
|
97
|
+
// If the host activity is paused, the frame callback may not be currently
|
|
98
|
+
// posted. Ensure that it is so that this event gets delivered promptly.
|
|
99
|
+
mCurrentFrameCallback.maybePostFromNonUI();
|
|
100
|
+
} else {
|
|
101
|
+
// No JS application has started yet, or resumed. This can happen when a ReactRootView is
|
|
102
|
+
// added to view hierarchy, but ReactContext creation has not completed yet. In this case, any
|
|
103
|
+
// touch event dispatch will hit this codepath, and we simply queue them so that they
|
|
104
|
+
// are dispatched once ReactContext creation completes and JS app is running.
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
/** Add a listener to this EventDispatcher. */
|
|
109
|
+
public void addListener(EventDispatcherListener listener) {
|
|
110
|
+
mListeners.add(listener);
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
/** Remove a listener from this EventDispatcher. */
|
|
114
|
+
public void removeListener(EventDispatcherListener listener) {
|
|
115
|
+
mListeners.remove(listener);
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
public void addBatchEventDispatchedListener(BatchEventDispatchedListener listener) {
|
|
119
|
+
mPostEventDispatchListeners.add(listener);
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
public void removeBatchEventDispatchedListener(BatchEventDispatchedListener listener) {
|
|
123
|
+
mPostEventDispatchListeners.remove(listener);
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
@Override
|
|
127
|
+
public void onHostResume() {
|
|
128
|
+
maybePostFrameCallbackFromNonUI();
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
@Override
|
|
132
|
+
public void onHostPause() {
|
|
133
|
+
stopFrameCallback();
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
@Override
|
|
137
|
+
public void onHostDestroy() {
|
|
138
|
+
stopFrameCallback();
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
public void onCatalystInstanceDestroyed() {
|
|
142
|
+
UiThreadUtil.runOnUiThread(
|
|
143
|
+
new Runnable() {
|
|
144
|
+
@Override
|
|
145
|
+
public void run() {
|
|
146
|
+
stopFrameCallback();
|
|
147
|
+
}
|
|
148
|
+
});
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
private void stopFrameCallback() {
|
|
152
|
+
UiThreadUtil.assertOnUiThread();
|
|
153
|
+
mCurrentFrameCallback.stop();
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
public void registerEventEmitter(@UIManagerType int uiManagerType, RCTEventEmitter eventEmitter) {
|
|
157
|
+
mReactEventEmitter.register(uiManagerType, eventEmitter);
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
public void registerEventEmitter(
|
|
161
|
+
@UIManagerType int uiManagerType, RCTModernEventEmitter eventEmitter) {
|
|
162
|
+
mReactEventEmitter.register(uiManagerType, eventEmitter);
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
public void unregisterEventEmitter(@UIManagerType int uiManagerType) {
|
|
166
|
+
mReactEventEmitter.unregister(uiManagerType);
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
private class ScheduleDispatchFrameCallback extends ChoreographerCompat.FrameCallback {
|
|
170
|
+
private volatile boolean mIsPosted = false;
|
|
171
|
+
private boolean mShouldStop = false;
|
|
172
|
+
|
|
173
|
+
@Override
|
|
174
|
+
public void doFrame(long frameTimeNanos) {
|
|
175
|
+
UiThreadUtil.assertOnUiThread();
|
|
176
|
+
|
|
177
|
+
if (mShouldStop) {
|
|
178
|
+
mIsPosted = false;
|
|
179
|
+
} else {
|
|
180
|
+
post();
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
driveEventBeats();
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
public void stop() {
|
|
187
|
+
mShouldStop = true;
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
public void maybePost() {
|
|
191
|
+
if (!mIsPosted) {
|
|
192
|
+
mIsPosted = true;
|
|
193
|
+
post();
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
private void post() {
|
|
198
|
+
ReactChoreographer.getInstance()
|
|
199
|
+
.postFrameCallback(ReactChoreographer.CallbackType.TIMERS_EVENTS, mCurrentFrameCallback);
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
public void maybePostFromNonUI() {
|
|
203
|
+
if (mIsPosted) {
|
|
204
|
+
return;
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
// We should only hit this slow path when we receive events while the host activity is paused.
|
|
208
|
+
if (mReactContext.isOnUiQueueThread()) {
|
|
209
|
+
maybePost();
|
|
210
|
+
} else {
|
|
211
|
+
mReactContext.runOnUiQueueThread(
|
|
212
|
+
new Runnable() {
|
|
213
|
+
@Override
|
|
214
|
+
public void run() {
|
|
215
|
+
maybePost();
|
|
216
|
+
}
|
|
217
|
+
});
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
/**
|
|
223
|
+
* Is this a misnomer? It's called "driveEventBeats" but then is just calls
|
|
224
|
+
* `onBatchEventDispatched` listeners? Practically, all that `onBatchEventDispatched` is used for
|
|
225
|
+
* in Fabric is to drive AsyncEventBeats.
|
|
226
|
+
*
|
|
227
|
+
* <p>If this class ships for Fabric, we should remove `driveEventBeats` from here entirely,
|
|
228
|
+
* because it no longer needs to be connected to this event dispatcher. We should/probably can
|
|
229
|
+
* also delete `onRequestEventBeat` entirely.
|
|
230
|
+
*/
|
|
231
|
+
private void driveEventBeats() {
|
|
232
|
+
for (BatchEventDispatchedListener listener : mPostEventDispatchListeners) {
|
|
233
|
+
listener.onBatchEventDispatched();
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
}
|
package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTModernEventEmitter.java
CHANGED
|
@@ -21,4 +21,12 @@ import com.facebook.react.bridge.WritableMap;
|
|
|
21
21
|
*/
|
|
22
22
|
public interface RCTModernEventEmitter extends RCTEventEmitter {
|
|
23
23
|
void receiveEvent(int surfaceId, int targetTag, String eventName, @Nullable WritableMap event);
|
|
24
|
+
|
|
25
|
+
void receiveEvent(
|
|
26
|
+
int surfaceId,
|
|
27
|
+
int targetTag,
|
|
28
|
+
String eventName,
|
|
29
|
+
boolean canCoalesceEvent,
|
|
30
|
+
int customCoalesceKey,
|
|
31
|
+
@Nullable WritableMap event);
|
|
24
32
|
}
|
package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/ReactEventEmitter.java
CHANGED
|
@@ -13,7 +13,7 @@ import androidx.annotation.Nullable;
|
|
|
13
13
|
import com.facebook.infer.annotation.Assertions;
|
|
14
14
|
import com.facebook.react.bridge.ReactApplicationContext;
|
|
15
15
|
import com.facebook.react.bridge.ReactNoCrashSoftException;
|
|
16
|
-
import com.facebook.react.bridge.
|
|
16
|
+
import com.facebook.react.bridge.ReactSoftExceptionLogger;
|
|
17
17
|
import com.facebook.react.bridge.WritableArray;
|
|
18
18
|
import com.facebook.react.bridge.WritableMap;
|
|
19
19
|
import com.facebook.react.uimanager.common.UIManagerType;
|
|
@@ -59,6 +59,14 @@ public class ReactEventEmitter implements RCTModernEventEmitter {
|
|
|
59
59
|
receiveEvent(-1, targetReactTag, eventName, event);
|
|
60
60
|
}
|
|
61
61
|
|
|
62
|
+
@Override
|
|
63
|
+
public void receiveEvent(
|
|
64
|
+
int surfaceId, int targetTag, String eventName, @Nullable WritableMap event) {
|
|
65
|
+
// The two additional params here, `canCoalesceEvent` and `customCoalesceKey`, have no
|
|
66
|
+
// meaning outside of Fabric.
|
|
67
|
+
receiveEvent(surfaceId, targetTag, eventName, false, 0, event);
|
|
68
|
+
}
|
|
69
|
+
|
|
62
70
|
@Override
|
|
63
71
|
public void receiveTouches(
|
|
64
72
|
String eventName, WritableArray touches, WritableArray changedIndices) {
|
|
@@ -71,7 +79,7 @@ public class ReactEventEmitter implements RCTModernEventEmitter {
|
|
|
71
79
|
} else if (uiManagerType == UIManagerType.DEFAULT && getEventEmitter(reactTag) != null) {
|
|
72
80
|
mRCTEventEmitter.receiveTouches(eventName, touches, changedIndices);
|
|
73
81
|
} else {
|
|
74
|
-
|
|
82
|
+
ReactSoftExceptionLogger.logSoftException(
|
|
75
83
|
TAG,
|
|
76
84
|
new ReactNoCrashSoftException(
|
|
77
85
|
"Cannot find EventEmitter for receivedTouches: ReactTag["
|
|
@@ -92,7 +100,7 @@ public class ReactEventEmitter implements RCTModernEventEmitter {
|
|
|
92
100
|
if (mReactContext.hasActiveReactInstance()) {
|
|
93
101
|
mRCTEventEmitter = mReactContext.getJSModule(RCTEventEmitter.class);
|
|
94
102
|
} else {
|
|
95
|
-
|
|
103
|
+
ReactSoftExceptionLogger.logSoftException(
|
|
96
104
|
TAG,
|
|
97
105
|
new ReactNoCrashSoftException(
|
|
98
106
|
"Cannot get RCTEventEmitter from Context for reactTag: "
|
|
@@ -107,14 +115,20 @@ public class ReactEventEmitter implements RCTModernEventEmitter {
|
|
|
107
115
|
|
|
108
116
|
@Override
|
|
109
117
|
public void receiveEvent(
|
|
110
|
-
int surfaceId,
|
|
118
|
+
int surfaceId,
|
|
119
|
+
int targetReactTag,
|
|
120
|
+
String eventName,
|
|
121
|
+
boolean canCoalesceEvent,
|
|
122
|
+
int customCoalesceKey,
|
|
123
|
+
@Nullable WritableMap event) {
|
|
111
124
|
@UIManagerType int uiManagerType = ViewUtil.getUIManagerType(targetReactTag);
|
|
112
125
|
if (uiManagerType == UIManagerType.FABRIC && mFabricEventEmitter != null) {
|
|
113
|
-
mFabricEventEmitter.receiveEvent(
|
|
126
|
+
mFabricEventEmitter.receiveEvent(
|
|
127
|
+
surfaceId, targetReactTag, eventName, canCoalesceEvent, customCoalesceKey, event);
|
|
114
128
|
} else if (uiManagerType == UIManagerType.DEFAULT && getEventEmitter(targetReactTag) != null) {
|
|
115
129
|
mRCTEventEmitter.receiveEvent(targetReactTag, eventName, event);
|
|
116
130
|
} else {
|
|
117
|
-
|
|
131
|
+
ReactSoftExceptionLogger.logSoftException(
|
|
118
132
|
TAG,
|
|
119
133
|
new ReactNoCrashSoftException(
|
|
120
134
|
"Cannot find EventEmitter for receiveEvent: SurfaceId["
|
|
@@ -11,6 +11,7 @@ import android.view.MotionEvent;
|
|
|
11
11
|
import androidx.annotation.Nullable;
|
|
12
12
|
import androidx.core.util.Pools;
|
|
13
13
|
import com.facebook.infer.annotation.Assertions;
|
|
14
|
+
import com.facebook.react.bridge.ReactSoftExceptionLogger;
|
|
14
15
|
import com.facebook.react.bridge.SoftAssertions;
|
|
15
16
|
|
|
16
17
|
/**
|
|
@@ -22,6 +23,7 @@ import com.facebook.react.bridge.SoftAssertions;
|
|
|
22
23
|
* these coalescing keys are determined.
|
|
23
24
|
*/
|
|
24
25
|
public class TouchEvent extends Event<TouchEvent> {
|
|
26
|
+
private static final String TAG = TouchEvent.class.getSimpleName();
|
|
25
27
|
|
|
26
28
|
private static final int TOUCH_EVENTS_POOL_SIZE = 3;
|
|
27
29
|
|
|
@@ -43,7 +45,7 @@ public class TouchEvent extends Event<TouchEvent> {
|
|
|
43
45
|
-1,
|
|
44
46
|
viewTag,
|
|
45
47
|
touchEventType,
|
|
46
|
-
motionEventToCopy,
|
|
48
|
+
Assertions.assertNotNull(motionEventToCopy),
|
|
47
49
|
gestureStartTime,
|
|
48
50
|
viewX,
|
|
49
51
|
viewY,
|
|
@@ -67,7 +69,7 @@ public class TouchEvent extends Event<TouchEvent> {
|
|
|
67
69
|
surfaceId,
|
|
68
70
|
viewTag,
|
|
69
71
|
touchEventType,
|
|
70
|
-
motionEventToCopy,
|
|
72
|
+
Assertions.assertNotNull(motionEventToCopy),
|
|
71
73
|
gestureStartTime,
|
|
72
74
|
viewX,
|
|
73
75
|
viewY,
|
|
@@ -94,7 +96,7 @@ public class TouchEvent extends Event<TouchEvent> {
|
|
|
94
96
|
float viewX,
|
|
95
97
|
float viewY,
|
|
96
98
|
TouchEventCoalescingKeyHelper touchEventCoalescingKeyHelper) {
|
|
97
|
-
super.init(surfaceId, viewTag);
|
|
99
|
+
super.init(surfaceId, viewTag, motionEventToCopy.getEventTime());
|
|
98
100
|
|
|
99
101
|
SoftAssertions.assertCondition(
|
|
100
102
|
gestureStartTime != UNSET, "Gesture start time must be initialized");
|
|
@@ -129,9 +131,25 @@ public class TouchEvent extends Event<TouchEvent> {
|
|
|
129
131
|
|
|
130
132
|
@Override
|
|
131
133
|
public void onDispose() {
|
|
132
|
-
|
|
134
|
+
MotionEvent motionEvent = mMotionEvent;
|
|
133
135
|
mMotionEvent = null;
|
|
134
|
-
|
|
136
|
+
if (motionEvent != null) {
|
|
137
|
+
motionEvent.recycle();
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
// Either `this` is in the event pool, or motionEvent
|
|
141
|
+
// is null. It is in theory not possible for a TouchEvent to
|
|
142
|
+
// be in the EVENTS_POOL but for motionEvent to be null. However,
|
|
143
|
+
// out of an abundance of caution and to avoid memory leaks or
|
|
144
|
+
// other crashes at all costs, we attempt to release here and log
|
|
145
|
+
// a soft exception here if release throws an IllegalStateException
|
|
146
|
+
// due to `this` being over-released. This may indicate that there is
|
|
147
|
+
// a logic error in our events system or pooling mechanism.
|
|
148
|
+
try {
|
|
149
|
+
EVENTS_POOL.release(this);
|
|
150
|
+
} catch (IllegalStateException e) {
|
|
151
|
+
ReactSoftExceptionLogger.logSoftException(TAG, e);
|
|
152
|
+
}
|
|
135
153
|
}
|
|
136
154
|
|
|
137
155
|
@Override
|
|
@@ -163,6 +181,13 @@ public class TouchEvent extends Event<TouchEvent> {
|
|
|
163
181
|
|
|
164
182
|
@Override
|
|
165
183
|
public void dispatch(RCTEventEmitter rctEventEmitter) {
|
|
184
|
+
if (!hasMotionEvent()) {
|
|
185
|
+
ReactSoftExceptionLogger.logSoftException(
|
|
186
|
+
TAG,
|
|
187
|
+
new IllegalStateException(
|
|
188
|
+
"Cannot dispatch a TouchEvent that has no MotionEvent; the TouchEvent has been recycled"));
|
|
189
|
+
return;
|
|
190
|
+
}
|
|
166
191
|
TouchesHelper.sendTouchEvent(
|
|
167
192
|
rctEventEmitter,
|
|
168
193
|
Assertions.assertNotNull(mTouchEventType),
|
|
@@ -181,6 +206,10 @@ public class TouchEvent extends Event<TouchEvent> {
|
|
|
181
206
|
return mMotionEvent;
|
|
182
207
|
}
|
|
183
208
|
|
|
209
|
+
private boolean hasMotionEvent() {
|
|
210
|
+
return mMotionEvent != null;
|
|
211
|
+
}
|
|
212
|
+
|
|
184
213
|
public float getViewX() {
|
|
185
214
|
return mViewX;
|
|
186
215
|
}
|
|
@@ -64,7 +64,7 @@ public class TouchesHelper {
|
|
|
64
64
|
touch.putDouble(LOCATION_Y_KEY, PixelUtil.toDIPFromPixel(locationY));
|
|
65
65
|
touch.putInt(TARGET_SURFACE_KEY, surfaceId);
|
|
66
66
|
touch.putInt(TARGET_KEY, reactTarget);
|
|
67
|
-
touch.putDouble(TIMESTAMP_KEY, event.
|
|
67
|
+
touch.putDouble(TIMESTAMP_KEY, event.getTimestampMs());
|
|
68
68
|
touch.putDouble(POINTER_IDENTIFIER_KEY, motionEvent.getPointerId(index));
|
|
69
69
|
touches.pushMap(touch);
|
|
70
70
|
}
|
|
@@ -9,6 +9,7 @@ package com.facebook.react.uimanager;
|
|
|
9
9
|
|
|
10
10
|
import android.graphics.Color;
|
|
11
11
|
import com.facebook.react.bridge.ReadableMap;
|
|
12
|
+
import com.facebook.react.bridge.ReadableType;
|
|
12
13
|
import java.util.Arrays;
|
|
13
14
|
import java.util.HashSet;
|
|
14
15
|
|
|
@@ -258,8 +259,14 @@ public class ViewProps {
|
|
|
258
259
|
// Ignore if explicitly set to default opacity.
|
|
259
260
|
return map.isNull(OPACITY) || map.getDouble(OPACITY) == 1d;
|
|
260
261
|
case BORDER_RADIUS: // Without a background color or border width set, a border won't show.
|
|
261
|
-
if (map.hasKey(BACKGROUND_COLOR)
|
|
262
|
-
|
|
262
|
+
if (map.hasKey(BACKGROUND_COLOR)) {
|
|
263
|
+
ReadableType valueType = map.getType(BACKGROUND_COLOR);
|
|
264
|
+
if (valueType == ReadableType.Number
|
|
265
|
+
&& map.getInt(BACKGROUND_COLOR) != Color.TRANSPARENT) {
|
|
266
|
+
return false;
|
|
267
|
+
} else if (valueType != ReadableType.Null) {
|
|
268
|
+
return false;
|
|
269
|
+
}
|
|
263
270
|
}
|
|
264
271
|
if (map.hasKey(BORDER_WIDTH)
|
|
265
272
|
&& !map.isNull(BORDER_WIDTH)
|
|
@@ -19,7 +19,7 @@ rn_xplat_cxx_library(
|
|
|
19
19
|
],
|
|
20
20
|
fbandroid_allow_jni_merging = True,
|
|
21
21
|
labels = ["supermodule:xplat/default/public.react_native.infra"],
|
|
22
|
-
platforms =
|
|
22
|
+
platforms = ANDROID,
|
|
23
23
|
preprocessor_flags = [
|
|
24
24
|
"-DLOG_TAG=\"ReactNative\"",
|
|
25
25
|
"-DWITH_FBSYSTRACE=1",
|
package/ReactAndroid/src/main/java/com/facebook/react/uimanager/jni/ComponentNameResolverManager.cpp
CHANGED
|
@@ -5,7 +5,6 @@
|
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
#include <memory>
|
|
9
8
|
#include <string>
|
|
10
9
|
|
|
11
10
|
#include <fbjni/fbjni.h>
|
|
@@ -18,6 +17,8 @@
|
|
|
18
17
|
namespace facebook {
|
|
19
18
|
namespace react {
|
|
20
19
|
|
|
20
|
+
using namespace facebook::jni;
|
|
21
|
+
|
|
21
22
|
ComponentNameResolverManager::ComponentNameResolverManager(
|
|
22
23
|
jni::alias_ref<ComponentNameResolverManager::javaobject> jThis,
|
|
23
24
|
RuntimeExecutor runtimeExecutor,
|
package/ReactAndroid/src/main/java/com/facebook/react/uimanager/jni/ComponentNameResolverManager.h
CHANGED
|
@@ -10,20 +10,14 @@
|
|
|
10
10
|
#include <ReactCommon/CallInvokerHolder.h>
|
|
11
11
|
#include <ReactCommon/RuntimeExecutor.h>
|
|
12
12
|
#include <fbjni/fbjni.h>
|
|
13
|
-
#include <jsi/jsi.h>
|
|
14
13
|
#include <react/jni/JRuntimeExecutor.h>
|
|
15
|
-
#include <memory>
|
|
16
14
|
#include <set>
|
|
17
|
-
#include <unordered_map>
|
|
18
|
-
|
|
19
|
-
using namespace facebook::jni;
|
|
20
|
-
using namespace facebook::jsi;
|
|
21
15
|
|
|
22
16
|
namespace facebook {
|
|
23
17
|
namespace react {
|
|
24
18
|
|
|
25
19
|
class ComponentNameResolverManager
|
|
26
|
-
: public jni::HybridClass<ComponentNameResolverManager> {
|
|
20
|
+
: public facebook::jni::HybridClass<ComponentNameResolverManager> {
|
|
27
21
|
public:
|
|
28
22
|
static auto constexpr kJavaDescriptor =
|
|
29
23
|
"Lcom/facebook/react/uimanager/ComponentNameResolverManager;";
|
|
@@ -31,28 +25,29 @@ class ComponentNameResolverManager
|
|
|
31
25
|
constexpr static auto ComponentNameResolverJavaDescriptor =
|
|
32
26
|
"com/facebook/react/uimanager/ComponentNameResolver";
|
|
33
27
|
|
|
34
|
-
static jni::local_ref<jhybriddata> initHybrid(
|
|
35
|
-
jni::alias_ref<jhybridobject> jThis,
|
|
36
|
-
jni::alias_ref<JRuntimeExecutor::javaobject> runtimeExecutor,
|
|
37
|
-
jni::alias_ref<jobject> componentNameResolver);
|
|
28
|
+
static facebook::jni::local_ref<jhybriddata> initHybrid(
|
|
29
|
+
facebook::jni::alias_ref<jhybridobject> jThis,
|
|
30
|
+
facebook::jni::alias_ref<JRuntimeExecutor::javaobject> runtimeExecutor,
|
|
31
|
+
facebook::jni::alias_ref<jobject> componentNameResolver);
|
|
38
32
|
|
|
39
33
|
static void registerNatives();
|
|
40
34
|
|
|
41
35
|
private:
|
|
42
36
|
friend HybridBase;
|
|
43
|
-
jni::global_ref<ComponentNameResolverManager::javaobject> javaPart_;
|
|
37
|
+
facebook::jni::global_ref<ComponentNameResolverManager::javaobject> javaPart_;
|
|
44
38
|
RuntimeExecutor runtimeExecutor_;
|
|
45
39
|
|
|
46
|
-
jni::global_ref<jobject> componentNameResolver_;
|
|
40
|
+
facebook::jni::global_ref<jobject> componentNameResolver_;
|
|
47
41
|
|
|
48
42
|
std::set<std::string> componentNames_;
|
|
49
43
|
|
|
50
44
|
void installJSIBindings();
|
|
51
45
|
|
|
52
46
|
explicit ComponentNameResolverManager(
|
|
53
|
-
jni::alias_ref<ComponentNameResolverManager::jhybridobject>
|
|
47
|
+
facebook::jni::alias_ref<ComponentNameResolverManager::jhybridobject>
|
|
48
|
+
jThis,
|
|
54
49
|
RuntimeExecutor runtimeExecutor,
|
|
55
|
-
jni::alias_ref<jobject> componentNameResolver);
|
|
50
|
+
facebook::jni::alias_ref<jobject> componentNameResolver);
|
|
56
51
|
};
|
|
57
52
|
|
|
58
53
|
} // namespace react
|
|
@@ -26,6 +26,6 @@ rn_android_library(
|
|
|
26
26
|
react_native_target("java/com/facebook/react/uimanager:uimanager"),
|
|
27
27
|
react_native_target("java/com/facebook/react/uimanager/annotations:annotations"),
|
|
28
28
|
react_native_target("java/com/facebook/react/views/scroll:scroll"),
|
|
29
|
-
react_native_root_target("
|
|
29
|
+
react_native_root_target(":generated_components_java-FBReactNativeComponentSpec"),
|
|
30
30
|
],
|
|
31
31
|
)
|
package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/events/DrawerClosedEvent.java
CHANGED
|
@@ -33,10 +33,4 @@ public class DrawerClosedEvent extends Event<DrawerClosedEvent> {
|
|
|
33
33
|
protected WritableMap getEventData() {
|
|
34
34
|
return Arguments.createMap();
|
|
35
35
|
}
|
|
36
|
-
|
|
37
|
-
@Override
|
|
38
|
-
public short getCoalescingKey() {
|
|
39
|
-
// All events for a given view can be coalesced.
|
|
40
|
-
return 0;
|
|
41
|
-
}
|
|
42
36
|
}
|