react-native-tvos 0.79.2-0 → 0.80.0-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/Alert/Alert.d.ts +4 -1
- package/Libraries/Alert/Alert.js +3 -0
- package/Libraries/Alert/RCTAlertManager.js +17 -0
- package/Libraries/Animated/Animated.js.flow +1 -3
- package/Libraries/Animated/AnimatedEvent.js +4 -3
- package/Libraries/Animated/AnimatedExports.js +2 -2
- package/Libraries/Animated/AnimatedExports.js.flow +140 -0
- package/Libraries/Animated/AnimatedImplementation.js +2 -123
- package/Libraries/Animated/Easing.js +13 -15
- package/Libraries/Animated/animations/Animation.js +8 -4
- package/Libraries/Animated/components/AnimatedFlatList.js +7 -6
- package/Libraries/Animated/components/AnimatedScrollView.js +48 -42
- package/Libraries/Animated/components/AnimatedSectionList.js +11 -7
- package/Libraries/Animated/createAnimatedComponent.js +105 -57
- package/Libraries/Animated/nodes/AnimatedNode.js +4 -3
- package/Libraries/Animated/nodes/AnimatedProps.js +46 -26
- package/Libraries/Animated/nodes/AnimatedValue.js +16 -7
- package/Libraries/Animated/nodes/AnimatedValueXY.js +3 -1
- package/Libraries/AppDelegate/RCTAppSetupUtils.h +2 -0
- package/Libraries/AppDelegate/RCTAppSetupUtils.mm +6 -0
- package/Libraries/AppDelegate/RCTArchConfiguratorProtocol.h +4 -4
- package/Libraries/AppDelegate/RCTDefaultReactNativeFactoryDelegate.mm +6 -5
- package/Libraries/AppDelegate/RCTDependencyProvider.h +2 -0
- package/Libraries/AppDelegate/RCTReactNativeFactory.h +4 -0
- package/Libraries/AppDelegate/RCTReactNativeFactory.mm +54 -40
- package/Libraries/AppDelegate/RCTRootViewFactory.h +9 -0
- package/Libraries/AppDelegate/RCTRootViewFactory.mm +14 -6
- package/Libraries/AppDelegate/React-RCTAppDelegate.podspec +2 -11
- package/Libraries/AppState/AppState.js +7 -2
- package/Libraries/BatchedBridge/MessageQueue.js +2 -2
- package/Libraries/BatchedBridge/NativeModules.js +2 -0
- package/Libraries/Blob/BlobManager.js +1 -0
- package/Libraries/Blob/FileReader.js +219 -8
- package/Libraries/Blob/RCTBlobCollector.mm +1 -1
- package/Libraries/Blob/RCTBlobManager.h +0 -4
- package/Libraries/Blob/RCTBlobManager.mm +4 -21
- package/Libraries/Blob/RCTFileReaderModule.mm +2 -2
- package/Libraries/Blob/React-RCTBlob.podspec +4 -14
- package/Libraries/Blob/URL.js +24 -11
- package/Libraries/Blob/URLSearchParams.js +106 -31
- package/Libraries/Blob/URLSearchParams.js.flow +12 -7
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +1 -1
- package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.js +17 -0
- package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +1 -0
- package/Libraries/Components/Button.js +1 -1
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +1 -3
- package/Libraries/{NewAppScreen/components/Colors.js → Components/DrawerAndroid/DrawerLayoutAndroid.ios.js} +6 -10
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js +6 -66
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js.flow +18 -0
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroidFallback.js +71 -0
- package/Libraries/Components/Keyboard/Keyboard.js +5 -3
- package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +6 -3
- package/Libraries/Components/Pressable/Pressable.js +23 -7
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js +25 -3
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidTypes.js +29 -20
- package/Libraries/Components/RefreshControl/RefreshControl.js +1 -1
- package/Libraries/Components/ScrollView/ScrollView.d.ts +3 -3
- package/Libraries/Components/ScrollView/ScrollView.js +132 -122
- package/Libraries/Components/StaticRenderer.js +1 -1
- package/Libraries/Components/Switch/Switch.d.ts +3 -0
- package/Libraries/Components/Switch/Switch.js +8 -4
- package/Libraries/Components/TV/TVEventControl.js +3 -1
- package/Libraries/Components/TV/TVEventHandler.js +21 -13
- package/Libraries/Components/TV/TVFocusEventHandler.js +1 -1
- package/Libraries/Components/TV/TVFocusGuideView.js +3 -8
- package/Libraries/Components/TV/tagForComponentOrHandle.js +2 -2
- package/Libraries/Components/TV/useTVEventHandler.js +1 -1
- package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +2 -13
- package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +2 -4
- package/Libraries/Components/TextInput/TextInput.d.ts +76 -33
- package/Libraries/Components/TextInput/TextInput.flow.js +106 -55
- package/Libraries/Components/TextInput/TextInput.js +94 -1029
- package/Libraries/Components/TextInput/TextInputState.js +1 -1
- package/Libraries/{Modal/ModalInjection.js → Components/ToastAndroid/ToastAndroid.ios.js} +3 -5
- package/Libraries/Components/ToastAndroid/ToastAndroid.js +4 -32
- package/Libraries/Components/ToastAndroid/ToastAndroid.js.flow +109 -0
- package/Libraries/Components/ToastAndroid/ToastAndroidFallback.js +45 -0
- package/Libraries/Components/Touchable/Touchable.js +5 -5
- package/Libraries/Components/Touchable/TouchableBounce.js +14 -7
- package/Libraries/Components/Touchable/TouchableHighlight.js +14 -10
- package/Libraries/Components/Touchable/TouchableNativeFeedback.js +6 -6
- package/Libraries/Components/Touchable/TouchableOpacity.js +14 -7
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +1 -1
- package/Libraries/Components/View/View.js +21 -23
- package/Libraries/Components/View/ViewAccessibility.d.ts +15 -0
- package/Libraries/Components/View/ViewAccessibility.js +25 -1
- package/Libraries/Components/View/ViewNativeComponent.js +2 -2
- package/Libraries/Components/View/ViewPropTypes.d.ts +16 -0
- package/Libraries/Components/View/ViewPropTypes.js +49 -3
- package/Libraries/Core/ReactNativeVersion.js +2 -2
- package/Libraries/Core/setUpReactDevTools.js +5 -5
- package/Libraries/Debugging/DebuggingOverlayRegistry.js +3 -3
- package/Libraries/EventEmitter/NativeEventEmitter.js +9 -4
- package/Libraries/Image/AssetSourceResolver.js +17 -4
- package/Libraries/Image/Image.d.ts +26 -10
- package/Libraries/Image/Image.js +17 -0
- package/Libraries/Image/Image.js.flow +5 -5
- package/Libraries/Image/ImageBackground.js +2 -0
- package/Libraries/Image/ImageInjection.js +1 -1
- package/Libraries/Image/ImageProps.js +22 -17
- package/Libraries/Image/ImageSource.js +3 -1
- package/Libraries/Image/ImageSourceUtils.js +4 -2
- package/Libraries/Image/ImageTypes.flow.js +1 -1
- package/Libraries/Image/RCTImageLoader.mm +63 -19
- package/Libraries/Image/RCTImageStoreManager.mm +10 -32
- package/Libraries/Image/RCTImageURLLoader.h +19 -1
- package/Libraries/Image/RCTUIImageViewAnimated.mm +6 -23
- package/Libraries/Image/React-RCTImage.podspec +2 -7
- package/Libraries/Interaction/InteractionManager.d.ts +13 -0
- package/Libraries/Interaction/InteractionManager.js +1 -1
- package/Libraries/Interaction/PanResponder.js +3 -3
- package/Libraries/Interaction/TaskQueue.js +1 -0
- package/Libraries/LayoutAnimation/LayoutAnimation.js +2 -2
- package/Libraries/Linking/Linking.js +1 -1
- package/Libraries/LinkingIOS/React-RCTLinking.podspec +1 -6
- package/Libraries/Lists/FlatList.d.ts +2 -2
- package/Libraries/Lists/FlatList.js +8 -11
- package/Libraries/Lists/SectionList.js +39 -42
- package/Libraries/Lists/SectionListModern.js +25 -34
- package/Libraries/Lists/VirtualizedList.js +1 -0
- package/Libraries/Lists/VirtualizedSectionList.js +1 -0
- package/Libraries/LogBox/Data/LogBoxData.js +1 -1
- package/Libraries/LogBox/LogBoxNotificationContainer.js +1 -1
- package/Libraries/Modal/Modal.js +33 -7
- package/Libraries/NativeAnimation/RCTNativeAnimatedTurboModule.mm +118 -124
- package/Libraries/NativeAnimation/React-RCTAnimation.podspec +4 -7
- package/Libraries/NativeComponent/BaseViewConfig.android.js +8 -6
- package/Libraries/NativeComponent/BaseViewConfig.ios.js +2 -0
- package/Libraries/NativeComponent/BaseViewConfig.js +17 -0
- package/Libraries/NativeComponent/PlatformBaseViewConfig.js +2 -2
- package/Libraries/NativeModules/specs/NativeDevMenu.js +2 -2
- package/Libraries/Network/RCTDataRequestHandler.mm +10 -6
- package/Libraries/Network/RCTFileRequestHandler.mm +11 -7
- package/Libraries/Network/RCTHTTPRequestHandler.mm +1 -2
- package/Libraries/Network/RCTInspectorNetworkReporter.h +32 -0
- package/Libraries/Network/RCTInspectorNetworkReporter.mm +88 -0
- package/Libraries/Network/RCTNetworking.android.js +1 -1
- package/Libraries/Network/RCTNetworking.h +0 -4
- package/Libraries/Network/RCTNetworking.ios.js +1 -1
- package/Libraries/Network/RCTNetworking.js +17 -0
- package/Libraries/Network/RCTNetworking.js.flow +1 -1
- package/Libraries/Network/RCTNetworking.mm +32 -33
- package/Libraries/Network/React-RCTNetwork.podspec +6 -7
- package/Libraries/Network/XMLHttpRequest.js +781 -10
- package/Libraries/Performance/Systrace.js +7 -7
- package/Libraries/Pressability/Pressability.js +1 -1
- package/Libraries/PushNotificationIOS/React-RCTPushNotification.podspec +1 -6
- package/Libraries/ReactNative/AppContainer-dev.js +10 -9
- package/Libraries/ReactNative/AppRegistry.flow.js +49 -0
- package/Libraries/ReactNative/AppRegistry.js +2 -322
- package/Libraries/ReactNative/AppRegistry.js.flow +23 -0
- package/Libraries/ReactNative/AppRegistryImpl.js +316 -0
- package/Libraries/ReactNative/FabricUIManager.js +10 -0
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +2 -4
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +1 -4
- package/Libraries/ReactNative/RendererImplementation.js +10 -5
- package/Libraries/ReactNative/getNativeComponentAttributes.js +1 -0
- package/Libraries/ReactNative/renderApplication.js +9 -0
- package/Libraries/ReactNativeDependencies/Package.swift +2 -2
- package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +3 -3
- package/Libraries/ReactPrivate/ReactNativePrivateInterface.js.flow +51 -0
- package/Libraries/Renderer/implementations/ReactFabric-dev.js +4840 -4748
- package/Libraries/Renderer/implementations/ReactFabric-prod.js +4947 -4829
- package/Libraries/Renderer/implementations/ReactFabric-profiling.js +3998 -3888
- package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +5005 -4948
- package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +2744 -2652
- package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +5020 -4933
- package/Libraries/Renderer/shims/ReactNativeTypes.js +3 -3
- package/Libraries/Settings/React-RCTSettings.podspec +3 -7
- package/Libraries/Settings/Settings.ios.js +1 -0
- package/Libraries/Settings/Settings.js +13 -19
- package/Libraries/Settings/SettingsFallback.js +33 -0
- package/Libraries/StyleSheet/PlatformColorValueTypes.js +15 -0
- package/Libraries/StyleSheet/PlatformColorValueTypesIOS.js +6 -0
- package/Libraries/StyleSheet/Rect.js +1 -0
- package/Libraries/StyleSheet/StyleSheet.js +31 -200
- package/Libraries/StyleSheet/StyleSheet.js.flow +188 -0
- package/Libraries/StyleSheet/StyleSheetExports.js +210 -0
- package/Libraries/StyleSheet/StyleSheetExports.js.flow +112 -0
- package/Libraries/StyleSheet/StyleSheetTypes.d.ts +1 -1
- package/Libraries/StyleSheet/StyleSheetTypes.js +130 -52
- package/Libraries/StyleSheet/flattenStyle.js +14 -4
- package/Libraries/StyleSheet/private/_TransformStyle.js +49 -21
- package/Libraries/StyleSheet/processBackgroundImage.js +670 -214
- package/Libraries/Text/Text/RCTDynamicTypeRamp.mm +1 -1
- package/Libraries/Text/Text.d.ts +2 -5
- package/Libraries/Text/Text.js +3 -3
- package/Libraries/Text/TextInput/Multiline/RCTUITextView.mm +11 -0
- package/Libraries/Text/TextInput/RCTBackedTextInputDelegateAdapter.mm +96 -0
- package/Libraries/Text/TextInput/RCTBackedTextInputViewProtocol.h +1 -0
- package/Libraries/Text/TextInput/RCTBaseTextInputViewManager.mm +4 -4
- package/Libraries/Text/TextInput/Singleline/RCTUITextField.mm +11 -0
- package/Libraries/Text/TextNativeComponent.js +0 -4
- package/Libraries/Text/TextProps.js +5 -33
- package/Libraries/Types/CodegenTypesNamespace.d.ts +45 -0
- package/Libraries/{Blob/__mocks__/BlobModule.js → Types/CodegenTypesNamespace.js} +4 -6
- package/Libraries/Types/CoreEventTypes.d.ts +10 -1
- package/Libraries/Types/CoreEventTypes.js +4 -6
- package/Libraries/Utilities/Appearance.js +2 -0
- package/Libraries/Utilities/BackHandler.ios.js +9 -4
- package/Libraries/Utilities/BackHandler.js +17 -0
- package/Libraries/Utilities/DeviceInfo.js +2 -0
- package/Libraries/Utilities/Dimensions.js +1 -1
- package/Libraries/Utilities/Platform.js +17 -0
- package/Libraries/Utilities/PlatformTypes.js +11 -3
- package/Libraries/Utilities/ReactNativeTestTools.js +2 -2
- package/Libraries/Utilities/codegenNativeCommands.d.ts +18 -0
- package/Libraries/Utilities/codegenNativeComponent.d.ts +26 -0
- package/Libraries/Utilities/setAndForwardRef.js +6 -6
- package/Libraries/Vibration/React-RCTVibration.podspec +3 -7
- package/Libraries/WebSocket/WebSocket.js +313 -8
- package/Libraries/vendor/core/ErrorUtils.js +28 -2
- package/Libraries/vendor/emitter/EventEmitter.js +6 -2
- package/README-core.md +0 -3
- package/README.md +3 -1
- package/React/Base/RCTBridge.h +5 -3
- package/React/Base/RCTBridge.mm +95 -13
- package/React/Base/RCTBridgeProxy.mm +1 -1
- package/React/Base/RCTRootView.h +7 -1
- package/React/Base/RCTRootView.m +38 -0
- package/React/Base/RCTRootViewInternal.h +1 -0
- package/React/Base/RCTTVRemoteSelectHandler.m +2 -1
- package/React/Base/RCTUtils.h +8 -5
- package/React/Base/{RCTUtils.m → RCTUtils.mm} +55 -28
- package/React/Base/RCTVersion.m +2 -2
- package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingProxyRootView.h +6 -0
- package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingProxyRootView.mm +37 -0
- package/React/CoreModules/PlatformStubs/RCTStatusBarManager.mm +3 -8
- package/React/CoreModules/RCTAccessibilityManager.mm +9 -11
- package/React/CoreModules/RCTAppState.mm +11 -9
- package/React/CoreModules/RCTAppearance.mm +2 -14
- package/React/CoreModules/RCTDevSettings.mm +0 -1
- package/React/CoreModules/RCTDeviceInfo.mm +50 -19
- package/React/CoreModules/RCTLogBox.mm +1 -1
- package/React/CoreModules/RCTPerfMonitor.mm +1 -1
- package/React/CoreModules/RCTPlatform.mm +25 -20
- package/React/CoreModules/RCTStatusBarManager.mm +18 -13
- package/React/CoreModules/RCTTVNavigationEventEmitter.mm +0 -2
- package/React/CoreModules/React-CoreModules.podspec +4 -18
- package/React/CxxBridge/RCTCxxBridge.mm +6 -18
- package/React/CxxModule/RCTNativeModule.mm +1 -1
- package/React/FBReactNativeSpec/FBReactNativeSpecJSI-generated.cpp +173 -133
- package/React/FBReactNativeSpec/FBReactNativeSpecJSI.h +600 -425
- package/React/Fabric/Mounting/ComponentViews/Image/RCTImageComponentView.mm +5 -0
- package/React/Fabric/Mounting/ComponentViews/LegacyViewManagerInterop/RCTLegacyViewManagerInteropComponentView.mm +21 -8
- package/React/Fabric/Mounting/ComponentViews/LegacyViewManagerInterop/RCTLegacyViewManagerInteropCoordinatorAdapter.h +1 -1
- package/React/Fabric/Mounting/ComponentViews/LegacyViewManagerInterop/RCTLegacyViewManagerInteropCoordinatorAdapter.mm +2 -2
- package/React/Fabric/Mounting/ComponentViews/Modal/RCTModalHostViewComponentView.mm +2 -4
- package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTPullToRefreshViewComponentView.mm +2 -2
- package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +31 -0
- package/React/Fabric/Mounting/ComponentViews/Switch/RCTSwitchComponentView.mm +13 -1
- package/React/Fabric/Mounting/ComponentViews/Text/RCTAccessibilityElement.h +1 -1
- package/React/Fabric/Mounting/ComponentViews/Text/RCTAccessibilityElement.mm +2 -2
- package/React/Fabric/Mounting/ComponentViews/Text/RCTParagraphComponentAccessibilityProvider.mm +13 -8
- package/React/Fabric/Mounting/ComponentViews/Text/RCTParagraphComponentView.mm +62 -15
- package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +47 -4
- package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputUtils.mm +1 -0
- package/React/Fabric/Mounting/ComponentViews/View/RCTViewAccessibilityElement.h +28 -0
- package/React/Fabric/Mounting/ComponentViews/View/RCTViewAccessibilityElement.mm +83 -0
- package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.h +11 -0
- package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +130 -34
- package/React/Fabric/Mounting/RCTComponentViewFactory.h +0 -6
- package/React/Fabric/Mounting/RCTComponentViewFactory.mm +36 -31
- package/React/Fabric/RCTScheduler.mm +6 -0
- package/React/Fabric/Utils/RCTBoxShadow.h +2 -4
- package/React/Fabric/Utils/RCTBoxShadow.mm +92 -224
- package/React/Fabric/Utils/RCTGradientUtils.h +21 -0
- package/React/Fabric/Utils/RCTGradientUtils.mm +204 -0
- package/React/Fabric/Utils/RCTLinearGradient.mm +3 -192
- package/React/Fabric/Utils/{RCTViewFinder.h → RCTRadialGradient.h} +3 -2
- package/React/Fabric/Utils/RCTRadialGradient.mm +229 -0
- package/React/Profiler/RCTProfile.m +1 -1
- package/React/React-RCTFBReactNativeSpec.podspec +3 -13
- package/React/React-RCTFabric.podspec +6 -14
- package/React/Runtime/React-RCTRuntime.podspec +4 -18
- package/React/Views/RCTBorderDrawing.h +5 -2
- package/React/Views/RCTBorderDrawing.m +29 -12
- package/React/Views/RCTFont.mm +0 -4
- package/React/Views/RCTTVView.m +4 -4
- package/React/Views/RCTView.m +4 -4
- package/React/Views/ScrollView/RCTScrollView.m +1 -1
- package/React-Core.podspec +4 -20
- package/ReactAndroid/api/ReactAndroid.api +617 -1147
- package/ReactAndroid/build.gradle.kts +4 -2
- package/ReactAndroid/cmake-utils/ReactNative-application.cmake +9 -15
- package/ReactAndroid/external-artifacts/build.gradle.kts +6 -4
- package/ReactAndroid/gradle.properties +4 -2
- package/ReactAndroid/hermes-engine/build.gradle.kts +7 -4
- package/ReactAndroid/proguard-rules.pro +0 -6
- package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/HermesExecutor.kt +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/BaseReactPackage.kt +3 -2
- package/ReactAndroid/src/main/java/com/facebook/react/CoreModulesPackage.java +11 -2
- package/ReactAndroid/src/main/java/com/facebook/react/DebugCorePackage.kt +56 -0
- package/ReactAndroid/src/main/java/com/facebook/react/HeadlessJsTaskService.kt +5 -5
- package/ReactAndroid/src/main/java/com/facebook/react/JSEngineResolutionAlgorithm.kt +4 -0
- package/ReactAndroid/src/main/java/com/facebook/react/LazyReactPackage.java +14 -3
- package/ReactAndroid/src/main/java/com/facebook/react/MemoryPressureRouter.kt +54 -0
- package/ReactAndroid/src/main/java/com/facebook/react/NativeModuleRegistryBuilder.kt +15 -4
- package/ReactAndroid/src/main/java/com/facebook/react/ReactActivity.java +20 -8
- package/ReactAndroid/src/main/java/com/facebook/react/ReactActivityDelegate.java +4 -12
- package/ReactAndroid/src/main/java/com/facebook/react/ReactAndroidHWInputDeviceHelper.kt +88 -0
- package/ReactAndroid/src/main/java/com/facebook/react/ReactDelegate.java +20 -56
- package/ReactAndroid/src/main/java/com/facebook/react/ReactFragment.java +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/ReactHost.kt +3 -3
- package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +41 -42
- package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManagerBuilder.java +9 -2
- package/ReactAndroid/src/main/java/com/facebook/react/ReactNativeHost.java +9 -0
- package/ReactAndroid/src/main/java/com/facebook/react/ReactPackage.kt +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/ReactPackageHelper.kt +0 -1
- package/ReactAndroid/src/main/java/com/facebook/react/ReactPackageLogger.kt +3 -0
- package/ReactAndroid/src/main/java/com/facebook/react/ReactPackageTurboModuleManagerDelegate.java +3 -3
- package/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java +12 -12
- package/ReactAndroid/src/main/java/com/facebook/react/animated/AnimatedNode.kt +10 -10
- package/ReactAndroid/src/main/java/com/facebook/react/animated/AnimatedNodeValueListener.kt +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/animated/ColorAnimatedNode.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/animated/EventAnimationDriver.kt +0 -6
- package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedModule.kt +1072 -0
- package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedNodesManager.kt +774 -0
- package/ReactAndroid/src/main/java/com/facebook/react/animated/ValueAnimatedNode.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ActivityEventListener.kt +26 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/Arguments.java +9 -7
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/BaseActivityEventListener.kt +29 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/BaseJavaModule.java +3 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/BridgeReactContext.java +14 -3
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/BridgeSoLoader.kt +36 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/CallbackImpl.kt +35 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstance.kt +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstanceImpl.java +17 -13
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ColorPropConverter.kt +214 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/CxxCallbackImpl.kt +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/CxxModuleWrapper.kt +10 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/CxxModuleWrapperBase.kt +56 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/Dynamic.kt +3 -3
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/DynamicFromArray.kt +61 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/DynamicFromMap.kt +80 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/DynamicFromObject.kt +80 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/DynamicNative.kt +6 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/GuardedAsyncTask.kt +42 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/GuardedRunnable.kt +26 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/Inspector.kt +78 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSBundleLoader.kt +99 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSInstance.kt +3 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSONArguments.kt +118 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaMethodWrapper.java +13 -5
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaModuleWrapper.kt +142 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaScriptContextHolder.kt +26 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaScriptExecutor.kt +30 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaScriptModuleRegistry.java +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/JsonWriterHelper.kt +129 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/LifecycleEventListener.kt +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ModuleHolder.java +8 -5
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ModuleSpec.java +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeArgumentsParseException.kt +10 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeArray.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeMap.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeModule.java +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeModuleRegistry.java +18 -7
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/OnBatchCompleteListener.kt +3 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/PromiseImpl.java +9 -8
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactApplicationContext.java +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContextBaseJavaModule.java +5 -7
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactCxxErrorHandler.kt +48 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactIgnorableMountingException.kt +6 -6
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactInstanceManagerInspectorTarget.java +7 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactMarker.java +3 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactMethod.kt +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactModuleWithSpec.kt +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactNativeJniCommonSoLoader.kt +31 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactNoCrashBridgeNotAllowedSoftException.kt +10 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactSoftExceptionLogger.kt +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReadableArrayBuilder.kt +61 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReadableMapBuilder.kt +61 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/Systrace.kt +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/UIManager.kt +6 -5
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/UIManagerProvider.kt +3 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/UiThreadUtil.kt +69 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/interop/InteropModuleRegistry.kt +13 -7
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/MessageQueueThreadHandler.kt +4 -3
- package/ReactAndroid/src/main/java/com/facebook/react/common/ClassFinder.kt +3 -4
- package/ReactAndroid/src/main/java/com/facebook/react/common/ClearableSynchronizedPool.kt +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/common/SurfaceDelegate.kt +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/common/annotations/LegacyArchitectureShadowNodeWithCxxImpl.kt +23 -0
- package/ReactAndroid/src/main/java/com/facebook/react/common/annotations/internal/InteropLegacyArchitecture.kt +16 -0
- package/ReactAndroid/src/main/java/com/facebook/react/common/annotations/internal/LegacyArchitecture.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/common/annotations/internal/LegacyArchitectureLogger.kt +66 -0
- package/ReactAndroid/src/main/java/com/facebook/react/common/build/ReactBuildConfig.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/ReadableMapBuffer.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/WritableMapBuffer.kt +7 -7
- package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultSoLoader.kt +10 -12
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BridgeDevSupportManager.kt +98 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BridgelessDevSupportManager.kt +81 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BundleDownloader.kt +323 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/ChangeBundleLocationDialog.kt +118 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/CxxInspectorPackagerConnection.kt +159 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DebugOverlayController.kt +87 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DefaultDevSupportManagerFactory.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevServerHelper.kt +413 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.kt +903 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerFactory.kt +57 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DoubleTapReloadRecognizer.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/InspectorFlags.kt +2 -1
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LogBoxModule.kt +4 -4
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/MultipartStreamReader.kt +167 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/ReactInstanceDevHelper.kt +44 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/ReleaseDevSupportManager.kt +10 -16
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/StackTraceHelper.kt +251 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevBundleDownloadListener.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevSupportManager.kt +11 -13
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/RedBoxHandler.kt +3 -3
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/StackFrame.kt +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/DevToolsReactPerfLogger.kt +176 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricSoLoader.kt +4 -5
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +177 -86
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManagerBinding.kt +6 -2
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManagerProviderImpl.kt +6 -11
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/StateWrapperImpl.kt +103 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/SurfaceHandlerBinding.kt +13 -11
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventBeatManager.kt +8 -12
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventEmitterWrapper.kt +5 -9
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/FabricEventEmitter.kt +7 -15
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/interop/UIBlock.kt +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/interop/UIBlockViewResolver.kt +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/LayoutMetricsConversions.kt +6 -6
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountItemDispatcher.java +16 -39
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountingManager.java +24 -25
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.java +12 -5
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/BatchMountItem.kt +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/DispatchCommandMountItem.kt +3 -3
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/IntBufferBatchMountItem.kt +335 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/MountItem.kt +3 -3
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/MountItemFactory.kt +7 -7
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/SendAccessibilityEventMountItem.kt +2 -1
- package/ReactAndroid/src/main/java/com/facebook/react/interfaces/TaskInterface.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/interfaces/exceptionmanager/ReactJsExceptionHandler.kt +16 -16
- package/ReactAndroid/src/main/java/com/facebook/react/internal/SystraceSection.kt +3 -3
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt +75 -60
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt +120 -100
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt +25 -21
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt +27 -23
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt +135 -113
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsOverrides_RNOSS_Canary_Android.kt +1 -3
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsOverrides_RNOSS_Stable_Android.kt +0 -2
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt +25 -21
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeNewArchitectureFeatureFlags.kt +84 -0
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeNewArchitectureFeatureFlagsDefaults.kt +0 -2
- package/ReactAndroid/src/main/java/com/facebook/react/internal/interop/InteropEvent.kt +14 -4
- package/ReactAndroid/src/main/java/com/facebook/react/internal/interop/InteropEventEmitter.kt +12 -2
- package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/TurboModuleInteropUtils.kt +293 -0
- package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/TurboModuleManager.kt +405 -0
- package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/TurboModuleManagerDelegate.kt +63 -0
- package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/TurboModulePerfLogger.kt +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/jscexecutor/JSCExecutor.kt +5 -0
- package/ReactAndroid/src/main/java/com/facebook/react/jscexecutor/JSCExecutorFactory.kt +7 -0
- package/ReactAndroid/src/main/java/com/facebook/react/jstasks/HeadlessJsTaskConfig.kt +1 -5
- package/ReactAndroid/src/main/java/com/facebook/react/jstasks/HeadlessJsTaskEventListener.kt +3 -2
- package/ReactAndroid/src/main/java/com/facebook/react/modules/accessibilityinfo/AccessibilityInfoModule.kt +13 -12
- package/ReactAndroid/src/main/java/com/facebook/react/modules/appearance/AppearanceModule.kt +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobModule.kt +336 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobProvider.kt +113 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/FileReaderModule.kt +99 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/common/ModuleDataCleaner.kt +4 -4
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ExceptionsManagerModule.kt +4 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/HeadlessJsTaskSupportModule.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/JSTimers.kt +4 -4
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/PermissionAwareActivity.kt +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/PermissionListener.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ReactChoreographer.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/DevMenuModule.kt +5 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/DevSettingsModule.kt +4 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/DidJSUpdateUiDuringFrameDetector.kt +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/FpsDebugFrameCallback.kt +14 -8
- package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/SourceCodeModule.kt +4 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/deviceinfo/DeviceInfoModule.kt +12 -17
- package/ReactAndroid/src/main/java/com/facebook/react/modules/dialog/AlertFragment.kt +209 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/dialog/DialogModule.kt +205 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/ReactOkHttpNetworkFetcher.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/SystraceRequestListener.kt +18 -18
- package/ReactAndroid/src/main/java/com/facebook/react/modules/i18nmanager/I18nManagerModule.kt +6 -5
- package/ReactAndroid/src/main/java/com/facebook/react/modules/image/ImageLoaderModule.kt +11 -22
- package/ReactAndroid/src/main/java/com/facebook/react/modules/intent/IntentModule.kt +35 -29
- package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ForwardingCookieHandler.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkingModule.kt +846 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/network/OkHttpCompat.java +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ProgressResponseBody.kt +57 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/permissions/PermissionsModule.kt +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/modules/share/ShareModule.kt +6 -6
- package/ReactAndroid/src/main/java/com/facebook/react/modules/sound/SoundManagerModule.kt +4 -4
- package/ReactAndroid/src/main/java/com/facebook/react/modules/statusbar/StatusBarModule.kt +13 -12
- package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/AndroidInfoHelpers.kt +14 -3
- package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/AndroidInfoModule.kt +6 -5
- package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.kt +20 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/toast/ToastModule.kt +7 -11
- package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/FileIoHandler.kt +161 -0
- package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/JSPackagerClient.kt +130 -0
- package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/PackagerConnectionSettings.kt +10 -2
- package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/ReconnectingWebSocket.kt +156 -0
- package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/RequestOnlyHandler.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessAtomicRef.kt +112 -0
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessCatalystInstance.kt +10 -4
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessReactContext.kt +159 -0
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessReactStateTracker.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/CoreReactPackage.kt +113 -0
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostDelegate.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImpl.java +97 -75
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImplDevHelper.kt +11 -10
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostInspectorTarget.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactInstance.kt +599 -0
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactLifecycleStateManager.kt +91 -0
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactSurfaceImpl.kt +217 -0
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactSurfaceView.kt +12 -11
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/cxxreactpackage/CxxReactPackage.kt +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/Continuation.kt +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/Task.kt +418 -0
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/TaskCompletionSource.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/shell/MainReactPackage.kt +31 -25
- package/ReactAndroid/src/main/java/com/facebook/react/soloader/OpenSourceMergedSoMapping.kt +4 -0
- package/ReactAndroid/src/main/java/com/facebook/react/touch/JSResponderHandler.kt +9 -9
- package/ReactAndroid/src/main/java/com/facebook/react/touch/OnInterceptTouchEventListener.kt +4 -4
- package/ReactAndroid/src/main/java/com/facebook/react/touch/ReactHitSlopView.kt +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/touch/ReactInterceptingViewGroup.kt +5 -5
- package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/CallInvokerHolderImpl.kt +2 -11
- package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/NativeMethodCallInvokerHolderImpl.kt +3 -12
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BackgroundStyleApplicator.kt +7 -2
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java +64 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManagerDelegate.kt +7 -5
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BlendModeHelper.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ComponentNameResolver.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSPointerDispatcher.java +59 -7
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/LayoutDirectionUtil.kt +7 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/LayoutShadowNode.java +8 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/LengthPercentage.kt +1 -10
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeKind.kt +3 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyManager.java +13 -5
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyOptimizer.java +11 -2
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NoSuchNativeViewException.kt +12 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/OnLayoutEvent.kt +93 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/PixelUtil.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactAccessibilityDelegate.java +16 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactAxOrderHelper.kt +146 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactClippingViewGroup.kt +11 -9
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactClippingViewGroupHelper.kt +63 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactCompoundView.kt +3 -3
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactOverflowView.kt +3 -3
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactPointerEventsView.kt +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactRootViewTagGenerator.kt +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactShadowNode.java +3 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactShadowNodeImpl.java +10 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactStylesDiffMap.kt +68 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactYogaConfigProvider.kt +6 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReferenceStateWrapper.kt +13 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ShadowNodeRegistry.kt +103 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/Spacing.kt +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ThemedReactContext.java +8 -11
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TouchTargetHelper.kt +435 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TransformHelper.kt +223 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIConstantsProviderBinding.kt +3 -3
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIImplementation.java +19 -13
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerHelper.java +14 -3
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java +31 -15
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModuleConstants.kt +92 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModuleConstantsHelper.java +17 -13
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModuleListener.kt +3 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIViewOperationQueue.java +27 -22
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewAtIndex.kt +46 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewGroupDrawingOrderHelper.kt +109 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewGroupManager.kt +87 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManager.java +22 -3
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagerPropertyUpdater.kt +7 -5
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagerRegistry.java +9 -4
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewProps.kt +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/YogaNodePool.kt +6 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/annotations/ReactProp.kt +97 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/annotations/ReactPropGroup.kt +86 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/annotations/ReactPropertyHolder.kt +15 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/common/UIManagerType.kt +5 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/common/ViewUtil.kt +3 -3
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/debug/NotThreadSafeViewHierarchyUpdateDebugListener.kt +3 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/BackgroundDrawable.kt +3 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/BorderDrawable.kt +9 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/InsetBoxShadowDrawable.kt +8 -6
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/OutlineDrawable.kt +10 -10
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/BlackHoleEventDispatcher.kt +3 -17
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/BlurEvent.kt +16 -5
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/Event.kt +206 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventCategoryDef.kt +7 -7
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcher.kt +1 -13
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcherImpl.java +16 -43
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcherProvider.kt +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/{ReactEventEmitter.kt → EventEmitterImpl.kt} +39 -47
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/FabricEventDispatcher.kt +33 -43
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/FocusEvent.kt +16 -5
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/PointerEventHelper.kt +27 -31
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTEventEmitter.kt +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTModernEventEmitter.kt +0 -3
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchEvent.kt +11 -4
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchesHelper.kt +12 -8
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/internal/LegacyArchitectureShadowNodeLogger.kt +52 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/AbstractLayoutAnimation.kt +128 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/AnimatedPropertyType.kt +3 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/BaseLayoutAnimation.kt +85 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutAnimationController.kt +225 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutAnimationListener.kt +3 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutAnimationType.kt +10 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutCreateAnimation.kt +12 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutDeleteAnimation.kt +12 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutHandlingAnimation.kt +12 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutUpdateAnimation.kt +10 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/OpacityAnimation.kt +69 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/PositionAndSizeAnimation.kt +87 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/SimpleSpringInterpolator.kt +10 -2
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BackgroundImageLayer.kt +30 -12
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BorderRadiusStyle.kt +36 -22
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/ColorStop.kt +206 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/CornerRadii.kt +8 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/Gradient.kt +2 -38
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/LinearGradient.kt +72 -246
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/RadialGradient.kt +375 -0
- package/ReactAndroid/src/main/java/com/facebook/react/util/AndroidVersion.kt +30 -0
- package/ReactAndroid/src/main/java/com/facebook/react/util/JSStackTrace.kt +6 -6
- package/ReactAndroid/src/main/java/com/facebook/react/views/debuggingoverlay/DebuggingOverlay.kt +3 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/ReactDrawerLayoutManager.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/events/DrawerClosedEvent.kt +7 -7
- package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/events/DrawerOpenedEvent.kt +7 -7
- package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/events/DrawerSlideEvent.kt +8 -8
- package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/events/DrawerStateChangedEvent.kt +7 -10
- package/ReactAndroid/src/main/java/com/facebook/react/views/image/ImageLoadEvent.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageView.kt +6 -5
- package/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/ImageSource.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/MultiSourceHelper.kt +7 -10
- package/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/ResourceDrawableIdHelper.kt +20 -17
- package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostManager.kt +20 -28
- package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.kt +43 -41
- package/ReactAndroid/src/main/java/com/facebook/react/views/modal/RequestCloseEvent.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ShowEvent.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ProgressBarShadowNode.kt +4 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/safeareaview/ReactSafeAreaView.kt +14 -12
- package/ReactAndroid/src/main/java/com/facebook/react/views/safeareaview/ReactSafeAreaViewManager.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/safeareaview/ReactSafeAreaViewShadowNode.kt +2 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/MaintainVisibleScrollPositionHelper.kt +172 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +27 -7
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollViewManager.kt +366 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +36 -7
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewHelper.kt +74 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewManager.kt +390 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ScrollEvent.kt +4 -2
- package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/ReactSwipeRefreshLayout.kt +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/RefreshEvent.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/SwipeRefreshLayoutManager.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitchEvent.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitchShadowNode.kt +4 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/FontMetricsUtil.kt +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/PreparedLayout.kt +18 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/PreparedLayoutTextView.kt +418 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/PreparedLayoutTextViewManager.kt +212 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactBaseTextShadowNode.java +25 -12
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactRawTextManager.kt +6 -6
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactRawTextShadowNode.kt +31 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextAnchorViewManager.kt +207 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextShadowNode.java +6 -2
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextUpdate.kt +1 -4
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextView.java +40 -54
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewAccessibilityDelegate.kt +4 -10
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManager.java +9 -14
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactVirtualTextShadowNode.kt +3 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactVirtualTextViewManager.kt +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributeProps.java +30 -8
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributes.java +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.java +237 -121
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextTransform.kt +8 -4
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageShadowNode.kt +140 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageSpan.kt +174 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageViewManager.kt +2 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/CustomLetterSpacingSpan.kt +4 -3
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/CustomLineHeightSpan.kt +3 -3
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/CustomStyleSpan.kt +8 -8
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactAbsoluteSizeSpan.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactBackgroundColorSpan.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactClickableSpan.kt +6 -5
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactForegroundColorSpan.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactOpacitySpan.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactSpan.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactStrikethroughSpan.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactTagSpan.kt +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactTextPaintHolderSpan.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactUnderlineSpan.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/SetSpanOperation.kt +5 -5
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ShadowStyleSpan.kt +3 -3
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/TextInlineImageSpan.kt +11 -11
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/TextInlineViewPlaceholderSpan.kt +4 -7
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactContentSizeChangedEvent.kt +50 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.kt +1331 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditTextInputConnectionWrapper.kt +151 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextChangedEvent.kt +44 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextContentSizeWatcher.kt +51 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputEndEditingEvent.kt +43 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputKeyPressEvent.kt +35 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputLocalData.kt +33 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.kt +1139 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputSelectionEvent.kt +46 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputShadowNode.kt +210 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputSubmitEditingEvent.kt +40 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputTextWatcher.kt +66 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextScrollWatcher.kt +49 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextSelectionWatcher.kt +45 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/unimplementedview/ReactUnimplementedView.kt +12 -9
- package/ReactAndroid/src/main/java/com/facebook/react/views/unimplementedview/ReactUnimplementedViewManager.kt +6 -4
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/MeasureUtil.kt +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.java +37 -11
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManager.kt +51 -4
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ViewGroupClickEvent.kt +4 -4
- package/ReactAndroid/src/main/java/com/facebook/systrace/Systrace.kt +19 -23
- package/ReactAndroid/src/main/java/com/facebook/systrace/SystraceMessage.kt +10 -11
- package/ReactAndroid/src/main/java/com/facebook/systrace/TraceListener.kt +3 -3
- package/ReactAndroid/src/main/jni/CMakeLists.txt +22 -9
- package/ReactAndroid/src/main/jni/first-party/fbgloginit/CMakeLists.txt +3 -0
- package/ReactAndroid/src/main/jni/first-party/jni-lib-merge/CMakeLists.txt +3 -1
- package/ReactAndroid/src/main/jni/first-party/jni-lib-merge/jni_lib_merge.h +1 -2
- package/ReactAndroid/src/main/jni/first-party/yogajni/CMakeLists.txt +4 -7
- package/ReactAndroid/src/main/jni/react/devsupport/CMakeLists.txt +3 -2
- package/ReactAndroid/src/main/jni/react/fabric/CMakeLists.txt +2 -9
- package/ReactAndroid/src/main/jni/react/fabric/EventBeatManager.cpp +3 -8
- package/ReactAndroid/src/main/jni/react/fabric/EventBeatManager.h +1 -9
- package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.cpp +12 -0
- package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.h +4 -0
- package/ReactAndroid/src/main/jni/react/fabric/FabricUIManagerBinding.cpp +130 -13
- package/ReactAndroid/src/main/jni/react/fabric/FabricUIManagerBinding.h +9 -0
- package/ReactAndroid/src/main/jni/react/fabric/FocusOrderingHelper.cpp +186 -0
- package/ReactAndroid/src/main/jni/react/fabric/FocusOrderingHelper.h +38 -0
- package/ReactAndroid/src/main/jni/react/fabric/StateWrapperImpl.cpp +10 -0
- package/ReactAndroid/src/main/jni/react/fabric/StateWrapperImpl.h +1 -0
- package/ReactAndroid/src/main/jni/react/fabric/SurfaceHandlerBinding.cpp +5 -2
- package/ReactAndroid/src/main/jni/react/fabric/SurfaceHandlerBinding.h +2 -1
- package/ReactAndroid/src/main/jni/react/featureflags/CMakeLists.txt +2 -10
- package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp +166 -138
- package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h +34 -28
- package/ReactAndroid/src/main/jni/react/hermes/instrumentation/CMakeLists.txt +2 -5
- package/ReactAndroid/src/main/jni/react/hermes/reactexecutor/CMakeLists.txt +3 -7
- package/ReactAndroid/src/main/jni/react/hermes/tooling/CMakeLists.txt +2 -0
- package/ReactAndroid/src/main/jni/react/jni/CMakeLists.txt +54 -6
- package/ReactAndroid/src/main/jni/react/jni/JSLoader.cpp +14 -18
- package/ReactAndroid/src/main/jni/react/jni/JavaModuleWrapper.cpp +10 -17
- package/ReactAndroid/src/main/jni/react/jni/JniJSModulesUnbundle.cpp +1 -0
- package/ReactAndroid/src/main/jni/react/jni/MethodInvoker.cpp +9 -14
- package/ReactAndroid/src/main/jni/react/jni/OnLoad-common.cpp +33 -0
- package/ReactAndroid/src/main/jni/react/jni/OnLoad.cpp +0 -15
- package/ReactAndroid/src/main/jni/react/jni/SafeReleaseJniRef.cpp +30 -0
- package/ReactAndroid/src/main/jni/react/jni/SafeReleaseJniRef.h +12 -1
- package/ReactAndroid/src/main/jni/react/jni/WritableNativeArray.cpp +3 -3
- package/ReactAndroid/src/main/jni/react/jscexecutor/CMakeLists.txt +2 -0
- package/ReactAndroid/src/main/jni/react/jsctooling/CMakeLists.txt +2 -0
- package/ReactAndroid/src/main/jni/react/mapbuffer/CMakeLists.txt +3 -2
- package/ReactAndroid/src/main/jni/react/newarchdefaults/CMakeLists.txt +3 -6
- package/ReactAndroid/src/main/jni/react/newarchdefaults/DefaultComponentsRegistry.cpp +10 -0
- package/ReactAndroid/src/main/jni/react/newarchdefaults/DefaultComponentsRegistry.h +4 -0
- package/ReactAndroid/src/main/jni/react/reactnativeblob/CMakeLists.txt +4 -1
- package/ReactAndroid/src/main/jni/react/reactperflogger/CMakeLists.txt +3 -1
- package/ReactAndroid/src/main/jni/react/runtime/cxxreactpackage/CMakeLists.txt +4 -7
- package/ReactAndroid/src/main/jni/react/runtime/hermes/jni/CMakeLists.txt +4 -8
- package/ReactAndroid/src/main/jni/react/runtime/jni/CMakeLists.txt +5 -7
- package/ReactAndroid/src/main/jni/react/runtime/jni/JBindingsInstaller.h +2 -4
- package/ReactAndroid/src/main/jni/react/runtime/jni/JReactInstance.cpp +0 -4
- package/ReactAndroid/src/main/jni/react/runtime/jsc/jni/CMakeLists.txt +3 -1
- package/ReactAndroid/src/main/jni/react/turbomodule/CMakeLists.txt +4 -7
- package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/CallInvokerHolder.cpp +1 -7
- package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/CallInvokerHolder.h +4 -3
- package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/NativeMethodCallInvokerHolder.cpp +1 -8
- package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/NativeMethodCallInvokerHolder.h +4 -3
- package/ReactAndroid/src/main/jni/react/uimanager/CMakeLists.txt +3 -2
- package/ReactAndroid/src/main/jni/third-party/boost/CMakeLists.txt +1 -0
- package/ReactAndroid/src/main/jni/third-party/double-conversion/CMakeLists.txt +4 -1
- package/ReactAndroid/src/main/jni/third-party/fast_float/CMakeLists.txt +2 -1
- package/ReactAndroid/src/main/jni/third-party/fmt/CMakeLists.txt +2 -1
- package/ReactAndroid/src/main/jni/third-party/glog/CMakeLists.txt +14 -9
- package/ReactAndroid/src/main/res/devsupport/values/strings.xml +5 -0
- package/ReactAndroid/src/main/res/devsupport/values-am/strings.xml +6 -0
- package/ReactAndroid/src/main/res/shell/values/styles.xml +4 -4
- package/ReactAndroid/src/main/res/systeminfo/values/strings.xml +4 -0
- package/ReactAndroid/src/main/res/systeminfo/values-af/strings.xml +6 -0
- package/ReactAndroid/src/main/res/systeminfo/values-ar/strings.xml +6 -0
- package/ReactAndroid/src/main/res/systeminfo/values-az/strings.xml +6 -0
- package/ReactAndroid/src/main/res/systeminfo/values-be/strings.xml +6 -0
- package/ReactAndroid/src/main/res/systeminfo/values-bg/strings.xml +6 -0
- package/ReactAndroid/src/main/res/systeminfo/values-bn/strings.xml +6 -0
- package/ReactAndroid/src/main/res/systeminfo/values-ca/strings.xml +6 -0
- package/ReactAndroid/src/main/res/systeminfo/values-cs/strings.xml +6 -0
- package/ReactAndroid/src/main/res/systeminfo/values-da/strings.xml +6 -0
- package/ReactAndroid/src/main/res/systeminfo/values-de/strings.xml +6 -0
- package/ReactAndroid/src/main/res/systeminfo/values-el/strings.xml +6 -0
- package/ReactAndroid/src/main/res/systeminfo/values-en-rGB/strings.xml +6 -0
- package/ReactAndroid/src/main/res/systeminfo/values-es/strings.xml +6 -0
- package/ReactAndroid/src/main/res/systeminfo/values-es-rES/strings.xml +6 -0
- package/ReactAndroid/src/main/res/systeminfo/values-et/strings.xml +6 -0
- package/ReactAndroid/src/main/res/systeminfo/values-fa/strings.xml +6 -0
- package/ReactAndroid/src/main/res/systeminfo/values-fi/strings.xml +6 -0
- package/ReactAndroid/src/main/res/systeminfo/values-fr/strings.xml +6 -0
- package/ReactAndroid/src/main/res/systeminfo/values-fr-rCA/strings.xml +6 -0
- package/ReactAndroid/src/main/res/systeminfo/values-gu/strings.xml +6 -0
- package/ReactAndroid/src/main/res/systeminfo/values-hi/strings.xml +6 -0
- package/ReactAndroid/src/main/res/systeminfo/values-hr/strings.xml +6 -0
- package/ReactAndroid/src/main/res/systeminfo/values-hu/strings.xml +6 -0
- package/ReactAndroid/src/main/res/systeminfo/values-hy/strings.xml +6 -0
- package/ReactAndroid/src/main/res/systeminfo/values-is/strings.xml +6 -0
- package/ReactAndroid/src/main/res/systeminfo/values-it/strings.xml +6 -0
- package/ReactAndroid/src/main/res/systeminfo/values-iw/strings.xml +6 -0
- package/ReactAndroid/src/main/res/systeminfo/values-ja/strings.xml +6 -0
- package/ReactAndroid/src/main/res/systeminfo/values-ka/strings.xml +6 -0
- package/ReactAndroid/src/main/res/systeminfo/values-kk/strings.xml +6 -0
- package/ReactAndroid/src/main/res/systeminfo/values-km/strings.xml +6 -0
- package/ReactAndroid/src/main/res/systeminfo/values-kn/strings.xml +6 -0
- package/ReactAndroid/src/main/res/systeminfo/values-ko/strings.xml +6 -0
- package/ReactAndroid/src/main/res/systeminfo/values-ky/strings.xml +6 -0
- package/ReactAndroid/src/main/res/systeminfo/values-lo/strings.xml +6 -0
- package/ReactAndroid/src/main/res/systeminfo/values-lt/strings.xml +6 -0
- package/ReactAndroid/src/main/res/systeminfo/values-lv/strings.xml +6 -0
- package/ReactAndroid/src/main/res/systeminfo/values-mk/strings.xml +6 -0
- package/ReactAndroid/src/main/res/systeminfo/values-ml/strings.xml +6 -0
- package/ReactAndroid/src/main/res/systeminfo/values-mn/strings.xml +6 -0
- package/ReactAndroid/src/main/res/systeminfo/values-mr/strings.xml +6 -0
- package/ReactAndroid/src/main/res/systeminfo/values-ms/strings.xml +6 -0
- package/ReactAndroid/src/main/res/systeminfo/values-my/strings.xml +6 -0
- package/ReactAndroid/src/main/res/systeminfo/values-ne/strings.xml +6 -0
- package/ReactAndroid/src/main/res/systeminfo/values-nl/strings.xml +6 -0
- package/ReactAndroid/src/main/res/systeminfo/values-pa/strings.xml +6 -0
- package/ReactAndroid/src/main/res/systeminfo/values-pl/strings.xml +6 -0
- package/ReactAndroid/src/main/res/systeminfo/values-pt/strings.xml +6 -0
- package/ReactAndroid/src/main/res/systeminfo/values-pt-rPT/strings.xml +6 -0
- package/ReactAndroid/src/main/res/systeminfo/values-ro/strings.xml +6 -0
- package/ReactAndroid/src/main/res/systeminfo/values-ru/strings.xml +6 -0
- package/ReactAndroid/src/main/res/systeminfo/values-si/strings.xml +6 -0
- package/ReactAndroid/src/main/res/systeminfo/values-sk/strings.xml +6 -0
- package/ReactAndroid/src/main/res/systeminfo/values-sl/strings.xml +6 -0
- package/ReactAndroid/src/main/res/systeminfo/values-sq/strings.xml +6 -0
- package/ReactAndroid/src/main/res/systeminfo/values-sr/strings.xml +6 -0
- package/ReactAndroid/src/main/res/systeminfo/values-sv/strings.xml +6 -0
- package/ReactAndroid/src/main/res/systeminfo/values-sw/strings.xml +6 -0
- package/ReactAndroid/src/main/res/systeminfo/values-ta/strings.xml +6 -0
- package/ReactAndroid/src/main/res/systeminfo/values-te/strings.xml +6 -0
- package/ReactAndroid/src/main/res/systeminfo/values-th/strings.xml +6 -0
- package/ReactAndroid/src/main/res/systeminfo/values-tr/strings.xml +6 -0
- package/ReactAndroid/src/main/res/systeminfo/values-uk/strings.xml +6 -0
- package/ReactAndroid/src/main/res/systeminfo/values-ur/strings.xml +6 -0
- package/ReactAndroid/src/main/res/systeminfo/values-vi/strings.xml +6 -0
- package/ReactAndroid/src/main/res/systeminfo/values-zh-rCN/strings.xml +6 -0
- package/ReactAndroid/src/main/res/systeminfo/values-zh-rHK/strings.xml +6 -0
- package/ReactAndroid/src/main/res/systeminfo/values-zh-rTW/strings.xml +6 -0
- package/ReactAndroid/src/main/res/systeminfo/values-zu/strings.xml +6 -0
- package/ReactAndroid/src/main/res/views/uimanager/values/ids.xml +15 -0
- package/ReactAndroid/src/main/res/views/uimanager/values-am/strings.xml +6 -0
- package/ReactCommon/React-Fabric.podspec +4 -59
- package/ReactCommon/React-FabricComponents.podspec +4 -40
- package/ReactCommon/React-FabricImage.podspec +2 -19
- package/ReactCommon/React-Mapbuffer.podspec +2 -2
- package/ReactCommon/ReactCommon.podspec +4 -13
- package/ReactCommon/callinvoker/CMakeLists.txt +3 -6
- package/ReactCommon/cmake-utils/react-native-flags.cmake +39 -0
- package/ReactCommon/cxxreact/CMakeLists.txt +4 -6
- package/ReactCommon/cxxreact/CxxNativeModule.cpp +23 -33
- package/ReactCommon/cxxreact/JSExecutor.cpp +5 -2
- package/ReactCommon/cxxreact/JSIndexedRAMBundle.cpp +12 -10
- package/ReactCommon/cxxreact/JSModulesUnbundle.h +2 -4
- package/ReactCommon/cxxreact/JsArgumentHelpers-inl.h +28 -21
- package/ReactCommon/cxxreact/JsArgumentHelpers.h +1 -2
- package/ReactCommon/cxxreact/MethodCall.cpp +17 -17
- package/ReactCommon/cxxreact/ModuleRegistry.cpp +15 -12
- package/ReactCommon/cxxreact/NativeToJsBridge.cpp +4 -8
- package/ReactCommon/cxxreact/RAMBundleRegistry.cpp +2 -1
- package/ReactCommon/cxxreact/React-cxxreact.podspec +4 -13
- package/ReactCommon/cxxreact/ReactNativeVersion.h +2 -2
- package/ReactCommon/cxxreact/TraceSection.h +1 -1
- package/ReactCommon/cxxreact/tests/jsarg_helpers.cpp +2 -2
- package/ReactCommon/devtoolsruntimesettings/CMakeLists.txt +4 -9
- package/ReactCommon/hermes/React-hermes.podspec +4 -13
- package/ReactCommon/hermes/executor/CMakeLists.txt +2 -1
- package/ReactCommon/hermes/inspector-modern/CMakeLists.txt +3 -6
- package/ReactCommon/hermes/inspector-modern/chrome/ConnectionDemux.cpp +2 -8
- package/ReactCommon/hermes/inspector-modern/chrome/ConnectionDemux.h +2 -8
- package/ReactCommon/hermes/inspector-modern/chrome/HermesRuntimeSamplingProfileSerializer.cpp +100 -106
- package/ReactCommon/hermes/inspector-modern/chrome/HermesRuntimeTargetDelegate.cpp +1 -1
- package/ReactCommon/hermes/inspector-modern/chrome/Registration.cpp +2 -8
- package/ReactCommon/hermes/inspector-modern/chrome/Registration.h +2 -8
- package/ReactCommon/jsc/CMakeLists.txt +4 -7
- package/ReactCommon/jsc/React-jsc.podspec +1 -1
- package/ReactCommon/jserrorhandler/CMakeLists.txt +2 -1
- package/ReactCommon/jserrorhandler/JsErrorHandler.cpp +12 -5
- package/ReactCommon/jserrorhandler/React-jserrorhandler.podspec +2 -11
- package/ReactCommon/jsi/CMakeLists.txt +5 -6
- package/ReactCommon/jsi/React-jsi.podspec +2 -15
- package/ReactCommon/jsiexecutor/CMakeLists.txt +4 -5
- package/ReactCommon/jsiexecutor/React-jsiexecutor.podspec +4 -14
- package/ReactCommon/jsiexecutor/jsireact/JSIExecutor.cpp +7 -8
- package/ReactCommon/jsiexecutor/jsireact/JSIExecutor.h +1 -2
- package/ReactCommon/jsinspector-modern/CMakeLists.txt +7 -6
- package/ReactCommon/jsinspector-modern/HostAgent.cpp +304 -208
- package/ReactCommon/jsinspector-modern/HostAgent.h +8 -48
- package/ReactCommon/jsinspector-modern/HostTarget.cpp +1 -1
- package/ReactCommon/jsinspector-modern/InspectorFlags.cpp +1 -0
- package/ReactCommon/jsinspector-modern/InstanceAgent.cpp +4 -3
- package/ReactCommon/jsinspector-modern/InstanceAgent.h +1 -1
- package/ReactCommon/jsinspector-modern/NetworkIOAgent.cpp +22 -0
- package/ReactCommon/jsinspector-modern/NetworkIOAgent.h +2 -4
- package/ReactCommon/jsinspector-modern/React-jsinspector.podspec +4 -14
- package/ReactCommon/jsinspector-modern/RuntimeAgent.h +1 -1
- package/ReactCommon/jsinspector-modern/RuntimeAgentDelegate.h +1 -1
- package/ReactCommon/jsinspector-modern/TracingAgent.cpp +27 -12
- package/ReactCommon/jsinspector-modern/TracingAgent.h +2 -1
- package/ReactCommon/jsinspector-modern/cdp/CMakeLists.txt +26 -0
- package/ReactCommon/jsinspector-modern/cdp/React-jsinspectorcdp.podspec +50 -0
- package/ReactCommon/jsinspector-modern/network/CMakeLists.txt +27 -0
- package/ReactCommon/jsinspector-modern/network/CdpNetwork.cpp +143 -0
- package/ReactCommon/jsinspector-modern/network/CdpNetwork.h +110 -0
- package/ReactCommon/jsinspector-modern/network/HttpUtils.cpp +157 -0
- package/ReactCommon/jsinspector-modern/network/HttpUtils.h +27 -0
- package/ReactCommon/jsinspector-modern/network/NetworkReporter.cpp +195 -0
- package/ReactCommon/jsinspector-modern/network/NetworkReporter.h +139 -0
- package/ReactCommon/jsinspector-modern/network/NetworkTypes.h +42 -0
- package/ReactCommon/jsinspector-modern/network/React-jsinspectornetwork.podspec +52 -0
- package/ReactCommon/jsinspector-modern/tests/InspectorPackagerConnectionTest.cpp +1 -2
- package/ReactCommon/jsinspector-modern/tests/ReactInstanceIntegrationTest.cpp +12 -0
- package/ReactCommon/jsinspector-modern/tracing/CMakeLists.txt +3 -6
- package/ReactCommon/jsinspector-modern/tracing/{EventLoopTaskReporter.cpp → EventLoopReporter.cpp} +22 -9
- package/ReactCommon/jsinspector-modern/tracing/{EventLoopTaskReporter.h → EventLoopReporter.h} +13 -7
- package/ReactCommon/jsinspector-modern/tracing/InstanceTracingProfile.h +2 -5
- package/ReactCommon/jsinspector-modern/tracing/PerformanceTracer.cpp +55 -42
- package/ReactCommon/jsinspector-modern/tracing/PerformanceTracer.h +22 -13
- package/ReactCommon/jsinspector-modern/tracing/ProfileTreeNode.h +39 -30
- package/ReactCommon/jsinspector-modern/tracing/React-jsinspectortracing.podspec +3 -8
- package/ReactCommon/jsinspector-modern/tracing/RuntimeSamplingProfile.h +16 -0
- package/ReactCommon/jsinspector-modern/tracing/RuntimeSamplingProfileTraceEventSerializer.cpp +186 -162
- package/ReactCommon/jsinspector-modern/tracing/RuntimeSamplingProfileTraceEventSerializer.h +138 -5
- package/ReactCommon/jsinspector-modern/tracing/TraceEventProfile.h +40 -92
- package/ReactCommon/jsinspector-modern/tracing/tests/ProfileTreeNodeTest.cpp +27 -35
- package/ReactCommon/jsinspector-modern/tracing/tests/RuntimeSamplingProfileTraceEventSerializerTest.cpp +290 -0
- package/ReactCommon/jsitooling/CMakeLists.txt +4 -8
- package/ReactCommon/jsitooling/React-jsitooling.podspec +3 -21
- package/ReactCommon/logger/CMakeLists.txt +2 -1
- package/ReactCommon/logger/React-logger.podspec +1 -9
- package/ReactCommon/logger/react_native_log.cpp +2 -2
- package/ReactCommon/oscompat/CMakeLists.txt +2 -1
- package/ReactCommon/react/bridging/CMakeLists.txt +3 -7
- package/ReactCommon/react/debug/CMakeLists.txt +3 -8
- package/ReactCommon/react/featureflags/CMakeLists.txt +4 -9
- package/ReactCommon/react/featureflags/React-featureflags.podspec +2 -7
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp +49 -41
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h +63 -53
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp +223 -187
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h +30 -26
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h +46 -38
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDynamicProvider.h +100 -82
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsOverridesOSSCanary.h +51 -0
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsOverridesOSSExperimental.h +33 -0
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsOverridesOSSStable.h +33 -0
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h +15 -13
- package/ReactCommon/react/nativemodule/core/CMakeLists.txt +3 -8
- package/ReactCommon/react/nativemodule/core/ReactCommon/TurboCxxModule.cpp +4 -6
- package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleBinding.cpp +2 -0
- package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleWithJSIBindings.cpp +23 -0
- package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleWithJSIBindings.h +29 -0
- package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.cpp +12 -18
- package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.h +6 -1
- package/ReactCommon/react/nativemodule/core/platform/ios/React-NativeModulesApple.podspec +3 -9
- package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTInteropTurboModule.h +3 -0
- package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTInteropTurboModule.mm +29 -2
- package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModuleManager.mm +7 -39
- package/ReactCommon/react/nativemodule/cputime/CPUTime.h +30 -2
- package/ReactCommon/react/nativemodule/defaults/CMakeLists.txt +3 -7
- package/ReactCommon/react/nativemodule/defaults/React-defaultsnativemodule.podspec +3 -10
- package/ReactCommon/react/nativemodule/devtoolsruntimesettings/CMakeLists.txt +3 -7
- package/ReactCommon/react/nativemodule/dom/CMakeLists.txt +3 -7
- package/ReactCommon/react/nativemodule/dom/React-domnativemodule.podspec +2 -8
- package/ReactCommon/react/nativemodule/fantomforcedclonecommithook/NativeFantomForcedCloneCommitHook.cpp +84 -0
- package/ReactCommon/react/nativemodule/fantomforcedclonecommithook/NativeFantomForcedCloneCommitHook.h +30 -0
- package/ReactCommon/react/nativemodule/featureflags/CMakeLists.txt +3 -7
- package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp +58 -48
- package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h +25 -21
- package/ReactCommon/react/nativemodule/featureflags/React-featureflagsnativemodule.podspec +3 -10
- package/ReactCommon/react/nativemodule/idlecallbacks/CMakeLists.txt +3 -8
- package/ReactCommon/react/nativemodule/idlecallbacks/React-idlecallbacksnativemodule.podspec +4 -11
- package/ReactCommon/react/nativemodule/microtasks/CMakeLists.txt +3 -7
- package/ReactCommon/react/nativemodule/microtasks/React-microtasksnativemodule.podspec +3 -10
- package/ReactCommon/react/nativemodule/samples/ReactCommon-Samples.podspec +1 -17
- package/ReactCommon/react/nativemodule/samples/platform/android/CMakeLists.txt +4 -8
- package/ReactCommon/react/nativemodule/samples/platform/android/NativeSampleTurboModuleSpec.java +3 -0
- package/ReactCommon/react/nativemodule/samples/platform/android/ReactCommon/SampleTurboModuleSpec.cpp +21 -1
- package/ReactCommon/react/nativemodule/samples/platform/android/SampleTurboModule.kt +32 -5
- package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTSampleLegacyModule.mm +5 -10
- package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTSampleTurboModule.mm +18 -15
- package/ReactCommon/react/nativemodule/webperformance/NativePerformance.cpp +53 -9
- package/ReactCommon/react/nativemodule/webperformance/NativePerformance.h +29 -6
- package/ReactCommon/react/performance/timeline/CMakeLists.txt +5 -9
- package/ReactCommon/react/performance/timeline/CircularBuffer.h +0 -1
- package/ReactCommon/react/performance/timeline/PerformanceEntry.h +53 -15
- package/ReactCommon/react/performance/timeline/PerformanceEntryCircularBuffer.cpp +12 -3
- package/ReactCommon/react/performance/timeline/PerformanceEntryKeyedBuffer.cpp +5 -2
- package/ReactCommon/react/performance/timeline/PerformanceEntryKeyedBuffer.h +0 -1
- package/ReactCommon/react/performance/timeline/PerformanceEntryReporter.cpp +29 -33
- package/ReactCommon/react/performance/timeline/PerformanceEntryReporter.h +9 -4
- package/ReactCommon/react/performance/timeline/PerformanceObserver.cpp +8 -3
- package/ReactCommon/react/performance/timeline/React-performancetimeline.podspec +3 -11
- package/ReactCommon/react/performance/timeline/tests/PerformanceEntryReporterTest.cpp +80 -165
- package/ReactCommon/react/performance/timeline/tests/PerformanceObserverTest.cpp +38 -71
- package/ReactCommon/react/renderer/animations/CMakeLists.txt +3 -7
- package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.cpp +5 -9
- package/ReactCommon/react/renderer/attributedstring/AttributedString.cpp +2 -9
- package/ReactCommon/react/renderer/attributedstring/AttributedString.h +3 -3
- package/ReactCommon/react/renderer/attributedstring/CMakeLists.txt +3 -7
- package/ReactCommon/react/renderer/attributedstring/ParagraphAttributes.cpp +2 -1
- package/ReactCommon/react/renderer/attributedstring/ParagraphAttributes.h +8 -1
- package/ReactCommon/react/renderer/attributedstring/TextAttributes.cpp +4 -6
- package/ReactCommon/react/renderer/attributedstring/TextAttributes.h +2 -2
- package/ReactCommon/react/renderer/attributedstring/conversions.h +38 -6
- package/ReactCommon/react/renderer/componentregistry/CMakeLists.txt +3 -7
- package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorRegistry.cpp +25 -5
- package/ReactCommon/react/renderer/componentregistry/native/CMakeLists.txt +3 -7
- package/ReactCommon/react/renderer/components/image/CMakeLists.txt +3 -7
- package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/CMakeLists.txt +3 -7
- package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropShadowNode.h +1 -2
- package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/RCTLegacyViewManagerInteropCoordinator.h +1 -1
- package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/UnstableLegacyViewManagerAutomaticShadowNode.h +0 -1
- package/ReactCommon/react/renderer/components/modal/CMakeLists.txt +3 -7
- package/ReactCommon/react/renderer/components/progressbar/CMakeLists.txt +3 -7
- package/ReactCommon/react/renderer/components/rncore/EventEmitters.cpp +48 -48
- package/ReactCommon/react/renderer/components/root/CMakeLists.txt +3 -7
- package/ReactCommon/react/renderer/components/safeareaview/CMakeLists.txt +4 -10
- package/ReactCommon/react/renderer/components/scrollview/CMakeLists.txt +3 -7
- package/ReactCommon/react/renderer/components/scrollview/ScrollEvent.cpp +15 -0
- package/ReactCommon/react/renderer/components/scrollview/ScrollEvent.h +3 -0
- package/ReactCommon/react/renderer/components/scrollview/ScrollViewProps.cpp +1 -0
- package/ReactCommon/react/renderer/components/switch/CMakeLists.txt +4 -10
- package/ReactCommon/react/renderer/components/text/CMakeLists.txt +13 -9
- package/ReactCommon/react/renderer/components/text/ParagraphProps.cpp +6 -0
- package/ReactCommon/react/renderer/components/text/ParagraphShadowNode.cpp +111 -25
- package/ReactCommon/react/renderer/components/text/ParagraphShadowNode.h +22 -2
- package/ReactCommon/react/renderer/components/text/{ParagraphState.cpp → platform/android/react/renderer/components/text/ParagraphState.cpp} +0 -2
- package/ReactCommon/react/renderer/components/text/{ParagraphState.h → platform/android/react/renderer/components/text/ParagraphState.h} +9 -14
- package/ReactCommon/react/renderer/components/text/platform/cxx/react/renderer/components/text/ParagraphState.h +42 -0
- package/ReactCommon/react/renderer/components/textinput/BaseTextInputProps.cpp +8 -1
- package/ReactCommon/react/renderer/components/textinput/BaseTextInputProps.h +2 -0
- package/ReactCommon/react/renderer/components/textinput/BaseTextInputShadowNode.h +25 -11
- package/ReactCommon/react/renderer/components/textinput/CMakeLists.txt +3 -7
- package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputShadowNode.cpp +30 -19
- package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputShadowNode.h +12 -11
- package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/conversions.h +5 -5
- package/ReactCommon/react/renderer/components/unimplementedview/CMakeLists.txt +3 -7
- package/ReactCommon/react/renderer/components/view/AccessibilityPrimitives.h +1 -1
- package/ReactCommon/react/renderer/components/view/AccessibilityProps.cpp +21 -1
- package/ReactCommon/react/renderer/components/view/AccessibilityProps.h +8 -6
- package/ReactCommon/react/renderer/components/view/CMakeLists.txt +3 -7
- package/ReactCommon/react/renderer/components/view/ConcreteViewShadowNode.h +16 -6
- package/ReactCommon/react/renderer/components/view/ViewShadowNode.cpp +2 -1
- package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.cpp +2 -11
- package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.h +0 -2
- package/ReactCommon/react/renderer/components/view/conversions.h +135 -79
- package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewProps.cpp +18 -0
- package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewProps.h +1 -0
- package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewTraitsInitializer.h +6 -1
- package/ReactCommon/react/renderer/components/view/platform/cxx/react/renderer/components/view/HostPlatformViewTraitsInitializer.h +4 -0
- package/ReactCommon/react/renderer/consistency/CMakeLists.txt +3 -7
- package/ReactCommon/react/renderer/core/CMakeLists.txt +3 -7
- package/ReactCommon/react/renderer/core/ConcreteShadowNode.h +2 -3
- package/ReactCommon/react/renderer/core/ConcreteState.h +23 -2
- package/ReactCommon/react/renderer/core/DynamicEventPayload.cpp +44 -0
- package/ReactCommon/react/renderer/core/DynamicEventPayload.h +30 -0
- package/ReactCommon/react/renderer/core/EventEmitter.cpp +7 -9
- package/ReactCommon/react/renderer/core/EventEmitter.h +2 -3
- package/ReactCommon/react/renderer/core/EventPayload.h +13 -0
- package/ReactCommon/react/renderer/core/EventQueue.cpp +26 -26
- package/ReactCommon/react/renderer/core/EventQueueProcessor.cpp +2 -0
- package/ReactCommon/react/renderer/core/RawEvent.cpp +4 -2
- package/ReactCommon/react/renderer/core/RawEvent.h +10 -2
- package/ReactCommon/react/renderer/core/RawProps.cpp +1 -99
- package/ReactCommon/react/renderer/core/RawProps.h +0 -11
- package/ReactCommon/react/renderer/core/ReactEventPriority.h +5 -0
- package/ReactCommon/react/renderer/core/ShadowNode.cpp +4 -4
- package/ReactCommon/react/renderer/core/ShadowNodeTraits.h +3 -0
- package/ReactCommon/react/renderer/core/State.h +2 -0
- package/ReactCommon/react/renderer/core/graphicsConversions.h +25 -17
- package/ReactCommon/react/renderer/core/tests/RawPropsTest.cpp +0 -36
- package/ReactCommon/react/renderer/core/tests/TestComponent.h +0 -4
- package/ReactCommon/react/renderer/css/CMakeLists.txt +7 -7
- package/ReactCommon/react/renderer/css/CSSTokenizer.h +12 -49
- package/ReactCommon/react/renderer/css/tests/CSSTokenizerTest.cpp +10 -0
- package/ReactCommon/react/renderer/debug/CMakeLists.txt +3 -7
- package/ReactCommon/react/renderer/debug/DebugStringConvertible.cpp +27 -16
- package/ReactCommon/react/renderer/debug/DebugStringConvertible.h +14 -5
- package/ReactCommon/react/renderer/debug/React-rendererdebug.podspec +2 -16
- package/ReactCommon/react/renderer/dom/CMakeLists.txt +3 -7
- package/ReactCommon/react/renderer/element/CMakeLists.txt +3 -7
- package/ReactCommon/react/renderer/graphics/BackgroundImage.h +2 -1
- package/ReactCommon/react/renderer/graphics/CMakeLists.txt +3 -7
- package/ReactCommon/react/renderer/graphics/ColorStop.h +28 -0
- package/ReactCommon/react/renderer/graphics/LinearGradient.h +1 -12
- package/ReactCommon/react/renderer/graphics/RadialGradient.h +92 -0
- package/ReactCommon/react/renderer/graphics/React-graphics.podspec +2 -19
- package/ReactCommon/react/renderer/graphics/platform/ios/react/renderer/graphics/HostPlatformColor.h +2 -2
- package/ReactCommon/react/renderer/graphics/platform/ios/react/renderer/graphics/HostPlatformColor.mm +2 -2
- package/ReactCommon/react/renderer/imagemanager/CMakeLists.txt +3 -7
- package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageManager.cpp +1 -7
- package/ReactCommon/react/renderer/imagemanager/platform/ios/React-ImageManager.podspec +1 -13
- package/ReactCommon/react/renderer/leakchecker/CMakeLists.txt +3 -7
- package/ReactCommon/react/renderer/mapbuffer/CMakeLists.txt +3 -8
- package/ReactCommon/react/renderer/mounting/CMakeLists.txt +3 -7
- package/ReactCommon/react/renderer/mounting/Differentiator.cpp +73 -55
- package/ReactCommon/react/renderer/mounting/MountingCoordinator.cpp +5 -0
- package/ReactCommon/react/renderer/mounting/ShadowTree.cpp +6 -7
- package/ReactCommon/react/renderer/mounting/ShadowTree.h +47 -36
- package/ReactCommon/react/renderer/mounting/ShadowTreeDelegate.h +3 -1
- package/ReactCommon/react/renderer/mounting/tests/OrderIndexTest.cpp +44 -12
- package/ReactCommon/react/renderer/mounting/tests/ShadowTreeLifeCycleTest.cpp +39 -6
- package/ReactCommon/react/renderer/mounting/tests/StackingContextTest.cpp +41 -12
- package/ReactCommon/react/renderer/mounting/tests/StateReconciliationTest.cpp +2 -1
- package/ReactCommon/react/renderer/observers/events/CMakeLists.txt +3 -7
- package/ReactCommon/react/renderer/observers/events/EventPerformanceLogger.cpp +0 -25
- package/ReactCommon/react/renderer/observers/mutation/MutationObserverManager.cpp +5 -2
- package/ReactCommon/react/renderer/observers/mutation/MutationObserverManager.h +3 -1
- package/ReactCommon/react/renderer/runtimescheduler/CMakeLists.txt +3 -7
- package/ReactCommon/react/renderer/runtimescheduler/React-runtimescheduler.podspec +2 -11
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Modern.cpp +14 -20
- package/ReactCommon/react/renderer/runtimescheduler/tests/RuntimeSchedulerTest.cpp +22 -10
- package/ReactCommon/react/renderer/scheduler/CMakeLists.txt +3 -7
- package/ReactCommon/react/renderer/scheduler/Scheduler.cpp +43 -20
- package/ReactCommon/react/renderer/scheduler/Scheduler.h +15 -1
- package/ReactCommon/react/renderer/scheduler/SchedulerDelegate.h +4 -0
- package/ReactCommon/react/renderer/scheduler/SurfaceHandler.cpp +84 -1
- package/ReactCommon/react/renderer/scheduler/SurfaceHandler.h +8 -0
- package/ReactCommon/react/renderer/telemetry/CMakeLists.txt +3 -7
- package/ReactCommon/react/renderer/textlayoutmanager/CMakeLists.txt +3 -7
- package/ReactCommon/react/renderer/textlayoutmanager/TextLayoutContext.h +7 -11
- package/ReactCommon/react/renderer/textlayoutmanager/TextLayoutManagerExtended.h +124 -0
- package/ReactCommon/react/renderer/textlayoutmanager/TextMeasureCache.h +7 -0
- package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/JPreparedLayout.h +20 -0
- package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.cpp +126 -19
- package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.h +100 -0
- package/ReactCommon/react/renderer/textlayoutmanager/platform/cxx/{TextLayoutManager.cpp → react/renderer/textlayoutmanager/TextLayoutManager.cpp} +1 -18
- package/ReactCommon/react/renderer/textlayoutmanager/platform/cxx/react/renderer/textlayoutmanager/TextLayoutManager.h +57 -0
- package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextLayoutManager.h +3 -0
- package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextLayoutManager.mm +47 -24
- package/ReactCommon/react/renderer/textlayoutmanager/{TextLayoutManager.h → platform/ios/react/renderer/textlayoutmanager/TextLayoutManager.h} +2 -29
- package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/TextLayoutManager.mm +2 -0
- package/ReactCommon/react/renderer/uimanager/CMakeLists.txt +4 -8
- package/ReactCommon/react/renderer/uimanager/UIManager.cpp +54 -23
- package/ReactCommon/react/renderer/uimanager/UIManager.h +27 -7
- package/ReactCommon/react/renderer/uimanager/UIManagerBinding.cpp +11 -1
- package/ReactCommon/react/renderer/uimanager/UIManagerCommitHook.h +19 -1
- package/ReactCommon/react/renderer/uimanager/UIManagerDelegate.h +30 -0
- package/ReactCommon/react/renderer/uimanager/UIManagerNativeAnimatedDelegate.h +24 -0
- package/ReactCommon/react/renderer/uimanager/UIManagerUpdateShadowTree.cpp +223 -0
- package/ReactCommon/react/renderer/uimanager/consistency/CMakeLists.txt +3 -7
- package/ReactCommon/react/renderer/uimanager/consistency/tests/LazyShadowTreeRevisionConsistencyManagerTest.cpp +2 -1
- package/ReactCommon/react/runtime/CMakeLists.txt +4 -7
- package/ReactCommon/react/runtime/React-RuntimeCore.podspec +4 -13
- package/ReactCommon/react/runtime/React-RuntimeHermes.podspec +4 -11
- package/ReactCommon/react/runtime/ReactInstance.cpp +10 -5
- package/ReactCommon/react/runtime/ReactInstance.h +2 -1
- package/ReactCommon/react/runtime/TimerManager.cpp +6 -4
- package/ReactCommon/react/runtime/TimerManager.h +3 -1
- package/ReactCommon/react/runtime/hermes/CMakeLists.txt +2 -1
- package/ReactCommon/react/runtime/iostests/RCTHostTests.mm +1 -0
- package/ReactCommon/react/runtime/nativeviewconfig/CMakeLists.txt +2 -1
- package/ReactCommon/react/runtime/platform/ios/React-RuntimeApple.podspec +2 -11
- package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost.h +2 -0
- package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost.mm +17 -5
- package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTInstance.h +2 -0
- package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTInstance.mm +64 -4
- package/ReactCommon/react/runtime/tests/cxx/ReactInstanceTest.cpp +9 -5
- package/ReactCommon/react/test_utils/shadowTreeGeneration.h +0 -3
- package/ReactCommon/react/timing/CMakeLists.txt +3 -6
- package/ReactCommon/react/utils/CMakeLists.txt +9 -9
- package/ReactCommon/react/utils/React-utils.podspec +13 -17
- package/ReactCommon/react/utils/platform/android/react/utils/LowPriorityExecutor.cpp +95 -0
- package/{ReactAndroid/src/main/java/com/facebook/react/bridge/MemoryPressure.kt → ReactCommon/react/utils/platform/android/react/utils/LowPriorityExecutor.h} +6 -6
- package/ReactCommon/react/utils/platform/cxx/react/utils/LowPriorityExecutor.h +18 -0
- package/ReactCommon/react/utils/platform/ios/react/utils/LowPriorityExecutor.h +16 -0
- package/ReactCommon/react/utils/platform/ios/react/utils/LowPriorityExecutor.mm +22 -0
- package/ReactCommon/reactperflogger/CMakeLists.txt +3 -7
- package/ReactCommon/reactperflogger/React-perflogger.podspec +2 -12
- package/ReactCommon/reactperflogger/reactperflogger/ReactPerfettoLogger.cpp +7 -3
- package/ReactCommon/runtimeexecutor/CMakeLists.txt +3 -6
- package/ReactCommon/runtimeexecutor/React-runtimeexecutor.podspec +0 -6
- package/ReactCommon/runtimeexecutor/ReactCommon/RuntimeExecutor.h +0 -12
- package/ReactCommon/yoga/cmake/project-defaults.cmake +4 -4
- package/ReactCommon/yoga/yoga/debug/AssertFatal.cpp +1 -0
- package/ReactCommon/yoga/yoga/event/event.h +6 -6
- package/flow/global.js +1 -0
- package/gradle/libs.versions.toml +17 -6
- package/index.js +54 -334
- package/interface.js +0 -4
- package/jest/resolver.js +31 -0
- package/jest-preset.js +1 -0
- package/package.json +105 -34
- package/scripts/cocoapods/fabric.rb +0 -1
- package/scripts/cocoapods/helpers.rb +12 -1
- package/scripts/cocoapods/new_architecture.rb +46 -17
- package/scripts/cocoapods/rndependencies.rb +211 -0
- package/scripts/cocoapods/utils.rb +2 -0
- package/scripts/codegen/generate-artifacts-executor/constants.js +80 -0
- package/scripts/codegen/generate-artifacts-executor/generateAppDependencyProvider.js +66 -0
- package/scripts/codegen/generate-artifacts-executor/generateCustomURLHandlers.js +116 -0
- package/scripts/codegen/generate-artifacts-executor/generateFBReactNativeSpecIOS.js +39 -0
- package/scripts/codegen/generate-artifacts-executor/generateNativeCode.js +114 -0
- package/scripts/codegen/generate-artifacts-executor/generateRCTModuleProviders.js +120 -0
- package/scripts/codegen/generate-artifacts-executor/generateRCTThirdPartyComponents.js +223 -0
- package/scripts/codegen/generate-artifacts-executor/generateRNCoreComponentsIOS.js +38 -0
- package/scripts/codegen/generate-artifacts-executor/generateReactCodegenPodspec.js +93 -0
- package/scripts/codegen/generate-artifacts-executor/generateSchemaInfos.js +113 -0
- package/scripts/codegen/generate-artifacts-executor/generateUnstableModulesRequiringMainQueueSetupProvider.js +92 -0
- package/scripts/codegen/generate-artifacts-executor/index.js +232 -0
- package/scripts/codegen/generate-artifacts-executor/utils.js +399 -0
- package/scripts/codegen/templates/RCTAppDependencyProviderMM.template +5 -0
- package/{React/Base/UIKitProxies/RCTInitializeUIKitProxies.h → scripts/codegen/templates/RCTUnstableModulesRequiringMainQueueSetupProviderH.template} +5 -1
- package/scripts/codegen/templates/RCTUnstableModulesRequiringMainQueueSetupProviderMM.template +19 -0
- package/scripts/codegen/templates/ReactCodegen.podspec.template +2 -8
- package/scripts/generate-codegen-artifacts.js +1 -1
- package/scripts/react_native_pods.rb +18 -7
- package/sdks/.hermesversion +1 -1
- package/sdks/hermes-engine/hermes-utils.rb +7 -0
- package/sdks/hermes-engine/utils/build-apple-framework.sh +4 -1
- package/sdks/hermes-engine/utils/build-hermes-xcode.sh +4 -3
- package/sdks/hermesc/osx-bin/hermes +0 -0
- package/sdks/hermesc/osx-bin/hermesc +0 -0
- package/sdks/hermesc/win64-bin/hermesc.exe +0 -0
- package/sdks/hermesc/win64-bin/msvcp140.dll +0 -0
- package/sdks/hermesc/win64-bin/vcruntime140.dll +0 -0
- package/sdks/hermesc/win64-bin/vcruntime140_1.dll +0 -0
- package/src/private/animated/NativeAnimatedHelper.js +21 -8
- package/src/private/animated/createAnimatedPropsHook.js +11 -16
- package/src/private/animated/createAnimatedPropsMemoHook.js +1 -2
- package/src/private/components/{SafeAreaView_INTERNAL_DO_NOT_USE.js → safeareaview/SafeAreaView_INTERNAL_DO_NOT_USE.js} +6 -6
- package/src/private/components/{HScrollViewNativeComponents.js → scrollview/HScrollViewNativeComponents.js} +8 -8
- package/src/private/components/scrollview/VScrollViewNativeComponents.js +25 -0
- package/src/private/{devmenu → devsupport/devmenu}/DevMenu.js +1 -1
- package/src/private/{inspector → devsupport/devmenu/elementinspector}/BorderBox.js +3 -3
- package/src/private/{inspector → devsupport/devmenu/elementinspector}/BoxInspector.js +6 -5
- package/src/private/{inspector → devsupport/devmenu/elementinspector}/ElementBox.js +8 -6
- package/src/private/{inspector → devsupport/devmenu/elementinspector}/ElementProperties.js +11 -10
- package/src/private/{inspector → devsupport/devmenu/elementinspector}/Inspector.js +14 -12
- package/src/private/{inspector → devsupport/devmenu/elementinspector}/InspectorOverlay.js +5 -4
- package/src/private/{inspector → devsupport/devmenu/elementinspector}/InspectorPanel.js +9 -8
- package/src/private/{inspector → devsupport/devmenu/elementinspector}/NetworkOverlay.js +10 -9
- package/src/private/{inspector → devsupport/devmenu/elementinspector}/ReactDevToolsOverlay.js +7 -7
- package/src/private/{inspector → devsupport/devmenu/elementinspector}/StyleInspector.js +7 -6
- package/src/private/{inspector → devsupport/devmenu/elementinspector}/XHRInterceptor.js +2 -2
- package/src/private/{inspector → devsupport/devmenu/elementinspector}/getInspectorDataForViewAtPoint.js +4 -4
- package/src/private/{inspector → devsupport/devmenu/elementinspector}/resolveBoxStyle.js +1 -1
- package/src/private/{inspector → devsupport/devmenu/perfmonitor}/PerformanceOverlay.js +6 -5
- package/src/private/{specs_DEPRECATED/modules → devsupport/devmenu/specs}/NativeDevMenu.js +2 -2
- package/src/private/{debugging → devsupport/rndevtools}/ReactDevToolsSettingsManager.android.js +1 -1
- package/src/private/{debugging → devsupport/rndevtools}/ReactDevToolsSettingsManager.ios.js +1 -1
- package/src/private/{debugging → devsupport/rndevtools}/setUpFuseboxReactDevToolsDispatcher.js +1 -1
- package/src/private/{fusebox → devsupport/rndevtools}/specs/NativeReactDevToolsRuntimeSettingsModule.js +2 -2
- package/src/private/{specs_DEPRECATED/modules → devsupport/rndevtools/specs}/NativeReactDevToolsSettingsManager.js +2 -2
- package/src/private/featureflags/ReactNativeFeatureFlags.js +72 -80
- package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +9 -1
- package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +15 -13
- package/src/private/renderer/errorhandling/ErrorHandlers.js +2 -2
- package/src/private/specs_DEPRECATED/modules/NativeAnimatedModule.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeAnimatedTurboModule.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeSampleTurboModule.js +3 -0
- package/src/private/styles/composeStyles.js +12 -5
- package/src/private/types/HostComponent.js +1 -1
- package/src/private/types/HostInstance.js +67 -1
- package/src/private/webapis/dom/nodes/ReactNativeElement.js +2 -5
- package/src/private/webapis/dom/nodes/ReadOnlyNode.js +5 -18
- package/src/private/webapis/dom/nodes/internals/NodeInternals.js +6 -0
- package/src/private/webapis/performance/Performance.js +1 -3
- package/src/private/webapis/performance/PerformanceEntry.js +6 -1
- package/src/private/webapis/performance/internals/RawPerformanceEntry.js +3 -0
- package/src/private/webapis/performance/specs/NativePerformance.js +10 -1
- package/src/types/bom.js.flow +96 -0
- package/src/types/cssom.js.flow +576 -0
- package/src/types/dom.js.flow +19 -0
- package/src/types/globals.d.ts +42 -0
- package/src/types/streams.js.flow +141 -0
- package/third-party-podspecs/RCT-Folly.podspec +7 -6
- package/third-party-podspecs/ReactNativeDependencies.podspec +86 -0
- package/third-party-podspecs/fast_float.podspec +2 -2
- package/third-party-podspecs/replace_dependencies_version.js +107 -0
- package/types/index.d.ts +6 -3
- package/types/public/ReactNativeTVTypes.d.ts +42 -42
- package/types/public/ReactNativeTypes.d.ts +2 -2
- package/types/tsconfig.test.json +16 -0
- package/Libraries/BatchedBridge/__mocks__/MessageQueueTestConfig.js +0 -38
- package/Libraries/BatchedBridge/__mocks__/MessageQueueTestModule.js +0 -22
- package/Libraries/Blob/FileReader_new.js +0 -231
- package/Libraries/Blob/FileReader_old.js +0 -186
- package/Libraries/Blob/__mocks__/FileReaderModule.js +0 -20
- package/Libraries/Components/RefreshControl/__mocks__/RefreshControlMock.js +0 -32
- package/Libraries/Core/__mocks__/ErrorUtils.js +0 -33
- package/Libraries/Core/__mocks__/NativeExceptionsManager.js +0 -19
- package/Libraries/EventEmitter/__mocks__/NativeEventEmitter.js +0 -49
- package/Libraries/Events/CustomEvent.js +0 -32
- package/Libraries/Events/EventPolyfill.js +0 -239
- package/Libraries/Lists/__flowtests__/FlatList-flowtest.js +0 -118
- package/Libraries/Lists/__flowtests__/SectionList-flowtest.js +0 -134
- package/Libraries/Network/XMLHttpRequest_new.js +0 -794
- package/Libraries/Network/XMLHttpRequest_old.js +0 -701
- package/Libraries/NewAppScreen/components/DebugInstructions.js +0 -48
- package/Libraries/NewAppScreen/components/Header.js +0 -77
- package/Libraries/NewAppScreen/components/HermesBadge.js +0 -72
- package/Libraries/NewAppScreen/components/LearnMoreLinks.js +0 -148
- package/Libraries/NewAppScreen/components/ReloadInstructions.js +0 -39
- package/Libraries/NewAppScreen/components/logo.png +0 -0
- package/Libraries/NewAppScreen/index.js +0 -25
- package/Libraries/StyleSheet/__flowtests__/StyleSheet-flowtest.js +0 -58
- package/Libraries/Utilities/__mocks__/BackHandler.js +0 -45
- package/Libraries/Utilities/__mocks__/GlobalPerformanceLogger.js +0 -16
- package/Libraries/Utilities/__mocks__/PixelRatio.js +0 -25
- package/Libraries/WebSocket/WebSocketEvent.js +0 -30
- package/Libraries/WebSocket/WebSocket_new.js +0 -325
- package/Libraries/WebSocket/WebSocket_old.js +0 -297
- package/Libraries/WebSocket/__mocks__/event-target-shim.js +0 -27
- package/Libraries/__flowtests__/ReactNativeTypes-flowtest.js +0 -30
- package/Libraries/vendor/emitter/__flowtests__/EventEmitter-flowtest.js +0 -81
- package/React/Base/UIKitProxies/RCTInitialAccessibilityValuesProxy.h +0 -30
- package/React/Base/UIKitProxies/RCTInitialAccessibilityValuesProxy.mm +0 -185
- package/React/Base/UIKitProxies/RCTInitializeUIKitProxies.mm +0 -23
- package/React/Base/UIKitProxies/RCTKeyWindowValuesProxy.h +0 -25
- package/React/Base/UIKitProxies/RCTKeyWindowValuesProxy.mm +0 -129
- package/React/Base/UIKitProxies/RCTTraitCollectionProxy.h +0 -26
- package/React/Base/UIKitProxies/RCTTraitCollectionProxy.mm +0 -80
- package/React/Base/UIKitProxies/RCTWindowSafeAreaProxy.h +0 -26
- package/React/Base/UIKitProxies/RCTWindowSafeAreaProxy.mm +0 -70
- package/React/Fabric/Utils/RCTViewFinder.mm +0 -34
- package/ReactAndroid/src/main/java/com/facebook/annotationprocessors/common/ProcessorBase.kt +0 -23
- package/ReactAndroid/src/main/java/com/facebook/proguard/annotations/KeepGettersAndSetters.kt +0 -24
- package/ReactAndroid/src/main/java/com/facebook/proguard/annotations/proguard_annotations.pro +0 -21
- package/ReactAndroid/src/main/java/com/facebook/react/DebugCorePackage.java +0 -84
- package/ReactAndroid/src/main/java/com/facebook/react/MemoryPressureRouter.java +0 -59
- package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedModule.java +0 -1240
- package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedNodesManager.java +0 -900
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ActivityEventListener.java +0 -29
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/BaseActivityEventListener.java +0 -29
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/CallbackImpl.java +0 -37
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ColorPropConverter.java +0 -234
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/CxxModuleWrapperBase.java +0 -57
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/DynamicFromArray.java +0 -103
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/DynamicFromMap.java +0 -110
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/DynamicFromObject.java +0 -89
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/GuardedAsyncTask.java +0 -42
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/GuardedRunnable.java +0 -36
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/Inspector.java +0 -110
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/InvalidIteratorException.kt +0 -18
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSBundleLoader.java +0 -97
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSONArguments.java +0 -110
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaModuleWrapper.java +0 -148
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaScriptContextHolder.java +0 -33
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaScriptExecutor.java +0 -31
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/JsonWriterHelper.java +0 -155
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactBridge.kt +0 -48
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactCxxErrorHandler.java +0 -39
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/UiThreadUtil.java +0 -75
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/bridge.pro +0 -12
- package/ReactAndroid/src/main/java/com/facebook/react/common/SingleThreadAsserter.kt +0 -23
- package/ReactAndroid/src/main/java/com/facebook/react/common/StandardCharsets.kt +0 -31
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BridgeDevSupportManager.java +0 -128
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BridgelessDevSupportManager.java +0 -124
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BundleDownloader.java +0 -313
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/CxxInspectorPackagerConnection.java +0 -174
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DebugOverlayController.java +0 -117
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevServerHelper.java +0 -495
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.java +0 -1121
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerFactory.java +0 -56
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportSoLoader.kt +0 -24
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/JSDebuggerWebSocketClient.java +0 -244
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/MultipartStreamReader.java +0 -166
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/ReactInstanceDevHelper.java +0 -47
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/StackTraceHelper.java +0 -300
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevSplitBundleCallback.kt +0 -17
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/DevToolsReactPerfLogger.java +0 -239
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/StateWrapperImpl.java +0 -103
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/IntBufferBatchMountItem.java +0 -329
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/SendAccessibilityEvent.kt +0 -40
- package/ReactAndroid/src/main/java/com/facebook/react/interfaces/fabric/SurfaceHandler.kt +0 -40
- package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/NativeModuleSoLoader.kt +0 -25
- package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/TurboModuleInteropUtils.java +0 -288
- package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/TurboModuleManager.java +0 -474
- package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/TurboModuleManagerDelegate.java +0 -76
- package/ReactAndroid/src/main/java/com/facebook/react/module/processing/ReactModuleSpecProcessor.java +0 -253
- package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobModule.java +0 -383
- package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobProvider.java +0 -126
- package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/FileReaderModule.java +0 -103
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ChoreographerCompat.kt +0 -16
- package/ReactAndroid/src/main/java/com/facebook/react/modules/dialog/AlertFragment.java +0 -204
- package/ReactAndroid/src/main/java/com/facebook/react/modules/dialog/DialogModule.java +0 -240
- package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkingModule.java +0 -785
- package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ProgressResponseBody.java +0 -68
- package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java +0 -22
- package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/FileIoHandler.java +0 -191
- package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/JSPackagerClient.java +0 -143
- package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/ReconnectingWebSocket.java +0 -193
- package/ReactAndroid/src/main/java/com/facebook/react/processing/ReactLegacyArchitectureProcessor.kt +0 -48
- package/ReactAndroid/src/main/java/com/facebook/react/processing/ReactPropertyProcessor.java +0 -765
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessAtomicRef.java +0 -131
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessReactContext.java +0 -209
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/CoreReactPackage.java +0 -138
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactInstance.java +0 -634
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactLifecycleStateManager.java +0 -90
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactSurfaceImpl.java +0 -255
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/Task.java +0 -555
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/UnobservedErrorNotifier.kt +0 -27
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/UnobservedTaskException.kt +0 -11
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/OnLayoutEvent.java +0 -80
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactClippingViewGroupHelper.java +0 -65
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactInvalidPropertyException.kt +0 -16
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactStylesDiffMap.java +0 -99
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ShadowNodeRegistry.java +0 -87
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TouchTargetHelper.java +0 -448
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TransformHelper.java +0 -231
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModuleConstants.java +0 -119
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewAtIndex.java +0 -46
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewGroupDrawingOrderHelper.java +0 -127
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewGroupManager.java +0 -116
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/annotations/ReactProp.java +0 -109
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/annotations/ReactPropGroup.java +0 -97
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/annotations/ReactPropertyHolder.java +0 -19
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/Event.java +0 -220
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/AbstractLayoutAnimation.java +0 -116
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/BaseLayoutAnimation.java +0 -86
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutAnimationController.java +0 -224
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/OpacityAnimation.java +0 -72
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/PositionAndSizeAnimation.java +0 -69
- package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ModalHostHelper.kt +0 -63
- package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ModalHostShadowNode.kt +0 -31
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/MaintainVisibleScrollPositionHelper.java +0 -213
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollViewManager.java +0 -361
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewManager.java +0 -409
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactRawTextShadowNode.java +0 -47
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextAnchorViewManager.java +0 -233
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageShadowNode.java +0 -163
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageSpan.java +0 -185
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactContentSizeChangedEvent.java +0 -54
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java +0 -1493
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditTextInputConnectionWrapper.java +0 -160
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextChangedEvent.java +0 -52
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputBlurEvent.java +0 -47
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputEndEditingEvent.java +0 -54
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputFocusEvent.java +0 -47
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputKeyPressEvent.java +0 -51
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputLocalData.java +0 -44
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.java +0 -1390
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputSelectionEvent.java +0 -53
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputShadowNode.java +0 -236
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputSubmitEditingEvent.java +0 -52
- package/ReactAndroid/src/main/jni/prebuilt/lib/DUMMY +0 -1
- package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropViewEventEmitter.cpp +0 -18
- package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropViewEventEmitter.h +0 -31
- package/ReactCommon/react/renderer/textlayoutmanager/TextLayoutManager.cpp +0 -26
- package/ReactCommon/react/renderer/uimanager/consistency/LatestShadowTreeRevisionProvider.cpp +0 -29
- package/ReactCommon/react/renderer/uimanager/consistency/LatestShadowTreeRevisionProvider.h +0 -35
- package/android/README.md +0 -21
- package/flow/jest.js +0 -1287
- package/jest/__tests__/setup-test.js +0 -18
- package/scripts/codegen/generate-artifacts-executor.js +0 -1118
- package/src/private/components/VScrollViewNativeComponents.js +0 -25
- package/src/private/featureflags/README.md +0 -5
- package/src/private/specs_DEPRECATED/README.md +0 -7
- package/src/private/utilities/ensureInstance.js +0 -21
- package/src/private/webapis/performance/specs/__mocks__/NativePerformanceMock.js +0 -267
- package/types/modules/LaunchScreen.d.ts +0 -18
- /package/ReactCommon/jsinspector-modern/{CdpJson.cpp → cdp/CdpJson.cpp} +0 -0
- /package/ReactCommon/jsinspector-modern/{CdpJson.h → cdp/CdpJson.h} +0 -0
- /package/src/private/{devmenu → devsupport/devmenu}/DevMenu.d.ts +0 -0
- /package/src/private/{debugging → devsupport/rndevtools}/FuseboxSessionObserver.js +0 -0
- /package/src/private/{debugging → devsupport/rndevtools}/ReactDevToolsSettingsManager.js.flow +0 -0
|
@@ -1,1240 +0,0 @@
|
|
|
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 androidx.annotation.AnyThread;
|
|
11
|
-
import androidx.annotation.NonNull;
|
|
12
|
-
import androidx.annotation.Nullable;
|
|
13
|
-
import androidx.annotation.UiThread;
|
|
14
|
-
import com.facebook.common.logging.FLog;
|
|
15
|
-
import com.facebook.fbreact.specs.NativeAnimatedModuleSpec;
|
|
16
|
-
import com.facebook.infer.annotation.Assertions;
|
|
17
|
-
import com.facebook.infer.annotation.Nullsafe;
|
|
18
|
-
import com.facebook.react.bridge.Arguments;
|
|
19
|
-
import com.facebook.react.bridge.Callback;
|
|
20
|
-
import com.facebook.react.bridge.LifecycleEventListener;
|
|
21
|
-
import com.facebook.react.bridge.ReactApplicationContext;
|
|
22
|
-
import com.facebook.react.bridge.ReactSoftExceptionLogger;
|
|
23
|
-
import com.facebook.react.bridge.ReadableArray;
|
|
24
|
-
import com.facebook.react.bridge.ReadableMap;
|
|
25
|
-
import com.facebook.react.bridge.UIManager;
|
|
26
|
-
import com.facebook.react.bridge.UIManagerListener;
|
|
27
|
-
import com.facebook.react.bridge.WritableArray;
|
|
28
|
-
import com.facebook.react.bridge.WritableMap;
|
|
29
|
-
import com.facebook.react.common.annotations.VisibleForTesting;
|
|
30
|
-
import com.facebook.react.internal.featureflags.ReactNativeFeatureFlags;
|
|
31
|
-
import com.facebook.react.module.annotations.ReactModule;
|
|
32
|
-
import com.facebook.react.modules.core.ReactChoreographer;
|
|
33
|
-
import com.facebook.react.uimanager.GuardedFrameCallback;
|
|
34
|
-
import com.facebook.react.uimanager.NativeViewHierarchyManager;
|
|
35
|
-
import com.facebook.react.uimanager.UIBlock;
|
|
36
|
-
import com.facebook.react.uimanager.UIManagerHelper;
|
|
37
|
-
import com.facebook.react.uimanager.UIManagerModule;
|
|
38
|
-
import com.facebook.react.uimanager.common.UIManagerType;
|
|
39
|
-
import com.facebook.react.uimanager.common.ViewUtil;
|
|
40
|
-
import java.util.ArrayList;
|
|
41
|
-
import java.util.List;
|
|
42
|
-
import java.util.Queue;
|
|
43
|
-
import java.util.Set;
|
|
44
|
-
import java.util.concurrent.ConcurrentLinkedQueue;
|
|
45
|
-
import java.util.concurrent.atomic.AtomicReference;
|
|
46
|
-
|
|
47
|
-
/**
|
|
48
|
-
* Module that exposes interface for creating and managing animated nodes on the "native" side.
|
|
49
|
-
*
|
|
50
|
-
* <p>Animated.js library is based on a concept of a graph where nodes are values or transform
|
|
51
|
-
* operations (such as interpolation, addition, etc) and connection are used to describe how change
|
|
52
|
-
* of the value in one node can affect other nodes.
|
|
53
|
-
*
|
|
54
|
-
* <p>Few examples of the nodes that can be created on the JS side:
|
|
55
|
-
*
|
|
56
|
-
* <ul>
|
|
57
|
-
* <li>Animated.Value is a simplest type of node with a numeric value which can be driven by an
|
|
58
|
-
* animation engine (spring, decay, etc) or by calling setValue on it directly from JS
|
|
59
|
-
* <li>Animated.add is a type of node that may have two or more input nodes. It outputs the sum of
|
|
60
|
-
* all the input node values
|
|
61
|
-
* <li>interpolate - is actually a method you can call on any node and it creates a new node that
|
|
62
|
-
* takes the parent node as an input and outputs its interpolated value (e.g. if you have
|
|
63
|
-
* value that can animate from 0 to 1 you can create interpolated node and set output range to
|
|
64
|
-
* be 0 to 100 and when the input node changes the output of interpolated node will multiply
|
|
65
|
-
* the values by 100)
|
|
66
|
-
* </ul>
|
|
67
|
-
*
|
|
68
|
-
* <p>You can mix and chain nodes however you like and this way create nodes graph with connections
|
|
69
|
-
* between them.
|
|
70
|
-
*
|
|
71
|
-
* <p>To map animated node values to view properties there is a special type of a node:
|
|
72
|
-
* AnimatedProps. It is created by AnimatedImplementation whenever you render Animated.View and
|
|
73
|
-
* stores a mapping from the view properties to the corresponding animated values (so it's actually
|
|
74
|
-
* also a node with connections to the value nodes).
|
|
75
|
-
*
|
|
76
|
-
* <p>Last "special" elements of the graph are "animation drivers". Those are objects (represented
|
|
77
|
-
* as a graph nodes too) that based on some criteria updates attached values every frame (we have
|
|
78
|
-
* few types of those, e.g., spring, timing, decay). Animation objects can be "started" and
|
|
79
|
-
* "stopped". Those are like "pulse generators" for the rest of the nodes graph. Those pulses then
|
|
80
|
-
* propagate along the graph to the children nodes up to the special node type: AnimatedProps which
|
|
81
|
-
* then can be used to calculate property update map for a view.
|
|
82
|
-
*
|
|
83
|
-
* <p>This class acts as a proxy between the "native" API that can be called from JS and the main
|
|
84
|
-
* class that coordinates all the action: {@link NativeAnimatedNodesManager}. Since all the methods
|
|
85
|
-
* from {@link NativeAnimatedNodesManager} need to be called from the UI thread, we we create a
|
|
86
|
-
* queue of animated graph operations that is then enqueued to be executed in the UI Thread at the
|
|
87
|
-
* end of the batch of JS->native calls (similarly to how it's handled in {@link UIManagerModule}).
|
|
88
|
-
* This isolates us from the problems that may be caused by concurrent updates of animated graph
|
|
89
|
-
* while UI thread is "executing" the animation loop.
|
|
90
|
-
*/
|
|
91
|
-
@Nullsafe(Nullsafe.Mode.LOCAL)
|
|
92
|
-
@ReactModule(name = NativeAnimatedModuleSpec.NAME)
|
|
93
|
-
public class NativeAnimatedModule extends NativeAnimatedModuleSpec
|
|
94
|
-
implements LifecycleEventListener, UIManagerListener {
|
|
95
|
-
|
|
96
|
-
public static final boolean ANIMATED_MODULE_DEBUG = false;
|
|
97
|
-
|
|
98
|
-
// For `queueAndExecuteBatchedOperations`
|
|
99
|
-
private enum BatchExecutionOpCodes {
|
|
100
|
-
OP_CODE_CREATE_ANIMATED_NODE(1),
|
|
101
|
-
OP_CODE_UPDATE_ANIMATED_NODE_CONFIG(2),
|
|
102
|
-
OP_CODE_GET_VALUE(3),
|
|
103
|
-
OP_START_LISTENING_TO_ANIMATED_NODE_VALUE(4),
|
|
104
|
-
OP_STOP_LISTENING_TO_ANIMATED_NODE_VALUE(5),
|
|
105
|
-
OP_CODE_CONNECT_ANIMATED_NODES(6),
|
|
106
|
-
OP_CODE_DISCONNECT_ANIMATED_NODES(7),
|
|
107
|
-
OP_CODE_START_ANIMATING_NODE(8),
|
|
108
|
-
OP_CODE_STOP_ANIMATION(9),
|
|
109
|
-
OP_CODE_SET_ANIMATED_NODE_VALUE(10),
|
|
110
|
-
OP_CODE_SET_ANIMATED_NODE_OFFSET(11),
|
|
111
|
-
OP_CODE_FLATTEN_ANIMATED_NODE_OFFSET(12),
|
|
112
|
-
OP_CODE_EXTRACT_ANIMATED_NODE_OFFSET(13),
|
|
113
|
-
OP_CODE_CONNECT_ANIMATED_NODE_TO_VIEW(14),
|
|
114
|
-
OP_CODE_DISCONNECT_ANIMATED_NODE_FROM_VIEW(15),
|
|
115
|
-
OP_CODE_RESTORE_DEFAULT_VALUES(16),
|
|
116
|
-
OP_CODE_DROP_ANIMATED_NODE(17),
|
|
117
|
-
OP_CODE_ADD_ANIMATED_EVENT_TO_VIEW(18),
|
|
118
|
-
OP_CODE_REMOVE_ANIMATED_EVENT_FROM_VIEW(19),
|
|
119
|
-
OP_CODE_ADD_LISTENER(20), // ios only
|
|
120
|
-
OP_CODE_REMOVE_LISTENERS(21); // ios only
|
|
121
|
-
|
|
122
|
-
// NULLSAFE_FIXME[Field Not Nullable]
|
|
123
|
-
private static BatchExecutionOpCodes[] valueMap = null;
|
|
124
|
-
private final int value;
|
|
125
|
-
|
|
126
|
-
private BatchExecutionOpCodes(int value) {
|
|
127
|
-
this.value = value;
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
public int getValue() {
|
|
131
|
-
return value;
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
public static BatchExecutionOpCodes fromId(int id) {
|
|
135
|
-
if (BatchExecutionOpCodes.valueMap == null) {
|
|
136
|
-
BatchExecutionOpCodes.valueMap = BatchExecutionOpCodes.values();
|
|
137
|
-
}
|
|
138
|
-
// Enum values are 1-indexed, but the value array is 0-indexed
|
|
139
|
-
return BatchExecutionOpCodes.valueMap[id - 1];
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
private abstract class UIThreadOperation {
|
|
144
|
-
abstract void execute(NativeAnimatedNodesManager animatedNodesManager);
|
|
145
|
-
|
|
146
|
-
long mBatchNumber = -1;
|
|
147
|
-
|
|
148
|
-
public void setBatchNumber(long batchNumber) {
|
|
149
|
-
mBatchNumber = batchNumber;
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
public long getBatchNumber() {
|
|
153
|
-
return mBatchNumber;
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
private class ConcurrentOperationQueue {
|
|
158
|
-
private final Queue<UIThreadOperation> mQueue = new ConcurrentLinkedQueue<>();
|
|
159
|
-
@Nullable private UIThreadOperation mPeekedOperation = null;
|
|
160
|
-
|
|
161
|
-
@AnyThread
|
|
162
|
-
boolean isEmpty() {
|
|
163
|
-
return mQueue.isEmpty() && mPeekedOperation == null;
|
|
164
|
-
}
|
|
165
|
-
|
|
166
|
-
@AnyThread
|
|
167
|
-
void add(UIThreadOperation operation) {
|
|
168
|
-
mQueue.add(operation);
|
|
169
|
-
}
|
|
170
|
-
|
|
171
|
-
@UiThread
|
|
172
|
-
void executeBatch(long maxBatchNumber, NativeAnimatedNodesManager nodesManager) {
|
|
173
|
-
List<UIThreadOperation> operations;
|
|
174
|
-
operations = drainQueueIntoList(maxBatchNumber);
|
|
175
|
-
if (operations != null) {
|
|
176
|
-
for (UIThreadOperation operation : operations) {
|
|
177
|
-
operation.execute(nodesManager);
|
|
178
|
-
}
|
|
179
|
-
}
|
|
180
|
-
}
|
|
181
|
-
|
|
182
|
-
@UiThread
|
|
183
|
-
private @Nullable List<UIThreadOperation> drainQueueIntoList(long maxBatchNumber) {
|
|
184
|
-
if (isEmpty()) {
|
|
185
|
-
return null;
|
|
186
|
-
}
|
|
187
|
-
|
|
188
|
-
List<UIThreadOperation> operations = new ArrayList<>();
|
|
189
|
-
while (true) {
|
|
190
|
-
// Due to a race condition, we manually "carry-over" a polled item from previous batch
|
|
191
|
-
// instead of peeking the queue itself for consistency.
|
|
192
|
-
// TODO(T112522554): Clean up the queue access
|
|
193
|
-
if (mPeekedOperation != null) {
|
|
194
|
-
if (mPeekedOperation.getBatchNumber() > maxBatchNumber) {
|
|
195
|
-
break;
|
|
196
|
-
}
|
|
197
|
-
operations.add(mPeekedOperation);
|
|
198
|
-
mPeekedOperation = null;
|
|
199
|
-
}
|
|
200
|
-
|
|
201
|
-
UIThreadOperation polledOperation = mQueue.poll();
|
|
202
|
-
if (polledOperation == null) {
|
|
203
|
-
// This is the same as mQueue.isEmpty()
|
|
204
|
-
break;
|
|
205
|
-
}
|
|
206
|
-
|
|
207
|
-
if (polledOperation.getBatchNumber() > maxBatchNumber) {
|
|
208
|
-
// Because the operation is already retrieved from the queue, there's no way of placing it
|
|
209
|
-
// back as the head element, so we remember it manually here
|
|
210
|
-
mPeekedOperation = polledOperation;
|
|
211
|
-
break;
|
|
212
|
-
}
|
|
213
|
-
operations.add(polledOperation);
|
|
214
|
-
}
|
|
215
|
-
|
|
216
|
-
return operations;
|
|
217
|
-
}
|
|
218
|
-
}
|
|
219
|
-
|
|
220
|
-
@NonNull private final GuardedFrameCallback mAnimatedFrameCallback;
|
|
221
|
-
private final ReactChoreographer mReactChoreographer;
|
|
222
|
-
|
|
223
|
-
@NonNull private final ConcurrentOperationQueue mOperations = new ConcurrentOperationQueue();
|
|
224
|
-
@NonNull private final ConcurrentOperationQueue mPreOperations = new ConcurrentOperationQueue();
|
|
225
|
-
|
|
226
|
-
private final AtomicReference<NativeAnimatedNodesManager> mNodesManager = new AtomicReference<>();
|
|
227
|
-
|
|
228
|
-
private boolean mBatchingControlledByJS = false; // TODO T71377544: delete
|
|
229
|
-
private volatile long mCurrentFrameNumber; // TODO T71377544: delete
|
|
230
|
-
private volatile long mCurrentBatchNumber;
|
|
231
|
-
|
|
232
|
-
private boolean mInitializedForFabric = false;
|
|
233
|
-
private boolean mInitializedForNonFabric = false;
|
|
234
|
-
private boolean mEnqueuedAnimationOnFrame = false;
|
|
235
|
-
private @UIManagerType int mUIManagerType = UIManagerType.DEFAULT;
|
|
236
|
-
private int mNumFabricAnimations = 0;
|
|
237
|
-
private int mNumNonFabricAnimations = 0;
|
|
238
|
-
|
|
239
|
-
public NativeAnimatedModule(ReactApplicationContext reactContext) {
|
|
240
|
-
super(reactContext);
|
|
241
|
-
|
|
242
|
-
mReactChoreographer = ReactChoreographer.getInstance();
|
|
243
|
-
mAnimatedFrameCallback =
|
|
244
|
-
new GuardedFrameCallback(reactContext) {
|
|
245
|
-
@Override
|
|
246
|
-
protected void doFrameGuarded(final long frameTimeNanos) {
|
|
247
|
-
try {
|
|
248
|
-
mEnqueuedAnimationOnFrame = false;
|
|
249
|
-
NativeAnimatedNodesManager nodesManager = getNodesManager();
|
|
250
|
-
if (nodesManager != null && nodesManager.hasActiveAnimations()) {
|
|
251
|
-
nodesManager.runUpdates(frameTimeNanos);
|
|
252
|
-
}
|
|
253
|
-
// This is very unlikely to ever be hit.
|
|
254
|
-
if (nodesManager == null || mReactChoreographer == null) {
|
|
255
|
-
return;
|
|
256
|
-
}
|
|
257
|
-
|
|
258
|
-
if (!ReactNativeFeatureFlags.lazyAnimationCallbacks()
|
|
259
|
-
|| nodesManager.hasActiveAnimations()) {
|
|
260
|
-
enqueueFrameCallback();
|
|
261
|
-
}
|
|
262
|
-
} catch (Exception ex) {
|
|
263
|
-
throw new RuntimeException(ex);
|
|
264
|
-
}
|
|
265
|
-
}
|
|
266
|
-
};
|
|
267
|
-
}
|
|
268
|
-
|
|
269
|
-
/**
|
|
270
|
-
* This method is used to notify the JS side that the user has stopped scrolling. With natively
|
|
271
|
-
* driven animation, we might have to force a resync between the Shadow Tree and the Native Tree.
|
|
272
|
-
* This is because with natively driven animation, the Shadow Tree is bypassed and it can have
|
|
273
|
-
* stale information on the layout of the native views. This method takes care of verifying if
|
|
274
|
-
* there are some views listening to the native driven animation and it triggers the resynch.
|
|
275
|
-
*
|
|
276
|
-
* @param viewTag The tag of the scroll view that has stopped scrolling
|
|
277
|
-
*/
|
|
278
|
-
public void userDrivenScrollEnded(int viewTag) {
|
|
279
|
-
// ask to the Node Manager for all the native nodes listening to OnScroll event
|
|
280
|
-
NativeAnimatedNodesManager nodeManager = mNodesManager.get();
|
|
281
|
-
if (nodeManager == null) {
|
|
282
|
-
return;
|
|
283
|
-
}
|
|
284
|
-
|
|
285
|
-
Set<Integer> tags = nodeManager.getTagsOfConnectedNodes(viewTag, "topScrollEnded");
|
|
286
|
-
|
|
287
|
-
if (tags.isEmpty()) {
|
|
288
|
-
return;
|
|
289
|
-
}
|
|
290
|
-
|
|
291
|
-
WritableArray tagsArray = Arguments.createArray();
|
|
292
|
-
for (Integer tag : tags) {
|
|
293
|
-
tagsArray.pushInt(tag);
|
|
294
|
-
}
|
|
295
|
-
|
|
296
|
-
// emit the event to JS to resync the trees
|
|
297
|
-
WritableMap onAnimationEndedData = Arguments.createMap();
|
|
298
|
-
onAnimationEndedData.putArray("tags", tagsArray);
|
|
299
|
-
|
|
300
|
-
ReactApplicationContext reactApplicationContext = getReactApplicationContextIfActiveOrWarn();
|
|
301
|
-
if (reactApplicationContext != null) {
|
|
302
|
-
reactApplicationContext.emitDeviceEvent("onUserDrivenAnimationEnded", onAnimationEndedData);
|
|
303
|
-
}
|
|
304
|
-
}
|
|
305
|
-
|
|
306
|
-
@Override
|
|
307
|
-
public void initialize() {
|
|
308
|
-
super.initialize();
|
|
309
|
-
|
|
310
|
-
getReactApplicationContext().addLifecycleEventListener(this);
|
|
311
|
-
}
|
|
312
|
-
|
|
313
|
-
@Override
|
|
314
|
-
public void onHostResume() {
|
|
315
|
-
enqueueFrameCallback();
|
|
316
|
-
}
|
|
317
|
-
|
|
318
|
-
private void addOperation(UIThreadOperation operation) {
|
|
319
|
-
operation.setBatchNumber(mCurrentBatchNumber);
|
|
320
|
-
mOperations.add(operation);
|
|
321
|
-
}
|
|
322
|
-
|
|
323
|
-
private void addUnbatchedOperation(UIThreadOperation operation) {
|
|
324
|
-
operation.setBatchNumber(-1);
|
|
325
|
-
mOperations.add(operation);
|
|
326
|
-
}
|
|
327
|
-
|
|
328
|
-
private void addPreOperation(UIThreadOperation operation) {
|
|
329
|
-
operation.setBatchNumber(mCurrentBatchNumber);
|
|
330
|
-
mPreOperations.add(operation);
|
|
331
|
-
}
|
|
332
|
-
|
|
333
|
-
// For FabricUIManager only
|
|
334
|
-
@Override
|
|
335
|
-
public void didScheduleMountItems(UIManager uiManager) {
|
|
336
|
-
mCurrentFrameNumber++;
|
|
337
|
-
}
|
|
338
|
-
|
|
339
|
-
@Override
|
|
340
|
-
public void willMountItems(UIManager uiManager) {
|
|
341
|
-
// noop
|
|
342
|
-
}
|
|
343
|
-
|
|
344
|
-
@Override
|
|
345
|
-
public void didMountItems(UIManager uiManager) {
|
|
346
|
-
// noop
|
|
347
|
-
}
|
|
348
|
-
|
|
349
|
-
// For FabricUIManager only
|
|
350
|
-
@Override
|
|
351
|
-
@UiThread
|
|
352
|
-
public void didDispatchMountItems(UIManager uiManager) {
|
|
353
|
-
if (mUIManagerType != UIManagerType.FABRIC) {
|
|
354
|
-
return;
|
|
355
|
-
}
|
|
356
|
-
|
|
357
|
-
long batchNumber = mCurrentBatchNumber - 1;
|
|
358
|
-
|
|
359
|
-
// TODO T71377544: delete this when the JS method is confirmed safe
|
|
360
|
-
if (!mBatchingControlledByJS) {
|
|
361
|
-
// The problem we're trying to solve here: we could be in the middle of queueing
|
|
362
|
-
// a batch of related animation operations when Fabric flushes a batch of MountItems.
|
|
363
|
-
// It's visually bad if we execute half of the animation ops and then wait another frame
|
|
364
|
-
// (or more) to execute the rest.
|
|
365
|
-
// See mFrameNumber. If the dispatchedFrameNumber drifts too far - that
|
|
366
|
-
// is, if no MountItems are scheduled for a while, which can happen if a tree
|
|
367
|
-
// is committed but there are no changes - bring these counts back in sync and
|
|
368
|
-
// execute any queued operations. This number is arbitrary, but we want it low
|
|
369
|
-
// enough that the user shouldn't be able to see this delay in most cases.
|
|
370
|
-
mCurrentFrameNumber++;
|
|
371
|
-
if ((mCurrentFrameNumber - mCurrentBatchNumber) > 2) {
|
|
372
|
-
mCurrentBatchNumber = mCurrentFrameNumber;
|
|
373
|
-
batchNumber = mCurrentBatchNumber;
|
|
374
|
-
}
|
|
375
|
-
}
|
|
376
|
-
|
|
377
|
-
// NULLSAFE_FIXME[Parameter Not Nullable]
|
|
378
|
-
mPreOperations.executeBatch(batchNumber, getNodesManager());
|
|
379
|
-
// NULLSAFE_FIXME[Parameter Not Nullable]
|
|
380
|
-
mOperations.executeBatch(batchNumber, getNodesManager());
|
|
381
|
-
}
|
|
382
|
-
|
|
383
|
-
// For non-FabricUIManager only
|
|
384
|
-
@Override
|
|
385
|
-
@UiThread
|
|
386
|
-
public void willDispatchViewUpdates(final UIManager uiManager) {
|
|
387
|
-
if (mOperations.isEmpty() && mPreOperations.isEmpty()) {
|
|
388
|
-
return;
|
|
389
|
-
}
|
|
390
|
-
if (mUIManagerType == UIManagerType.FABRIC) {
|
|
391
|
-
return;
|
|
392
|
-
}
|
|
393
|
-
|
|
394
|
-
final long frameNo = mCurrentBatchNumber++;
|
|
395
|
-
|
|
396
|
-
UIBlock preOperationsUIBlock =
|
|
397
|
-
new UIBlock() {
|
|
398
|
-
@Override
|
|
399
|
-
// NULLSAFE_FIXME[Inconsistent Subclass Parameter Annotation]
|
|
400
|
-
public void execute(NativeViewHierarchyManager nativeViewHierarchyManager) {
|
|
401
|
-
// NULLSAFE_FIXME[Parameter Not Nullable]
|
|
402
|
-
mPreOperations.executeBatch(frameNo, getNodesManager());
|
|
403
|
-
}
|
|
404
|
-
};
|
|
405
|
-
|
|
406
|
-
UIBlock operationsUIBlock =
|
|
407
|
-
new UIBlock() {
|
|
408
|
-
@Override
|
|
409
|
-
// NULLSAFE_FIXME[Inconsistent Subclass Parameter Annotation]
|
|
410
|
-
public void execute(NativeViewHierarchyManager nativeViewHierarchyManager) {
|
|
411
|
-
// NULLSAFE_FIXME[Parameter Not Nullable]
|
|
412
|
-
mOperations.executeBatch(frameNo, getNodesManager());
|
|
413
|
-
}
|
|
414
|
-
};
|
|
415
|
-
|
|
416
|
-
assert (uiManager instanceof UIManagerModule);
|
|
417
|
-
UIManagerModule uiManagerModule = (UIManagerModule) uiManager;
|
|
418
|
-
uiManagerModule.prependUIBlock(preOperationsUIBlock);
|
|
419
|
-
uiManagerModule.addUIBlock(operationsUIBlock);
|
|
420
|
-
}
|
|
421
|
-
|
|
422
|
-
@Override
|
|
423
|
-
public void onHostPause() {
|
|
424
|
-
clearFrameCallback();
|
|
425
|
-
}
|
|
426
|
-
|
|
427
|
-
@Override
|
|
428
|
-
public void onHostDestroy() {
|
|
429
|
-
// Is it possible for onHostDestroy to be called without a corresponding onHostPause?
|
|
430
|
-
clearFrameCallback();
|
|
431
|
-
}
|
|
432
|
-
|
|
433
|
-
/**
|
|
434
|
-
* Returns a {@link NativeAnimatedNodesManager}, either the existing instance or a new one. Will
|
|
435
|
-
* return null if and only if the {@link ReactApplicationContext} is also null.
|
|
436
|
-
*
|
|
437
|
-
* @return {@link NativeAnimatedNodesManager}
|
|
438
|
-
*/
|
|
439
|
-
@Nullable
|
|
440
|
-
public NativeAnimatedNodesManager getNodesManager() {
|
|
441
|
-
if (mNodesManager.get() == null) {
|
|
442
|
-
ReactApplicationContext reactApplicationContext = getReactApplicationContextIfActiveOrWarn();
|
|
443
|
-
|
|
444
|
-
if (reactApplicationContext != null) {
|
|
445
|
-
mNodesManager.compareAndSet(null, new NativeAnimatedNodesManager(reactApplicationContext));
|
|
446
|
-
}
|
|
447
|
-
}
|
|
448
|
-
|
|
449
|
-
return mNodesManager.get();
|
|
450
|
-
}
|
|
451
|
-
|
|
452
|
-
private void clearFrameCallback() {
|
|
453
|
-
Assertions.assertNotNull(mReactChoreographer)
|
|
454
|
-
.removeFrameCallback(
|
|
455
|
-
ReactChoreographer.CallbackType.NATIVE_ANIMATED_MODULE, mAnimatedFrameCallback);
|
|
456
|
-
mEnqueuedAnimationOnFrame = false;
|
|
457
|
-
}
|
|
458
|
-
|
|
459
|
-
private void enqueueFrameCallback() {
|
|
460
|
-
if (!mEnqueuedAnimationOnFrame) {
|
|
461
|
-
Assertions.assertNotNull(mReactChoreographer)
|
|
462
|
-
.postFrameCallback(
|
|
463
|
-
ReactChoreographer.CallbackType.NATIVE_ANIMATED_MODULE, mAnimatedFrameCallback);
|
|
464
|
-
mEnqueuedAnimationOnFrame = true;
|
|
465
|
-
}
|
|
466
|
-
}
|
|
467
|
-
|
|
468
|
-
@VisibleForTesting
|
|
469
|
-
public void setNodesManager(NativeAnimatedNodesManager nodesManager) {
|
|
470
|
-
mNodesManager.set(nodesManager);
|
|
471
|
-
}
|
|
472
|
-
|
|
473
|
-
/**
|
|
474
|
-
* Given a viewTag, detect if we're running in Fabric or non-Fabric and attach an event listener
|
|
475
|
-
* to the correct UIManager, if necessary. This is expected to only be called from the native
|
|
476
|
-
* module thread, and not concurrently.
|
|
477
|
-
*
|
|
478
|
-
* @param viewTag
|
|
479
|
-
*/
|
|
480
|
-
private void initializeLifecycleEventListenersForViewTag(final int viewTag) {
|
|
481
|
-
mUIManagerType = ViewUtil.getUIManagerType(viewTag);
|
|
482
|
-
if (mUIManagerType == UIManagerType.FABRIC) {
|
|
483
|
-
mNumFabricAnimations++;
|
|
484
|
-
} else {
|
|
485
|
-
mNumNonFabricAnimations++;
|
|
486
|
-
}
|
|
487
|
-
|
|
488
|
-
NativeAnimatedNodesManager nodesManager = getNodesManager();
|
|
489
|
-
if (nodesManager != null) {
|
|
490
|
-
nodesManager.initializeEventListenerForUIManagerType(mUIManagerType);
|
|
491
|
-
} else {
|
|
492
|
-
ReactSoftExceptionLogger.logSoftException(
|
|
493
|
-
NAME,
|
|
494
|
-
new RuntimeException(
|
|
495
|
-
"initializeLifecycleEventListenersForViewTag could not get"
|
|
496
|
-
+ " NativeAnimatedNodesManager"));
|
|
497
|
-
}
|
|
498
|
-
|
|
499
|
-
// Subscribe to UIManager (Fabric or non-Fabric) lifecycle events if we haven't yet
|
|
500
|
-
if (mUIManagerType == UIManagerType.FABRIC ? mInitializedForFabric : mInitializedForNonFabric) {
|
|
501
|
-
return;
|
|
502
|
-
}
|
|
503
|
-
|
|
504
|
-
ReactApplicationContext reactApplicationContext = getReactApplicationContext();
|
|
505
|
-
if (reactApplicationContext != null) {
|
|
506
|
-
@Nullable
|
|
507
|
-
UIManager uiManager = UIManagerHelper.getUIManager(reactApplicationContext, mUIManagerType);
|
|
508
|
-
if (uiManager != null) {
|
|
509
|
-
uiManager.addUIManagerEventListener(this);
|
|
510
|
-
if (mUIManagerType == UIManagerType.FABRIC) {
|
|
511
|
-
mInitializedForFabric = true;
|
|
512
|
-
} else {
|
|
513
|
-
mInitializedForNonFabric = true;
|
|
514
|
-
}
|
|
515
|
-
}
|
|
516
|
-
}
|
|
517
|
-
}
|
|
518
|
-
|
|
519
|
-
/**
|
|
520
|
-
* Given a viewTag and the knowledge that a "disconnect" or "stop"-type imperative command is
|
|
521
|
-
* being executed, decrement the number of inflight animations and possibly switch UIManager
|
|
522
|
-
* modes.
|
|
523
|
-
*
|
|
524
|
-
* @param viewTag
|
|
525
|
-
*/
|
|
526
|
-
private void decrementInFlightAnimationsForViewTag(final int viewTag) {
|
|
527
|
-
@UIManagerType int animationManagerType = ViewUtil.getUIManagerType(viewTag);
|
|
528
|
-
if (animationManagerType == UIManagerType.FABRIC) {
|
|
529
|
-
mNumFabricAnimations--;
|
|
530
|
-
} else {
|
|
531
|
-
mNumNonFabricAnimations--;
|
|
532
|
-
}
|
|
533
|
-
|
|
534
|
-
// Should we switch to a different animation mode?
|
|
535
|
-
// This can be useful when navigating between Fabric and non-Fabric screens:
|
|
536
|
-
// If there are ongoing Fabric animations from a previous screen,
|
|
537
|
-
// and we tear down the current non-Fabric screen, we should expect
|
|
538
|
-
// the animation mode to switch back - and vice-versa.
|
|
539
|
-
if (mNumNonFabricAnimations == 0
|
|
540
|
-
&& mNumFabricAnimations > 0
|
|
541
|
-
&& mUIManagerType != UIManagerType.FABRIC) {
|
|
542
|
-
mUIManagerType = UIManagerType.FABRIC;
|
|
543
|
-
} else if (mNumFabricAnimations == 0
|
|
544
|
-
&& mNumNonFabricAnimations > 0
|
|
545
|
-
&& mUIManagerType != UIManagerType.DEFAULT) {
|
|
546
|
-
mUIManagerType = UIManagerType.DEFAULT;
|
|
547
|
-
}
|
|
548
|
-
}
|
|
549
|
-
|
|
550
|
-
@Override
|
|
551
|
-
public void startOperationBatch() {
|
|
552
|
-
mBatchingControlledByJS = true;
|
|
553
|
-
mCurrentBatchNumber++;
|
|
554
|
-
}
|
|
555
|
-
|
|
556
|
-
@Override
|
|
557
|
-
public void finishOperationBatch() {
|
|
558
|
-
mBatchingControlledByJS = false;
|
|
559
|
-
mCurrentBatchNumber++;
|
|
560
|
-
}
|
|
561
|
-
|
|
562
|
-
@Override
|
|
563
|
-
public void createAnimatedNode(final double tagDouble, final ReadableMap config) {
|
|
564
|
-
final int tag = (int) tagDouble;
|
|
565
|
-
if (ANIMATED_MODULE_DEBUG) {
|
|
566
|
-
FLog.d(
|
|
567
|
-
NAME, "queue createAnimatedNode: " + tag + " config: " + config.toHashMap().toString());
|
|
568
|
-
}
|
|
569
|
-
|
|
570
|
-
addOperation(
|
|
571
|
-
new UIThreadOperation() {
|
|
572
|
-
@Override
|
|
573
|
-
public void execute(NativeAnimatedNodesManager animatedNodesManager) {
|
|
574
|
-
if (ANIMATED_MODULE_DEBUG) {
|
|
575
|
-
FLog.d(
|
|
576
|
-
NAME,
|
|
577
|
-
"execute createAnimatedNode: "
|
|
578
|
-
+ tag
|
|
579
|
-
+ " config: "
|
|
580
|
-
+ config.toHashMap().toString());
|
|
581
|
-
}
|
|
582
|
-
animatedNodesManager.createAnimatedNode(tag, config);
|
|
583
|
-
}
|
|
584
|
-
});
|
|
585
|
-
}
|
|
586
|
-
|
|
587
|
-
@Override
|
|
588
|
-
public void updateAnimatedNodeConfig(final double tagDouble, final ReadableMap config) {
|
|
589
|
-
final int tag = (int) tagDouble;
|
|
590
|
-
if (ANIMATED_MODULE_DEBUG) {
|
|
591
|
-
FLog.d(
|
|
592
|
-
NAME,
|
|
593
|
-
"queue updateAnimatedNodeConfig: " + tag + " config: " + config.toHashMap().toString());
|
|
594
|
-
}
|
|
595
|
-
|
|
596
|
-
addOperation(
|
|
597
|
-
new UIThreadOperation() {
|
|
598
|
-
@Override
|
|
599
|
-
public void execute(NativeAnimatedNodesManager animatedNodesManager) {
|
|
600
|
-
if (ANIMATED_MODULE_DEBUG) {
|
|
601
|
-
FLog.d(
|
|
602
|
-
NAME,
|
|
603
|
-
"execute updateAnimatedNodeConfig: "
|
|
604
|
-
+ tag
|
|
605
|
-
+ " config: "
|
|
606
|
-
+ config.toHashMap().toString());
|
|
607
|
-
}
|
|
608
|
-
animatedNodesManager.updateAnimatedNodeConfig(tag, config);
|
|
609
|
-
}
|
|
610
|
-
});
|
|
611
|
-
}
|
|
612
|
-
|
|
613
|
-
@Override
|
|
614
|
-
public void startListeningToAnimatedNodeValue(final double tagDouble) {
|
|
615
|
-
final int tag = (int) tagDouble;
|
|
616
|
-
if (ANIMATED_MODULE_DEBUG) {
|
|
617
|
-
FLog.d(NAME, "queue startListeningToAnimatedNodeValue: " + tag);
|
|
618
|
-
}
|
|
619
|
-
|
|
620
|
-
final AnimatedNodeValueListener listener =
|
|
621
|
-
new AnimatedNodeValueListener() {
|
|
622
|
-
public void onValueUpdate(double value) {
|
|
623
|
-
WritableMap onAnimatedValueData = Arguments.createMap();
|
|
624
|
-
onAnimatedValueData.putInt("tag", tag);
|
|
625
|
-
onAnimatedValueData.putDouble("value", value);
|
|
626
|
-
|
|
627
|
-
ReactApplicationContext reactApplicationContext =
|
|
628
|
-
getReactApplicationContextIfActiveOrWarn();
|
|
629
|
-
if (reactApplicationContext != null) {
|
|
630
|
-
reactApplicationContext.emitDeviceEvent("onAnimatedValueUpdate", onAnimatedValueData);
|
|
631
|
-
}
|
|
632
|
-
}
|
|
633
|
-
};
|
|
634
|
-
|
|
635
|
-
addOperation(
|
|
636
|
-
new UIThreadOperation() {
|
|
637
|
-
@Override
|
|
638
|
-
public void execute(NativeAnimatedNodesManager animatedNodesManager) {
|
|
639
|
-
if (ANIMATED_MODULE_DEBUG) {
|
|
640
|
-
FLog.d(NAME, "execute startListeningToAnimatedNodeValue: " + tag);
|
|
641
|
-
}
|
|
642
|
-
animatedNodesManager.startListeningToAnimatedNodeValue(tag, listener);
|
|
643
|
-
}
|
|
644
|
-
});
|
|
645
|
-
}
|
|
646
|
-
|
|
647
|
-
@Override
|
|
648
|
-
public void stopListeningToAnimatedNodeValue(final double tagDouble) {
|
|
649
|
-
final int tag = (int) tagDouble;
|
|
650
|
-
if (ANIMATED_MODULE_DEBUG) {
|
|
651
|
-
FLog.d(NAME, "queue stopListeningToAnimatedNodeValue: " + tag);
|
|
652
|
-
}
|
|
653
|
-
|
|
654
|
-
addOperation(
|
|
655
|
-
new UIThreadOperation() {
|
|
656
|
-
@Override
|
|
657
|
-
public void execute(NativeAnimatedNodesManager animatedNodesManager) {
|
|
658
|
-
if (ANIMATED_MODULE_DEBUG) {
|
|
659
|
-
FLog.d(NAME, "execute stopListeningToAnimatedNodeValue: " + tag);
|
|
660
|
-
}
|
|
661
|
-
animatedNodesManager.stopListeningToAnimatedNodeValue(tag);
|
|
662
|
-
}
|
|
663
|
-
});
|
|
664
|
-
}
|
|
665
|
-
|
|
666
|
-
@Override
|
|
667
|
-
public void dropAnimatedNode(final double tagDouble) {
|
|
668
|
-
final int tag = (int) tagDouble;
|
|
669
|
-
if (ANIMATED_MODULE_DEBUG) {
|
|
670
|
-
FLog.d(NAME, "queue dropAnimatedNode: " + tag);
|
|
671
|
-
}
|
|
672
|
-
|
|
673
|
-
addOperation(
|
|
674
|
-
new UIThreadOperation() {
|
|
675
|
-
@Override
|
|
676
|
-
public void execute(NativeAnimatedNodesManager animatedNodesManager) {
|
|
677
|
-
if (ANIMATED_MODULE_DEBUG) {
|
|
678
|
-
FLog.d(NAME, "execute dropAnimatedNode: " + tag);
|
|
679
|
-
}
|
|
680
|
-
animatedNodesManager.dropAnimatedNode(tag);
|
|
681
|
-
}
|
|
682
|
-
});
|
|
683
|
-
}
|
|
684
|
-
|
|
685
|
-
@Override
|
|
686
|
-
public void setAnimatedNodeValue(final double tagDouble, final double value) {
|
|
687
|
-
final int tag = (int) tagDouble;
|
|
688
|
-
if (ANIMATED_MODULE_DEBUG) {
|
|
689
|
-
FLog.d(NAME, "queue setAnimatedNodeValue: " + tag + " value: " + value);
|
|
690
|
-
}
|
|
691
|
-
|
|
692
|
-
addOperation(
|
|
693
|
-
new UIThreadOperation() {
|
|
694
|
-
@Override
|
|
695
|
-
public void execute(NativeAnimatedNodesManager animatedNodesManager) {
|
|
696
|
-
if (ANIMATED_MODULE_DEBUG) {
|
|
697
|
-
FLog.d(NAME, "execute setAnimatedNodeValue: " + tag + " value: " + value);
|
|
698
|
-
}
|
|
699
|
-
animatedNodesManager.setAnimatedNodeValue(tag, value);
|
|
700
|
-
}
|
|
701
|
-
});
|
|
702
|
-
}
|
|
703
|
-
|
|
704
|
-
@Override
|
|
705
|
-
public void setAnimatedNodeOffset(final double tagDouble, final double value) {
|
|
706
|
-
final int tag = (int) tagDouble;
|
|
707
|
-
if (ANIMATED_MODULE_DEBUG) {
|
|
708
|
-
FLog.d(NAME, "queue setAnimatedNodeOffset: " + tag + " offset: " + value);
|
|
709
|
-
}
|
|
710
|
-
|
|
711
|
-
addOperation(
|
|
712
|
-
new UIThreadOperation() {
|
|
713
|
-
@Override
|
|
714
|
-
public void execute(NativeAnimatedNodesManager animatedNodesManager) {
|
|
715
|
-
if (ANIMATED_MODULE_DEBUG) {
|
|
716
|
-
FLog.d(NAME, "execute setAnimatedNodeOffset: " + tag + " offset: " + value);
|
|
717
|
-
}
|
|
718
|
-
animatedNodesManager.setAnimatedNodeOffset(tag, value);
|
|
719
|
-
}
|
|
720
|
-
});
|
|
721
|
-
}
|
|
722
|
-
|
|
723
|
-
@Override
|
|
724
|
-
public void flattenAnimatedNodeOffset(final double tagDouble) {
|
|
725
|
-
final int tag = (int) tagDouble;
|
|
726
|
-
if (ANIMATED_MODULE_DEBUG) {
|
|
727
|
-
FLog.d(NAME, "queue flattenAnimatedNodeOffset: " + tag);
|
|
728
|
-
}
|
|
729
|
-
|
|
730
|
-
addOperation(
|
|
731
|
-
new UIThreadOperation() {
|
|
732
|
-
@Override
|
|
733
|
-
public void execute(NativeAnimatedNodesManager animatedNodesManager) {
|
|
734
|
-
if (ANIMATED_MODULE_DEBUG) {
|
|
735
|
-
FLog.d(NAME, "execute flattenAnimatedNodeOffset: " + tag);
|
|
736
|
-
}
|
|
737
|
-
animatedNodesManager.flattenAnimatedNodeOffset(tag);
|
|
738
|
-
}
|
|
739
|
-
});
|
|
740
|
-
}
|
|
741
|
-
|
|
742
|
-
@Override
|
|
743
|
-
public void extractAnimatedNodeOffset(final double tagDouble) {
|
|
744
|
-
final int tag = (int) tagDouble;
|
|
745
|
-
if (ANIMATED_MODULE_DEBUG) {
|
|
746
|
-
FLog.d(NAME, "queue extractAnimatedNodeOffset: " + tag);
|
|
747
|
-
}
|
|
748
|
-
|
|
749
|
-
addOperation(
|
|
750
|
-
new UIThreadOperation() {
|
|
751
|
-
@Override
|
|
752
|
-
public void execute(NativeAnimatedNodesManager animatedNodesManager) {
|
|
753
|
-
if (ANIMATED_MODULE_DEBUG) {
|
|
754
|
-
FLog.d(NAME, "execute extractAnimatedNodeOffset: " + tag);
|
|
755
|
-
}
|
|
756
|
-
animatedNodesManager.extractAnimatedNodeOffset(tag);
|
|
757
|
-
}
|
|
758
|
-
});
|
|
759
|
-
}
|
|
760
|
-
|
|
761
|
-
@Override
|
|
762
|
-
public void startAnimatingNode(
|
|
763
|
-
final double animationIdDouble,
|
|
764
|
-
final double animatedNodeTagDouble,
|
|
765
|
-
final ReadableMap animationConfig,
|
|
766
|
-
final Callback endCallback) {
|
|
767
|
-
final int animationId = (int) animationIdDouble;
|
|
768
|
-
final int animatedNodeTag = (int) animatedNodeTagDouble;
|
|
769
|
-
if (ANIMATED_MODULE_DEBUG) {
|
|
770
|
-
FLog.d(NAME, "queue startAnimatingNode: ID: " + animationId + " tag: " + animatedNodeTag);
|
|
771
|
-
}
|
|
772
|
-
|
|
773
|
-
addUnbatchedOperation(
|
|
774
|
-
new UIThreadOperation() {
|
|
775
|
-
@Override
|
|
776
|
-
public void execute(NativeAnimatedNodesManager animatedNodesManager) {
|
|
777
|
-
if (ANIMATED_MODULE_DEBUG) {
|
|
778
|
-
FLog.d(
|
|
779
|
-
NAME,
|
|
780
|
-
"execute startAnimatingNode: ID: " + animationId + " tag: " + animatedNodeTag);
|
|
781
|
-
}
|
|
782
|
-
animatedNodesManager.startAnimatingNode(
|
|
783
|
-
animationId, animatedNodeTag, animationConfig, endCallback);
|
|
784
|
-
}
|
|
785
|
-
});
|
|
786
|
-
}
|
|
787
|
-
|
|
788
|
-
@Override
|
|
789
|
-
public void stopAnimation(final double animationIdDouble) {
|
|
790
|
-
final int animationId = (int) animationIdDouble;
|
|
791
|
-
if (ANIMATED_MODULE_DEBUG) {
|
|
792
|
-
FLog.d(NAME, "queue stopAnimation: ID: " + animationId);
|
|
793
|
-
}
|
|
794
|
-
|
|
795
|
-
addOperation(
|
|
796
|
-
new UIThreadOperation() {
|
|
797
|
-
@Override
|
|
798
|
-
public void execute(NativeAnimatedNodesManager animatedNodesManager) {
|
|
799
|
-
if (ANIMATED_MODULE_DEBUG) {
|
|
800
|
-
FLog.d(NAME, "execute stopAnimation: ID: " + animationId);
|
|
801
|
-
}
|
|
802
|
-
animatedNodesManager.stopAnimation(animationId);
|
|
803
|
-
}
|
|
804
|
-
});
|
|
805
|
-
}
|
|
806
|
-
|
|
807
|
-
@Override
|
|
808
|
-
public void connectAnimatedNodes(
|
|
809
|
-
final double parentNodeTagDouble, final double childNodeTagDouble) {
|
|
810
|
-
final int parentNodeTag = (int) parentNodeTagDouble;
|
|
811
|
-
final int childNodeTag = (int) childNodeTagDouble;
|
|
812
|
-
if (ANIMATED_MODULE_DEBUG) {
|
|
813
|
-
FLog.d(
|
|
814
|
-
NAME, "queue connectAnimatedNodes: parent: " + parentNodeTag + " child: " + childNodeTag);
|
|
815
|
-
}
|
|
816
|
-
|
|
817
|
-
addOperation(
|
|
818
|
-
new UIThreadOperation() {
|
|
819
|
-
@Override
|
|
820
|
-
public void execute(NativeAnimatedNodesManager animatedNodesManager) {
|
|
821
|
-
if (ANIMATED_MODULE_DEBUG) {
|
|
822
|
-
FLog.d(
|
|
823
|
-
NAME,
|
|
824
|
-
"execute connectAnimatedNodes: parent: "
|
|
825
|
-
+ parentNodeTag
|
|
826
|
-
+ " child: "
|
|
827
|
-
+ childNodeTag);
|
|
828
|
-
}
|
|
829
|
-
animatedNodesManager.connectAnimatedNodes(parentNodeTag, childNodeTag);
|
|
830
|
-
}
|
|
831
|
-
});
|
|
832
|
-
}
|
|
833
|
-
|
|
834
|
-
@Override
|
|
835
|
-
public void disconnectAnimatedNodes(
|
|
836
|
-
final double parentNodeTagDouble, final double childNodeTagDouble) {
|
|
837
|
-
final int parentNodeTag = (int) parentNodeTagDouble;
|
|
838
|
-
final int childNodeTag = (int) childNodeTagDouble;
|
|
839
|
-
if (ANIMATED_MODULE_DEBUG) {
|
|
840
|
-
FLog.d(
|
|
841
|
-
NAME,
|
|
842
|
-
"queue disconnectAnimatedNodes: parent: " + parentNodeTag + " child: " + childNodeTag);
|
|
843
|
-
}
|
|
844
|
-
|
|
845
|
-
addOperation(
|
|
846
|
-
new UIThreadOperation() {
|
|
847
|
-
@Override
|
|
848
|
-
public void execute(NativeAnimatedNodesManager animatedNodesManager) {
|
|
849
|
-
if (ANIMATED_MODULE_DEBUG) {
|
|
850
|
-
FLog.d(
|
|
851
|
-
NAME,
|
|
852
|
-
"execute disconnectAnimatedNodes: parent: "
|
|
853
|
-
+ parentNodeTag
|
|
854
|
-
+ " child: "
|
|
855
|
-
+ childNodeTag);
|
|
856
|
-
}
|
|
857
|
-
animatedNodesManager.disconnectAnimatedNodes(parentNodeTag, childNodeTag);
|
|
858
|
-
}
|
|
859
|
-
});
|
|
860
|
-
}
|
|
861
|
-
|
|
862
|
-
@Override
|
|
863
|
-
public void connectAnimatedNodeToView(
|
|
864
|
-
final double animatedNodeTagDouble, final double viewTagDouble) {
|
|
865
|
-
final int animatedNodeTag = (int) animatedNodeTagDouble;
|
|
866
|
-
final int viewTag = (int) viewTagDouble;
|
|
867
|
-
if (ANIMATED_MODULE_DEBUG) {
|
|
868
|
-
FLog.d(
|
|
869
|
-
NAME,
|
|
870
|
-
"queue connectAnimatedNodeToView: animatedNodeTag: "
|
|
871
|
-
+ animatedNodeTag
|
|
872
|
-
+ " viewTag: "
|
|
873
|
-
+ viewTag);
|
|
874
|
-
}
|
|
875
|
-
|
|
876
|
-
initializeLifecycleEventListenersForViewTag(viewTag);
|
|
877
|
-
|
|
878
|
-
addOperation(
|
|
879
|
-
new UIThreadOperation() {
|
|
880
|
-
@Override
|
|
881
|
-
public void execute(NativeAnimatedNodesManager animatedNodesManager) {
|
|
882
|
-
if (ANIMATED_MODULE_DEBUG) {
|
|
883
|
-
FLog.d(
|
|
884
|
-
NAME,
|
|
885
|
-
"execute connectAnimatedNodeToView: animatedNodeTag: "
|
|
886
|
-
+ animatedNodeTag
|
|
887
|
-
+ " viewTag: "
|
|
888
|
-
+ viewTag);
|
|
889
|
-
}
|
|
890
|
-
animatedNodesManager.connectAnimatedNodeToView(animatedNodeTag, viewTag);
|
|
891
|
-
}
|
|
892
|
-
});
|
|
893
|
-
}
|
|
894
|
-
|
|
895
|
-
@Override
|
|
896
|
-
public void disconnectAnimatedNodeFromView(
|
|
897
|
-
final double animatedNodeTagDouble, final double viewTagDouble) {
|
|
898
|
-
final int animatedNodeTag = (int) animatedNodeTagDouble;
|
|
899
|
-
final int viewTag = (int) viewTagDouble;
|
|
900
|
-
if (ANIMATED_MODULE_DEBUG) {
|
|
901
|
-
FLog.d(
|
|
902
|
-
NAME,
|
|
903
|
-
"queue disconnectAnimatedNodeFromView: " + animatedNodeTag + " viewTag: " + viewTag);
|
|
904
|
-
}
|
|
905
|
-
|
|
906
|
-
decrementInFlightAnimationsForViewTag(viewTag);
|
|
907
|
-
|
|
908
|
-
addOperation(
|
|
909
|
-
new UIThreadOperation() {
|
|
910
|
-
@Override
|
|
911
|
-
public void execute(NativeAnimatedNodesManager animatedNodesManager) {
|
|
912
|
-
if (ANIMATED_MODULE_DEBUG) {
|
|
913
|
-
FLog.d(
|
|
914
|
-
NAME,
|
|
915
|
-
"execute disconnectAnimatedNodeFromView: "
|
|
916
|
-
+ animatedNodeTag
|
|
917
|
-
+ " viewTag: "
|
|
918
|
-
+ viewTag);
|
|
919
|
-
}
|
|
920
|
-
animatedNodesManager.disconnectAnimatedNodeFromView(animatedNodeTag, viewTag);
|
|
921
|
-
}
|
|
922
|
-
});
|
|
923
|
-
}
|
|
924
|
-
|
|
925
|
-
@Override
|
|
926
|
-
public void restoreDefaultValues(final double animatedNodeTagDouble) {
|
|
927
|
-
final int animatedNodeTag = (int) animatedNodeTagDouble;
|
|
928
|
-
if (ANIMATED_MODULE_DEBUG) {
|
|
929
|
-
FLog.d(NAME, "queue restoreDefaultValues: " + animatedNodeTag);
|
|
930
|
-
}
|
|
931
|
-
|
|
932
|
-
addPreOperation(
|
|
933
|
-
new UIThreadOperation() {
|
|
934
|
-
@Override
|
|
935
|
-
public void execute(NativeAnimatedNodesManager animatedNodesManager) {
|
|
936
|
-
if (ANIMATED_MODULE_DEBUG) {
|
|
937
|
-
FLog.d(NAME, "execute restoreDefaultValues: " + animatedNodeTag);
|
|
938
|
-
}
|
|
939
|
-
animatedNodesManager.restoreDefaultValues(animatedNodeTag);
|
|
940
|
-
}
|
|
941
|
-
});
|
|
942
|
-
}
|
|
943
|
-
|
|
944
|
-
@Override
|
|
945
|
-
public void addAnimatedEventToView(
|
|
946
|
-
final double viewTagDouble, final String eventName, final ReadableMap eventMapping) {
|
|
947
|
-
final int viewTag = (int) viewTagDouble;
|
|
948
|
-
if (ANIMATED_MODULE_DEBUG) {
|
|
949
|
-
FLog.d(
|
|
950
|
-
NAME,
|
|
951
|
-
"queue addAnimatedEventToView: "
|
|
952
|
-
+ viewTag
|
|
953
|
-
+ " eventName: "
|
|
954
|
-
+ eventName
|
|
955
|
-
+ " eventMapping: "
|
|
956
|
-
+ eventMapping.toHashMap().toString());
|
|
957
|
-
}
|
|
958
|
-
|
|
959
|
-
initializeLifecycleEventListenersForViewTag(viewTag);
|
|
960
|
-
|
|
961
|
-
addOperation(
|
|
962
|
-
new UIThreadOperation() {
|
|
963
|
-
@Override
|
|
964
|
-
public void execute(NativeAnimatedNodesManager animatedNodesManager) {
|
|
965
|
-
if (ANIMATED_MODULE_DEBUG) {
|
|
966
|
-
FLog.d(
|
|
967
|
-
NAME,
|
|
968
|
-
"execute addAnimatedEventToView: "
|
|
969
|
-
+ viewTag
|
|
970
|
-
+ " eventName: "
|
|
971
|
-
+ eventName
|
|
972
|
-
+ " eventMapping: "
|
|
973
|
-
+ eventMapping.toHashMap().toString());
|
|
974
|
-
}
|
|
975
|
-
animatedNodesManager.addAnimatedEventToView(viewTag, eventName, eventMapping);
|
|
976
|
-
}
|
|
977
|
-
});
|
|
978
|
-
}
|
|
979
|
-
|
|
980
|
-
@Override
|
|
981
|
-
public void removeAnimatedEventFromView(
|
|
982
|
-
final double viewTagDouble, final String eventName, final double animatedValueTagDouble) {
|
|
983
|
-
final int viewTag = (int) viewTagDouble;
|
|
984
|
-
final int animatedValueTag = (int) animatedValueTagDouble;
|
|
985
|
-
if (ANIMATED_MODULE_DEBUG) {
|
|
986
|
-
FLog.d(
|
|
987
|
-
NAME,
|
|
988
|
-
"queue removeAnimatedEventFromView: viewTag: "
|
|
989
|
-
+ viewTag
|
|
990
|
-
+ " eventName: "
|
|
991
|
-
+ eventName
|
|
992
|
-
+ " animatedValueTag: "
|
|
993
|
-
+ animatedValueTag);
|
|
994
|
-
}
|
|
995
|
-
|
|
996
|
-
decrementInFlightAnimationsForViewTag(viewTag);
|
|
997
|
-
|
|
998
|
-
addOperation(
|
|
999
|
-
new UIThreadOperation() {
|
|
1000
|
-
@Override
|
|
1001
|
-
public void execute(NativeAnimatedNodesManager animatedNodesManager) {
|
|
1002
|
-
if (ANIMATED_MODULE_DEBUG) {
|
|
1003
|
-
FLog.d(
|
|
1004
|
-
NAME,
|
|
1005
|
-
"execute removeAnimatedEventFromView: viewTag: "
|
|
1006
|
-
+ viewTag
|
|
1007
|
-
+ " eventName: "
|
|
1008
|
-
+ eventName
|
|
1009
|
-
+ " animatedValueTag: "
|
|
1010
|
-
+ animatedValueTag);
|
|
1011
|
-
}
|
|
1012
|
-
animatedNodesManager.removeAnimatedEventFromView(viewTag, eventName, animatedValueTag);
|
|
1013
|
-
}
|
|
1014
|
-
});
|
|
1015
|
-
}
|
|
1016
|
-
|
|
1017
|
-
@Override
|
|
1018
|
-
public void addListener(String eventName) {
|
|
1019
|
-
// iOS only
|
|
1020
|
-
}
|
|
1021
|
-
|
|
1022
|
-
@Override
|
|
1023
|
-
public void removeListeners(double count) {
|
|
1024
|
-
// iOS only
|
|
1025
|
-
}
|
|
1026
|
-
|
|
1027
|
-
@Override
|
|
1028
|
-
public void getValue(final double animatedValueNodeTagDouble, final Callback callback) {
|
|
1029
|
-
final int animatedValueNodeTag = (int) animatedValueNodeTagDouble;
|
|
1030
|
-
addOperation(
|
|
1031
|
-
new UIThreadOperation() {
|
|
1032
|
-
@Override
|
|
1033
|
-
public void execute(NativeAnimatedNodesManager animatedNodesManager) {
|
|
1034
|
-
animatedNodesManager.getValue(animatedValueNodeTag, callback);
|
|
1035
|
-
}
|
|
1036
|
-
});
|
|
1037
|
-
}
|
|
1038
|
-
|
|
1039
|
-
@Override
|
|
1040
|
-
public void invalidate() {
|
|
1041
|
-
super.invalidate();
|
|
1042
|
-
|
|
1043
|
-
getReactApplicationContext().removeLifecycleEventListener(this);
|
|
1044
|
-
}
|
|
1045
|
-
|
|
1046
|
-
/**
|
|
1047
|
-
* This is a currently-experimental method that allows JS to queue and immediately execute many
|
|
1048
|
-
* instructions at once. Since we make 1 JNI/JSI call instead of N, this should significantly
|
|
1049
|
-
* improve performance.
|
|
1050
|
-
*
|
|
1051
|
-
* <p>The arguments operate as a byte buffer. All integer command IDs and any args are packed into
|
|
1052
|
-
* opsAndArgs.
|
|
1053
|
-
*
|
|
1054
|
-
* <p>For the getValue callback: since this is batched, we accumulate a list of all requested
|
|
1055
|
-
* values, in order, and call the callback once at the end (if present) with the list of requested
|
|
1056
|
-
* values.
|
|
1057
|
-
*/
|
|
1058
|
-
@Override
|
|
1059
|
-
public void queueAndExecuteBatchedOperations(final ReadableArray opsAndArgs) {
|
|
1060
|
-
final int opBufferSize = opsAndArgs.size();
|
|
1061
|
-
|
|
1062
|
-
if (ANIMATED_MODULE_DEBUG) {
|
|
1063
|
-
FLog.e(NAME, "queueAndExecuteBatchedOperations: opBufferSize: " + opBufferSize);
|
|
1064
|
-
}
|
|
1065
|
-
|
|
1066
|
-
// This block of code is unfortunate and should be refactored - we just want to
|
|
1067
|
-
// extract the ViewTags in the ReadableArray to mark animations on views as being enabled.
|
|
1068
|
-
// We only do this for initializing animations on views - disabling animations on views
|
|
1069
|
-
// happens later, when the disconnect/stop operations are actually executed.
|
|
1070
|
-
for (int i = 0; i < opBufferSize; ) {
|
|
1071
|
-
BatchExecutionOpCodes command = BatchExecutionOpCodes.fromId(opsAndArgs.getInt(i++));
|
|
1072
|
-
switch (command) {
|
|
1073
|
-
case OP_CODE_GET_VALUE:
|
|
1074
|
-
case OP_START_LISTENING_TO_ANIMATED_NODE_VALUE:
|
|
1075
|
-
case OP_STOP_LISTENING_TO_ANIMATED_NODE_VALUE:
|
|
1076
|
-
case OP_CODE_STOP_ANIMATION:
|
|
1077
|
-
case OP_CODE_FLATTEN_ANIMATED_NODE_OFFSET:
|
|
1078
|
-
case OP_CODE_EXTRACT_ANIMATED_NODE_OFFSET:
|
|
1079
|
-
case OP_CODE_RESTORE_DEFAULT_VALUES:
|
|
1080
|
-
case OP_CODE_DROP_ANIMATED_NODE:
|
|
1081
|
-
case OP_CODE_ADD_LISTENER:
|
|
1082
|
-
case OP_CODE_REMOVE_LISTENERS:
|
|
1083
|
-
i++;
|
|
1084
|
-
break;
|
|
1085
|
-
case OP_CODE_CREATE_ANIMATED_NODE:
|
|
1086
|
-
case OP_CODE_UPDATE_ANIMATED_NODE_CONFIG:
|
|
1087
|
-
case OP_CODE_CONNECT_ANIMATED_NODES:
|
|
1088
|
-
case OP_CODE_DISCONNECT_ANIMATED_NODES:
|
|
1089
|
-
case OP_CODE_SET_ANIMATED_NODE_VALUE:
|
|
1090
|
-
case OP_CODE_SET_ANIMATED_NODE_OFFSET:
|
|
1091
|
-
case OP_CODE_DISCONNECT_ANIMATED_NODE_FROM_VIEW:
|
|
1092
|
-
i += 2;
|
|
1093
|
-
break;
|
|
1094
|
-
case OP_CODE_START_ANIMATING_NODE:
|
|
1095
|
-
case OP_CODE_REMOVE_ANIMATED_EVENT_FROM_VIEW:
|
|
1096
|
-
i += 3;
|
|
1097
|
-
break;
|
|
1098
|
-
case OP_CODE_CONNECT_ANIMATED_NODE_TO_VIEW:
|
|
1099
|
-
i++; // tag
|
|
1100
|
-
initializeLifecycleEventListenersForViewTag(opsAndArgs.getInt(i++)); // viewTag
|
|
1101
|
-
break;
|
|
1102
|
-
case OP_CODE_ADD_ANIMATED_EVENT_TO_VIEW:
|
|
1103
|
-
initializeLifecycleEventListenersForViewTag(opsAndArgs.getInt(i++)); // viewTag
|
|
1104
|
-
i++; // eventName
|
|
1105
|
-
i++; // eventMapping
|
|
1106
|
-
break;
|
|
1107
|
-
default:
|
|
1108
|
-
throw new IllegalArgumentException(
|
|
1109
|
-
"Batch animation execution op: fetching viewTag: unknown op code");
|
|
1110
|
-
}
|
|
1111
|
-
}
|
|
1112
|
-
|
|
1113
|
-
// Batching happens inside this operation - so signal to the thread loop that
|
|
1114
|
-
// this operation should be executed as soon as possible, "unbatched" with other
|
|
1115
|
-
// UIThreadOperations
|
|
1116
|
-
startOperationBatch();
|
|
1117
|
-
addUnbatchedOperation(
|
|
1118
|
-
new UIThreadOperation() {
|
|
1119
|
-
@Override
|
|
1120
|
-
public void execute(NativeAnimatedNodesManager animatedNodesManager) {
|
|
1121
|
-
ReactApplicationContext reactApplicationContext =
|
|
1122
|
-
getReactApplicationContextIfActiveOrWarn();
|
|
1123
|
-
|
|
1124
|
-
int viewTag = -1;
|
|
1125
|
-
for (int i = 0; i < opBufferSize; ) {
|
|
1126
|
-
BatchExecutionOpCodes command = BatchExecutionOpCodes.fromId(opsAndArgs.getInt(i++));
|
|
1127
|
-
|
|
1128
|
-
switch (command) {
|
|
1129
|
-
case OP_CODE_CREATE_ANIMATED_NODE:
|
|
1130
|
-
animatedNodesManager.createAnimatedNode(
|
|
1131
|
-
// NULLSAFE_FIXME[Parameter Not Nullable]
|
|
1132
|
-
opsAndArgs.getInt(i++), opsAndArgs.getMap(i++));
|
|
1133
|
-
break;
|
|
1134
|
-
case OP_CODE_UPDATE_ANIMATED_NODE_CONFIG:
|
|
1135
|
-
animatedNodesManager.updateAnimatedNodeConfig(
|
|
1136
|
-
// NULLSAFE_FIXME[Parameter Not Nullable]
|
|
1137
|
-
opsAndArgs.getInt(i++), opsAndArgs.getMap(i++));
|
|
1138
|
-
break;
|
|
1139
|
-
case OP_CODE_GET_VALUE:
|
|
1140
|
-
// NULLSAFE_FIXME[Parameter Not Nullable]
|
|
1141
|
-
animatedNodesManager.getValue(opsAndArgs.getInt(i++), null);
|
|
1142
|
-
break;
|
|
1143
|
-
case OP_START_LISTENING_TO_ANIMATED_NODE_VALUE:
|
|
1144
|
-
final int tag = opsAndArgs.getInt(i++);
|
|
1145
|
-
final AnimatedNodeValueListener listener =
|
|
1146
|
-
new AnimatedNodeValueListener() {
|
|
1147
|
-
public void onValueUpdate(double value) {
|
|
1148
|
-
WritableMap onAnimatedValueData = Arguments.createMap();
|
|
1149
|
-
onAnimatedValueData.putInt("tag", tag);
|
|
1150
|
-
onAnimatedValueData.putDouble("value", value);
|
|
1151
|
-
|
|
1152
|
-
ReactApplicationContext reactApplicationContext =
|
|
1153
|
-
getReactApplicationContextIfActiveOrWarn();
|
|
1154
|
-
if (reactApplicationContext != null) {
|
|
1155
|
-
reactApplicationContext.emitDeviceEvent(
|
|
1156
|
-
"onAnimatedValueUpdate", onAnimatedValueData);
|
|
1157
|
-
}
|
|
1158
|
-
}
|
|
1159
|
-
};
|
|
1160
|
-
animatedNodesManager.startListeningToAnimatedNodeValue(tag, listener);
|
|
1161
|
-
break;
|
|
1162
|
-
case OP_STOP_LISTENING_TO_ANIMATED_NODE_VALUE:
|
|
1163
|
-
animatedNodesManager.stopListeningToAnimatedNodeValue(opsAndArgs.getInt(i++));
|
|
1164
|
-
break;
|
|
1165
|
-
case OP_CODE_CONNECT_ANIMATED_NODES:
|
|
1166
|
-
animatedNodesManager.connectAnimatedNodes(
|
|
1167
|
-
opsAndArgs.getInt(i++), opsAndArgs.getInt(i++));
|
|
1168
|
-
break;
|
|
1169
|
-
case OP_CODE_DISCONNECT_ANIMATED_NODES:
|
|
1170
|
-
animatedNodesManager.disconnectAnimatedNodes(
|
|
1171
|
-
opsAndArgs.getInt(i++), opsAndArgs.getInt(i++));
|
|
1172
|
-
break;
|
|
1173
|
-
case OP_CODE_START_ANIMATING_NODE:
|
|
1174
|
-
if (ReactNativeFeatureFlags.lazyAnimationCallbacks()) {
|
|
1175
|
-
enqueueFrameCallback();
|
|
1176
|
-
}
|
|
1177
|
-
animatedNodesManager.startAnimatingNode(
|
|
1178
|
-
// NULLSAFE_FIXME[Parameter Not Nullable]
|
|
1179
|
-
opsAndArgs.getInt(i++), opsAndArgs.getInt(i++), opsAndArgs.getMap(i++), null);
|
|
1180
|
-
break;
|
|
1181
|
-
case OP_CODE_STOP_ANIMATION:
|
|
1182
|
-
animatedNodesManager.stopAnimation(opsAndArgs.getInt(i++));
|
|
1183
|
-
break;
|
|
1184
|
-
case OP_CODE_SET_ANIMATED_NODE_VALUE:
|
|
1185
|
-
animatedNodesManager.setAnimatedNodeValue(
|
|
1186
|
-
opsAndArgs.getInt(i++), opsAndArgs.getDouble(i++));
|
|
1187
|
-
break;
|
|
1188
|
-
case OP_CODE_SET_ANIMATED_NODE_OFFSET:
|
|
1189
|
-
animatedNodesManager.setAnimatedNodeValue(
|
|
1190
|
-
opsAndArgs.getInt(i++), opsAndArgs.getDouble(i++));
|
|
1191
|
-
break;
|
|
1192
|
-
case OP_CODE_FLATTEN_ANIMATED_NODE_OFFSET:
|
|
1193
|
-
animatedNodesManager.flattenAnimatedNodeOffset(opsAndArgs.getInt(i++));
|
|
1194
|
-
break;
|
|
1195
|
-
case OP_CODE_EXTRACT_ANIMATED_NODE_OFFSET:
|
|
1196
|
-
animatedNodesManager.extractAnimatedNodeOffset(opsAndArgs.getInt(i++));
|
|
1197
|
-
break;
|
|
1198
|
-
case OP_CODE_CONNECT_ANIMATED_NODE_TO_VIEW:
|
|
1199
|
-
animatedNodesManager.connectAnimatedNodeToView(
|
|
1200
|
-
opsAndArgs.getInt(i++), opsAndArgs.getInt(i++));
|
|
1201
|
-
break;
|
|
1202
|
-
case OP_CODE_DISCONNECT_ANIMATED_NODE_FROM_VIEW:
|
|
1203
|
-
int animatedNodeTag = opsAndArgs.getInt(i++);
|
|
1204
|
-
viewTag = opsAndArgs.getInt(i++);
|
|
1205
|
-
decrementInFlightAnimationsForViewTag(viewTag);
|
|
1206
|
-
animatedNodesManager.disconnectAnimatedNodeFromView(animatedNodeTag, viewTag);
|
|
1207
|
-
break;
|
|
1208
|
-
case OP_CODE_RESTORE_DEFAULT_VALUES:
|
|
1209
|
-
animatedNodesManager.restoreDefaultValues(opsAndArgs.getInt(i++));
|
|
1210
|
-
break;
|
|
1211
|
-
case OP_CODE_DROP_ANIMATED_NODE:
|
|
1212
|
-
animatedNodesManager.dropAnimatedNode(opsAndArgs.getInt(i++));
|
|
1213
|
-
break;
|
|
1214
|
-
case OP_CODE_ADD_ANIMATED_EVENT_TO_VIEW:
|
|
1215
|
-
animatedNodesManager.addAnimatedEventToView(
|
|
1216
|
-
// NULLSAFE_FIXME[Parameter Not Nullable]
|
|
1217
|
-
opsAndArgs.getInt(i++), opsAndArgs.getString(i++), opsAndArgs.getMap(i++));
|
|
1218
|
-
break;
|
|
1219
|
-
case OP_CODE_REMOVE_ANIMATED_EVENT_FROM_VIEW:
|
|
1220
|
-
viewTag = opsAndArgs.getInt(i++);
|
|
1221
|
-
decrementInFlightAnimationsForViewTag(viewTag);
|
|
1222
|
-
animatedNodesManager.removeAnimatedEventFromView(
|
|
1223
|
-
// NULLSAFE_FIXME[Parameter Not Nullable]
|
|
1224
|
-
viewTag, opsAndArgs.getString(i++), opsAndArgs.getInt(i++));
|
|
1225
|
-
break;
|
|
1226
|
-
case OP_CODE_ADD_LISTENER:
|
|
1227
|
-
case OP_CODE_REMOVE_LISTENERS:
|
|
1228
|
-
i++;
|
|
1229
|
-
// ios only, do nothing on android besides incrementing the arg counter
|
|
1230
|
-
break;
|
|
1231
|
-
default:
|
|
1232
|
-
throw new IllegalArgumentException(
|
|
1233
|
-
"Batch animation execution op: unknown op code");
|
|
1234
|
-
}
|
|
1235
|
-
}
|
|
1236
|
-
}
|
|
1237
|
-
});
|
|
1238
|
-
finishOperationBatch();
|
|
1239
|
-
}
|
|
1240
|
-
}
|