react-native-tvos 0.68.2-7 → 0.69.5-0
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 +7 -0
- package/Libraries/ActionSheetIOS/NativeActionSheetManager.js +1 -0
- package/Libraries/ActionSheetIOS/React-RCTActionSheet.podspec +1 -1
- package/Libraries/Animated/AnimatedImplementation.js +1 -1
- package/Libraries/Animated/NativeAnimatedHelper.js +55 -9
- package/Libraries/Animated/NativeAnimatedModule.js +1 -0
- package/Libraries/Animated/NativeAnimatedTurboModule.js +1 -0
- package/Libraries/Animated/animations/TimingAnimation.js +6 -11
- package/Libraries/Animated/createAnimatedComponent.js +2 -2
- package/Libraries/Animated/nodes/AnimatedColor.js +95 -29
- package/Libraries/Animated/nodes/AnimatedInterpolation.js +19 -22
- package/Libraries/Animated/nodes/AnimatedNode.js +2 -2
- package/Libraries/Animated/nodes/AnimatedValue.js +1 -1
- package/Libraries/AppState/AppState.js +1 -1
- package/Libraries/Blob/RCTFileReaderModule.mm +31 -27
- package/Libraries/Blob/React-RCTBlob.podspec +2 -2
- package/Libraries/Blob/URL.js +7 -1
- package/Libraries/Components/Button.js +3 -0
- package/Libraries/Components/DatePickerAndroid/NativeDatePickerAndroid.js +5 -0
- package/Libraries/Components/Pressable/Pressable.js +3 -3
- package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +47 -38
- package/Libraries/Components/ScrollView/ScrollContentViewNativeComponent.js +15 -7
- package/Libraries/Components/ScrollView/ScrollView.js +1 -1
- package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +16 -3
- package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +3 -1
- package/Libraries/Components/Slider/Slider.js +0 -2
- package/Libraries/Components/Slider/SliderNativeComponent.js +0 -1
- package/Libraries/Components/StatusBar/StatusBar.js +6 -1
- package/Libraries/Components/Switch/Switch.js +11 -1
- package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +114 -109
- package/Libraries/Components/TextInput/RCTMultilineTextInputNativeComponent.js +17 -9
- package/Libraries/Components/TextInput/RCTSingelineTextInputNativeComponent.js +13 -5
- package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +10 -0
- package/Libraries/Components/TextInput/TextInput.js +1 -8
- package/Libraries/Components/TextInput/TextInputState.js +10 -2
- package/Libraries/Components/Touchable/TouchableBounce.js +1 -0
- package/Libraries/Components/Touchable/TouchableHighlight.js +1 -0
- package/Libraries/Components/Touchable/TouchableNativeFeedback.js +1 -0
- package/Libraries/Components/Touchable/TouchableOpacity.js +7 -1
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +2 -0
- package/Libraries/Components/View/ReactNativeViewAttributes.js +1 -0
- package/Libraries/Components/View/ViewNativeComponent.js +68 -8
- package/Libraries/Components/View/ViewPropTypes.js +36 -4
- package/Libraries/Core/Devtools/parseHermesStack.js +1 -1
- package/Libraries/Core/ExceptionsManager.js +1 -1
- package/Libraries/Core/RawEventEmitter.js +38 -0
- package/Libraries/Core/ReactNativeVersion.js +2 -2
- package/Libraries/Core/polyfillPromise.js +32 -0
- package/Libraries/Core/setUpReactDevTools.js +3 -2
- package/Libraries/EventEmitter/NativeEventEmitter.js +3 -3
- package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +2 -1
- package/Libraries/EventEmitter/__mocks__/NativeEventEmitter.js +3 -3
- package/Libraries/Events/CustomEvent.js +32 -0
- package/Libraries/Events/EventPolyfill.js +239 -0
- package/Libraries/FBLazyVector/BUCK +4 -1
- package/Libraries/FBLazyVector/FBLazyVector.podspec +1 -1
- package/Libraries/Image/Image.android.js +0 -6
- package/Libraries/Image/Image.ios.js +0 -6
- package/Libraries/Image/ImageViewNativeComponent.js +18 -3
- package/Libraries/Image/RCTImageBlurUtils.m +8 -5
- package/Libraries/Image/RCTImageCache.h +3 -0
- package/Libraries/Image/RCTImageCache.m +8 -2
- package/Libraries/Image/RCTImageLoader.mm +14 -4
- package/Libraries/Image/RCTImageUtils.m +8 -7
- package/Libraries/Image/RCTUIImageViewAnimated.m +1 -1
- package/Libraries/Image/React-RCTImage.podspec +2 -2
- package/Libraries/Image/TextInlineImageNativeComponent.js +23 -15
- package/Libraries/Inspector/Inspector.js +2 -4
- package/Libraries/Interaction/BridgeSpyStallHandler.js +4 -3
- package/Libraries/Interaction/InteractionManager.js +1 -12
- package/Libraries/Interaction/TaskQueue.js +5 -4
- package/Libraries/LayoutAnimation/LayoutAnimation.js +13 -0
- package/Libraries/Linking/Linking.js +1 -1
- package/Libraries/LinkingIOS/React-RCTLinking.podspec +2 -2
- package/Libraries/Lists/FlatList.js +27 -6
- package/Libraries/Lists/VirtualizedList.js +71 -55
- package/Libraries/Lists/VirtualizedListContext.js +7 -3
- package/Libraries/Lists/VirtualizedSectionList.js +2 -2
- package/Libraries/LogBox/Data/LogBoxData.js +2 -2
- package/Libraries/LogBox/Data/LogBoxLog.js +1 -1
- package/Libraries/LogBox/Data/LogBoxSymbolication.js +1 -1
- package/Libraries/LogBox/Data/parseLogBoxLog.js +1 -1
- package/Libraries/LogBox/LogBox.js +2 -21
- package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +1 -0
- package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +2 -1
- package/Libraries/NativeAnimation/Drivers/RCTFrameAnimation.m +2 -2
- package/{ReactCommon/react/renderer/mounting/MountingTransactionMetadata.cpp → Libraries/NativeAnimation/Nodes/RCTColorAnimatedNode.h} +6 -4
- package/Libraries/NativeAnimation/Nodes/RCTColorAnimatedNode.m +30 -0
- package/Libraries/NativeAnimation/Nodes/RCTPropsAnimatedNode.m +11 -6
- package/Libraries/NativeAnimation/Nodes/RCTStyleAnimatedNode.m +8 -4
- package/Libraries/NativeAnimation/RCTNativeAnimatedModule.mm +8 -0
- package/Libraries/NativeAnimation/RCTNativeAnimatedNodesManager.h +3 -0
- package/Libraries/NativeAnimation/RCTNativeAnimatedNodesManager.m +8 -0
- package/Libraries/NativeAnimation/RCTNativeAnimatedTurboModule.mm +8 -0
- package/Libraries/NativeAnimation/React-RCTAnimation.podspec +3 -3
- package/Libraries/NativeComponent/BaseViewConfig.android.js +295 -0
- package/Libraries/NativeComponent/BaseViewConfig.ios.js +333 -0
- package/Libraries/NativeComponent/NativeComponentRegistry.js +0 -2
- package/Libraries/NativeComponent/PlatformBaseViewConfig.js +24 -0
- package/Libraries/NativeComponent/StaticViewConfigValidator.js +7 -42
- package/Libraries/NativeComponent/ViewConfig.js +4 -4
- package/Libraries/NativeComponent/ViewConfigIgnore.js +54 -0
- package/Libraries/Network/FormData.js +7 -1
- package/Libraries/Network/React-RCTNetwork.podspec +2 -2
- package/Libraries/Pressability/Pressability.js +115 -46
- package/Libraries/Pressability/PressabilityDebug.js +5 -9
- package/Libraries/PushNotificationIOS/NativePushNotificationManagerIOS.js +1 -0
- package/Libraries/PushNotificationIOS/RCTPushNotificationManager.mm +20 -8
- package/Libraries/PushNotificationIOS/React-RCTPushNotification.podspec +2 -2
- package/Libraries/RCTRequired/BUCK +4 -1
- package/Libraries/RCTRequired/RCTRequired.podspec +1 -1
- package/Libraries/ReactNative/AppContainer.js +1 -1
- package/Libraries/ReactNative/{DummyUIManager.js → BridgelessUIManager.js} +62 -40
- package/Libraries/ReactNative/ReactNativeFeatureFlags.js +39 -0
- package/Libraries/ReactNative/UIManager.js +2 -3
- package/Libraries/ReactNative/renderApplication.js +4 -0
- package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +8 -0
- package/Libraries/Renderer/REVISION +1 -1
- package/Libraries/Renderer/implementations/ReactFabric-dev.js +5908 -4906
- package/Libraries/Renderer/implementations/ReactFabric-prod.js +2100 -1918
- package/Libraries/Renderer/implementations/ReactFabric-profiling.js +2567 -2352
- package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +5610 -4844
- package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +1710 -1556
- package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +1830 -1639
- package/Libraries/Renderer/shims/ReactNativeTypes.js +2 -1
- package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +2 -1
- package/Libraries/Settings/React-RCTSettings.podspec +2 -2
- package/Libraries/StyleSheet/EdgeInsetsPropType.js +4 -1
- package/Libraries/StyleSheet/StyleSheetTypes.js +59 -66
- package/Libraries/StyleSheet/normalizeColor.js +1 -1
- package/Libraries/StyleSheet/private/_StyleSheetTypesOverrides.js +15 -0
- package/Libraries/StyleSheet/private/_TransformStyle.js +53 -0
- package/Libraries/SurfaceBackedComponent/RCTSurfaceBackedComponent.h +2 -0
- package/Libraries/SurfaceBackedComponent/RCTSurfaceBackedComponent.mm +20 -11
- package/Libraries/SurfaceBackedComponent/RCTSurfaceBackedComponentState.h +3 -3
- package/Libraries/SurfaceBackedComponent/RCTSurfaceBackedComponentState.mm +2 -4
- package/Libraries/SurfaceHostingComponent/RCTSurfaceHostingComponent+Internal.h +1 -2
- package/Libraries/SurfaceHostingComponent/RCTSurfaceHostingComponent.h +2 -3
- package/Libraries/SurfaceHostingComponent/RCTSurfaceHostingComponent.mm +16 -3
- package/Libraries/SurfaceHostingComponent/RCTSurfaceHostingComponentController.mm +26 -10
- package/Libraries/Text/React-RCTText.podspec +1 -1
- package/Libraries/Text/Text.js +13 -7
- package/Libraries/Text/TextNativeComponent.js +2 -0
- package/Libraries/Text/TextProps.js +10 -0
- package/Libraries/TypeSafety/RCTConvertHelpers.h +10 -9
- package/Libraries/TypeSafety/RCTConvertHelpers.mm +2 -2
- package/Libraries/TypeSafety/RCTTypeSafety.podspec +3 -8
- package/Libraries/Types/CoreEventTypes.js +13 -1
- package/Libraries/Utilities/Appearance.js +0 -8
- package/Libraries/Utilities/HMRClient.js +1 -1
- package/Libraries/Utilities/ReactNativeTestTools.js +1 -0
- package/Libraries/Utilities/codegenNativeComponent.js +16 -6
- package/Libraries/Utilities/stringifySafe.js +4 -1
- package/Libraries/Utilities/useColorScheme.js +9 -15
- package/Libraries/Utilities/verifyComponentAttributeEquivalence.js +3 -3
- package/Libraries/Vibration/React-RCTVibration.podspec +2 -2
- package/Libraries/WebSocket/WebSocket.js +1 -1
- package/Libraries/vendor/emitter/_EmitterSubscription.js +1 -1
- package/Libraries/vendor/emitter/_EventEmitter.js +1 -1
- package/Libraries/vendor/emitter/_EventSubscription.js +1 -1
- package/README.md +3 -3
- package/React/Base/RCTAssert.h +36 -15
- package/React/Base/RCTAssert.m +65 -19
- package/React/Base/RCTBridge.m +2 -4
- package/React/Base/RCTBridgeModule.h +3 -0
- package/React/Base/RCTBridgeModuleDecorator.h +35 -0
- package/React/Base/RCTBridgeModuleDecorator.m +73 -0
- package/React/Base/RCTConstants.h +18 -0
- package/React/Base/RCTConstants.m +46 -0
- package/React/Base/RCTJavaScriptLoader.h +1 -4
- package/React/Base/RCTJavaScriptLoader.mm +11 -17
- package/React/Base/RCTLog.h +17 -0
- package/React/Base/RCTLog.mm +31 -2
- package/React/Base/RCTModuleData.mm +8 -74
- package/React/Base/RCTVersion.m +2 -2
- package/React/Base/RCTViewRegistry.m +24 -0
- package/React/Base/Surface/RCTSurface.mm +2 -1
- package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingView.mm +0 -1
- package/React/CoreModules/BUCK +1 -0
- package/React/CoreModules/RCTAccessibilityManager.mm +2 -2
- package/React/CoreModules/RCTActionSheetManager.mm +38 -9
- package/React/CoreModules/RCTDevMenu.h +5 -0
- package/React/CoreModules/RCTDevMenu.mm +68 -25
- package/React/CoreModules/RCTDeviceInfo.mm +17 -11
- package/React/CoreModules/RCTEventDispatcher.mm +2 -2
- package/React/CoreModules/RCTExceptionsManager.h +5 -3
- package/React/CoreModules/RCTExceptionsManager.mm +44 -12
- package/React/CoreModules/RCTFPSGraph.m +3 -3
- package/React/CoreModules/RCTLogBox.mm +17 -9
- package/React/CoreModules/RCTLogBoxView.h +3 -1
- package/React/CoreModules/RCTLogBoxView.mm +41 -12
- package/React/CoreModules/RCTPlatform.mm +2 -0
- package/React/CoreModules/RCTRedBox.mm +2 -2
- package/React/CoreModules/RCTStatusBarManager.mm +1 -1
- package/React/CoreModules/React-CoreModules.podspec +2 -2
- package/React/CxxBridge/RCTCxxBridge.mm +25 -58
- package/React/CxxBridge/RCTJSIExecutorRuntimeInstaller.mm +8 -2
- package/React/FBReactNativeSpec/FBReactNativeSpec.podspec +2 -2
- package/React/Fabric/Mounting/ComponentViews/LegacyViewManagerInterop/RCTLegacyViewManagerInteropComponentView.h +1 -0
- package/React/Fabric/Mounting/ComponentViews/LegacyViewManagerInterop/RCTLegacyViewManagerInteropComponentView.mm +77 -19
- package/React/Fabric/Mounting/ComponentViews/Modal/RCTModalHostViewComponentView.mm +2 -1
- package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +28 -7
- package/React/Fabric/Mounting/ComponentViews/Text/RCTParagraphComponentAccessibilityProvider.mm +1 -0
- package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +2 -2
- package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputUtils.h +4 -3
- package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputUtils.mm +2 -2
- package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +29 -16
- package/React/Fabric/Mounting/RCTComponentViewFactory.mm +2 -2
- package/React/Fabric/Mounting/RCTMountingManager.mm +13 -6
- package/React/Fabric/Mounting/RCTMountingTransactionObserverCoordinator.h +5 -3
- package/React/Fabric/Mounting/RCTMountingTransactionObserverCoordinator.mm +10 -8
- package/React/Fabric/Mounting/RCTMountingTransactionObserving.h +5 -3
- package/React/Fabric/RCTConversions.h +9 -1
- package/React/Fabric/RCTLocalizationProvider.mm +10 -4
- package/React/Fabric/RCTScheduler.h +7 -0
- package/React/Fabric/RCTScheduler.mm +15 -0
- package/React/Fabric/RCTSurfacePresenter.h +8 -0
- package/React/Fabric/RCTSurfacePresenter.mm +65 -15
- package/React/Fabric/RCTSurfaceTouchHandler.mm +168 -0
- package/React/Fabric/Surface/RCTFabricSurface.mm +1 -1
- package/React/Modules/RCTSurfacePresenterStub.h +4 -0
- package/React/Modules/RCTUIManager.m +26 -1
- package/React/React-RCTFabric.podspec +3 -2
- package/React/Views/RCTBorderDrawing.m +176 -173
- package/React/Views/RCTComponent.h +1 -0
- package/React/Views/RCTComponentData.m +11 -1
- package/React/Views/RCTDatePickerManager.m +5 -6
- package/React/Views/RCTModalHostView.h +1 -1
- package/React/Views/RCTShadowView.h +2 -0
- package/React/Views/RCTView.h +10 -0
- package/React/Views/RCTView.m +34 -17
- package/React/Views/RCTViewManager.m +37 -2
- package/React/Views/UIView+React.h +1 -0
- package/React/Views/UIView+React.m +11 -0
- package/React/third-party.xcconfig +1 -1
- package/React-Core.podspec +1 -1
- package/React.podspec +1 -1
- package/ReactAndroid/Android-prebuilt.mk +7 -13
- package/ReactAndroid/build.gradle +76 -76
- package/ReactAndroid/gradle.properties +3 -2
- package/ReactAndroid/hermes-engine/build.gradle +261 -0
- package/ReactAndroid/hermes-engine/gradle.properties +1 -0
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactAppTestActivity.java +4 -0
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactInstanceSpecForTest.java +13 -0
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactInstrumentationTest.java +8 -0
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/network/BUCK +4 -1
- package/ReactAndroid/src/androidTest/js/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/debug/holder/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/debug/tags/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/hermes/instrumentation/Android.mk +2 -5
- package/ReactAndroid/src/main/java/com/facebook/hermes/instrumentation/BUCK +8 -2
- package/ReactAndroid/src/main/java/com/facebook/hermes/instrumentation/CMakeLists.txt +31 -0
- package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/Android.mk +35 -34
- package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/CMakeLists.txt +41 -0
- package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/OnLoad.cpp +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/JSInterpreter.java +18 -0
- package/ReactAndroid/src/main/java/com/facebook/react/ReactActivityDelegate.java +33 -1
- package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +9 -27
- package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManagerBuilder.java +51 -31
- package/ReactAndroid/src/main/java/com/facebook/react/ReactNativeHost.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java +89 -12
- package/ReactAndroid/src/main/java/com/facebook/react/animated/AnimatedNodeWithUpdateableConfig.java +15 -0
- package/ReactAndroid/src/main/java/com/facebook/react/animated/BUCK +6 -1
- package/ReactAndroid/src/main/java/com/facebook/react/animated/ColorAnimatedNode.java +131 -0
- package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedModule.java +116 -45
- package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedNodesManager.java +17 -0
- package/ReactAndroid/src/main/java/com/facebook/react/animated/PropsAnimatedNode.java +14 -0
- package/ReactAndroid/src/main/java/com/facebook/react/animated/StyleAnimatedNode.java +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ActivityEventListener.java +2 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/BUCK +8 -2
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/BaseActivityEventListener.java +3 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaOnlyMap.java +4 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java +12 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactMarker.java +2 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactNoCrashBridgeNotAllowedSoftException.java +27 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactSoftExceptionLogger.java +6 -0
- package/ReactAndroid/src/main/java/com/facebook/react/common/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/common/SurfaceDelegate.java +3 -0
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/BUCK +8 -2
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/MapBuffer.kt +170 -0
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/MapBufferSoLoader.kt +33 -0
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/ReadableMapBuffer.kt +298 -0
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/WritableMapBuffer.kt +170 -0
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/Android.mk +0 -2
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/CMakeLists.txt +34 -0
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/react/common/mapbuffer/.clang-tidy +3 -0
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/react/common/mapbuffer/JReadableMapBuffer.cpp +43 -0
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/react/common/mapbuffer/{ReadableMapBuffer.h → JReadableMapBuffer.h} +5 -3
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/react/common/mapbuffer/JWritableMapBuffer.cpp +65 -0
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/react/common/mapbuffer/JWritableMapBuffer.h +23 -0
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/react/common/mapbuffer/OnLoad.cpp +3 -2
- package/ReactAndroid/src/main/java/com/facebook/react/common/network/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/config/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/config/ReactFeatureFlags.java +18 -5
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BUCK +8 -2
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BridgeDevSupportManager.java +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DefaultDevSupportManagerFactory.java +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.java +42 -51
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerFactory.java +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DisabledDevSupportManager.java +17 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DoubleTapReloadRecognizer.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LogBoxDialogSurfaceDelegate.java +5 -4
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/{RedBoxDialog.java → RedBoxContentView.java} +38 -29
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/RedBoxDialogSurfaceDelegate.java +126 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevSupportManager.java +7 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/{RedBoxHandler.java → interfaces/RedBoxHandler.java} +1 -3
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/BUCK +11 -5
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/DevToolsReactPerfLogger.java +148 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/EmptyReactNativeConfig.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricJSIModuleProvider.java +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +42 -29
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/ReactNativeConfig.java +5 -2
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/StateWrapperImpl.java +2 -1
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Android.mk +1 -2
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/{AsyncEventBeatV2.cpp → AsyncEventBeat.cpp} +6 -6
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/AsyncEventBeat.h +8 -40
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/BUCK +6 -3
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Binding.cpp +55 -36
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Binding.h +3 -2
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/CMakeLists.txt +70 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/EventEmitterWrapper.cpp +2 -15
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/EventEmitterWrapper.h +2 -4
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/FabricMountItem.cpp +5 -2
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/FabricMountItem.h +3 -1
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/FabricMountingManager.cpp +65 -71
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/FabricMountingManager.h +11 -9
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/JFabricUIManager.cpp +18 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/JFabricUIManager.h +25 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/ReactNativeConfigHolder.cpp +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/StateWrapperImpl.cpp +4 -4
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/StateWrapperImpl.h +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/viewPropConversions.h +527 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountingManager.java +19 -22
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.java +93 -29
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/IntBufferBatchMountItem.java +6 -9
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/MountItem.java +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/PreAllocateViewMountItem.java +2 -3
- package/ReactAndroid/src/main/java/com/facebook/react/jscexecutor/Android.mk +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/jscexecutor/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/jscexecutor/CMakeLists.txt +23 -0
- package/ReactAndroid/src/main/java/com/facebook/react/jstasks/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/jstasks/HeadlessJsTaskContext.java +8 -2
- package/ReactAndroid/src/main/java/com/facebook/react/module/annotations/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/module/model/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/module/processing/BUCK +6 -1
- package/ReactAndroid/src/main/java/com/facebook/react/module/processing/ReactModuleSpecProcessor.java +11 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/accessibilityinfo/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/appearance/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/appregistry/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/appstate/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/jni/Android.mk +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/jni/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/jni/CMakeLists.txt +22 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/bundleloader/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/camera/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/clipboard/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/common/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/common/ModuleDataCleaner.java +16 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/BUCK +8 -2
- package/ReactAndroid/src/main/java/com/facebook/react/modules/deviceinfo/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/dialog/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/fabric/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/i18nmanager/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/image/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/image/ImageLoaderModule.java +8 -5
- package/ReactAndroid/src/main/java/com/facebook/react/modules/intent/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/intent/IntentModule.java +7 -5
- package/ReactAndroid/src/main/java/com/facebook/react/modules/network/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ForwardingCookieHandler.java +9 -2
- package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkingModule.java +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ProgressiveStringDecoder.java +7 -7
- package/ReactAndroid/src/main/java/com/facebook/react/modules/permissions/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/share/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/sound/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/statusbar/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/statusbar/StatusBarModule.java +20 -8
- package/ReactAndroid/src/main/java/com/facebook/react/modules/storage/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/BUCK +8 -2
- package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/modules/toast/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/vibration/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/websocket/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/processing/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/reactperflogger/BUCK +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/reactperflogger/jni/BUCK +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/reactperflogger/jni/CMakeLists.txt +24 -0
- package/ReactAndroid/src/main/java/com/facebook/react/shell/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/surface/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/touch/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/BUCK +8 -2
- package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/interfaces/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/Android.mk +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/BUCK +8 -2
- package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/CMakeLists.txt +62 -0
- package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/ReactCommon/OnLoad.cpp +3 -3
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BUCK +45 -7
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java +148 -7
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/{interfaces/BaseViewManagerDelegate.java → BaseViewManagerDelegate.java} +0 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/{interfaces/BaseViewManagerInterface.java → BaseViewManagerInterface.java} +0 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/{interfaces/FloatUtil.java → FloatUtil.java} +0 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSPointerDispatcher.java +331 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/LayoutShadowNode.java +3 -3
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactAccessibilityDelegate.java +265 -21
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactRoot.java +1 -6
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/{interfaces/Spacing.java → Spacing.java} +0 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/StateWrapper.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TouchTargetHelper.java +57 -12
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java +0 -11
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModuleConstants.java +3 -3
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManager.java +42 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/{interfaces/ViewManagerDelegate.java → ViewManagerDelegate.java} +0 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/{interfaces/ViewProps.java → ViewProps.java} +0 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/annotations/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/common/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/LockFreeEventDispatcherImpl.java +7 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/NativeGestureUtil.java +5 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/PointerEvent.java +180 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/PointerEventHelper.java +75 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/jni/Android.mk +0 -2
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/jni/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/jni/CMakeLists.txt +26 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/util/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/util/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/util/JSStackTrace.java +5 -4
- package/ReactAndroid/src/main/java/com/facebook/react/views/common/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/image/BUCK +8 -3
- package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageView.java +3 -91
- package/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/BUCK +8 -2
- package/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/ResourceDrawableIdHelper.java +2 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/modal/BUCK +5 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.java +35 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +57 -17
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollViewManager.java +10 -7
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +60 -20
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewHelper.java +45 -11
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewManager.java +10 -7
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ScrollEvent.java +10 -10
- package/ReactAndroid/src/main/java/com/facebook/react/views/slider/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/slider/ReactSliderManager.java +7 -2
- package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/BUCK +12 -3
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactBaseTextShadowNode.java +14 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactClickableSpan.java +3 -6
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextAnchorViewManager.java +5 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextView.java +20 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManager.java +45 -9
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributeProps.java +31 -31
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.java +21 -17
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManagerMapBuffer.java +25 -31
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java +9 -4
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.java +12 -2
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputShadowNode.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/unimplementedview/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/BUCK +11 -2
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ColorUtil.java +19 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactMapBufferPropSetter.kt +468 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactMapBufferViewManager.kt +76 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewBackgroundDrawable.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewBackgroundManager.java +4 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManagerWrapper.kt +90 -0
- package/ReactAndroid/src/main/jni/CMakeLists.txt +102 -0
- package/ReactAndroid/src/main/jni/first-party/fb/BUCK +1 -1
- package/ReactAndroid/src/main/jni/first-party/fb/CMakeLists.txt +28 -0
- package/ReactAndroid/src/main/jni/first-party/fbgloginit/CMakeLists.txt +15 -0
- package/ReactAndroid/src/main/jni/first-party/fbjni/CMakeLists.txt +15 -0
- package/ReactAndroid/src/main/jni/first-party/hermes/CMakeLists.txt +13 -0
- package/ReactAndroid/src/main/jni/first-party/yogajni/CMakeLists.txt +20 -0
- package/ReactAndroid/src/main/jni/first-party/yogajni/jni/ScopedGlobalRef.h +1 -1
- package/ReactAndroid/src/main/jni/first-party/yogajni/jni/ScopedLocalRef.h +1 -1
- package/ReactAndroid/src/main/jni/react/jni/Android.mk +12 -5
- package/ReactAndroid/src/main/jni/react/jni/BUCK +4 -1
- package/ReactAndroid/src/main/jni/react/jni/CMakeLists.txt +44 -0
- package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.cpp +63 -32
- package/ReactAndroid/src/main/jni/react/jni/JSLoader.cpp +1 -1
- package/ReactAndroid/src/main/jni/react/jni/NativeTime.cpp +8 -2
- package/ReactAndroid/src/main/jni/react/jni/ReadableNativeArray.cpp +10 -0
- package/ReactAndroid/src/main/jni/react/jni/ReadableNativeArray.h +3 -1
- package/ReactAndroid/src/main/jni/react/jni/ReadableNativeMap.cpp +10 -0
- package/ReactAndroid/src/main/jni/react/jni/ReadableNativeMap.h +1 -1
- package/ReactAndroid/src/main/jni/third-party/boost/Android.mk +3 -3
- package/ReactAndroid/src/main/jni/third-party/boost/CMakeLists.txt +22 -0
- package/ReactAndroid/src/main/jni/third-party/boost/asm/{arm64 → arm64-v8a}/jump_arm64_aapcs_elf_gas.S +0 -0
- package/ReactAndroid/src/main/jni/third-party/boost/asm/{arm64 → arm64-v8a}/make_arm64_aapcs_elf_gas.S +0 -0
- package/ReactAndroid/src/main/jni/third-party/boost/asm/{arm64 → arm64-v8a}/ontop_arm64_aapcs_elf_gas.S +0 -0
- package/ReactAndroid/src/main/jni/third-party/boost/asm/{arm → armeabi-v7a}/jump_arm_aapcs_elf_gas.S +0 -0
- package/ReactAndroid/src/main/jni/third-party/boost/asm/{arm → armeabi-v7a}/make_arm_aapcs_elf_gas.S +0 -0
- package/ReactAndroid/src/main/jni/third-party/boost/asm/{arm → armeabi-v7a}/ontop_arm_aapcs_elf_gas.S +0 -0
- package/ReactAndroid/src/main/jni/third-party/double-conversion/CMakeLists.txt +23 -0
- package/ReactAndroid/src/main/jni/third-party/fmt/CMakeLists.txt +13 -0
- package/ReactAndroid/src/main/jni/third-party/folly/Android.mk +31 -31
- package/ReactAndroid/src/main/jni/third-party/folly/CMakeLists.txt +126 -0
- package/ReactAndroid/src/main/jni/third-party/glog/CMakeLists.txt +35 -0
- package/ReactAndroid/src/main/jni/third-party/jsc/CMakeLists.txt +15 -0
- package/ReactAndroid/src/main/jni/third-party/libevent/CMakeLists.txt +42 -0
- package/ReactAndroid/src/main/res/shell/values/styles.xml +3 -2
- package/ReactAndroid/src/main/res/views/uimanager/values/ids.xml +3 -0
- package/ReactAndroid/src/test/java/com/facebook/react/ReactActivityDelegateTest.kt +62 -0
- package/ReactAndroid/src/test/java/com/facebook/react/views/BUCK +5 -2
- package/ReactAndroid/src/test/java/com/facebook/react/views/view/ColorUtilTest.java +9 -0
- package/ReactAndroid/src/test/resources/BUCK +1 -0
- package/ReactCommon/React-Fabric.podspec +1 -1
- package/ReactCommon/React-bridging.podspec +42 -0
- package/ReactCommon/React-rncore.podspec +1 -1
- package/ReactCommon/ReactCommon.podspec +4 -3
- package/ReactCommon/butter/Android.mk +0 -2
- package/ReactCommon/butter/BUCK +4 -1
- package/ReactCommon/butter/CMakeLists.txt +20 -0
- package/ReactCommon/callinvoker/BUCK +4 -1
- package/ReactCommon/callinvoker/CMakeLists.txt +13 -0
- package/ReactCommon/callinvoker/React-callinvoker.podspec +1 -1
- package/ReactCommon/cxxreact/Android.mk +5 -2
- package/ReactCommon/cxxreact/BUCK +16 -4
- package/ReactCommon/cxxreact/CMakeLists.txt +29 -0
- package/ReactCommon/cxxreact/Instance.cpp +0 -35
- package/ReactCommon/cxxreact/Instance.h +0 -3
- package/ReactCommon/cxxreact/JSBundleType.cpp +13 -8
- package/ReactCommon/cxxreact/JSBundleType.h +15 -11
- package/ReactCommon/cxxreact/ModuleRegistry.cpp +1 -1
- package/ReactCommon/cxxreact/React-cxxreact.podspec +1 -1
- package/ReactCommon/cxxreact/ReactNativeVersion.h +2 -2
- package/ReactCommon/cxxreact/tests/BUCK +1 -1
- package/ReactCommon/hermes/React-hermes.podspec +1 -1
- package/ReactCommon/hermes/executor/Android.mk +23 -21
- package/ReactCommon/hermes/executor/CMakeLists.txt +29 -0
- package/ReactCommon/hermes/inspector/Android.mk +5 -4
- package/ReactCommon/hermes/inspector/CMakeLists.txt +32 -0
- package/ReactCommon/hermes/inspector/Exceptions.h +6 -0
- package/ReactCommon/hermes/inspector/Inspector.cpp +5 -2
- package/ReactCommon/hermes/inspector/Inspector.h +14 -0
- package/ReactCommon/hermes/inspector/InspectorState.cpp +16 -8
- package/ReactCommon/hermes/inspector/chrome/Connection.cpp +398 -1
- package/ReactCommon/hermes/inspector/chrome/MessageTypes.cpp +266 -12
- package/ReactCommon/hermes/inspector/chrome/MessageTypes.h +140 -2
- package/ReactCommon/hermes/inspector/chrome/tests/AsyncHermesRuntime.cpp +21 -0
- package/ReactCommon/hermes/inspector/chrome/tests/AsyncHermesRuntime.h +27 -0
- package/ReactCommon/hermes/inspector/chrome/tests/ConnectionTests.cpp +298 -7
- package/ReactCommon/hermes/inspector/chrome/tests/MessageTests.cpp +1071 -1
- package/ReactCommon/hermes/inspector/tools/message_types.txt +4 -0
- package/ReactCommon/hermes/inspector/tools/msggen/package.json +1 -1
- package/ReactCommon/hermes/inspector/tools/msggen/src/GeneratedHeader.js +1 -1
- package/ReactCommon/hermes/inspector/tools/msggen/src/ImplementationWriter.js +14 -1
- package/ReactCommon/hermes/inspector/tools/msggen/src/Property.js +1 -1
- package/ReactCommon/hermes/inspector/tools/msggen/src/index.js +17 -2
- package/ReactCommon/hermes/inspector/tools/msggen/yarn.lock +4 -4
- package/ReactCommon/hermes/inspector/tools/run_msggen +17 -12
- package/ReactCommon/jsi/Android.mk +2 -2
- package/ReactCommon/jsi/BUCK +12 -3
- package/ReactCommon/jsi/CMakeLists.txt +43 -0
- package/ReactCommon/jsi/JSCRuntime.cpp +8 -0
- package/ReactCommon/jsi/React-jsi.podspec +1 -1
- package/ReactCommon/jsi/jsi/decorator.h +3 -0
- package/ReactCommon/jsi/jsi/jsi.cpp +11 -0
- package/ReactCommon/jsi/jsi/jsi.h +24 -4
- package/ReactCommon/jsi/jsi/jsilib.h +1 -1
- package/ReactCommon/jsi/jsi/test/testlib.cpp +3 -1
- package/ReactCommon/jsiexecutor/Android.mk +1 -1
- package/ReactCommon/jsiexecutor/BUCK +4 -1
- package/ReactCommon/jsiexecutor/CMakeLists.txt +23 -0
- package/ReactCommon/jsiexecutor/React-jsiexecutor.podspec +1 -1
- package/ReactCommon/jsinspector/BUCK +4 -1
- package/ReactCommon/jsinspector/CMakeLists.txt +14 -0
- package/ReactCommon/jsinspector/React-jsinspector.podspec +1 -1
- package/ReactCommon/logger/BUCK +4 -1
- package/ReactCommon/logger/CMakeLists.txt +16 -0
- package/ReactCommon/logger/React-logger.podspec +1 -1
- package/ReactCommon/microprofiler/BUCK +5 -2
- package/ReactCommon/react/bridging/AString.h +42 -0
- package/ReactCommon/react/bridging/Android.mk +27 -0
- package/ReactCommon/react/bridging/Array.h +108 -0
- package/ReactCommon/react/bridging/BUCK +57 -0
- package/ReactCommon/react/bridging/Base.h +154 -0
- package/ReactCommon/react/bridging/Bool.h +25 -0
- package/ReactCommon/react/bridging/Bridging.h +19 -0
- package/ReactCommon/react/bridging/CMakeLists.txt +17 -0
- package/ReactCommon/react/bridging/CallbackWrapper.h +103 -0
- package/ReactCommon/react/bridging/Class.h +71 -0
- package/ReactCommon/react/bridging/Convert.h +153 -0
- package/ReactCommon/react/bridging/Error.h +51 -0
- package/ReactCommon/react/bridging/Function.h +214 -0
- package/ReactCommon/react/{nativemodule/core/ReactCommon → bridging}/LongLivedObject.cpp +5 -0
- package/ReactCommon/react/bridging/LongLivedObject.h +58 -0
- package/ReactCommon/react/bridging/Number.h +47 -0
- package/ReactCommon/react/bridging/Object.h +100 -0
- package/ReactCommon/react/bridging/Promise.h +102 -0
- package/ReactCommon/react/bridging/Value.h +107 -0
- package/ReactCommon/react/bridging/tests/BridgingTest.cpp +407 -0
- package/ReactCommon/react/bridging/tests/BridgingTest.h +77 -0
- package/ReactCommon/react/bridging/tests/ClassTest.cpp +97 -0
- package/ReactCommon/react/config/BUCK +4 -1
- package/ReactCommon/react/config/CMakeLists.txt +19 -0
- package/ReactCommon/react/debug/Android.mk +1 -1
- package/ReactCommon/react/debug/BUCK +4 -1
- package/ReactCommon/react/debug/CMakeLists.txt +22 -0
- package/ReactCommon/react/debug/react_native_assert.h +1 -1
- package/ReactCommon/react/nativemodule/core/Android.mk +7 -4
- package/ReactCommon/react/nativemodule/core/BUCK +5 -1
- package/ReactCommon/react/nativemodule/core/CMakeLists.txt +32 -0
- package/ReactCommon/react/nativemodule/core/ReactCommon/LongLivedObject.h +2 -48
- package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModule.cpp +0 -23
- package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModule.h +18 -2
- package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleUtils.h +2 -83
- package/ReactCommon/react/nativemodule/core/platform/ios/RCTTurboModule.h +1 -1
- package/ReactCommon/react/nativemodule/core/platform/ios/RCTTurboModule.mm +3 -1
- package/ReactCommon/react/nativemodule/core/platform/ios/RCTTurboModuleManager.mm +18 -7
- package/ReactCommon/react/nativemodule/samples/BUCK +4 -1
- package/ReactCommon/react/renderer/animations/Android.mk +1 -2
- package/ReactCommon/react/renderer/animations/BUCK +4 -1
- package/ReactCommon/react/renderer/animations/CMakeLists.txt +32 -0
- package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.cpp +6 -6
- package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.h +4 -3
- package/ReactCommon/react/renderer/animations/conversions.h +11 -11
- package/ReactCommon/react/renderer/animations/tests/LayoutAnimationTest.cpp +1 -1
- package/ReactCommon/react/renderer/attributedstring/Android.mk +1 -2
- package/ReactCommon/react/renderer/attributedstring/BUCK +4 -1
- package/ReactCommon/react/renderer/attributedstring/CMakeLists.txt +29 -0
- package/ReactCommon/react/renderer/attributedstring/TextAttributes.cpp +16 -16
- package/ReactCommon/react/renderer/attributedstring/TextAttributes.h +14 -14
- package/ReactCommon/react/renderer/attributedstring/conversions.h +13 -11
- package/ReactCommon/react/renderer/componentregistry/Android.mk +2 -2
- package/ReactCommon/react/renderer/componentregistry/BUCK +4 -1
- package/ReactCommon/react/renderer/componentregistry/CMakeLists.txt +24 -0
- package/ReactCommon/react/renderer/componentregistry/native/Android.mk +1 -2
- package/ReactCommon/react/renderer/componentregistry/native/BUCK +4 -1
- package/ReactCommon/react/renderer/componentregistry/native/CMakeLists.txt +24 -0
- package/ReactCommon/react/renderer/components/image/Android.mk +1 -1
- package/ReactCommon/react/renderer/components/image/BUCK +4 -1
- package/ReactCommon/react/renderer/components/image/CMakeLists.txt +29 -0
- package/ReactCommon/react/renderer/components/inputaccessory/BUCK +4 -1
- package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/BUCK +4 -1
- package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropComponentDescriptor.mm +16 -2
- package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/RCTLegacyViewManagerInteropCoordinator.h +4 -1
- package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/RCTLegacyViewManagerInteropCoordinator.mm +16 -11
- package/ReactCommon/react/renderer/components/modal/Android.mk +1 -1
- package/ReactCommon/react/renderer/components/modal/BUCK +4 -1
- package/ReactCommon/react/renderer/components/modal/CMakeLists.txt +31 -0
- package/ReactCommon/react/renderer/components/modal/ModalHostViewComponentDescriptor.h +1 -1
- package/ReactCommon/react/renderer/components/modal/ModalHostViewShadowNode.h +1 -1
- package/ReactCommon/react/renderer/components/modal/ModalHostViewState.h +1 -1
- package/ReactCommon/react/renderer/components/progressbar/Android.mk +1 -2
- package/ReactCommon/react/renderer/components/progressbar/BUCK +4 -1
- package/ReactCommon/react/renderer/components/progressbar/CMakeLists.txt +34 -0
- package/ReactCommon/react/renderer/components/progressbar/android/react/renderer/components/progressbar/conversions.h +1 -1
- package/ReactCommon/react/renderer/components/root/Android.mk +1 -2
- package/ReactCommon/react/renderer/components/root/BUCK +4 -1
- package/ReactCommon/react/renderer/components/root/CMakeLists.txt +26 -0
- package/ReactCommon/react/renderer/components/safeareaview/BUCK +4 -1
- package/ReactCommon/react/renderer/components/scrollview/Android.mk +1 -2
- package/ReactCommon/react/renderer/components/scrollview/BUCK +4 -1
- package/ReactCommon/react/renderer/components/scrollview/CMakeLists.txt +28 -0
- package/ReactCommon/react/renderer/components/scrollview/ScrollViewEventEmitter.cpp +2 -2
- package/ReactCommon/react/renderer/components/scrollview/ScrollViewEventEmitter.h +1 -1
- package/ReactCommon/react/renderer/components/slider/Android.mk +1 -2
- package/ReactCommon/react/renderer/components/slider/BUCK +4 -1
- package/ReactCommon/react/renderer/components/slider/CMakeLists.txt +38 -0
- package/ReactCommon/react/renderer/components/switch/Android.mk +1 -2
- package/ReactCommon/react/renderer/components/switch/BUCK +4 -1
- package/ReactCommon/react/renderer/components/switch/CMakeLists.txt +44 -0
- package/ReactCommon/react/renderer/components/text/Android.mk +1 -1
- package/ReactCommon/react/renderer/components/text/BUCK +4 -1
- package/ReactCommon/react/renderer/components/text/CMakeLists.txt +33 -0
- package/ReactCommon/react/renderer/components/text/ParagraphShadowNode.h +1 -1
- package/ReactCommon/react/renderer/components/textinput/Android.mk +1 -1
- package/ReactCommon/react/renderer/components/textinput/BUCK +4 -1
- package/ReactCommon/react/renderer/components/textinput/CMakeLists.txt +40 -0
- package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputProps.cpp +6 -6
- package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputShadowNode.h +1 -1
- package/ReactCommon/react/renderer/components/textinput/iostextinput/BUCK +4 -1
- package/ReactCommon/react/renderer/components/textinput/iostextinput/TextInputProps.cpp +1 -1
- package/ReactCommon/react/renderer/components/textinput/iostextinput/TextInputProps.h +1 -1
- package/ReactCommon/react/renderer/components/textinput/iostextinput/primitives.h +3 -4
- package/ReactCommon/react/renderer/components/unimplementedview/Android.mk +1 -2
- package/ReactCommon/react/renderer/components/unimplementedview/BUCK +4 -1
- package/ReactCommon/react/renderer/components/unimplementedview/CMakeLists.txt +27 -0
- package/ReactCommon/react/renderer/components/view/AccessibilityPrimitives.h +41 -6
- package/ReactCommon/react/renderer/components/view/AccessibilityProps.cpp +24 -0
- package/ReactCommon/react/renderer/components/view/AccessibilityProps.h +5 -0
- package/ReactCommon/react/renderer/components/view/Android.mk +1 -1
- package/ReactCommon/react/renderer/components/view/BUCK +5 -3
- package/ReactCommon/react/renderer/components/view/CMakeLists.txt +26 -0
- package/ReactCommon/react/renderer/components/view/PointerEvent.cpp +35 -0
- package/ReactCommon/react/renderer/components/view/PointerEvent.h +59 -0
- package/ReactCommon/react/renderer/components/view/TouchEventEmitter.cpp +76 -2
- package/ReactCommon/react/renderer/components/view/TouchEventEmitter.h +14 -1
- package/ReactCommon/react/renderer/components/view/ViewEventEmitter.cpp +1 -1
- package/ReactCommon/react/renderer/components/view/ViewEventEmitter.h +1 -1
- package/ReactCommon/react/renderer/components/view/ViewProps.cpp +46 -22
- package/ReactCommon/react/renderer/components/view/ViewProps.h +22 -11
- package/ReactCommon/react/renderer/components/view/ViewPropsInterpolation.h +5 -3
- package/ReactCommon/react/renderer/components/view/ViewShadowNode.cpp +46 -3
- package/ReactCommon/react/renderer/components/view/ViewShadowNode.h +13 -1
- package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.cpp +38 -27
- package/ReactCommon/react/renderer/components/view/YogaStylableProps.cpp +3 -2
- package/ReactCommon/react/renderer/components/view/YogaStylableProps.h +2 -1
- package/ReactCommon/react/renderer/components/view/accessibilityPropsConversions.h +33 -0
- package/ReactCommon/react/renderer/components/view/conversions.h +5 -6
- package/ReactCommon/react/renderer/components/view/primitives.h +104 -11
- package/ReactCommon/react/renderer/components/view/propsConversions.h +191 -0
- package/ReactCommon/react/renderer/components/view/tests/LayoutTest.cpp +201 -24
- package/ReactCommon/react/renderer/components/view/tests/ViewTest.cpp +3 -3
- package/ReactCommon/react/renderer/core/Android.mk +1 -2
- package/ReactCommon/react/renderer/core/BUCK +4 -3
- package/ReactCommon/react/renderer/core/CMakeLists.txt +22 -0
- package/ReactCommon/react/renderer/core/ConcreteComponentDescriptor.h +12 -0
- package/ReactCommon/react/renderer/core/EventDispatcher.cpp +21 -0
- package/ReactCommon/react/renderer/core/EventDispatcher.h +15 -0
- package/ReactCommon/react/renderer/core/EventEmitter.cpp +15 -12
- package/ReactCommon/react/renderer/core/EventEmitter.h +5 -6
- package/ReactCommon/react/renderer/core/EventListener.cpp +39 -0
- package/ReactCommon/react/renderer/core/EventListener.h +44 -0
- package/ReactCommon/react/renderer/core/Props.cpp +5 -2
- package/ReactCommon/react/renderer/core/Props.h +2 -1
- package/ReactCommon/react/renderer/core/RawProps.h +1 -1
- package/ReactCommon/react/renderer/core/RawPropsKey.cpp +1 -1
- package/ReactCommon/react/renderer/core/RawPropsParser.cpp +7 -6
- package/ReactCommon/react/renderer/core/RawPropsParser.h +0 -1
- package/ReactCommon/react/renderer/core/propsConversions.h +6 -5
- package/ReactCommon/react/renderer/core/tests/FindNodeAtPointTest.cpp +10 -12
- package/ReactCommon/react/renderer/core/tests/LayoutableShadowNodeTest.cpp +3 -3
- package/ReactCommon/react/renderer/debug/Android.mk +1 -1
- package/ReactCommon/react/renderer/debug/BUCK +4 -1
- package/ReactCommon/react/renderer/debug/CMakeLists.txt +15 -0
- package/ReactCommon/react/renderer/debug/debugStringConvertibleUtils.h +3 -3
- package/ReactCommon/react/renderer/element/BUCK +4 -1
- package/ReactCommon/react/renderer/element/tests/ElementTest.cpp +3 -3
- package/ReactCommon/react/renderer/graphics/Android.mk +1 -2
- package/ReactCommon/react/renderer/graphics/BUCK +4 -1
- package/ReactCommon/react/renderer/graphics/CMakeLists.txt +25 -0
- package/ReactCommon/react/renderer/graphics/React-graphics.podspec +1 -1
- package/ReactCommon/react/renderer/graphics/Transform.cpp +8 -0
- package/ReactCommon/react/renderer/graphics/Transform.h +9 -3
- package/ReactCommon/react/renderer/graphics/conversions.h +1 -11
- package/ReactCommon/react/renderer/graphics/platform/ios/Color.h +1 -1
- package/ReactCommon/react/renderer/imagemanager/Android.mk +1 -1
- package/ReactCommon/react/renderer/imagemanager/BUCK +4 -1
- package/ReactCommon/react/renderer/imagemanager/CMakeLists.txt +34 -0
- package/ReactCommon/react/renderer/imagemanager/platform/ios/RCTImageManager.mm +1 -1
- package/ReactCommon/react/renderer/imagemanager/platform/ios/RCTSyncImageManager.mm +1 -1
- package/ReactCommon/react/renderer/leakchecker/BUCK +4 -1
- package/ReactCommon/react/renderer/leakchecker/CMakeLists.txt +18 -0
- package/ReactCommon/react/renderer/mapbuffer/BUCK +4 -1
- package/ReactCommon/react/renderer/mapbuffer/CMakeLists.txt +15 -0
- package/ReactCommon/react/renderer/mapbuffer/MapBuffer.h +8 -8
- package/ReactCommon/react/renderer/mounting/Android.mk +1 -2
- package/ReactCommon/react/renderer/mounting/BUCK +4 -1
- package/ReactCommon/react/renderer/mounting/CMakeLists.txt +31 -0
- package/ReactCommon/react/renderer/mounting/MountingCoordinator.cpp +2 -2
- package/ReactCommon/react/renderer/mounting/MountingCoordinator.h +3 -3
- package/ReactCommon/react/renderer/mounting/MountingOverrideDelegate.h +1 -1
- package/ReactCommon/react/renderer/mounting/MountingTransaction.cpp +1 -1
- package/ReactCommon/react/renderer/mounting/MountingTransaction.h +2 -2
- package/ReactCommon/react/renderer/mounting/ShadowTree.cpp +4 -1
- package/ReactCommon/react/renderer/mounting/ShadowTreeRevision.h +0 -2
- package/ReactCommon/react/renderer/mounting/StubViewTree.cpp +1 -1
- package/ReactCommon/react/renderer/mounting/TelemetryController.cpp +7 -10
- package/ReactCommon/react/renderer/mounting/TelemetryController.h +7 -7
- package/ReactCommon/react/renderer/mounting/tests/StackingContextTest.cpp +1 -1
- package/ReactCommon/react/renderer/runtimescheduler/BUCK +4 -1
- package/ReactCommon/react/renderer/runtimescheduler/CMakeLists.txt +21 -0
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.cpp +55 -40
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.h +26 -1
- package/ReactCommon/react/renderer/runtimescheduler/Task.h +3 -2
- package/ReactCommon/react/renderer/runtimescheduler/tests/RuntimeSchedulerTest.cpp +48 -3
- package/ReactCommon/react/renderer/runtimescheduler/tests/StubQueue.h +9 -0
- package/ReactCommon/react/renderer/scheduler/Android.mk +1 -2
- package/ReactCommon/react/renderer/scheduler/BUCK +4 -1
- package/ReactCommon/react/renderer/scheduler/CMakeLists.txt +34 -0
- package/ReactCommon/react/renderer/scheduler/Scheduler.cpp +41 -6
- package/ReactCommon/react/renderer/scheduler/Scheduler.h +10 -1
- package/ReactCommon/react/renderer/telemetry/Android.mk +1 -2
- package/ReactCommon/react/renderer/telemetry/BUCK +4 -1
- package/ReactCommon/react/renderer/telemetry/CMakeLists.txt +27 -0
- package/ReactCommon/react/renderer/templateprocessor/Android.mk +1 -2
- package/ReactCommon/react/renderer/templateprocessor/BUCK +4 -1
- package/ReactCommon/react/renderer/templateprocessor/CMakeLists.txt +26 -0
- package/ReactCommon/react/renderer/textlayoutmanager/Android.mk +1 -2
- package/ReactCommon/react/renderer/textlayoutmanager/BUCK +4 -1
- package/ReactCommon/react/renderer/textlayoutmanager/CMakeLists.txt +45 -0
- package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.cpp +142 -10
- package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.h +13 -11
- package/ReactCommon/react/renderer/textlayoutmanager/platform/cxx/TextLayoutManager.cpp +0 -2
- package/ReactCommon/react/renderer/textlayoutmanager/platform/cxx/TextLayoutManager.h +0 -1
- package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/RCTAttributedTextUtils.mm +26 -9
- package/ReactCommon/react/renderer/uimanager/Android.mk +1 -2
- package/ReactCommon/react/renderer/uimanager/BUCK +4 -1
- package/ReactCommon/react/renderer/uimanager/CMakeLists.txt +32 -0
- package/ReactCommon/react/renderer/uimanager/UIManager.cpp +8 -9
- package/ReactCommon/react/renderer/uimanager/UIManager.h +10 -13
- package/ReactCommon/react/renderer/uimanager/UIManagerBinding.cpp +6 -5
- package/ReactCommon/react/test_utils/BUCK +4 -1
- package/ReactCommon/react/test_utils/MockSurfaceHandler.h +2 -2
- package/ReactCommon/react/utils/Android.mk +1 -3
- package/ReactCommon/react/utils/BUCK +4 -1
- package/ReactCommon/react/utils/CMakeLists.txt +24 -0
- package/ReactCommon/react/utils/ContextContainer.h +2 -2
- package/ReactCommon/react/utils/ManagedObjectWrapper.h +4 -0
- package/ReactCommon/react/utils/SimpleThreadSafeCache.h +2 -2
- package/ReactCommon/react/utils/Telemetry.h +2 -2
- package/ReactCommon/reactperflogger/BUCK +4 -1
- package/ReactCommon/reactperflogger/CMakeLists.txt +14 -0
- package/ReactCommon/reactperflogger/React-perflogger.podspec +1 -1
- package/ReactCommon/runtimeexecutor/BUCK +4 -1
- package/ReactCommon/runtimeexecutor/CMakeLists.txt +17 -0
- package/ReactCommon/runtimeexecutor/React-runtimeexecutor.podspec +1 -1
- package/ReactCommon/yoga/CMakeLists.txt +16 -0
- package/ReactCommon/yoga/Yoga.podspec +3 -3
- package/ReactCommon/yoga/yoga/BitUtils.h +4 -0
- package/ReactCommon/yoga/yoga/CompactValue.h +4 -0
- package/ReactCommon/yoga/yoga/Utils.h +5 -0
- package/ReactCommon/yoga/yoga/YGConfig.h +5 -0
- package/ReactCommon/yoga/yoga/YGFloatOptional.h +4 -0
- package/ReactCommon/yoga/yoga/YGLayout.h +5 -0
- package/ReactCommon/yoga/yoga/YGNodePrint.h +7 -0
- package/ReactCommon/yoga/yoga/Yoga-internal.h +5 -0
- package/ReactCommon/yoga/yoga/Yoga.cpp +1 -1
- package/ReactCommon/yoga/yoga/log.h +4 -0
- package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0-debug-javadoc.jar +0 -0
- package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0-debug-javadoc.jar.md5 +1 -0
- package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0-debug-javadoc.jar.sha1 +1 -0
- package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0-debug-javadoc.jar.sha256 +1 -0
- package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0-debug-javadoc.jar.sha512 +1 -0
- package/android/com/facebook/react/react-native/{0.68.2-7/react-native-0.68.2-7-sources.jar → 0.69.5-0/react-native-0.69.5-0-debug-sources.jar} +0 -0
- package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0-debug-sources.jar.md5 +1 -0
- package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0-debug-sources.jar.sha1 +1 -0
- package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0-debug-sources.jar.sha256 +1 -0
- package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0-debug-sources.jar.sha512 +1 -0
- package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0-debug.aar +0 -0
- package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0-debug.aar.md5 +1 -0
- package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0-debug.aar.sha1 +1 -0
- package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0-debug.aar.sha256 +1 -0
- package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0-debug.aar.sha512 +1 -0
- package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0-release-javadoc.jar +0 -0
- package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0-release-javadoc.jar.md5 +1 -0
- package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0-release-javadoc.jar.sha1 +1 -0
- package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0-release-javadoc.jar.sha256 +1 -0
- package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0-release-javadoc.jar.sha512 +1 -0
- package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0-release-sources.jar +0 -0
- package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0-release-sources.jar.md5 +1 -0
- package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0-release-sources.jar.sha1 +1 -0
- package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0-release-sources.jar.sha256 +1 -0
- package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0-release-sources.jar.sha512 +1 -0
- package/android/com/facebook/react/react-native/{0.68.2-7/react-native-0.68.2-7.aar → 0.69.5-0/react-native-0.69.5-0-release.aar} +0 -0
- package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0-release.aar.md5 +1 -0
- package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0-release.aar.sha1 +1 -0
- package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0-release.aar.sha256 +1 -0
- package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0-release.aar.sha512 +1 -0
- package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0.module +670 -0
- package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0.module.md5 +1 -0
- package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0.module.sha1 +1 -0
- package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0.module.sha256 +1 -0
- package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0.module.sha512 +1 -0
- package/android/com/facebook/react/react-native/{0.68.2-7/react-native-0.68.2-7.pom → 0.69.5-0/react-native-0.69.5-0.pom} +32 -3
- package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0.pom.md5 +1 -0
- package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0.pom.sha1 +1 -0
- package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0.pom.sha256 +1 -0
- package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0.pom.sha512 +1 -0
- package/android/com/facebook/react/react-native/maven-metadata.xml +4 -4
- package/android/com/facebook/react/react-native/maven-metadata.xml.md5 +1 -1
- package/android/com/facebook/react/react-native/maven-metadata.xml.sha1 +1 -1
- package/android/com/facebook/react/react-native/maven-metadata.xml.sha256 +1 -1
- package/android/com/facebook/react/react-native/maven-metadata.xml.sha512 +1 -1
- package/flow/{use-subscription.js → use-sync-external-store.js} +4 -4
- package/index.js +30 -25
- package/jest/assetFileTransformer.js +3 -2
- package/jest/preprocessor.js +24 -107
- package/jest/preprocessor_DO_NOT_USE.js +122 -0
- package/package.json +35 -22
- package/react-native.config.js +1 -3
- package/react.gradle +47 -23
- package/scripts/cocoapods/FlipperConfiguration.rb +31 -0
- package/scripts/{find-node.sh → find-node-for-xcode.sh} +11 -0
- package/scripts/generate-artifacts.js +16 -6
- package/scripts/hermes/hermes-utils.js +253 -0
- package/scripts/hermes/prepare-hermes-for-build.js +47 -0
- package/scripts/packager.sh +1 -1
- package/scripts/react-native-xcode.sh +0 -4
- package/scripts/react_native_pods.rb +122 -20
- package/scripts/react_native_pods_utils/script_phases.rb +2 -2
- package/scripts/react_native_pods_utils/script_phases.sh +4 -5
- package/scripts/xcode/with-environment.sh +47 -0
- package/sdks/.hermesversion +1 -0
- package/sdks/hermes-engine/hermes-engine.podspec +81 -0
- package/sdks/hermes-engine/utils/build-apple-framework.sh +106 -0
- package/sdks/hermes-engine/utils/build-ios-framework.sh +20 -0
- package/sdks/hermes-engine/utils/build-mac-framework.sh +16 -0
- package/template/Gemfile +1 -1
- package/template/_flowconfig +1 -2
- package/template/_gitignore +5 -3
- package/template/_ruby-version +1 -1
- package/template/android/app/build.gradle +16 -5
- package/template/android/app/src/main/java/com/helloworld/MainActivity.java +9 -1
- package/template/android/app/src/main/java/com/helloworld/newarchitecture/MainApplicationReactNativeHost.java +2 -2
- package/template/android/app/src/main/jni/Android.mk +2 -3
- package/template/android/build.gradle +2 -2
- package/template/android/settings.gradle +2 -0
- package/template/ios/HelloWorld/AppDelegate.mm +26 -1
- package/template/ios/HelloWorld.xcodeproj/project.pbxproj +11 -9
- package/template/ios/Podfile +4 -0
- package/template/ios/_xcode.env +11 -0
- package/template/package.json +4 -4
- package/third-party-podspecs/DoubleConversion.podspec +1 -1
- package/third-party-podspecs/RCT-Folly.podspec +4 -1
- package/third-party-podspecs/glog.podspec +1 -1
- package/Libraries/Components/SegmentedControlIOS/RCTSegmentedControlNativeComponent.js +0 -44
- package/Libraries/Components/SegmentedControlIOS/SegmentedControlIOS.android.js +0 -45
- package/Libraries/Components/SegmentedControlIOS/SegmentedControlIOS.ios.js +0 -123
- package/Libraries/Components/View/ReactNativeViewViewConfig.js +0 -362
- package/Libraries/Components/View/ReactNativeViewViewConfigAndroid.js +0 -83
- package/Libraries/ReactNative/UIManagerInjection.js +0 -15
- package/Libraries/Renderer/implementations/ReactFabric-dev.fb.js +0 -24527
- package/Libraries/Renderer/implementations/ReactFabric-prod.fb.js +0 -8309
- package/Libraries/Renderer/implementations/ReactFabric-profiling.fb.js +0 -8961
- package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.fb.js +0 -24948
- package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.fb.js +0 -8400
- package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.fb.js +0 -9049
- package/React/Views/RCTWeakViewHolder.h +0 -19
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/ReadableMapBuffer.java +0 -388
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/ReadableMapBufferSoLoader.java +0 -33
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/react/common/mapbuffer/ReadableMapBuffer.cpp +0 -48
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/AsyncEventBeatV2.h +0 -40
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/interfaces/BUCK +0 -21
- package/ReactAndroid/src/main/jni/first-party/hermes/Android.mk +0 -10
- package/ReactAndroid/src/main/third-party/android/androidx/BUCK +0 -731
- package/ReactAndroid/src/main/third-party/java/asm/BUCK +0 -75
- package/ReactAndroid/src/main/third-party/java/assertj/BUCK +0 -14
- package/ReactAndroid/src/main/third-party/java/buck-android-support/BUCK +0 -11
- package/ReactAndroid/src/main/third-party/java/buck-android-support/buck-android-support.jar +0 -0
- package/ReactAndroid/src/main/third-party/java/infer-annotations/BUCK +0 -14
- package/ReactAndroid/src/main/third-party/java/javapoet/BUCK +0 -14
- package/ReactAndroid/src/main/third-party/java/jsr-305/BUCK +0 -13
- package/ReactAndroid/src/main/third-party/java/jsr-330/BUCK +0 -13
- package/ReactAndroid/src/main/third-party/java/junit/BUCK +0 -36
- package/ReactAndroid/src/main/third-party/java/mockito/BUCK +0 -36
- package/ReactAndroid/src/main/third-party/java/mockito2/BUCK +0 -75
- package/ReactAndroid/src/main/third-party/java/okhttp/BUCK +0 -46
- package/ReactAndroid/src/main/third-party/java/okio/BUCK +0 -24
- package/ReactAndroid/src/main/third-party/java/robolectric/BUCK +0 -218
- package/ReactAndroid/src/main/third-party/java/sqlite/BUCK +0 -23
- package/ReactAndroid/src/main/third-party/java/testing-support-lib/BUCK +0 -13
- package/ReactAndroid/src/main/third-party/kotlin/BUCK +0 -91
- package/ReactCommon/butter/optional.h +0 -38
- package/ReactCommon/common.mk +0 -29
- package/ReactCommon/react/renderer/mounting/MountingTransactionMetadata.h +0 -32
- package/ReactCommon/react/utils/LayoutManager.h +0 -150
- package/android/com/facebook/react/react-native/0.68.2-7/react-native-0.68.2-7-sources.jar.md5 +0 -1
- package/android/com/facebook/react/react-native/0.68.2-7/react-native-0.68.2-7-sources.jar.sha1 +0 -1
- package/android/com/facebook/react/react-native/0.68.2-7/react-native-0.68.2-7-sources.jar.sha256 +0 -1
- package/android/com/facebook/react/react-native/0.68.2-7/react-native-0.68.2-7-sources.jar.sha512 +0 -1
- package/android/com/facebook/react/react-native/0.68.2-7/react-native-0.68.2-7.aar.md5 +0 -1
- package/android/com/facebook/react/react-native/0.68.2-7/react-native-0.68.2-7.aar.sha1 +0 -1
- package/android/com/facebook/react/react-native/0.68.2-7/react-native-0.68.2-7.aar.sha256 +0 -1
- package/android/com/facebook/react/react-native/0.68.2-7/react-native-0.68.2-7.aar.sha512 +0 -1
- package/android/com/facebook/react/react-native/0.68.2-7/react-native-0.68.2-7.module +0 -272
- package/android/com/facebook/react/react-native/0.68.2-7/react-native-0.68.2-7.module.md5 +0 -1
- package/android/com/facebook/react/react-native/0.68.2-7/react-native-0.68.2-7.module.sha1 +0 -1
- package/android/com/facebook/react/react-native/0.68.2-7/react-native-0.68.2-7.module.sha256 +0 -1
- package/android/com/facebook/react/react-native/0.68.2-7/react-native-0.68.2-7.module.sha512 +0 -1
- package/android/com/facebook/react/react-native/0.68.2-7/react-native-0.68.2-7.pom.md5 +0 -1
- package/android/com/facebook/react/react-native/0.68.2-7/react-native-0.68.2-7.pom.sha1 +0 -1
- package/android/com/facebook/react/react-native/0.68.2-7/react-native-0.68.2-7.pom.sha256 +0 -1
- package/android/com/facebook/react/react-native/0.68.2-7/react-native-0.68.2-7.pom.sha512 +0 -1
- package/flow/Promise.js +0 -47
- package/template/Gemfile.lock +0 -100
|
@@ -15,6 +15,7 @@ import android.content.res.Configuration;
|
|
|
15
15
|
import android.os.Build;
|
|
16
16
|
import android.os.Bundle;
|
|
17
17
|
import android.view.KeyEvent;
|
|
18
|
+
import androidx.annotation.NonNull;
|
|
18
19
|
import androidx.annotation.Nullable;
|
|
19
20
|
import com.facebook.infer.annotation.Assertions;
|
|
20
21
|
import com.facebook.react.bridge.Callback;
|
|
@@ -33,6 +34,7 @@ public class ReactActivityDelegate {
|
|
|
33
34
|
private @Nullable PermissionListener mPermissionListener;
|
|
34
35
|
private @Nullable Callback mPermissionsCallback;
|
|
35
36
|
private ReactDelegate mReactDelegate;
|
|
37
|
+
private boolean mConcurrentRootEnabled;
|
|
36
38
|
|
|
37
39
|
@Deprecated
|
|
38
40
|
public ReactActivityDelegate(Activity activity, @Nullable String mainComponentName) {
|
|
@@ -45,10 +47,27 @@ public class ReactActivityDelegate {
|
|
|
45
47
|
mMainComponentName = mainComponentName;
|
|
46
48
|
}
|
|
47
49
|
|
|
50
|
+
/**
|
|
51
|
+
* Public API to populate the launch options that will be passed to React. Here you can customize
|
|
52
|
+
* the values that will be passed as `initialProperties` to the Renderer.
|
|
53
|
+
*
|
|
54
|
+
* @return Either null or a key-value map as a Bundle
|
|
55
|
+
*/
|
|
48
56
|
protected @Nullable Bundle getLaunchOptions() {
|
|
49
57
|
return null;
|
|
50
58
|
}
|
|
51
59
|
|
|
60
|
+
private @NonNull Bundle composeLaunchOptions() {
|
|
61
|
+
Bundle composedLaunchOptions = getLaunchOptions();
|
|
62
|
+
if (isConcurrentRootEnabled()) {
|
|
63
|
+
if (composedLaunchOptions == null) {
|
|
64
|
+
composedLaunchOptions = new Bundle();
|
|
65
|
+
}
|
|
66
|
+
composedLaunchOptions.putBoolean("concurrentRoot", true);
|
|
67
|
+
}
|
|
68
|
+
return composedLaunchOptions;
|
|
69
|
+
}
|
|
70
|
+
|
|
52
71
|
protected ReactRootView createRootView() {
|
|
53
72
|
return new ReactRootView(getContext());
|
|
54
73
|
}
|
|
@@ -74,9 +93,10 @@ public class ReactActivityDelegate {
|
|
|
74
93
|
|
|
75
94
|
protected void onCreate(Bundle savedInstanceState) {
|
|
76
95
|
String mainComponentName = getMainComponentName();
|
|
96
|
+
Bundle launchOptions = composeLaunchOptions();
|
|
77
97
|
mReactDelegate =
|
|
78
98
|
new ReactDelegate(
|
|
79
|
-
getPlainActivity(), getReactNativeHost(), mainComponentName,
|
|
99
|
+
getPlainActivity(), getReactNativeHost(), mainComponentName, launchOptions) {
|
|
80
100
|
@Override
|
|
81
101
|
protected ReactRootView createRootView() {
|
|
82
102
|
return ReactActivityDelegate.this.createRootView();
|
|
@@ -190,4 +210,16 @@ public class ReactActivityDelegate {
|
|
|
190
210
|
protected Activity getPlainActivity() {
|
|
191
211
|
return ((Activity) getContext());
|
|
192
212
|
}
|
|
213
|
+
|
|
214
|
+
/**
|
|
215
|
+
* Override this method to enable Concurrent Root on the surface for this Activity. See:
|
|
216
|
+
* https://reactjs.org/blog/2022/03/29/react-v18.html
|
|
217
|
+
*
|
|
218
|
+
* <p>This requires to be rendering on Fabric (i.e. on the New Architecture).
|
|
219
|
+
*
|
|
220
|
+
* @return Wether you want to enable Concurrent Root for this surface or not.
|
|
221
|
+
*/
|
|
222
|
+
protected boolean isConcurrentRootEnabled() {
|
|
223
|
+
return false;
|
|
224
|
+
}
|
|
193
225
|
}
|
|
@@ -81,10 +81,10 @@ import com.facebook.react.common.annotations.VisibleForTesting;
|
|
|
81
81
|
import com.facebook.react.config.ReactFeatureFlags;
|
|
82
82
|
import com.facebook.react.devsupport.DevSupportManagerFactory;
|
|
83
83
|
import com.facebook.react.devsupport.ReactInstanceDevHelper;
|
|
84
|
-
import com.facebook.react.devsupport.RedBoxHandler;
|
|
85
84
|
import com.facebook.react.devsupport.interfaces.DevBundleDownloadListener;
|
|
86
85
|
import com.facebook.react.devsupport.interfaces.DevSupportManager;
|
|
87
86
|
import com.facebook.react.devsupport.interfaces.PackagerStatusCallback;
|
|
87
|
+
import com.facebook.react.devsupport.interfaces.RedBoxHandler;
|
|
88
88
|
import com.facebook.react.modules.appearance.AppearanceModule;
|
|
89
89
|
import com.facebook.react.modules.appregistry.AppRegistry;
|
|
90
90
|
import com.facebook.react.modules.core.DefaultHardwareBackBtnHandler;
|
|
@@ -97,8 +97,6 @@ import com.facebook.react.surface.ReactStage;
|
|
|
97
97
|
import com.facebook.react.turbomodule.core.TurboModuleManager;
|
|
98
98
|
import com.facebook.react.turbomodule.core.TurboModuleManagerDelegate;
|
|
99
99
|
import com.facebook.react.turbomodule.core.interfaces.TurboModuleRegistry;
|
|
100
|
-
import com.facebook.react.uimanager.ComponentNameResolver;
|
|
101
|
-
import com.facebook.react.uimanager.ComponentNameResolverManager;
|
|
102
100
|
import com.facebook.react.uimanager.DisplayMetricsHolder;
|
|
103
101
|
import com.facebook.react.uimanager.ReactRoot;
|
|
104
102
|
import com.facebook.react.uimanager.UIImplementationProvider;
|
|
@@ -168,7 +166,6 @@ public class ReactInstanceManager {
|
|
|
168
166
|
private final DevSupportManager mDevSupportManager;
|
|
169
167
|
private final boolean mUseDeveloperSupport;
|
|
170
168
|
private final boolean mRequireActivity;
|
|
171
|
-
private @Nullable ComponentNameResolverManager mComponentNameResolverManager;
|
|
172
169
|
private final @Nullable NotThreadSafeBridgeIdleDebugListener mBridgeIdleDebugListener;
|
|
173
170
|
private final Object mReactContextLock = new Object();
|
|
174
171
|
private @Nullable volatile ReactContext mCurrentReactContext;
|
|
@@ -770,7 +767,6 @@ public class ReactInstanceManager {
|
|
|
770
767
|
synchronized (mPackages) {
|
|
771
768
|
mViewManagerNames = null;
|
|
772
769
|
}
|
|
773
|
-
mComponentNameResolverManager = null;
|
|
774
770
|
FLog.d(ReactConstants.TAG, "ReactInstanceManager has been destroyed");
|
|
775
771
|
}
|
|
776
772
|
|
|
@@ -1016,6 +1012,7 @@ public class ReactInstanceManager {
|
|
|
1016
1012
|
mReactInstanceEventListeners.remove(listener);
|
|
1017
1013
|
}
|
|
1018
1014
|
|
|
1015
|
+
/** @return current ReactApplicationContext */
|
|
1019
1016
|
@VisibleForTesting
|
|
1020
1017
|
public @Nullable ReactContext getCurrentReactContext() {
|
|
1021
1018
|
synchronized (mReactContextLock) {
|
|
@@ -1178,7 +1175,6 @@ public class ReactInstanceManager {
|
|
|
1178
1175
|
|
|
1179
1176
|
mDevSupportManager.onNewReactContextCreated(reactContext);
|
|
1180
1177
|
mMemoryPressureRouter.addMemoryPressureListener(catalystInstance);
|
|
1181
|
-
moveReactContextToCurrentLifecycleState();
|
|
1182
1178
|
|
|
1183
1179
|
ReactMarker.logMarker(ATTACH_MEASURED_ROOT_VIEWS_START);
|
|
1184
1180
|
for (ReactRoot reactRoot : mAttachedReactRoots) {
|
|
@@ -1200,6 +1196,8 @@ public class ReactInstanceManager {
|
|
|
1200
1196
|
new Runnable() {
|
|
1201
1197
|
@Override
|
|
1202
1198
|
public void run() {
|
|
1199
|
+
moveReactContextToCurrentLifecycleState();
|
|
1200
|
+
|
|
1203
1201
|
for (com.facebook.react.ReactInstanceEventListener listener : finalListeners) {
|
|
1204
1202
|
// Sometimes this listener is null - probably due to race
|
|
1205
1203
|
// condition between allocating listeners with a certain
|
|
@@ -1211,10 +1209,6 @@ public class ReactInstanceManager {
|
|
|
1211
1209
|
}
|
|
1212
1210
|
}
|
|
1213
1211
|
});
|
|
1214
|
-
Systrace.endSection(TRACE_TAG_REACT_JAVA_BRIDGE);
|
|
1215
|
-
ReactMarker.logMarker(SETUP_REACT_CONTEXT_END);
|
|
1216
|
-
// Mark end of bridge loading
|
|
1217
|
-
ReactMarker.logMarker(ReactMarkerConstants.REACT_BRIDGE_LOADING_END);
|
|
1218
1212
|
reactContext.runOnJSQueueThread(
|
|
1219
1213
|
new Runnable() {
|
|
1220
1214
|
@Override
|
|
@@ -1230,6 +1224,11 @@ public class ReactInstanceManager {
|
|
|
1230
1224
|
Process.setThreadPriority(Process.THREAD_PRIORITY_DEFAULT);
|
|
1231
1225
|
}
|
|
1232
1226
|
});
|
|
1227
|
+
|
|
1228
|
+
Systrace.endSection(TRACE_TAG_REACT_JAVA_BRIDGE);
|
|
1229
|
+
ReactMarker.logMarker(SETUP_REACT_CONTEXT_END);
|
|
1230
|
+
// Mark end of bridge loading
|
|
1231
|
+
ReactMarker.logMarker(ReactMarkerConstants.REACT_BRIDGE_LOADING_END);
|
|
1233
1232
|
}
|
|
1234
1233
|
|
|
1235
1234
|
private void attachRootViewToInstance(final ReactRoot reactRoot) {
|
|
@@ -1399,23 +1398,6 @@ public class ReactInstanceManager {
|
|
|
1399
1398
|
if (Systrace.isTracing(TRACE_TAG_REACT_APPS | TRACE_TAG_REACT_JS_VM_CALLS)) {
|
|
1400
1399
|
catalystInstance.setGlobalVariable("__RCTProfileIsProfiling", "true");
|
|
1401
1400
|
}
|
|
1402
|
-
if (ReactFeatureFlags.enableExperimentalStaticViewConfigs) {
|
|
1403
|
-
mComponentNameResolverManager =
|
|
1404
|
-
new ComponentNameResolverManager(
|
|
1405
|
-
catalystInstance.getRuntimeExecutor(),
|
|
1406
|
-
new ComponentNameResolver() {
|
|
1407
|
-
@Override
|
|
1408
|
-
public String[] getComponentNames() {
|
|
1409
|
-
List<String> viewManagerNames = getViewManagerNames();
|
|
1410
|
-
if (viewManagerNames == null) {
|
|
1411
|
-
FLog.e(TAG, "No ViewManager names found");
|
|
1412
|
-
return new String[0];
|
|
1413
|
-
}
|
|
1414
|
-
return viewManagerNames.toArray(new String[0]);
|
|
1415
|
-
}
|
|
1416
|
-
});
|
|
1417
|
-
catalystInstance.setGlobalVariable("__fbStaticViewConfig", "true");
|
|
1418
|
-
}
|
|
1419
1401
|
|
|
1420
1402
|
ReactMarker.logMarker(ReactMarkerConstants.PRE_RUN_JS_BUNDLE_START);
|
|
1421
1403
|
Systrace.beginSection(TRACE_TAG_REACT_JAVA_BRIDGE, "runJSBundle");
|
|
@@ -26,9 +26,9 @@ import com.facebook.react.common.LifecycleState;
|
|
|
26
26
|
import com.facebook.react.common.SurfaceDelegateFactory;
|
|
27
27
|
import com.facebook.react.devsupport.DefaultDevSupportManagerFactory;
|
|
28
28
|
import com.facebook.react.devsupport.DevSupportManagerFactory;
|
|
29
|
-
import com.facebook.react.devsupport.RedBoxHandler;
|
|
30
29
|
import com.facebook.react.devsupport.interfaces.DevBundleDownloadListener;
|
|
31
30
|
import com.facebook.react.devsupport.interfaces.DevSupportManager;
|
|
31
|
+
import com.facebook.react.devsupport.interfaces.RedBoxHandler;
|
|
32
32
|
import com.facebook.react.jscexecutor.JSCExecutor;
|
|
33
33
|
import com.facebook.react.jscexecutor.JSCExecutorFactory;
|
|
34
34
|
import com.facebook.react.modules.core.DefaultHardwareBackBtnHandler;
|
|
@@ -66,6 +66,7 @@ public class ReactInstanceManagerBuilder {
|
|
|
66
66
|
private @Nullable Map<String, RequestHandler> mCustomPackagerCommandHandlers;
|
|
67
67
|
private @Nullable ReactPackageTurboModuleManagerDelegate.Builder mTMMDelegateBuilder;
|
|
68
68
|
private @Nullable SurfaceDelegateFactory mSurfaceDelegateFactory;
|
|
69
|
+
private JSInterpreter jsInterpreter = JSInterpreter.OLD_LOGIC;
|
|
69
70
|
|
|
70
71
|
/* package protected */ ReactInstanceManagerBuilder() {}
|
|
71
72
|
|
|
@@ -125,6 +126,31 @@ public class ReactInstanceManagerBuilder {
|
|
|
125
126
|
return this;
|
|
126
127
|
}
|
|
127
128
|
|
|
129
|
+
/**
|
|
130
|
+
* Sets the jsEngine as JSC or HERMES as per the setJsEngineAsHermes call Uses the enum {@link
|
|
131
|
+
* JSInterpreter}
|
|
132
|
+
*
|
|
133
|
+
* @param jsInterpreter
|
|
134
|
+
*/
|
|
135
|
+
private void setJSEngine(JSInterpreter jsInterpreter) {
|
|
136
|
+
this.jsInterpreter = jsInterpreter;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
/**
|
|
140
|
+
* Utility setter to set the required JSEngine as HERMES or JSC Defaults to OLD_LOGIC if not
|
|
141
|
+
* called by the host app
|
|
142
|
+
*
|
|
143
|
+
* @param hermesEnabled hermesEnabled = true sets the JS Engine as HERMES and JSC otherwise
|
|
144
|
+
*/
|
|
145
|
+
public ReactInstanceManagerBuilder setJsEngineAsHermes(boolean hermesEnabled) {
|
|
146
|
+
if (hermesEnabled) {
|
|
147
|
+
setJSEngine(JSInterpreter.HERMES);
|
|
148
|
+
} else {
|
|
149
|
+
setJSEngine(JSInterpreter.JSC);
|
|
150
|
+
}
|
|
151
|
+
return this;
|
|
152
|
+
}
|
|
153
|
+
|
|
128
154
|
/**
|
|
129
155
|
* Path to your app's main module on Metro. This is used when reloading JS during development. All
|
|
130
156
|
* paths are relative to the root folder the packager is serving files from. Examples: {@code
|
|
@@ -345,41 +371,35 @@ public class ReactInstanceManagerBuilder {
|
|
|
345
371
|
|
|
346
372
|
private JavaScriptExecutorFactory getDefaultJSExecutorFactory(
|
|
347
373
|
String appName, String deviceName, Context applicationContext) {
|
|
348
|
-
try {
|
|
349
|
-
// If JSC is included, use it as normal
|
|
350
|
-
initializeSoLoaderIfNecessary(applicationContext);
|
|
351
|
-
JSCExecutor.loadLibrary();
|
|
352
|
-
return new JSCExecutorFactory(appName, deviceName);
|
|
353
|
-
} catch (UnsatisfiedLinkError jscE) {
|
|
354
|
-
// https://github.com/facebook/hermes/issues/78 shows that
|
|
355
|
-
// people who aren't trying to use Hermes are having issues.
|
|
356
|
-
// https://github.com/facebook/react-native/issues/25923#issuecomment-554295179
|
|
357
|
-
// includes the actual JSC error in at least one case.
|
|
358
|
-
//
|
|
359
|
-
// So, if "__cxa_bad_typeid" shows up in the jscE exception
|
|
360
|
-
// message, then we will assume that's the failure and just
|
|
361
|
-
// throw now.
|
|
362
|
-
|
|
363
|
-
if (jscE.getMessage().contains("__cxa_bad_typeid")) {
|
|
364
|
-
throw jscE;
|
|
365
|
-
}
|
|
366
374
|
|
|
367
|
-
|
|
375
|
+
// Relying solely on try catch block and loading jsc even when
|
|
376
|
+
// project is using hermes can lead to launch-time crashes especially in
|
|
377
|
+
// monorepo architectures and hybrid apps using both native android
|
|
378
|
+
// and react native.
|
|
379
|
+
// So we can use the value of enableHermes received by the constructor
|
|
380
|
+
// to decide which library to load at launch
|
|
381
|
+
|
|
382
|
+
// if nothing is specified, use old loading method
|
|
383
|
+
// else load the required engine
|
|
384
|
+
if (jsInterpreter == JSInterpreter.OLD_LOGIC) {
|
|
368
385
|
try {
|
|
386
|
+
// If JSC is included, use it as normal
|
|
387
|
+
initializeSoLoaderIfNecessary(applicationContext);
|
|
388
|
+
JSCExecutor.loadLibrary();
|
|
389
|
+
return new JSCExecutorFactory(appName, deviceName);
|
|
390
|
+
} catch (UnsatisfiedLinkError jscE) {
|
|
391
|
+
if (jscE.getMessage().contains("__cxa_bad_typeid")) {
|
|
392
|
+
throw jscE;
|
|
393
|
+
}
|
|
369
394
|
HermesExecutor.loadLibrary();
|
|
370
395
|
return new HermesExecutorFactory();
|
|
371
|
-
} catch (UnsatisfiedLinkError hermesE) {
|
|
372
|
-
// If we get here, either this is a JSC build, and of course
|
|
373
|
-
// Hermes failed (since it's not in the APK), or it's a Hermes
|
|
374
|
-
// build, and Hermes had a problem.
|
|
375
|
-
|
|
376
|
-
// We suspect this is a JSC issue (it's the default), so we
|
|
377
|
-
// will throw that exception, but we will print hermesE first,
|
|
378
|
-
// since it could be a Hermes issue and we don't want to
|
|
379
|
-
// swallow that.
|
|
380
|
-
hermesE.printStackTrace();
|
|
381
|
-
throw jscE;
|
|
382
396
|
}
|
|
397
|
+
} else if (jsInterpreter == JSInterpreter.HERMES) {
|
|
398
|
+
HermesExecutor.loadLibrary();
|
|
399
|
+
return new HermesExecutorFactory();
|
|
400
|
+
} else {
|
|
401
|
+
JSCExecutor.loadLibrary();
|
|
402
|
+
return new JSCExecutorFactory(appName, deviceName);
|
|
383
403
|
}
|
|
384
404
|
}
|
|
385
405
|
}
|
|
@@ -18,7 +18,7 @@ import com.facebook.react.common.LifecycleState;
|
|
|
18
18
|
import com.facebook.react.common.SurfaceDelegate;
|
|
19
19
|
import com.facebook.react.common.SurfaceDelegateFactory;
|
|
20
20
|
import com.facebook.react.devsupport.DevSupportManagerFactory;
|
|
21
|
-
import com.facebook.react.devsupport.RedBoxHandler;
|
|
21
|
+
import com.facebook.react.devsupport.interfaces.RedBoxHandler;
|
|
22
22
|
import com.facebook.react.uimanager.UIImplementationProvider;
|
|
23
23
|
import java.util.List;
|
|
24
24
|
|
|
@@ -52,6 +52,7 @@ import com.facebook.react.modules.deviceinfo.DeviceInfoModule;
|
|
|
52
52
|
import com.facebook.react.surface.ReactStage;
|
|
53
53
|
import com.facebook.react.uimanager.DisplayMetricsHolder;
|
|
54
54
|
import com.facebook.react.uimanager.IllegalViewOperationException;
|
|
55
|
+
import com.facebook.react.uimanager.JSPointerDispatcher;
|
|
55
56
|
import com.facebook.react.uimanager.JSTouchDispatcher;
|
|
56
57
|
import com.facebook.react.uimanager.PixelUtil;
|
|
57
58
|
import com.facebook.react.uimanager.ReactClippingProhibitedView;
|
|
@@ -97,6 +98,7 @@ public class ReactRootView extends FrameLayout implements RootView, ReactRoot {
|
|
|
97
98
|
private boolean mIsAttachedToInstance;
|
|
98
99
|
private boolean mShouldLogContentAppeared;
|
|
99
100
|
private @Nullable JSTouchDispatcher mJSTouchDispatcher;
|
|
101
|
+
private @Nullable JSPointerDispatcher mJSPointerDispatcher;
|
|
100
102
|
private final ReactAndroidHWInputDeviceHelper mAndroidHWInputDeviceHelper =
|
|
101
103
|
new ReactAndroidHWInputDeviceHelper();
|
|
102
104
|
private boolean mWasMeasured = false;
|
|
@@ -188,6 +190,11 @@ public class ReactRootView extends FrameLayout implements RootView, ReactRoot {
|
|
|
188
190
|
|
|
189
191
|
@Override
|
|
190
192
|
public void onChildStartedNativeGesture(MotionEvent ev) {
|
|
193
|
+
onChildStartedNativeGesture(null, ev);
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
@Override
|
|
197
|
+
public void onChildStartedNativeGesture(View childView, MotionEvent ev) {
|
|
191
198
|
if (!isDispatcherReady()) {
|
|
192
199
|
return;
|
|
193
200
|
}
|
|
@@ -197,14 +204,12 @@ public class ReactRootView extends FrameLayout implements RootView, ReactRoot {
|
|
|
197
204
|
if (uiManager != null) {
|
|
198
205
|
EventDispatcher eventDispatcher = uiManager.getEventDispatcher();
|
|
199
206
|
mJSTouchDispatcher.onChildStartedNativeGesture(ev, eventDispatcher);
|
|
207
|
+
if (childView != null && mJSPointerDispatcher != null) {
|
|
208
|
+
mJSPointerDispatcher.onChildStartedNativeGesture(childView, ev, eventDispatcher);
|
|
209
|
+
}
|
|
200
210
|
}
|
|
201
211
|
}
|
|
202
212
|
|
|
203
|
-
@Override
|
|
204
|
-
public void onChildStartedNativeGesture(View childView, MotionEvent ev) {
|
|
205
|
-
onChildStartedNativeGesture(ev);
|
|
206
|
-
}
|
|
207
|
-
|
|
208
213
|
@Override
|
|
209
214
|
public void onChildEndedNativeGesture(View childView, MotionEvent ev) {
|
|
210
215
|
if (!isDispatcherReady()) {
|
|
@@ -216,6 +221,9 @@ public class ReactRootView extends FrameLayout implements RootView, ReactRoot {
|
|
|
216
221
|
if (uiManager != null) {
|
|
217
222
|
EventDispatcher eventDispatcher = uiManager.getEventDispatcher();
|
|
218
223
|
mJSTouchDispatcher.onChildEndedNativeGesture(ev, eventDispatcher);
|
|
224
|
+
if (mJSPointerDispatcher != null) {
|
|
225
|
+
mJSPointerDispatcher.onChildEndedNativeGesture();
|
|
226
|
+
}
|
|
219
227
|
}
|
|
220
228
|
}
|
|
221
229
|
|
|
@@ -230,25 +238,53 @@ public class ReactRootView extends FrameLayout implements RootView, ReactRoot {
|
|
|
230
238
|
FLog.w(TAG, "Unable to dispatch touch to JS before the dispatcher is available");
|
|
231
239
|
return false;
|
|
232
240
|
}
|
|
241
|
+
if (ReactFeatureFlags.dispatchPointerEvents && mJSPointerDispatcher == null) {
|
|
242
|
+
FLog.w(TAG, "Unable to dispatch pointer events to JS before the dispatcher is available");
|
|
243
|
+
return false;
|
|
244
|
+
}
|
|
233
245
|
|
|
234
246
|
return true;
|
|
235
247
|
}
|
|
236
248
|
|
|
249
|
+
// By default the JS touch events are dispatched at the root view. This can be overridden in
|
|
250
|
+
// subclasses as needed.
|
|
251
|
+
public boolean shouldDispatchJSTouchEvent(MotionEvent ev) {
|
|
252
|
+
return true;
|
|
253
|
+
}
|
|
254
|
+
|
|
237
255
|
@Override
|
|
238
256
|
public boolean onInterceptTouchEvent(MotionEvent ev) {
|
|
239
|
-
|
|
257
|
+
if (shouldDispatchJSTouchEvent(ev)) {
|
|
258
|
+
dispatchJSTouchEvent(ev);
|
|
259
|
+
}
|
|
260
|
+
dispatchJSPointerEvent(ev);
|
|
240
261
|
return super.onInterceptTouchEvent(ev);
|
|
241
262
|
}
|
|
242
263
|
|
|
264
|
+
@Override
|
|
265
|
+
public boolean onInterceptHoverEvent(MotionEvent ev) {
|
|
266
|
+
dispatchJSPointerEvent(ev);
|
|
267
|
+
return super.onInterceptHoverEvent(ev);
|
|
268
|
+
}
|
|
269
|
+
|
|
243
270
|
@Override
|
|
244
271
|
public boolean onTouchEvent(MotionEvent ev) {
|
|
245
|
-
|
|
272
|
+
if (shouldDispatchJSTouchEvent(ev)) {
|
|
273
|
+
dispatchJSTouchEvent(ev);
|
|
274
|
+
}
|
|
275
|
+
dispatchJSPointerEvent(ev);
|
|
246
276
|
super.onTouchEvent(ev);
|
|
247
277
|
// In case when there is no children interested in handling touch event, we return true from
|
|
248
278
|
// the root view in order to receive subsequent events related to that gesture
|
|
249
279
|
return true;
|
|
250
280
|
}
|
|
251
281
|
|
|
282
|
+
@Override
|
|
283
|
+
public boolean onHoverEvent(MotionEvent ev) {
|
|
284
|
+
dispatchJSPointerEvent(ev);
|
|
285
|
+
return super.onHoverEvent(ev);
|
|
286
|
+
}
|
|
287
|
+
|
|
252
288
|
@Override
|
|
253
289
|
protected void dispatchDraw(Canvas canvas) {
|
|
254
290
|
try {
|
|
@@ -302,6 +338,29 @@ public class ReactRootView extends FrameLayout implements RootView, ReactRoot {
|
|
|
302
338
|
super.requestChildFocus(child, focused);
|
|
303
339
|
}
|
|
304
340
|
|
|
341
|
+
private void dispatchJSPointerEvent(MotionEvent event) {
|
|
342
|
+
if (mReactInstanceManager == null
|
|
343
|
+
|| !mIsAttachedToInstance
|
|
344
|
+
|| mReactInstanceManager.getCurrentReactContext() == null) {
|
|
345
|
+
FLog.w(TAG, "Unable to dispatch touch to JS as the catalyst instance has not been attached");
|
|
346
|
+
return;
|
|
347
|
+
}
|
|
348
|
+
if (mJSPointerDispatcher == null) {
|
|
349
|
+
if (!ReactFeatureFlags.dispatchPointerEvents) {
|
|
350
|
+
return;
|
|
351
|
+
}
|
|
352
|
+
FLog.w(TAG, "Unable to dispatch pointer events to JS before the dispatcher is available");
|
|
353
|
+
return;
|
|
354
|
+
}
|
|
355
|
+
ReactContext reactContext = mReactInstanceManager.getCurrentReactContext();
|
|
356
|
+
UIManager uiManager = UIManagerHelper.getUIManager(reactContext, getUIManagerType());
|
|
357
|
+
|
|
358
|
+
if (uiManager != null) {
|
|
359
|
+
EventDispatcher eventDispatcher = uiManager.getEventDispatcher();
|
|
360
|
+
mJSPointerDispatcher.handleMotionEvent(event, eventDispatcher);
|
|
361
|
+
}
|
|
362
|
+
}
|
|
363
|
+
|
|
305
364
|
private void dispatchJSTouchEvent(MotionEvent event) {
|
|
306
365
|
if (mReactInstanceManager == null
|
|
307
366
|
|| !mIsAttachedToInstance
|
|
@@ -619,6 +678,11 @@ public class ReactRootView extends FrameLayout implements RootView, ReactRoot {
|
|
|
619
678
|
// them. Otherwise, these events might break the states expected by JS.
|
|
620
679
|
// Note that this callback was invoked from within the UI thread.
|
|
621
680
|
mJSTouchDispatcher = new JSTouchDispatcher(this);
|
|
681
|
+
|
|
682
|
+
if (ReactFeatureFlags.dispatchPointerEvents) {
|
|
683
|
+
mJSPointerDispatcher = new JSPointerDispatcher(this);
|
|
684
|
+
}
|
|
685
|
+
|
|
622
686
|
if (mRootViewEventListener != null) {
|
|
623
687
|
mRootViewEventListener.onAttachedToReactInstance(this);
|
|
624
688
|
}
|
|
@@ -699,6 +763,9 @@ public class ReactRootView extends FrameLayout implements RootView, ReactRoot {
|
|
|
699
763
|
/* package */ void simulateAttachForTesting() {
|
|
700
764
|
mIsAttachedToInstance = true;
|
|
701
765
|
mJSTouchDispatcher = new JSTouchDispatcher(this);
|
|
766
|
+
if (ReactFeatureFlags.dispatchPointerEvents) {
|
|
767
|
+
mJSPointerDispatcher = new JSPointerDispatcher(this);
|
|
768
|
+
}
|
|
702
769
|
}
|
|
703
770
|
|
|
704
771
|
@VisibleForTesting
|
|
@@ -719,12 +786,22 @@ public class ReactRootView extends FrameLayout implements RootView, ReactRoot {
|
|
|
719
786
|
|
|
720
787
|
// React Native requires that the RootView id be managed entirely by React Native, and will
|
|
721
788
|
// crash in addRootView/startSurface if the native View id isn't set to NO_ID.
|
|
789
|
+
|
|
790
|
+
// This behavior can not be guaranteed in hybrid apps that have a native android layer over
|
|
791
|
+
// which reactRootViews are added and the native views need to have ids on them in order to
|
|
792
|
+
// work.
|
|
793
|
+
// Hence this can cause unnecessary crashes at runtime for hybrid apps.
|
|
794
|
+
// So converting this to a soft exception such that pure react-native devs can still see the
|
|
795
|
+
// warning while hybrid apps continue to run without crashes
|
|
796
|
+
|
|
722
797
|
if (getId() != View.NO_ID) {
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
798
|
+
ReactSoftExceptionLogger.logSoftException(
|
|
799
|
+
TAG,
|
|
800
|
+
new IllegalViewOperationException(
|
|
801
|
+
"Trying to attach a ReactRootView with an explicit id already set to ["
|
|
802
|
+
+ getId()
|
|
803
|
+
+ "]. React Native uses the id field to track react tags and will overwrite this"
|
|
804
|
+
+ " field. If that is fine, explicitly overwrite the id field to View.NO_ID."));
|
|
728
805
|
}
|
|
729
806
|
|
|
730
807
|
try {
|
package/ReactAndroid/src/main/java/com/facebook/react/animated/AnimatedNodeWithUpdateableConfig.java
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and 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.animated;
|
|
9
|
+
|
|
10
|
+
import com.facebook.react.bridge.ReadableMap;
|
|
11
|
+
|
|
12
|
+
/** Indicates that AnimatedNode is able to receive native config updates. */
|
|
13
|
+
public interface AnimatedNodeWithUpdateableConfig {
|
|
14
|
+
void onUpdateConfig(ReadableMap config);
|
|
15
|
+
}
|
|
@@ -7,7 +7,10 @@ rn_android_library(
|
|
|
7
7
|
]),
|
|
8
8
|
autoglob = False,
|
|
9
9
|
is_androidx = True,
|
|
10
|
-
labels = [
|
|
10
|
+
labels = [
|
|
11
|
+
"pfh:ReactNative_CommonInfrastructurePlaceholder",
|
|
12
|
+
"supermodule:xplat/default/public.react_native.infra",
|
|
13
|
+
],
|
|
11
14
|
provided_deps = [
|
|
12
15
|
react_native_dep("third-party/android/androidx:annotation"),
|
|
13
16
|
react_native_dep("third-party/android/androidx:core"),
|
|
@@ -26,8 +29,10 @@ rn_android_library(
|
|
|
26
29
|
react_native_target("java/com/facebook/react/common:common"),
|
|
27
30
|
react_native_target("java/com/facebook/react/module/annotations:annotations"),
|
|
28
31
|
react_native_target("java/com/facebook/react/modules/core:core"),
|
|
32
|
+
react_native_target("java/com/facebook/react/config:config"),
|
|
29
33
|
react_native_target("java/com/facebook/react/uimanager:uimanager"),
|
|
30
34
|
react_native_target("java/com/facebook/react/uimanager/annotations:annotations"),
|
|
35
|
+
react_native_target("java/com/facebook/react/views/view:view"),
|
|
31
36
|
],
|
|
32
37
|
exported_deps = [react_native_root_target(":FBReactNativeSpec")],
|
|
33
38
|
)
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and 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.animated;
|
|
9
|
+
|
|
10
|
+
import android.content.Context;
|
|
11
|
+
import android.graphics.Color;
|
|
12
|
+
import android.view.View;
|
|
13
|
+
import com.facebook.react.bridge.ColorPropConverter;
|
|
14
|
+
import com.facebook.react.bridge.ReactApplicationContext;
|
|
15
|
+
import com.facebook.react.bridge.ReadableMap;
|
|
16
|
+
import com.facebook.react.views.view.ColorUtil;
|
|
17
|
+
|
|
18
|
+
/** Animated node that represents a color. */
|
|
19
|
+
/*package*/ class ColorAnimatedNode extends AnimatedNode
|
|
20
|
+
implements AnimatedNodeWithUpdateableConfig {
|
|
21
|
+
|
|
22
|
+
private final NativeAnimatedNodesManager mNativeAnimatedNodesManager;
|
|
23
|
+
private final ReactApplicationContext mReactApplicationContext;
|
|
24
|
+
private int mRNodeId;
|
|
25
|
+
private int mGNodeId;
|
|
26
|
+
private int mBNodeId;
|
|
27
|
+
private int mANodeId;
|
|
28
|
+
private ReadableMap mNativeColor;
|
|
29
|
+
private boolean mNativeColorApplied;
|
|
30
|
+
|
|
31
|
+
public ColorAnimatedNode(
|
|
32
|
+
ReadableMap config,
|
|
33
|
+
NativeAnimatedNodesManager nativeAnimatedNodesManager,
|
|
34
|
+
ReactApplicationContext reactApplicationContext) {
|
|
35
|
+
mNativeAnimatedNodesManager = nativeAnimatedNodesManager;
|
|
36
|
+
mReactApplicationContext = reactApplicationContext;
|
|
37
|
+
onUpdateConfig(config);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
public int getColor() {
|
|
41
|
+
tryApplyNativeColor();
|
|
42
|
+
|
|
43
|
+
ValueAnimatedNode rNode = (ValueAnimatedNode) mNativeAnimatedNodesManager.getNodeById(mRNodeId);
|
|
44
|
+
ValueAnimatedNode gNode = (ValueAnimatedNode) mNativeAnimatedNodesManager.getNodeById(mGNodeId);
|
|
45
|
+
ValueAnimatedNode bNode = (ValueAnimatedNode) mNativeAnimatedNodesManager.getNodeById(mBNodeId);
|
|
46
|
+
ValueAnimatedNode aNode = (ValueAnimatedNode) mNativeAnimatedNodesManager.getNodeById(mANodeId);
|
|
47
|
+
|
|
48
|
+
double r = rNode.getValue();
|
|
49
|
+
double g = gNode.getValue();
|
|
50
|
+
double b = bNode.getValue();
|
|
51
|
+
double a = aNode.getValue();
|
|
52
|
+
|
|
53
|
+
return ColorUtil.normalize(r, g, b, a);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
public void onUpdateConfig(ReadableMap config) {
|
|
57
|
+
mRNodeId = config.getInt("r");
|
|
58
|
+
mGNodeId = config.getInt("g");
|
|
59
|
+
mBNodeId = config.getInt("b");
|
|
60
|
+
mANodeId = config.getInt("a");
|
|
61
|
+
mNativeColor = config.getMap("nativeColor");
|
|
62
|
+
mNativeColorApplied = false;
|
|
63
|
+
tryApplyNativeColor();
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
@Override
|
|
67
|
+
public String prettyPrint() {
|
|
68
|
+
return "ColorAnimatedNode["
|
|
69
|
+
+ mTag
|
|
70
|
+
+ "]: r: "
|
|
71
|
+
+ mRNodeId
|
|
72
|
+
+ " g: "
|
|
73
|
+
+ mGNodeId
|
|
74
|
+
+ " b: "
|
|
75
|
+
+ mBNodeId
|
|
76
|
+
+ " a: "
|
|
77
|
+
+ mANodeId;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
private void tryApplyNativeColor() {
|
|
81
|
+
if (mNativeColor == null || mNativeColorApplied) {
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
Context context = getContext();
|
|
86
|
+
if (context == null) {
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
int color = ColorPropConverter.getColor(mNativeColor, context);
|
|
91
|
+
|
|
92
|
+
ValueAnimatedNode rNode = (ValueAnimatedNode) mNativeAnimatedNodesManager.getNodeById(mRNodeId);
|
|
93
|
+
ValueAnimatedNode gNode = (ValueAnimatedNode) mNativeAnimatedNodesManager.getNodeById(mGNodeId);
|
|
94
|
+
ValueAnimatedNode bNode = (ValueAnimatedNode) mNativeAnimatedNodesManager.getNodeById(mBNodeId);
|
|
95
|
+
ValueAnimatedNode aNode = (ValueAnimatedNode) mNativeAnimatedNodesManager.getNodeById(mANodeId);
|
|
96
|
+
|
|
97
|
+
rNode.mValue = Color.red(color);
|
|
98
|
+
gNode.mValue = Color.green(color);
|
|
99
|
+
bNode.mValue = Color.blue(color);
|
|
100
|
+
aNode.mValue = Color.alpha(color) / 255.0;
|
|
101
|
+
|
|
102
|
+
mNativeColorApplied = true;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
private Context getContext() {
|
|
106
|
+
Context context = mReactApplicationContext.getCurrentActivity();
|
|
107
|
+
if (context != null) {
|
|
108
|
+
return context;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
// There are cases where the activity may not exist (such as for VRShell panel apps). In this
|
|
112
|
+
// case we will search for a view associated with a PropsAnimatedNode to get the context.
|
|
113
|
+
return getContextHelper(this);
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
private static Context getContextHelper(AnimatedNode node) {
|
|
117
|
+
// Search children depth-first until we get to a PropsAnimatedNode, from which we can
|
|
118
|
+
// get the view and its context
|
|
119
|
+
if (node.mChildren != null) {
|
|
120
|
+
for (AnimatedNode child : node.mChildren) {
|
|
121
|
+
if (child instanceof PropsAnimatedNode) {
|
|
122
|
+
View view = ((PropsAnimatedNode) child).getConnectedView();
|
|
123
|
+
return view != null ? view.getContext() : null;
|
|
124
|
+
} else {
|
|
125
|
+
return getContextHelper(child);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
return null;
|
|
130
|
+
}
|
|
131
|
+
}
|