react-native-tvos 0.66.3-2 → 0.68.1-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/LICENSE +1 -1
- package/Libraries/ActionSheetIOS/ActionSheetIOS.js +18 -5
- package/Libraries/ActionSheetIOS/NativeActionSheetManager.js +3 -1
- package/Libraries/ActionSheetIOS/React-RCTActionSheet.podspec +1 -1
- package/Libraries/Alert/Alert.js +4 -4
- package/Libraries/Alert/NativeAlertManager.js +1 -1
- package/Libraries/Alert/RCTAlertManager.android.js +2 -2
- package/Libraries/Alert/RCTAlertManager.ios.js +1 -1
- package/Libraries/Animated/Animated.js +1 -1
- package/Libraries/Animated/AnimatedEvent.js +34 -10
- package/Libraries/Animated/AnimatedImplementation.js +116 -85
- package/Libraries/Animated/AnimatedMock.js +65 -22
- package/Libraries/{Components/Touchable/__mocks__/ensureComponentIsNative.js → Animated/AnimatedPlatformConfig.js} +3 -2
- package/Libraries/Animated/AnimatedWeb.js +1 -1
- package/Libraries/Animated/Easing.js +38 -40
- package/Libraries/Animated/NativeAnimatedHelper.js +26 -23
- package/Libraries/Animated/NativeAnimatedModule.js +1 -1
- package/Libraries/Animated/NativeAnimatedTurboModule.js +1 -1
- package/Libraries/Animated/SpringConfig.js +11 -11
- package/Libraries/Animated/animations/Animation.js +6 -4
- package/Libraries/Animated/animations/DecayAnimation.js +6 -1
- package/Libraries/Animated/animations/SpringAnimation.js +16 -1
- package/Libraries/Animated/animations/TimingAnimation.js +15 -2
- package/Libraries/Animated/bezier.js +20 -9
- package/Libraries/Animated/components/AnimatedFlatList.js +1 -1
- package/Libraries/Animated/components/AnimatedImage.js +4 -4
- package/Libraries/Animated/components/AnimatedScrollView.js +4 -4
- package/Libraries/Animated/components/AnimatedSectionList.js +1 -1
- package/Libraries/Animated/components/AnimatedText.js +4 -4
- package/Libraries/Animated/components/AnimatedView.js +2 -4
- package/Libraries/Animated/createAnimatedComponent.js +7 -38
- package/Libraries/Animated/createAnimatedComponentInjection.js +1 -1
- package/Libraries/Animated/createAnimatedComponent_EXPERIMENTAL.js +1 -1
- package/Libraries/Animated/nodes/AnimatedAddition.js +6 -5
- package/Libraries/Animated/nodes/AnimatedColor.js +266 -0
- package/Libraries/Animated/nodes/AnimatedDiffClamp.js +5 -4
- package/Libraries/Animated/nodes/AnimatedDivision.js +6 -5
- package/Libraries/Animated/nodes/AnimatedInterpolation.js +8 -6
- package/Libraries/Animated/nodes/AnimatedModulo.js +5 -4
- package/Libraries/Animated/nodes/AnimatedMultiplication.js +6 -5
- package/Libraries/Animated/nodes/AnimatedNode.js +31 -18
- package/Libraries/Animated/nodes/AnimatedProps.js +12 -4
- package/Libraries/Animated/nodes/AnimatedStyle.js +9 -7
- package/Libraries/Animated/nodes/AnimatedSubtraction.js +6 -5
- package/Libraries/Animated/nodes/AnimatedTracking.js +8 -6
- package/Libraries/Animated/nodes/AnimatedTransform.js +6 -4
- package/Libraries/Animated/nodes/AnimatedValue.js +21 -12
- package/Libraries/Animated/nodes/AnimatedValueXY.js +14 -14
- package/Libraries/Animated/nodes/AnimatedWithChildren.js +6 -5
- package/Libraries/Animated/useAnimatedProps.js +1 -1
- package/Libraries/AppState/AppState.js +9 -8
- package/Libraries/AppState/NativeAppState.js +1 -1
- package/Libraries/BatchedBridge/BatchedBridge.js +1 -1
- package/Libraries/BatchedBridge/MessageQueue.js +7 -9
- package/Libraries/BatchedBridge/NativeModules.js +1 -1
- package/Libraries/BatchedBridge/__mocks__/MessageQueueTestConfig.js +1 -1
- package/Libraries/BatchedBridge/__mocks__/MessageQueueTestModule.js +3 -3
- package/Libraries/Blob/Blob.js +1 -1
- package/Libraries/Blob/BlobManager.js +1 -1
- package/Libraries/Blob/BlobRegistry.js +1 -1
- package/Libraries/Blob/BlobTypes.js +1 -1
- package/Libraries/Blob/File.js +1 -1
- package/Libraries/Blob/FileReader.js +1 -1
- package/Libraries/Blob/NativeBlobModule.js +1 -1
- package/Libraries/Blob/NativeFileReaderModule.js +1 -1
- package/Libraries/Blob/RCTBlobCollector.h +1 -1
- package/Libraries/Blob/RCTBlobCollector.mm +1 -1
- package/Libraries/Blob/RCTBlobManager.h +1 -1
- package/Libraries/Blob/RCTBlobManager.mm +2 -2
- package/Libraries/Blob/RCTBlobPlugins.h +1 -1
- package/Libraries/Blob/RCTBlobPlugins.mm +1 -1
- package/Libraries/Blob/RCTFileReaderModule.h +1 -1
- package/Libraries/Blob/RCTFileReaderModule.mm +1 -1
- package/Libraries/Blob/React-RCTBlob.podspec +3 -3
- package/Libraries/Blob/URL.js +26 -21
- package/Libraries/Blob/__mocks__/BlobModule.js +1 -1
- package/Libraries/Blob/__mocks__/FileReaderModule.js +1 -1
- package/Libraries/BugReporting/BugReporting.js +1 -1
- package/Libraries/BugReporting/NativeBugReporting.js +1 -1
- package/Libraries/BugReporting/dumpReactTree.js +1 -1
- package/Libraries/BugReporting/getReactData.js +15 -6
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +89 -29
- package/Libraries/Components/AccessibilityInfo/NativeAccessibilityInfo.js +4 -1
- package/Libraries/Components/AccessibilityInfo/NativeAccessibilityManager.js +5 -1
- package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.android.js +1 -1
- package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.ios.js +1 -1
- package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +1 -1
- package/Libraries/Components/ActivityIndicator/ActivityIndicatorViewNativeComponent.js +5 -5
- package/Libraries/Components/AppleTV/{TVMenuControl.js → TVEventControl.js} +8 -0
- package/Libraries/Components/AppleTV/tagForComponentOrHandle.js +34 -0
- package/Libraries/Components/Button.js +4 -1
- package/Libraries/Components/Clipboard/Clipboard.js +1 -1
- package/Libraries/Components/Clipboard/NativeClipboard.js +1 -1
- package/Libraries/Components/DatePicker/DatePickerIOS.android.js +1 -1
- package/Libraries/Components/DatePicker/DatePickerIOS.ios.js +21 -8
- package/Libraries/Components/DatePicker/RCTDatePickerNativeComponent.js +1 -1
- package/Libraries/Components/DatePickerAndroid/NativeDatePickerAndroid.js +1 -1
- package/Libraries/Components/DrawerAndroid/AndroidDrawerLayoutNativeComponent.js +3 -3
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +9 -11
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.ios.js +1 -1
- package/Libraries/Components/Keyboard/Keyboard.js +7 -6
- package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +11 -6
- package/Libraries/Components/Keyboard/NativeKeyboardObserver.js +1 -1
- package/Libraries/Components/MaskedView/MaskedViewIOS.android.js +1 -1
- package/Libraries/Components/MaskedView/MaskedViewIOS.ios.js +1 -1
- package/Libraries/Components/MaskedView/RCTMaskedViewNativeComponent.js +1 -1
- package/Libraries/Components/Pressable/Pressable.js +38 -2
- package/Libraries/Components/Pressable/useAndroidRippleForView.js +1 -1
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.android.js +6 -5
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.ios.js +1 -1
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidNativeComponent.js +1 -1
- package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.android.js +1 -1
- package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.ios.js +3 -2
- package/Libraries/Components/ProgressViewIOS/RCTProgressViewNativeComponent.js +1 -1
- package/Libraries/Components/RefreshControl/AndroidSwipeRefreshLayoutNativeComponent.js +1 -2
- package/Libraries/Components/RefreshControl/PullToRefreshViewNativeComponent.js +1 -1
- package/Libraries/Components/RefreshControl/RefreshControl.js +3 -8
- package/Libraries/Components/RefreshControl/__mocks__/RefreshControlMock.js +3 -4
- package/Libraries/Components/SafeAreaView/RCTSafeAreaViewNativeComponent.js +1 -1
- package/Libraries/Components/SafeAreaView/SafeAreaView.js +3 -3
- package/Libraries/Components/ScrollView/AndroidHorizontalScrollContentViewNativeComponent.js +3 -1
- package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +17 -6
- package/Libraries/Components/ScrollView/ScrollContentViewNativeComponent.js +4 -6
- package/Libraries/Components/ScrollView/ScrollView.js +39 -31
- package/Libraries/Components/ScrollView/ScrollViewCommands.js +1 -1
- package/Libraries/Components/ScrollView/ScrollViewContext.js +1 -1
- package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +135 -71
- package/Libraries/Components/ScrollView/ScrollViewNativeComponentType.js +2 -1
- package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +269 -253
- package/Libraries/Components/ScrollView/ScrollViewViewConfig.js +2 -1
- package/Libraries/Components/ScrollView/processDecelerationRate.js +1 -1
- package/Libraries/Components/SegmentedControlIOS/RCTSegmentedControlNativeComponent.js +1 -1
- package/Libraries/Components/SegmentedControlIOS/SegmentedControlIOS.android.js +1 -1
- package/Libraries/Components/SegmentedControlIOS/SegmentedControlIOS.ios.js +3 -9
- package/Libraries/Components/Slider/Slider.js +1 -1
- package/Libraries/Components/Slider/SliderNativeComponent.js +3 -3
- package/Libraries/Components/Sound/NativeSoundManager.js +1 -1
- package/Libraries/Components/Sound/SoundManager.js +2 -2
- package/Libraries/Components/StaticRenderer.js +1 -1
- package/Libraries/Components/StatusBar/NativeStatusBarManagerAndroid.js +1 -1
- package/Libraries/Components/StatusBar/NativeStatusBarManagerIOS.js +1 -1
- package/Libraries/Components/StatusBar/StatusBar.js +1 -1
- package/Libraries/Components/Switch/AndroidSwitchNativeComponent.js +1 -1
- package/Libraries/Components/Switch/Switch.js +3 -2
- package/Libraries/Components/Switch/SwitchNativeComponent.js +1 -1
- package/Libraries/Components/TabBarIOS/TabBarItemIOS.ios.js +9 -1
- package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +175 -14
- package/Libraries/Components/TextInput/InputAccessoryView.js +1 -1
- package/Libraries/Components/TextInput/RCTInputAccessoryViewNativeComponent.js +1 -1
- package/Libraries/Components/TextInput/RCTMultilineTextInputNativeComponent.js +10 -5
- package/Libraries/Components/TextInput/RCTSingelineTextInputNativeComponent.js +6 -5
- package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +32 -11
- package/Libraries/Components/TextInput/TextInput.js +131 -31
- package/Libraries/Components/TextInput/TextInputNativeCommands.js +1 -1
- package/Libraries/Components/TextInput/TextInputState.js +1 -1
- package/Libraries/Components/ToastAndroid/NativeToastAndroid.js +1 -1
- package/Libraries/Components/ToastAndroid/ToastAndroid.android.js +4 -4
- package/Libraries/Components/ToastAndroid/ToastAndroid.ios.js +4 -4
- package/Libraries/Components/Touchable/BoundingDimensions.js +3 -3
- package/Libraries/Components/Touchable/PooledClass.js +12 -12
- package/Libraries/Components/Touchable/Position.js +2 -2
- package/Libraries/Components/Touchable/Touchable.js +30 -40
- package/Libraries/Components/Touchable/TouchableBounce.js +3 -6
- package/Libraries/Components/Touchable/TouchableHighlight.js +3 -6
- package/Libraries/Components/Touchable/TouchableNativeFeedback.js +5 -12
- package/Libraries/Components/Touchable/TouchableOpacity.js +13 -14
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +3 -6
- package/Libraries/Components/UnimplementedViews/UnimplementedNativeViewNativeComponent.js +1 -1
- package/Libraries/Components/UnimplementedViews/UnimplementedView.js +1 -1
- package/Libraries/Components/View/ReactNativeStyleAttributes.js +1 -1
- package/Libraries/Components/View/ReactNativeViewAttributes.js +1 -1
- package/Libraries/Components/View/ReactNativeViewViewConfig.js +13 -2
- package/Libraries/Components/View/ReactNativeViewViewConfigAndroid.js +1 -1
- package/Libraries/Components/View/View.js +2 -2
- package/Libraries/Components/View/ViewAccessibility.js +2 -2
- package/Libraries/Components/View/ViewNativeComponent.js +4 -5
- package/Libraries/Components/View/ViewPropTypes.js +38 -31
- package/Libraries/Core/Devtools/getDevServer.js +1 -1
- package/Libraries/Core/Devtools/openFileInEditor.js +1 -1
- package/Libraries/Core/Devtools/openURLInBrowser.js +1 -1
- package/Libraries/Core/Devtools/parseErrorStack.js +1 -1
- package/Libraries/Core/Devtools/parseHermesStack.js +3 -2
- package/Libraries/Core/Devtools/symbolicateStackTrace.js +1 -1
- package/Libraries/Core/ExceptionsManager.js +46 -81
- package/Libraries/Core/ExtendedError.js +1 -2
- package/Libraries/Core/InitializeCore.js +1 -3
- package/Libraries/Core/NativeExceptionsManager.js +3 -4
- package/Libraries/Core/ReactFiberErrorDialog.js +1 -1
- package/Libraries/Core/ReactNativeVersion.js +4 -4
- package/Libraries/Core/ReactNativeVersionCheck.js +12 -2
- package/Libraries/Core/SegmentFetcher/NativeSegmentFetcher.js +1 -1
- package/Libraries/Core/Timers/JSTimers.js +35 -42
- package/Libraries/Core/Timers/NativeTiming.js +1 -1
- package/Libraries/Core/Timers/immediateShim.js +1 -1
- package/Libraries/Core/Timers/queueMicrotask.js +1 -1
- package/Libraries/Core/__mocks__/ErrorUtils.js +1 -1
- package/Libraries/Core/checkNativeVersion.js +1 -1
- package/Libraries/Core/polyfillPromise.js +1 -1
- package/Libraries/Core/setUpAlert.js +2 -2
- package/Libraries/Core/setUpBatchedBridge.js +16 -4
- package/Libraries/Core/setUpDeveloperTools.js +2 -2
- package/Libraries/Core/setUpErrorHandling.js +2 -2
- package/Libraries/Core/setUpGlobals.js +3 -5
- package/Libraries/Core/setUpNavigator.js +1 -1
- package/Libraries/Core/setUpPerformance.js +2 -2
- package/Libraries/Core/setUpReactDevTools.js +1 -1
- package/Libraries/Core/setUpReactRefresh.js +1 -1
- package/Libraries/Core/setUpRegeneratorRuntime.js +2 -2
- package/Libraries/Core/setUpSegmentFetcher.js +5 -5
- package/Libraries/Core/setUpSystrace.js +1 -1
- package/Libraries/Core/setUpTimers.js +14 -4
- package/Libraries/Core/setUpXHR.js +1 -1
- package/Libraries/EventEmitter/NativeEventEmitter.js +3 -2
- package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +1 -1
- package/Libraries/EventEmitter/RCTEventEmitter.js +1 -1
- package/Libraries/EventEmitter/RCTNativeAppEventEmitter.js +1 -1
- package/Libraries/EventEmitter/__mocks__/NativeEventEmitter.js +3 -2
- package/Libraries/FBLazyVector/FBLazyVector/FBLazyIterator.h +1 -1
- package/Libraries/FBLazyVector/FBLazyVector/FBLazyVector.h +1 -1
- package/Libraries/FBLazyVector/FBLazyVector.podspec +1 -1
- package/Libraries/HeapCapture/HeapCapture.js +2 -2
- package/Libraries/HeapCapture/NativeJSCHeapCapture.js +1 -1
- package/Libraries/Image/AssetRegistry.js +1 -1
- package/Libraries/Image/AssetSourceResolver.js +3 -5
- package/Libraries/Image/AssetUtils.js +1 -1
- package/Libraries/Image/Image.android.js +38 -30
- package/Libraries/Image/Image.ios.js +23 -20
- package/Libraries/Image/ImageAnalyticsTagContext.js +3 -4
- package/Libraries/Image/ImageBackground.js +21 -10
- package/Libraries/Image/ImageInjection.js +1 -1
- package/Libraries/Image/ImagePickerIOS.js +7 -7
- package/Libraries/Image/ImageProps.js +46 -18
- package/Libraries/Image/ImageResizeMode.js +1 -1
- package/Libraries/Image/ImageSource.js +1 -1
- package/Libraries/Image/ImageViewNativeComponent.js +96 -61
- package/Libraries/Image/NativeImageEditor.js +1 -1
- package/Libraries/Image/NativeImageLoaderAndroid.js +2 -4
- package/Libraries/Image/NativeImageLoaderIOS.js +1 -1
- package/Libraries/Image/NativeImagePickerIOS.js +1 -1
- package/Libraries/Image/NativeImageStoreAndroid.js +1 -1
- package/Libraries/Image/NativeImageStoreIOS.js +1 -1
- package/Libraries/Image/RCTAnimatedImage.h +1 -1
- package/Libraries/Image/RCTAnimatedImage.m +2 -2
- package/Libraries/Image/RCTDisplayWeakRefreshable.h +1 -1
- package/Libraries/Image/RCTDisplayWeakRefreshable.m +1 -1
- package/Libraries/Image/RCTGIFImageDecoder.h +1 -1
- package/Libraries/Image/RCTGIFImageDecoder.mm +1 -1
- package/Libraries/Image/RCTImageBlurUtils.h +1 -1
- package/Libraries/Image/RCTImageBlurUtils.m +1 -1
- package/Libraries/Image/RCTImageCache.h +1 -1
- package/Libraries/Image/RCTImageCache.m +3 -3
- package/Libraries/Image/RCTImageDataDecoder.h +1 -1
- package/Libraries/Image/RCTImageEditingManager.h +1 -1
- package/Libraries/Image/RCTImageEditingManager.mm +1 -1
- package/Libraries/Image/RCTImageLoader.h +1 -1
- package/Libraries/Image/RCTImageLoader.mm +1 -1
- package/Libraries/Image/RCTImageLoaderLoggable.h +1 -1
- package/Libraries/Image/RCTImageLoaderProtocol.h +2 -2
- package/Libraries/Image/RCTImageLoaderWithAttributionProtocol.h +1 -1
- package/Libraries/Image/RCTImagePlugins.h +1 -1
- package/Libraries/Image/RCTImagePlugins.mm +1 -1
- package/Libraries/Image/RCTImageShadowView.h +1 -1
- package/Libraries/Image/RCTImageShadowView.m +1 -1
- package/Libraries/Image/RCTImageStoreManager.h +1 -1
- package/Libraries/Image/RCTImageStoreManager.mm +1 -1
- package/Libraries/Image/RCTImageURLLoader.h +1 -1
- package/Libraries/Image/RCTImageURLLoaderWithAttribution.h +1 -1
- package/Libraries/Image/RCTImageURLLoaderWithAttribution.mm +1 -1
- package/Libraries/Image/RCTImageUtils.h +1 -1
- package/Libraries/Image/RCTImageUtils.m +1 -1
- package/Libraries/Image/RCTImageView.h +1 -1
- package/Libraries/Image/RCTImageView.mm +27 -15
- package/Libraries/Image/RCTImageViewManager.h +1 -1
- package/Libraries/Image/RCTImageViewManager.mm +1 -1
- package/Libraries/Image/RCTLocalAssetImageLoader.h +1 -1
- package/Libraries/Image/RCTLocalAssetImageLoader.mm +1 -1
- package/Libraries/Image/RCTResizeMode.h +1 -1
- package/Libraries/Image/RCTResizeMode.m +1 -1
- package/Libraries/Image/RCTUIImageViewAnimated.h +1 -1
- package/Libraries/Image/RCTUIImageViewAnimated.m +2 -2
- package/Libraries/Image/React-RCTImage.podspec +3 -3
- package/Libraries/Image/RelativeImageStub.js +1 -1
- package/Libraries/Image/TextInlineImageNativeComponent.js +14 -74
- package/Libraries/Image/nativeImageSource.js +3 -3
- package/Libraries/Image/resolveAssetSource.js +1 -1
- package/Libraries/Inspector/BorderBox.js +1 -1
- package/Libraries/Inspector/BoxInspector.js +1 -1
- package/Libraries/Inspector/ElementBox.js +1 -1
- package/Libraries/Inspector/ElementProperties.js +1 -1
- package/Libraries/Inspector/Inspector.js +2 -2
- package/Libraries/Inspector/InspectorOverlay.js +1 -1
- package/Libraries/Inspector/InspectorPanel.js +1 -1
- package/Libraries/Inspector/NetworkOverlay.js +3 -6
- package/Libraries/Inspector/PerformanceOverlay.js +1 -1
- package/Libraries/Inspector/StyleInspector.js +1 -1
- package/Libraries/Inspector/resolveBoxStyle.js +1 -1
- package/Libraries/Interaction/Batchinator.js +1 -1
- package/Libraries/Interaction/BridgeSpyStallHandler.js +2 -2
- package/Libraries/Interaction/FrameRateLogger.js +3 -3
- package/Libraries/Interaction/InteractionManager.js +3 -5
- package/Libraries/Interaction/InteractionStallDebugger.js +1 -1
- package/Libraries/Interaction/JSEventLoopWatchdog.js +5 -5
- package/Libraries/Interaction/NativeFrameRateLogger.js +1 -1
- package/Libraries/Interaction/PanResponder.js +4 -5
- package/Libraries/Interaction/TaskQueue.js +1 -1
- package/Libraries/Interaction/TouchHistoryMath.js +8 -8
- package/Libraries/JSInspector/InspectorAgent.js +1 -1
- package/Libraries/JSInspector/JSInspector.js +1 -1
- package/Libraries/JSInspector/NetworkAgent.js +2 -7
- package/Libraries/LayoutAnimation/LayoutAnimation.js +4 -4
- package/Libraries/Linking/Linking.js +8 -8
- package/Libraries/Linking/NativeIntentAndroid.js +1 -1
- package/Libraries/Linking/NativeLinkingManager.js +1 -1
- package/Libraries/LinkingIOS/RCTLinkingManager.h +1 -1
- package/Libraries/LinkingIOS/RCTLinkingManager.mm +1 -1
- package/Libraries/LinkingIOS/RCTLinkingPlugins.h +1 -1
- package/Libraries/LinkingIOS/RCTLinkingPlugins.mm +1 -1
- package/Libraries/LinkingIOS/React-RCTLinking.podspec +3 -3
- package/Libraries/Lists/CellRenderMask.js +1 -1
- package/Libraries/Lists/FillRateHelper.js +5 -4
- package/Libraries/Lists/FlatList.js +4 -5
- package/Libraries/Lists/SectionList.js +4 -4
- package/Libraries/Lists/SectionListModern.js +4 -4
- package/Libraries/Lists/ViewabilityHelper.js +5 -11
- package/Libraries/Lists/VirtualizeUtils.js +3 -7
- package/Libraries/Lists/VirtualizedList.js +23 -33
- package/Libraries/Lists/VirtualizedListContext.js +3 -4
- package/Libraries/Lists/VirtualizedSectionList.js +54 -63
- package/Libraries/Lists/__flowtests__/FlatList-flowtest.js +1 -1
- package/Libraries/Lists/__flowtests__/SectionList-flowtest.js +1 -1
- package/Libraries/LogBox/Data/LogBoxData.js +2 -3
- package/Libraries/LogBox/Data/LogBoxLog.js +1 -1
- package/Libraries/LogBox/Data/LogBoxSymbolication.js +1 -1
- package/Libraries/LogBox/Data/parseLogBoxLog.js +13 -24
- package/Libraries/LogBox/LogBox.js +4 -4
- package/Libraries/LogBox/LogBoxInspectorContainer.js +1 -1
- package/Libraries/LogBox/LogBoxNotificationContainer.js +1 -1
- package/Libraries/LogBox/UI/AnsiHighlight.js +10 -5
- package/Libraries/LogBox/UI/LogBoxButton.js +1 -1
- package/Libraries/LogBox/UI/LogBoxImages/alert-triangle.png +0 -0
- package/Libraries/LogBox/UI/LogBoxImages/chevron-left.png +0 -0
- package/Libraries/LogBox/UI/LogBoxImages/chevron-right.png +0 -0
- package/Libraries/LogBox/UI/LogBoxImages/close.png +0 -0
- package/Libraries/LogBox/UI/LogBoxImages/loader.png +0 -0
- package/Libraries/LogBox/UI/LogBoxInspector.js +4 -2
- package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.js +1 -1
- package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +1 -1
- package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +1 -1
- package/Libraries/LogBox/UI/LogBoxInspectorMessageHeader.js +1 -1
- package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js +2 -2
- package/Libraries/LogBox/UI/LogBoxInspectorSection.js +1 -1
- package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +1 -2
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.js +2 -2
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +4 -2
- package/Libraries/LogBox/UI/LogBoxMessage.js +7 -3
- package/Libraries/LogBox/UI/LogBoxNotification.js +7 -4
- package/Libraries/LogBox/UI/LogBoxStyle.js +1 -1
- package/Libraries/Modal/Modal.js +15 -14
- package/Libraries/Modal/ModalInjection.js +1 -1
- package/Libraries/Modal/NativeModalManager.js +1 -1
- package/Libraries/Modal/RCTModalHostViewNativeComponent.js +12 -12
- package/Libraries/NativeAnimation/Drivers/RCTAnimationDriver.h +1 -1
- package/Libraries/NativeAnimation/Drivers/RCTDecayAnimation.h +1 -1
- package/Libraries/NativeAnimation/Drivers/RCTDecayAnimation.m +1 -1
- package/Libraries/NativeAnimation/Drivers/RCTEventAnimation.h +1 -1
- package/Libraries/NativeAnimation/Drivers/RCTEventAnimation.m +1 -1
- package/Libraries/NativeAnimation/Drivers/RCTFrameAnimation.h +1 -1
- package/Libraries/NativeAnimation/Drivers/RCTFrameAnimation.m +1 -1
- package/Libraries/NativeAnimation/Drivers/RCTSpringAnimation.h +1 -1
- package/Libraries/NativeAnimation/Drivers/RCTSpringAnimation.m +1 -1
- package/Libraries/NativeAnimation/Nodes/RCTAdditionAnimatedNode.h +1 -1
- package/Libraries/NativeAnimation/Nodes/RCTAdditionAnimatedNode.m +1 -1
- package/Libraries/NativeAnimation/Nodes/RCTAnimatedNode.h +1 -1
- package/Libraries/NativeAnimation/Nodes/RCTAnimatedNode.m +1 -1
- package/Libraries/NativeAnimation/Nodes/RCTDiffClampAnimatedNode.h +1 -1
- package/Libraries/NativeAnimation/Nodes/RCTDiffClampAnimatedNode.m +1 -1
- package/Libraries/NativeAnimation/Nodes/RCTDivisionAnimatedNode.h +1 -1
- package/Libraries/NativeAnimation/Nodes/RCTDivisionAnimatedNode.m +1 -1
- package/Libraries/NativeAnimation/Nodes/RCTInterpolationAnimatedNode.h +1 -1
- package/Libraries/NativeAnimation/Nodes/RCTInterpolationAnimatedNode.m +1 -1
- package/Libraries/NativeAnimation/Nodes/RCTModuloAnimatedNode.h +1 -1
- package/Libraries/NativeAnimation/Nodes/RCTModuloAnimatedNode.m +1 -1
- package/Libraries/NativeAnimation/Nodes/RCTMultiplicationAnimatedNode.h +1 -1
- package/Libraries/NativeAnimation/Nodes/RCTMultiplicationAnimatedNode.m +1 -1
- package/Libraries/NativeAnimation/Nodes/RCTPropsAnimatedNode.h +1 -1
- package/Libraries/NativeAnimation/Nodes/RCTPropsAnimatedNode.m +1 -4
- package/Libraries/NativeAnimation/Nodes/RCTStyleAnimatedNode.h +1 -1
- package/Libraries/NativeAnimation/Nodes/RCTStyleAnimatedNode.m +1 -1
- package/Libraries/NativeAnimation/Nodes/RCTSubtractionAnimatedNode.h +1 -1
- package/Libraries/NativeAnimation/Nodes/RCTSubtractionAnimatedNode.m +1 -1
- package/Libraries/NativeAnimation/Nodes/RCTTrackingAnimatedNode.h +1 -1
- package/Libraries/NativeAnimation/Nodes/RCTTrackingAnimatedNode.m +1 -1
- package/Libraries/NativeAnimation/Nodes/RCTTransformAnimatedNode.h +1 -1
- package/Libraries/NativeAnimation/Nodes/RCTTransformAnimatedNode.m +1 -1
- package/Libraries/NativeAnimation/Nodes/RCTValueAnimatedNode.h +1 -1
- package/Libraries/NativeAnimation/Nodes/RCTValueAnimatedNode.m +1 -1
- package/Libraries/NativeAnimation/RCTAnimationPlugins.h +1 -1
- package/Libraries/NativeAnimation/RCTAnimationPlugins.mm +1 -1
- package/Libraries/NativeAnimation/RCTAnimationUtils.h +1 -1
- package/Libraries/NativeAnimation/RCTAnimationUtils.m +1 -1
- package/Libraries/NativeAnimation/RCTNativeAnimatedModule.h +1 -1
- package/Libraries/NativeAnimation/RCTNativeAnimatedModule.mm +7 -4
- package/Libraries/NativeAnimation/RCTNativeAnimatedNodesManager.h +43 -39
- package/Libraries/NativeAnimation/RCTNativeAnimatedNodesManager.m +34 -33
- package/Libraries/NativeAnimation/RCTNativeAnimatedTurboModule.h +2 -5
- package/Libraries/NativeAnimation/RCTNativeAnimatedTurboModule.mm +11 -42
- package/Libraries/NativeAnimation/React-RCTAnimation.podspec +3 -3
- package/Libraries/NativeComponent/NativeComponentRegistry.js +30 -33
- package/Libraries/NativeComponent/NativeComponentRegistryUnstable.js +27 -0
- package/Libraries/NativeComponent/StaticViewConfigValidator.js +198 -0
- package/Libraries/NativeComponent/ViewConfig.js +1 -1
- package/Libraries/NativeModules/specs/NativeAnimationsDebugModule.js +1 -1
- package/Libraries/NativeModules/specs/NativeDevMenu.js +1 -1
- package/Libraries/NativeModules/specs/NativeDevSettings.js +1 -1
- package/Libraries/NativeModules/specs/NativeDeviceEventManager.js +1 -1
- package/Libraries/NativeModules/specs/NativeDialogManagerAndroid.js +1 -1
- package/Libraries/NativeModules/specs/NativeLogBox.js +1 -1
- package/Libraries/NativeModules/specs/NativeRedBox.js +1 -1
- package/Libraries/NativeModules/specs/NativeSourceCode.js +1 -1
- package/Libraries/Network/FormData.js +1 -1
- package/Libraries/Network/NativeNetworkingAndroid.js +1 -1
- package/Libraries/Network/NativeNetworkingIOS.js +1 -1
- package/Libraries/Network/RCTDataRequestHandler.h +1 -1
- package/Libraries/Network/RCTDataRequestHandler.mm +1 -1
- package/Libraries/Network/RCTFileRequestHandler.h +1 -1
- package/Libraries/Network/RCTFileRequestHandler.mm +1 -1
- package/Libraries/Network/RCTHTTPRequestHandler.h +1 -1
- package/Libraries/Network/RCTHTTPRequestHandler.mm +1 -1
- package/Libraries/Network/RCTNetworkPlugins.h +1 -1
- package/Libraries/Network/RCTNetworkPlugins.mm +1 -1
- package/Libraries/Network/RCTNetworkTask.h +1 -1
- package/Libraries/Network/RCTNetworkTask.mm +1 -1
- package/Libraries/Network/RCTNetworking.android.js +1 -1
- package/Libraries/Network/RCTNetworking.h +1 -1
- package/Libraries/Network/RCTNetworking.ios.js +1 -1
- package/Libraries/Network/RCTNetworking.mm +1 -1
- package/Libraries/Network/React-RCTNetwork.podspec +3 -3
- package/Libraries/Network/XHRInterceptor.js +6 -7
- package/Libraries/Network/XMLHttpRequest.js +44 -8
- package/Libraries/Network/convertRequestBody.js +1 -1
- package/Libraries/Network/fetch.js +1 -1
- package/Libraries/NewAppScreen/components/Colors.js +1 -1
- package/Libraries/NewAppScreen/components/DebugInstructions.js +1 -1
- package/Libraries/NewAppScreen/components/Header.js +1 -1
- package/Libraries/NewAppScreen/components/HermesBadge.js +1 -1
- package/Libraries/NewAppScreen/components/LearnMoreLinks.js +1 -1
- package/Libraries/NewAppScreen/components/ReloadInstructions.js +1 -1
- package/Libraries/NewAppScreen/components/logo.png +0 -0
- package/Libraries/NewAppScreen/index.js +1 -1
- package/Libraries/Performance/NativeJSCSamplingProfiler.js +1 -1
- package/Libraries/Performance/PureComponentDebug.js +1 -1
- package/Libraries/Performance/QuickPerformanceLogger.js +18 -1
- package/Libraries/Performance/SamplingProfiler.js +4 -4
- package/Libraries/Performance/Systrace.js +9 -2
- package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +8 -2
- package/Libraries/PermissionsAndroid/PermissionsAndroid.js +22 -9
- package/Libraries/Pressability/HoverState.js +1 -1
- package/Libraries/Pressability/Pressability.js +16 -16
- package/Libraries/Pressability/PressabilityDebug.js +15 -12
- package/Libraries/Pressability/PressabilityPerformanceEventEmitter.js +6 -4
- package/Libraries/Pressability/PressabilityTypes.js +1 -1
- package/Libraries/Pressability/usePressability.js +1 -1
- package/Libraries/Promise.js +1 -1
- package/Libraries/PushNotificationIOS/NativePushNotificationManagerIOS.js +1 -1
- package/Libraries/PushNotificationIOS/PushNotificationIOS.js +33 -32
- package/Libraries/PushNotificationIOS/RCTPushNotificationManager.h +1 -1
- package/Libraries/PushNotificationIOS/RCTPushNotificationManager.mm +1 -2
- package/Libraries/PushNotificationIOS/RCTPushNotificationPlugins.h +1 -1
- package/Libraries/PushNotificationIOS/RCTPushNotificationPlugins.mm +1 -1
- package/Libraries/PushNotificationIOS/React-RCTPushNotification.podspec +3 -3
- package/Libraries/RCTRequired/RCTRequired/RCTRequired.h +1 -1
- package/Libraries/RCTRequired/RCTRequired.podspec +1 -1
- package/Libraries/ReactNative/AppContainer.js +3 -3
- package/Libraries/ReactNative/AppRegistry.js +19 -15
- package/Libraries/ReactNative/DisplayMode.js +1 -1
- package/Libraries/ReactNative/DummyUIManager.js +13 -6
- package/Libraries/ReactNative/FabricUIManager.js +1 -1
- package/Libraries/ReactNative/HeadlessJsTaskError.js +1 -1
- package/Libraries/ReactNative/I18nManager.js +3 -6
- package/Libraries/ReactNative/NativeHeadlessJsTaskSupport.js +1 -1
- package/Libraries/ReactNative/NativeI18nManager.js +1 -1
- package/Libraries/ReactNative/NativeUIManager.js +1 -1
- package/Libraries/ReactNative/PaperUIManager.js +3 -4
- package/Libraries/ReactNative/ReactFabricInternals.js +1 -1
- package/Libraries/ReactNative/RootTag.js +3 -4
- package/Libraries/ReactNative/UIManager.js +5 -7
- package/Libraries/ReactNative/UIManagerInjection.js +4 -2
- package/Libraries/ReactNative/UIManagerProperties.js +1 -1
- package/Libraries/ReactNative/getCachedComponentWithDebugName.js +4 -2
- package/Libraries/ReactNative/getNativeComponentAttributes.js +21 -9
- package/Libraries/ReactNative/renderApplication.js +1 -1
- package/Libraries/ReactNative/requireNativeComponent.js +1 -1
- package/Libraries/ReactPrivate/ReactNativePrivateInitializeCore.js +1 -1
- package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +1 -1
- package/Libraries/Reliability/UserFlow.js +1 -1
- package/Libraries/Renderer/REVISION +1 -1
- package/Libraries/Renderer/implementations/ReactFabric-dev.fb.js +2602 -1200
- package/Libraries/Renderer/implementations/ReactFabric-dev.js +1 -1
- package/Libraries/Renderer/implementations/ReactFabric-prod.fb.js +656 -417
- package/Libraries/Renderer/implementations/ReactFabric-prod.js +1 -1
- package/Libraries/Renderer/implementations/ReactFabric-profiling.fb.js +917 -473
- package/Libraries/Renderer/implementations/ReactFabric-profiling.js +1 -1
- package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.fb.js +2558 -1236
- package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +1 -1
- package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.fb.js +654 -417
- package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +1 -1
- package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.fb.js +910 -464
- package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +1 -1
- package/Libraries/Renderer/shims/ReactFabric.js +2 -2
- package/Libraries/Renderer/shims/ReactFeatureFlags.js +2 -2
- package/Libraries/Renderer/shims/ReactNative.js +2 -2
- package/Libraries/Renderer/shims/ReactNativeTypes.js +2 -2
- package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +2 -4
- package/Libraries/Renderer/shims/createReactNativeComponentClass.js +2 -2
- package/Libraries/Settings/NativeSettingsManager.js +1 -1
- package/Libraries/Settings/RCTSettingsManager.h +1 -1
- package/Libraries/Settings/RCTSettingsManager.mm +1 -1
- package/Libraries/Settings/RCTSettingsPlugins.h +1 -1
- package/Libraries/Settings/RCTSettingsPlugins.mm +1 -1
- package/Libraries/Settings/React-RCTSettings.podspec +3 -3
- package/Libraries/Settings/Settings.android.js +1 -1
- package/Libraries/Settings/Settings.ios.js +1 -1
- package/Libraries/Share/NativeShareModule.js +1 -1
- package/Libraries/Share/Share.js +2 -2
- package/Libraries/Storage/AsyncStorage.js +34 -35
- package/Libraries/Storage/NativeAsyncLocalStorage.js +1 -1
- package/Libraries/Storage/NativeAsyncSQLiteDBStorage.js +1 -1
- package/Libraries/StyleSheet/EdgeInsetsPropType.js +1 -1
- package/Libraries/StyleSheet/PlatformColorValueTypes.android.js +1 -1
- package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +1 -1
- package/Libraries/StyleSheet/PlatformColorValueTypesIOS.ios.js +1 -1
- package/Libraries/StyleSheet/PlatformColorValueTypesIOS.js +1 -1
- package/Libraries/StyleSheet/PointPropType.js +1 -1
- package/Libraries/StyleSheet/Rect.js +1 -1
- package/Libraries/StyleSheet/StyleSheet.js +3 -2
- package/Libraries/StyleSheet/StyleSheetTypes.js +2 -2
- package/Libraries/StyleSheet/__flowtests__/StyleSheet-flowtest.js +1 -1
- package/Libraries/StyleSheet/flattenStyle.js +1 -1
- package/Libraries/StyleSheet/normalizeColor.js +3 -3
- package/Libraries/StyleSheet/processColor.js +3 -3
- package/Libraries/StyleSheet/processColorArray.js +1 -1
- package/Libraries/StyleSheet/processTransform.js +21 -2
- package/Libraries/StyleSheet/setNormalizedColorAlpha.js +1 -1
- package/Libraries/StyleSheet/splitLayoutProps.js +2 -4
- package/Libraries/SurfaceBackedComponent/RCTSurfaceBackedComponent.h +1 -1
- package/Libraries/SurfaceBackedComponent/RCTSurfaceBackedComponent.mm +1 -1
- package/Libraries/SurfaceBackedComponent/RCTSurfaceBackedComponentState.h +1 -1
- package/Libraries/SurfaceBackedComponent/RCTSurfaceBackedComponentState.mm +1 -1
- package/Libraries/SurfaceHostingComponent/RCTSurfaceHostingComponent+Internal.h +1 -1
- package/Libraries/SurfaceHostingComponent/RCTSurfaceHostingComponent.h +1 -1
- package/Libraries/SurfaceHostingComponent/RCTSurfaceHostingComponent.mm +1 -1
- package/Libraries/SurfaceHostingComponent/RCTSurfaceHostingComponentController.h +1 -1
- package/Libraries/SurfaceHostingComponent/RCTSurfaceHostingComponentController.mm +1 -1
- package/Libraries/SurfaceHostingComponent/RCTSurfaceHostingComponentOptions.h +1 -1
- package/Libraries/SurfaceHostingComponent/RCTSurfaceHostingComponentState.h +1 -1
- package/Libraries/SurfaceHostingComponent/RCTSurfaceHostingComponentState.mm +1 -1
- package/Libraries/Text/BaseText/RCTBaseTextShadowView.h +1 -1
- package/Libraries/Text/BaseText/RCTBaseTextShadowView.m +1 -1
- package/Libraries/Text/BaseText/RCTBaseTextViewManager.h +1 -1
- package/Libraries/Text/BaseText/RCTBaseTextViewManager.m +1 -1
- package/Libraries/Text/RCTConvert+Text.h +1 -1
- package/Libraries/Text/RCTConvert+Text.m +1 -1
- package/Libraries/Text/RCTTextAttributes.h +1 -1
- package/Libraries/Text/RCTTextAttributes.m +19 -2
- package/Libraries/Text/RCTTextTransform.h +1 -1
- package/Libraries/Text/RawText/RCTRawTextShadowView.h +1 -1
- package/Libraries/Text/RawText/RCTRawTextShadowView.m +1 -1
- package/Libraries/Text/RawText/RCTRawTextViewManager.h +1 -1
- package/Libraries/Text/RawText/RCTRawTextViewManager.m +1 -1
- package/Libraries/Text/React-RCTText.podspec +1 -1
- package/Libraries/Text/Text/NSTextStorage+FontScaling.h +1 -1
- package/Libraries/Text/Text/NSTextStorage+FontScaling.m +1 -1
- package/Libraries/Text/Text/RCTTextShadowView.h +1 -1
- package/Libraries/Text/Text/RCTTextShadowView.m +1 -1
- package/Libraries/Text/Text/RCTTextView.h +1 -1
- package/Libraries/Text/Text/RCTTextView.m +1 -1
- package/Libraries/Text/Text/RCTTextViewManager.h +1 -1
- package/Libraries/Text/Text/RCTTextViewManager.m +1 -1
- package/Libraries/Text/Text.js +11 -12
- package/Libraries/Text/TextAncestor.js +1 -1
- package/Libraries/Text/TextInput/Multiline/RCTMultilineTextInputView.h +1 -1
- package/Libraries/Text/TextInput/Multiline/RCTMultilineTextInputView.m +1 -1
- package/Libraries/Text/TextInput/Multiline/RCTMultilineTextInputViewManager.h +1 -1
- package/Libraries/Text/TextInput/Multiline/RCTMultilineTextInputViewManager.m +1 -1
- package/Libraries/Text/TextInput/Multiline/RCTUITextView.h +1 -1
- package/Libraries/Text/TextInput/Multiline/RCTUITextView.m +6 -32
- package/Libraries/Text/TextInput/RCTBackedTextInputDelegate.h +1 -1
- package/Libraries/Text/TextInput/RCTBackedTextInputDelegateAdapter.h +1 -1
- package/Libraries/Text/TextInput/RCTBackedTextInputDelegateAdapter.m +1 -1
- package/Libraries/Text/TextInput/RCTBackedTextInputViewProtocol.h +5 -1
- package/Libraries/Text/TextInput/RCTBaseTextInputShadowView.h +1 -1
- package/Libraries/Text/TextInput/RCTBaseTextInputShadowView.m +1 -1
- package/Libraries/Text/TextInput/RCTBaseTextInputView.h +2 -1
- package/Libraries/Text/TextInput/RCTBaseTextInputView.m +7 -15
- package/Libraries/Text/TextInput/RCTBaseTextInputViewManager.h +1 -1
- package/Libraries/Text/TextInput/RCTBaseTextInputViewManager.m +6 -2
- package/Libraries/Text/TextInput/RCTInputAccessoryShadowView.h +1 -1
- package/Libraries/Text/TextInput/RCTInputAccessoryShadowView.m +1 -1
- package/Libraries/Text/TextInput/RCTInputAccessoryView.h +1 -1
- package/Libraries/Text/TextInput/RCTInputAccessoryView.m +1 -1
- package/Libraries/Text/TextInput/RCTInputAccessoryViewContent.h +1 -1
- package/Libraries/Text/TextInput/RCTInputAccessoryViewContent.m +5 -12
- package/Libraries/Text/TextInput/RCTInputAccessoryViewManager.h +1 -1
- package/Libraries/Text/TextInput/RCTInputAccessoryViewManager.m +1 -1
- package/Libraries/Text/TextInput/RCTTextSelection.h +1 -1
- package/Libraries/Text/TextInput/RCTTextSelection.m +1 -1
- package/Libraries/Text/TextInput/Singleline/RCTSinglelineTextInputView.h +1 -1
- package/Libraries/Text/TextInput/Singleline/RCTSinglelineTextInputView.m +1 -1
- package/Libraries/Text/TextInput/Singleline/RCTSinglelineTextInputViewManager.h +1 -1
- package/Libraries/Text/TextInput/Singleline/RCTSinglelineTextInputViewManager.m +1 -1
- package/Libraries/Text/TextInput/Singleline/RCTUITextField.h +4 -1
- package/Libraries/Text/TextInput/Singleline/RCTUITextField.m +1 -1
- package/Libraries/Text/TextNativeComponent.js +10 -8
- package/Libraries/Text/TextProps.js +20 -26
- package/Libraries/Text/VirtualText/RCTVirtualTextShadowView.h +1 -1
- package/Libraries/Text/VirtualText/RCTVirtualTextShadowView.m +1 -1
- package/Libraries/Text/VirtualText/RCTVirtualTextViewManager.h +1 -1
- package/Libraries/Text/VirtualText/RCTVirtualTextViewManager.m +1 -1
- package/Libraries/TurboModule/RCTExport.js +1 -1
- package/Libraries/TurboModule/TurboModuleRegistry.js +2 -2
- package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +1 -1
- package/Libraries/TypeSafety/RCTConvertHelpers.h +1 -1
- package/Libraries/TypeSafety/RCTConvertHelpers.mm +1 -1
- package/Libraries/TypeSafety/RCTTypeSafety.podspec +1 -1
- package/Libraries/TypeSafety/RCTTypedModuleConstants.h +1 -1
- package/Libraries/TypeSafety/RCTTypedModuleConstants.mm +1 -1
- package/Libraries/Types/CodegenTypes.js +1 -1
- package/Libraries/Types/CoreEventTypes.js +1 -1
- package/Libraries/Types/RootTagTypes.js +1 -1
- package/Libraries/UTFSequence.js +1 -1
- package/Libraries/Utilities/Appearance.js +7 -6
- package/Libraries/Utilities/BackHandler.android.js +5 -5
- package/Libraries/Utilities/BackHandler.ios.js +1 -1
- package/Libraries/Utilities/DebugEnvironment.js +1 -1
- package/Libraries/Utilities/DevSettings.js +1 -1
- package/Libraries/Utilities/DeviceInfo.js +1 -1
- package/Libraries/Utilities/Dimensions.js +1 -1
- package/Libraries/Utilities/FeatureDetection.js +1 -1
- package/Libraries/Utilities/GlobalPerformanceLogger.js +1 -1
- package/Libraries/Utilities/HMRClient.js +4 -4
- package/Libraries/Utilities/HMRClientProdShim.js +1 -1
- package/Libraries/Utilities/JSDevSupportModule.js +4 -5
- package/Libraries/Utilities/LoadingView.android.js +1 -1
- package/Libraries/Utilities/LoadingView.ios.js +1 -1
- package/Libraries/Utilities/LoadingView.js +1 -1
- package/Libraries/Utilities/MatrixMath.js +20 -20
- package/Libraries/Utilities/NativeAppearance.js +1 -1
- package/Libraries/Utilities/NativeDevLoadingView.js +1 -1
- package/Libraries/Utilities/NativeDevSplitBundleLoader.js +1 -1
- package/Libraries/Utilities/NativeDeviceInfo.js +1 -1
- package/Libraries/Utilities/NativeJSDevSupport.js +1 -1
- package/Libraries/Utilities/NativePlatformConstantsAndroid.js +1 -1
- package/Libraries/Utilities/NativePlatformConstantsIOS.js +1 -1
- package/Libraries/Utilities/PerformanceLoggerContext.js +3 -4
- package/Libraries/Utilities/PixelRatio.js +1 -1
- package/Libraries/Utilities/Platform.android.js +1 -1
- package/Libraries/Utilities/Platform.ios.js +1 -1
- package/Libraries/Utilities/PolyfillFunctions.js +1 -1
- package/Libraries/Utilities/RCTLog.js +1 -1
- package/Libraries/Utilities/ReactNativeTestTools.js +8 -12
- package/Libraries/Utilities/SceneTracker.js +5 -4
- package/Libraries/Utilities/__mocks__/BackHandler.js +4 -4
- package/Libraries/Utilities/__mocks__/GlobalPerformanceLogger.js +1 -1
- package/Libraries/Utilities/__mocks__/PixelRatio.js +1 -1
- package/Libraries/Utilities/binaryToBase64.js +1 -1
- package/Libraries/Utilities/buildStyleInterpolator.js +10 -10
- package/Libraries/Utilities/clamp.js +1 -1
- package/Libraries/Utilities/codegenNativeCommands.js +1 -1
- package/Libraries/Utilities/codegenNativeComponent.js +4 -3
- package/Libraries/Utilities/createPerformanceLogger.js +1 -1
- package/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js +3 -3
- package/Libraries/Utilities/defineLazyObjectProperty.js +1 -1
- package/Libraries/Utilities/deprecatedPropType.js +1 -1
- package/Libraries/Utilities/differ/deepDiffer.js +2 -2
- package/Libraries/Utilities/differ/insetsDiffer.js +2 -2
- package/Libraries/Utilities/differ/matricesDiffer.js +6 -2
- package/Libraries/Utilities/differ/pointsDiffer.js +2 -2
- package/Libraries/Utilities/differ/sizesDiffer.js +11 -5
- package/Libraries/Utilities/dismissKeyboard.js +1 -1
- package/Libraries/Utilities/groupByEveryN.js +1 -1
- package/Libraries/Utilities/infoLog.js +1 -1
- package/Libraries/Utilities/logError.js +2 -2
- package/Libraries/Utilities/mapWithSeparator.js +1 -1
- package/Libraries/Utilities/mergeIntoFast.js +2 -2
- package/Libraries/Utilities/setAndForwardRef.js +1 -1
- package/Libraries/Utilities/stringifySafe.js +1 -1
- package/Libraries/Utilities/truncate.js +2 -2
- package/Libraries/Utilities/useColorScheme.js +1 -1
- package/Libraries/Utilities/useMergeRefs.js +1 -1
- package/Libraries/Utilities/useRefEffect.js +1 -1
- package/Libraries/Utilities/useWindowDimensions.js +6 -2
- package/Libraries/Utilities/verifyComponentAttributeEquivalence.js +4 -2
- package/Libraries/Utilities/warnOnce.js +1 -1
- package/Libraries/Vibration/NativeVibration.js +1 -1
- package/Libraries/Vibration/RCTVibration.h +1 -1
- package/Libraries/Vibration/RCTVibration.mm +1 -1
- package/Libraries/Vibration/RCTVibrationPlugins.h +1 -1
- package/Libraries/Vibration/RCTVibrationPlugins.mm +1 -1
- package/Libraries/Vibration/React-RCTVibration.podspec +3 -3
- package/Libraries/Vibration/Vibration.js +6 -6
- package/Libraries/WebSocket/NativeWebSocketModule.js +1 -1
- package/Libraries/WebSocket/RCTReconnectingWebSocket.h +1 -1
- package/Libraries/WebSocket/RCTReconnectingWebSocket.m +1 -1
- package/Libraries/WebSocket/RCTSRWebSocket.m +4 -0
- package/Libraries/WebSocket/WebSocket.js +1 -1
- package/Libraries/WebSocket/WebSocketEvent.js +1 -1
- package/Libraries/WebSocket/WebSocketInterceptor.js +7 -7
- package/Libraries/WebSocket/__mocks__/event-target-shim.js +1 -1
- package/Libraries/Wrapper/Example/RCTWrapperExampleView.h +1 -1
- package/Libraries/Wrapper/Example/RCTWrapperExampleView.m +1 -1
- package/Libraries/Wrapper/Example/RCTWrapperExampleViewController.h +1 -1
- package/Libraries/Wrapper/Example/RCTWrapperExampleViewController.m +1 -1
- package/Libraries/Wrapper/Example/RCTWrapperReactRootViewController.h +1 -1
- package/Libraries/Wrapper/Example/RCTWrapperReactRootViewController.m +1 -1
- package/Libraries/Wrapper/Example/RCTWrapperReactRootViewManager.h +1 -1
- package/Libraries/Wrapper/Example/RCTWrapperReactRootViewManager.m +1 -1
- package/Libraries/Wrapper/RCTWrapper.h +1 -1
- package/Libraries/Wrapper/RCTWrapperShadowView.h +1 -1
- package/Libraries/Wrapper/RCTWrapperShadowView.m +1 -1
- package/Libraries/Wrapper/RCTWrapperView.h +1 -1
- package/Libraries/Wrapper/RCTWrapperView.m +1 -1
- package/Libraries/Wrapper/RCTWrapperViewControllerHostingView.h +1 -1
- package/Libraries/Wrapper/RCTWrapperViewControllerHostingView.m +1 -1
- package/Libraries/Wrapper/RCTWrapperViewManager.h +1 -1
- package/Libraries/Wrapper/RCTWrapperViewManager.m +1 -1
- package/Libraries/YellowBox/YellowBoxDeprecated.js +1 -1
- package/Libraries/__flowtests__/ReactNativeTypes-flowtest.js +1 -1
- package/Libraries/promiseRejectionTrackingOptions.js +2 -2
- package/Libraries/vendor/core/ErrorUtils.js +1 -1
- package/Libraries/vendor/emitter/EventEmitter.js +1 -1
- package/Libraries/vendor/emitter/EventSubscription.js +1 -1
- package/Libraries/vendor/emitter/_EmitterSubscription.js +3 -2
- package/Libraries/vendor/emitter/_EventEmitter.js +3 -2
- package/Libraries/vendor/emitter/_EventSubscription.js +3 -2
- package/Libraries/vendor/emitter/_EventSubscriptionVendor.js +2 -2
- package/Libraries/vendor/emitter/__flowtests__/EventEmitter-flowtest.js +1 -1
- package/README.md +17 -2
- package/React/AppSetup/RCTAppSetupUtils.h +44 -0
- package/React/AppSetup/RCTAppSetupUtils.mm +129 -0
- package/React/Base/RCTAssert.h +1 -1
- package/React/Base/RCTAssert.m +1 -1
- package/React/Base/RCTBridge+Private.h +9 -1
- package/React/Base/RCTBridge.h +10 -1
- package/React/Base/RCTBridge.m +32 -8
- package/React/Base/RCTBridgeDelegate.h +1 -1
- package/React/Base/RCTBridgeMethod.h +2 -2
- package/React/Base/RCTBridgeModule.h +3 -12
- package/React/Base/RCTBundleManager.m +1 -1
- package/React/Base/RCTBundleURLProvider.h +8 -25
- package/React/Base/RCTBundleURLProvider.mm +22 -41
- package/React/Base/RCTCallableJSModules.m +1 -1
- package/React/Base/RCTComponentEvent.h +1 -1
- package/React/Base/RCTComponentEvent.m +1 -1
- package/React/Base/RCTConstants.h +1 -13
- package/React/Base/RCTConstants.m +1 -31
- package/React/Base/RCTConvert.h +1 -1
- package/React/Base/RCTConvert.m +20 -3
- package/React/Base/RCTCxxConvert.h +1 -1
- package/React/Base/RCTCxxConvert.m +1 -1
- package/React/Base/RCTDefines.h +13 -4
- package/React/Base/RCTDisplayLink.h +1 -1
- package/React/Base/RCTDisplayLink.m +7 -3
- package/React/Base/RCTErrorCustomizer.h +1 -1
- package/React/Base/RCTErrorInfo.h +1 -1
- package/React/Base/RCTErrorInfo.m +1 -1
- package/React/Base/RCTEventDispatcher.m +1 -1
- package/React/Base/RCTEventDispatcherProtocol.h +3 -1
- package/React/Base/RCTFrameUpdate.h +1 -1
- package/React/Base/RCTFrameUpdate.m +1 -1
- package/React/Base/RCTImageSource.h +1 -1
- package/React/Base/RCTImageSource.m +1 -1
- package/React/Base/RCTInitializing.h +1 -1
- package/React/Base/RCTInvalidating.h +1 -1
- package/React/Base/RCTJSScriptLoaderModule.h +1 -1
- package/React/Base/RCTJSStackFrame.h +1 -1
- package/React/Base/RCTJSStackFrame.m +1 -1
- package/React/Base/RCTJSThread.h +29 -0
- package/React/Base/RCTJSThread.m +19 -0
- package/React/Base/RCTJavaScriptExecutor.h +1 -1
- package/React/Base/RCTJavaScriptLoader.h +1 -1
- package/React/Base/RCTJavaScriptLoader.mm +1 -1
- package/React/Base/RCTKeyCommands.h +1 -1
- package/React/Base/RCTKeyCommands.m +1 -1
- package/React/Base/RCTLog.h +1 -1
- package/React/Base/RCTLog.mm +1 -1
- package/React/Base/RCTManagedPointer.h +1 -1
- package/React/Base/RCTManagedPointer.mm +1 -1
- package/React/Base/RCTMockDef.h +61 -0
- package/React/Base/RCTModuleData.h +1 -1
- package/React/Base/RCTModuleData.mm +1 -1
- package/React/Base/RCTModuleMethod.h +1 -1
- package/React/Base/RCTModuleMethod.mm +1 -1
- package/React/Base/RCTModuleRegistry.m +1 -1
- package/React/Base/RCTMultipartDataTask.h +1 -1
- package/React/Base/RCTMultipartDataTask.m +1 -1
- package/React/Base/RCTMultipartStreamReader.h +1 -1
- package/React/Base/RCTMultipartStreamReader.m +1 -1
- package/React/Base/RCTNullability.h +2 -2
- package/React/Base/RCTPLTag.h +29 -0
- package/React/Base/RCTParserUtils.h +1 -1
- package/React/Base/RCTParserUtils.m +1 -1
- package/React/Base/RCTPerformanceLogger.h +2 -31
- package/React/Base/RCTPerformanceLogger.m +5 -35
- package/React/Base/RCTPerformanceLoggerLabels.h +12 -0
- package/React/Base/RCTPerformanceLoggerLabels.m +56 -0
- package/React/Base/RCTRedBoxSetEnabled.h +1 -1
- package/React/Base/RCTRedBoxSetEnabled.m +1 -1
- package/React/Base/RCTReloadCommand.h +1 -1
- package/React/Base/RCTReloadCommand.m +1 -1
- package/React/Base/RCTRootContentView.h +1 -1
- package/React/Base/RCTRootContentView.m +1 -1
- package/React/Base/RCTRootView.h +16 -1
- package/React/Base/RCTRootView.m +18 -4
- package/React/Base/RCTRootViewDelegate.h +1 -1
- package/React/Base/RCTRootViewInternal.h +2 -2
- package/React/Base/RCTTVRemoteHandler.h +26 -15
- package/React/Base/RCTTVRemoteHandler.m +128 -20
- package/React/Base/RCTTouchEvent.h +1 -1
- package/React/Base/RCTTouchEvent.m +1 -1
- package/React/Base/RCTTouchHandler.h +1 -1
- package/React/Base/RCTTouchHandler.m +2 -10
- package/React/Base/RCTURLRequestDelegate.h +1 -1
- package/React/Base/RCTURLRequestHandler.h +1 -1
- package/React/Base/RCTUtils.h +4 -1
- package/React/Base/RCTUtils.m +15 -8
- package/React/Base/RCTUtilsUIOverride.h +1 -1
- package/React/Base/RCTUtilsUIOverride.m +1 -1
- package/React/Base/RCTVersion.h +1 -1
- package/React/Base/RCTVersion.m +4 -4
- package/React/Base/RCTViewRegistry.m +1 -1
- package/React/Base/RCTWeakProxy.h +1 -1
- package/React/Base/RCTWeakProxy.m +1 -1
- package/React/Base/Surface/RCTSurface.h +1 -1
- package/React/Base/Surface/RCTSurface.mm +3 -5
- package/React/Base/Surface/RCTSurfaceDelegate.h +1 -1
- package/React/Base/Surface/RCTSurfaceProtocol.h +3 -4
- package/React/Base/Surface/RCTSurfaceRootShadowView.h +1 -1
- package/React/Base/Surface/RCTSurfaceRootShadowView.m +1 -1
- package/React/Base/Surface/RCTSurfaceRootShadowViewDelegate.h +1 -1
- package/React/Base/Surface/RCTSurfaceRootView.h +1 -1
- package/React/Base/Surface/RCTSurfaceRootView.mm +1 -1
- package/React/Base/Surface/RCTSurfaceStage.h +1 -1
- package/React/Base/Surface/RCTSurfaceStage.m +1 -1
- package/React/Base/Surface/RCTSurfaceView+Internal.h +1 -1
- package/React/Base/Surface/RCTSurfaceView.h +1 -1
- package/React/Base/Surface/RCTSurfaceView.mm +1 -1
- package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingProxyRootView.h +12 -1
- package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingProxyRootView.mm +40 -9
- package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingView.h +1 -1
- package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingView.mm +5 -3
- package/React/Base/Surface/SurfaceHostingView/RCTSurfaceSizeMeasureMode.h +1 -1
- package/React/Base/Surface/SurfaceHostingView/RCTSurfaceSizeMeasureMode.mm +1 -1
- package/React/CoreModules/CoreModulesPlugins.h +1 -1
- package/React/CoreModules/CoreModulesPlugins.mm +1 -1
- package/React/CoreModules/RCTAccessibilityManager+Internal.h +24 -0
- package/React/CoreModules/RCTAccessibilityManager.h +1 -1
- package/React/CoreModules/RCTAccessibilityManager.mm +41 -4
- package/React/CoreModules/RCTActionSheetManager.h +1 -1
- package/React/CoreModules/RCTActionSheetManager.mm +15 -6
- package/React/CoreModules/RCTAlertController.h +1 -1
- package/React/CoreModules/RCTAlertController.m +8 -2
- package/React/CoreModules/RCTAlertManager.h +1 -1
- package/React/CoreModules/RCTAlertManager.mm +1 -1
- package/React/CoreModules/RCTAppState.h +1 -1
- package/React/CoreModules/RCTAppState.mm +1 -1
- package/React/CoreModules/RCTAppearance.h +2 -1
- package/React/CoreModules/RCTAppearance.mm +6 -1
- package/React/CoreModules/RCTAsyncLocalStorage.h +1 -1
- package/React/CoreModules/RCTAsyncLocalStorage.mm +1 -1
- package/React/CoreModules/RCTClipboard.h +1 -1
- package/React/CoreModules/RCTClipboard.mm +1 -1
- package/React/CoreModules/RCTDevLoadingView.h +1 -1
- package/React/CoreModules/RCTDevLoadingView.mm +6 -11
- package/React/CoreModules/RCTDevMenu.h +1 -1
- package/React/CoreModules/RCTDevMenu.mm +4 -6
- package/React/CoreModules/RCTDevSettings.h +1 -1
- package/React/CoreModules/RCTDevSettings.mm +40 -19
- package/React/CoreModules/RCTDevSplitBundleLoader.h +1 -1
- package/React/CoreModules/RCTDevSplitBundleLoader.mm +2 -2
- package/React/CoreModules/RCTDeviceInfo.h +1 -1
- package/React/CoreModules/RCTDeviceInfo.mm +6 -5
- package/React/CoreModules/RCTEventDispatcher.h +1 -1
- package/React/CoreModules/RCTEventDispatcher.mm +6 -1
- package/React/CoreModules/RCTExceptionsManager.h +1 -1
- package/React/CoreModules/RCTExceptionsManager.mm +13 -26
- package/React/CoreModules/RCTFPSGraph.h +1 -1
- package/React/CoreModules/RCTFPSGraph.m +5 -5
- package/React/CoreModules/RCTI18nManager.h +1 -1
- package/React/CoreModules/RCTI18nManager.mm +1 -1
- package/React/CoreModules/RCTKeyboardObserver.h +1 -1
- package/React/CoreModules/RCTKeyboardObserver.mm +1 -1
- package/React/CoreModules/RCTLogBox.h +1 -1
- package/React/CoreModules/RCTLogBox.mm +2 -2
- package/React/CoreModules/RCTLogBoxView.h +1 -1
- package/React/CoreModules/RCTLogBoxView.mm +1 -1
- package/React/CoreModules/RCTPerfMonitor.mm +23 -6
- package/React/CoreModules/RCTPlatform.h +1 -1
- package/React/CoreModules/RCTPlatform.mm +1 -1
- package/React/CoreModules/RCTRedBox.h +1 -1
- package/React/CoreModules/RCTRedBox.mm +9 -10
- package/React/CoreModules/RCTSourceCode.h +1 -1
- package/React/CoreModules/RCTSourceCode.mm +1 -1
- package/React/CoreModules/RCTStatusBarManager.h +1 -1
- package/React/CoreModules/RCTStatusBarManager.mm +1 -1
- package/React/CoreModules/RCTTiming.h +1 -1
- package/React/CoreModules/RCTTiming.mm +1 -1
- package/React/CoreModules/RCTWebSocketExecutor.h +1 -1
- package/React/CoreModules/RCTWebSocketExecutor.mm +1 -1
- package/React/CoreModules/RCTWebSocketModule.h +1 -1
- package/React/CoreModules/RCTWebSocketModule.mm +1 -1
- package/React/CoreModules/React-CoreModules.podspec +3 -3
- package/React/CxxBridge/JSCExecutorFactory.h +1 -1
- package/React/CxxBridge/JSCExecutorFactory.mm +1 -1
- package/React/CxxBridge/NSDataBigString.h +1 -1
- package/React/CxxBridge/NSDataBigString.mm +1 -1
- package/React/CxxBridge/RCTCxxBridge.mm +22 -11
- package/React/CxxBridge/RCTCxxBridgeDelegate.h +1 -1
- package/React/CxxBridge/RCTJSIExecutorRuntimeInstaller.h +1 -1
- package/React/CxxBridge/RCTJSIExecutorRuntimeInstaller.mm +4 -3
- package/React/CxxBridge/RCTMessageThread.h +1 -1
- package/React/CxxBridge/RCTMessageThread.mm +1 -1
- package/React/CxxBridge/RCTObjcExecutor.h +1 -1
- package/React/CxxBridge/RCTObjcExecutor.mm +1 -1
- package/React/CxxLogUtils/RCTDefaultCxxLogFunction.h +18 -0
- package/React/CxxLogUtils/RCTDefaultCxxLogFunction.mm +39 -0
- package/React/CxxModule/DispatchMessageQueueThread.h +1 -1
- package/React/CxxModule/RCTCxxMethod.h +1 -1
- package/React/CxxModule/RCTCxxMethod.mm +1 -1
- package/React/CxxModule/RCTCxxModule.h +1 -1
- package/React/CxxModule/RCTCxxModule.mm +1 -1
- package/React/CxxModule/RCTCxxUtils.h +1 -1
- package/React/CxxModule/RCTCxxUtils.mm +1 -1
- package/React/CxxModule/RCTNativeModule.h +1 -1
- package/React/CxxModule/RCTNativeModule.mm +1 -1
- package/React/CxxUtils/RCTFollyConvert.h +1 -1
- package/React/CxxUtils/RCTFollyConvert.mm +1 -1
- package/React/DevSupport/RCTDevLoadingViewProtocol.h +1 -1
- package/React/DevSupport/RCTDevLoadingViewSetEnabled.h +1 -1
- package/React/DevSupport/RCTDevLoadingViewSetEnabled.m +1 -1
- package/React/DevSupport/RCTInspectorDevServerHelper.h +1 -1
- package/React/DevSupport/RCTInspectorDevServerHelper.mm +1 -1
- package/React/DevSupport/RCTPackagerClient.h +1 -1
- package/React/DevSupport/RCTPackagerClient.m +1 -1
- package/React/DevSupport/RCTPackagerConnection.h +4 -1
- package/React/DevSupport/RCTPackagerConnection.mm +10 -6
- package/React/FBReactNativeSpec/FBReactNativeSpec.podspec +13 -5
- package/React/Fabric/Mounting/ComponentViews/ActivityIndicator/RCTActivityIndicatorViewComponentView.h +1 -1
- package/React/Fabric/Mounting/ComponentViews/ActivityIndicator/RCTActivityIndicatorViewComponentView.mm +1 -1
- package/React/Fabric/Mounting/ComponentViews/Image/RCTImageComponentView.h +1 -1
- package/React/Fabric/Mounting/ComponentViews/Image/RCTImageComponentView.mm +1 -1
- package/React/Fabric/Mounting/ComponentViews/InputAccessory/RCTInputAccessoryComponentView.h +1 -1
- package/React/Fabric/Mounting/ComponentViews/InputAccessory/RCTInputAccessoryComponentView.mm +1 -1
- package/React/Fabric/Mounting/ComponentViews/InputAccessory/RCTInputAccessoryContentView.h +1 -1
- package/React/Fabric/Mounting/ComponentViews/InputAccessory/RCTInputAccessoryContentView.mm +7 -16
- package/React/Fabric/Mounting/ComponentViews/LegacyViewManagerInterop/RCTLegacyViewManagerInteropComponentView.h +1 -1
- package/React/Fabric/Mounting/ComponentViews/LegacyViewManagerInterop/RCTLegacyViewManagerInteropComponentView.mm +1 -1
- package/React/Fabric/Mounting/ComponentViews/LegacyViewManagerInterop/RCTLegacyViewManagerInteropCoordinatorAdapter.h +1 -1
- package/React/Fabric/Mounting/ComponentViews/LegacyViewManagerInterop/RCTLegacyViewManagerInteropCoordinatorAdapter.mm +1 -1
- package/React/Fabric/Mounting/ComponentViews/Modal/RCTFabricModalHostViewController.h +1 -1
- package/React/Fabric/Mounting/ComponentViews/Modal/RCTFabricModalHostViewController.mm +1 -1
- package/React/Fabric/Mounting/ComponentViews/Modal/RCTModalHostViewComponentView.h +1 -1
- package/React/Fabric/Mounting/ComponentViews/Modal/RCTModalHostViewComponentView.mm +1 -4
- package/React/Fabric/Mounting/ComponentViews/RCTFabricComponentsPlugins.h +2 -1
- package/React/Fabric/Mounting/ComponentViews/RCTFabricComponentsPlugins.mm +2 -2
- package/React/Fabric/Mounting/ComponentViews/Root/RCTRootComponentView.h +1 -1
- package/React/Fabric/Mounting/ComponentViews/Root/RCTRootComponentView.mm +2 -2
- package/React/Fabric/Mounting/ComponentViews/SafeAreaView/RCTSafeAreaViewComponentView.h +1 -1
- package/React/Fabric/Mounting/ComponentViews/SafeAreaView/RCTSafeAreaViewComponentView.mm +1 -1
- package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTEnhancedScrollView.h +1 -1
- package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTEnhancedScrollView.mm +6 -8
- package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTPullToRefreshViewComponentView.h +1 -1
- package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTPullToRefreshViewComponentView.mm +15 -2
- package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.h +2 -2
- package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +30 -94
- package/React/Fabric/Mounting/ComponentViews/Slider/RCTSliderComponentView.h +1 -1
- package/React/Fabric/Mounting/ComponentViews/Slider/RCTSliderComponentView.mm +21 -10
- package/React/Fabric/Mounting/ComponentViews/Switch/RCTSwitchComponentView.h +1 -1
- package/React/Fabric/Mounting/ComponentViews/Switch/RCTSwitchComponentView.mm +11 -1
- package/React/Fabric/Mounting/ComponentViews/Text/RCTAccessibilityElement.h +1 -1
- package/React/Fabric/Mounting/ComponentViews/Text/RCTAccessibilityElement.mm +1 -1
- package/React/Fabric/Mounting/ComponentViews/Text/RCTParagraphComponentAccessibilityProvider.h +1 -1
- package/React/Fabric/Mounting/ComponentViews/Text/RCTParagraphComponentAccessibilityProvider.mm +1 -1
- package/React/Fabric/Mounting/ComponentViews/Text/RCTParagraphComponentView.h +1 -1
- package/React/Fabric/Mounting/ComponentViews/Text/RCTParagraphComponentView.mm +1 -1
- package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.h +1 -1
- package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +50 -11
- package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputNativeCommands.h +1 -1
- package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputUtils.h +4 -4
- package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputUtils.mm +5 -8
- package/React/Fabric/Mounting/ComponentViews/UnimplementedComponent/RCTUnimplementedNativeComponentView.h +1 -1
- package/React/Fabric/Mounting/ComponentViews/UnimplementedComponent/RCTUnimplementedNativeComponentView.mm +1 -1
- package/React/Fabric/Mounting/ComponentViews/UnimplementedView/RCTUnimplementedViewComponentView.h +1 -1
- package/React/Fabric/Mounting/ComponentViews/UnimplementedView/RCTUnimplementedViewComponentView.mm +1 -1
- package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.h +7 -1
- package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +10 -13
- package/React/Fabric/Mounting/RCTComponentViewClassDescriptor.h +1 -1
- package/React/Fabric/Mounting/RCTComponentViewDescriptor.h +1 -1
- package/React/Fabric/Mounting/RCTComponentViewFactory.h +1 -1
- package/React/Fabric/Mounting/RCTComponentViewFactory.mm +13 -12
- package/React/Fabric/Mounting/RCTComponentViewProtocol.h +1 -1
- package/React/Fabric/Mounting/RCTComponentViewRegistry.h +1 -1
- package/React/Fabric/Mounting/RCTComponentViewRegistry.mm +4 -4
- package/React/Fabric/Mounting/RCTMountingManager.h +1 -1
- package/React/Fabric/Mounting/RCTMountingManager.mm +18 -4
- package/React/Fabric/Mounting/RCTMountingManagerDelegate.h +1 -1
- package/React/Fabric/Mounting/RCTMountingTransactionObserverCoordinator.h +5 -5
- package/React/Fabric/Mounting/RCTMountingTransactionObserverCoordinator.mm +1 -1
- package/React/Fabric/Mounting/RCTMountingTransactionObserving.h +1 -1
- package/React/Fabric/Mounting/UIView+ComponentViewProtocol.h +1 -1
- package/React/Fabric/Mounting/UIView+ComponentViewProtocol.mm +1 -1
- package/React/Fabric/RCTConversions.h +1 -1
- package/React/Fabric/RCTImageResponseDelegate.h +1 -1
- package/React/Fabric/RCTImageResponseObserverProxy.h +1 -1
- package/React/Fabric/RCTImageResponseObserverProxy.mm +1 -1
- package/React/Fabric/RCTLocalizationProvider.h +1 -1
- package/React/Fabric/RCTLocalizationProvider.mm +1 -1
- package/React/Fabric/RCTPrimitives.h +1 -1
- package/React/Fabric/RCTScheduler.h +2 -2
- package/React/Fabric/RCTScheduler.mm +16 -8
- package/React/Fabric/RCTSurfacePresenter.h +1 -1
- package/React/Fabric/RCTSurfacePresenter.mm +10 -22
- package/React/Fabric/RCTSurfacePresenterBridgeAdapter.h +1 -1
- package/React/Fabric/RCTSurfacePresenterBridgeAdapter.mm +1 -1
- package/React/Fabric/RCTSurfaceRegistry.h +1 -1
- package/React/Fabric/RCTSurfaceRegistry.mm +7 -7
- package/React/Fabric/RCTSurfaceTouchHandler.h +1 -1
- package/React/Fabric/RCTSurfaceTouchHandler.mm +7 -21
- package/React/Fabric/RCTTouchableComponentViewProtocol.h +1 -1
- package/React/Fabric/Surface/RCTFabricSurface.h +10 -25
- package/React/Fabric/Surface/RCTFabricSurface.mm +8 -12
- package/React/Fabric/Surface/RCTFabricSurfaceHostingProxyRootView.h +1 -1
- package/React/Fabric/Surface/RCTFabricSurfaceHostingProxyRootView.mm +1 -1
- package/React/Fabric/Utils/PlatformRunLoopObserver.h +1 -1
- package/React/Fabric/Utils/PlatformRunLoopObserver.mm +1 -1
- package/React/Fabric/Utils/RCTGenericDelegateSplitter.h +1 -1
- package/React/Fabric/Utils/RCTGenericDelegateSplitter.mm +1 -1
- package/React/Inspector/RCTInspector.h +1 -1
- package/React/Inspector/RCTInspector.mm +1 -1
- package/React/Inspector/RCTInspectorPackagerConnection.h +1 -1
- package/React/Inspector/RCTInspectorPackagerConnection.m +1 -1
- package/React/Modules/RCTEventEmitter.h +1 -1
- package/React/Modules/RCTEventEmitter.m +1 -1
- package/React/Modules/RCTI18nUtil.h +7 -15
- package/React/Modules/RCTI18nUtil.m +48 -2
- package/React/Modules/RCTLayoutAnimation.h +1 -1
- package/React/Modules/RCTLayoutAnimation.m +1 -1
- package/React/Modules/RCTLayoutAnimationGroup.h +1 -1
- package/React/Modules/RCTLayoutAnimationGroup.m +1 -1
- package/React/Modules/RCTRedBoxExtraDataViewController.h +1 -1
- package/React/Modules/RCTRedBoxExtraDataViewController.m +1 -1
- package/React/Modules/RCTSurfacePresenterStub.h +1 -1
- package/React/Modules/RCTSurfacePresenterStub.m +1 -1
- package/React/Modules/RCTTVMenuBridge.m +12 -0
- package/React/Modules/RCTUIManager.h +1 -1
- package/React/Modules/RCTUIManager.m +1 -1
- package/React/Modules/RCTUIManagerObserverCoordinator.h +1 -1
- package/React/Modules/RCTUIManagerObserverCoordinator.mm +1 -1
- package/React/Modules/RCTUIManagerUtils.h +1 -1
- package/React/Modules/RCTUIManagerUtils.m +1 -1
- package/React/Profiler/RCTMacros.h +1 -1
- package/React/Profiler/RCTProfile.h +1 -1
- package/React/Profiler/RCTProfile.m +1 -1
- package/React/Profiler/RCTProfileTrampoline-arm.S +1 -1
- package/React/Profiler/RCTProfileTrampoline-arm64.S +1 -1
- package/React/Profiler/RCTProfileTrampoline-i386.S +1 -1
- package/React/Profiler/RCTProfileTrampoline-x86_64.S +1 -1
- package/React/React-RCTFabric.podspec +2 -6
- package/React/Tests/Mounting/RCTComponentViewRegistryTests.mm +1 -1
- package/React/Tests/Text/RCTParagraphComponentViewTests.mm +8 -8
- package/React/UIUtils/RCTUIUtils.h +1 -1
- package/React/UIUtils/RCTUIUtils.m +1 -1
- package/React/Views/RCTActivityIndicatorView.h +1 -1
- package/React/Views/RCTActivityIndicatorView.m +1 -1
- package/React/Views/RCTActivityIndicatorViewManager.h +1 -1
- package/React/Views/RCTActivityIndicatorViewManager.m +1 -1
- package/React/Views/RCTAnimationType.h +1 -1
- package/React/Views/RCTAutoInsetsProtocol.h +1 -1
- package/React/Views/RCTBorderDrawing.h +1 -1
- package/React/Views/RCTBorderDrawing.m +1 -1
- package/React/Views/RCTBorderStyle.h +1 -1
- package/React/Views/RCTComponent.h +1 -1
- package/React/Views/RCTComponentData.h +1 -1
- package/React/Views/RCTComponentData.m +11 -3
- package/React/Views/RCTConvert+CoreLocation.h +1 -1
- package/React/Views/RCTConvert+CoreLocation.m +1 -1
- package/React/Views/RCTConvert+Transform.h +1 -1
- package/React/Views/RCTConvert+Transform.m +1 -1
- package/React/Views/RCTDatePicker.h +1 -1
- package/React/Views/RCTDatePicker.m +1 -1
- package/React/Views/RCTDatePickerManager.h +1 -1
- package/React/Views/RCTDatePickerManager.m +1 -1
- package/React/Views/RCTFont.h +1 -1
- package/React/Views/RCTFont.mm +65 -47
- package/React/Views/RCTLayout.h +1 -1
- package/React/Views/RCTLayout.m +1 -1
- package/React/Views/RCTMaskedView.h +1 -1
- package/React/Views/RCTMaskedView.m +1 -1
- package/React/Views/RCTMaskedViewManager.h +1 -1
- package/React/Views/RCTMaskedViewManager.m +1 -1
- package/React/Views/RCTModalHostView.h +6 -1
- package/React/Views/RCTModalHostView.m +1 -1
- package/React/Views/RCTModalHostViewController.h +1 -1
- package/React/Views/RCTModalHostViewController.m +1 -1
- package/React/Views/RCTModalHostViewManager.h +1 -1
- package/React/Views/RCTModalHostViewManager.m +4 -1
- package/React/Views/RCTModalManager.h +1 -1
- package/React/Views/RCTModalManager.m +1 -1
- package/React/Views/RCTPointerEvents.h +1 -1
- package/React/Views/RCTProgressViewManager.h +1 -1
- package/React/Views/RCTProgressViewManager.m +1 -1
- package/React/Views/RCTRootShadowView.h +1 -1
- package/React/Views/RCTRootShadowView.m +1 -1
- package/React/Views/RCTSegmentedControl.h +1 -1
- package/React/Views/RCTSegmentedControl.m +1 -1
- package/React/Views/RCTSegmentedControlManager.h +1 -1
- package/React/Views/RCTSegmentedControlManager.m +1 -1
- package/React/Views/RCTShadowView+Internal.h +1 -1
- package/React/Views/RCTShadowView+Internal.m +1 -1
- package/React/Views/RCTShadowView+Layout.h +1 -1
- package/React/Views/RCTShadowView+Layout.m +1 -1
- package/React/Views/RCTShadowView.h +1 -1
- package/React/Views/RCTShadowView.m +1 -1
- package/React/Views/RCTSlider.h +1 -1
- package/React/Views/RCTSlider.m +1 -1
- package/React/Views/RCTSliderManager.h +1 -1
- package/React/Views/RCTSliderManager.m +2 -1
- package/React/Views/RCTSwitch.h +1 -1
- package/React/Views/RCTSwitch.m +1 -1
- package/React/Views/RCTSwitchManager.h +1 -1
- package/React/Views/RCTSwitchManager.m +1 -1
- package/React/Views/RCTTextDecorationLineType.h +1 -1
- package/React/Views/RCTView.h +1 -9
- package/React/Views/RCTView.m +6 -24
- package/React/Views/RCTViewManager.h +1 -1
- package/React/Views/RCTViewManager.m +8 -6
- package/React/Views/RCTViewUtils.h +18 -0
- package/React/Views/RCTViewUtils.m +22 -0
- package/React/Views/RCTWeakViewHolder.h +1 -1
- package/React/Views/RCTWrapperViewController.h +1 -1
- package/React/Views/RCTWrapperViewController.m +1 -1
- package/React/Views/RefreshControl/RCTRefreshControl.h +1 -1
- package/React/Views/RefreshControl/RCTRefreshControl.m +1 -1
- package/React/Views/RefreshControl/RCTRefreshControlManager.h +1 -1
- package/React/Views/RefreshControl/RCTRefreshControlManager.m +1 -1
- package/React/Views/RefreshControl/RCTRefreshableProtocol.h +1 -1
- package/React/Views/SafeAreaView/RCTSafeAreaShadowView.h +1 -1
- package/React/Views/SafeAreaView/RCTSafeAreaShadowView.m +1 -1
- package/React/Views/SafeAreaView/RCTSafeAreaView.h +1 -1
- package/React/Views/SafeAreaView/RCTSafeAreaView.m +2 -6
- package/React/Views/SafeAreaView/RCTSafeAreaViewLocalData.h +1 -1
- package/React/Views/SafeAreaView/RCTSafeAreaViewLocalData.m +1 -1
- package/React/Views/SafeAreaView/RCTSafeAreaViewManager.h +1 -1
- package/React/Views/SafeAreaView/RCTSafeAreaViewManager.m +1 -1
- package/React/Views/ScrollView/RCTScrollContentShadowView.h +1 -1
- package/React/Views/ScrollView/RCTScrollContentShadowView.m +1 -1
- package/React/Views/ScrollView/RCTScrollContentView.h +1 -1
- package/React/Views/ScrollView/RCTScrollContentView.m +1 -1
- package/React/Views/ScrollView/RCTScrollContentViewManager.h +1 -1
- package/React/Views/ScrollView/RCTScrollContentViewManager.m +1 -1
- package/React/Views/ScrollView/RCTScrollEvent.h +1 -1
- package/React/Views/ScrollView/RCTScrollEvent.m +1 -1
- package/React/Views/ScrollView/RCTScrollView.h +2 -1
- package/React/Views/ScrollView/RCTScrollView.m +124 -44
- package/React/Views/ScrollView/RCTScrollViewManager.h +1 -1
- package/React/Views/ScrollView/RCTScrollViewManager.m +2 -8
- package/React/Views/ScrollView/RCTScrollableProtocol.h +1 -1
- package/React/Views/UIView+Private.h +1 -1
- package/React/Views/UIView+React.h +1 -1
- package/React/Views/UIView+React.m +5 -9
- package/React/third-party.xcconfig +1 -1
- package/React-Core.podspec +5 -4
- package/React.podspec +1 -1
- package/ReactAndroid/Android-prebuilt.mk +36 -3
- package/ReactAndroid/DevExperience.md +1 -1
- package/ReactAndroid/build.gradle +135 -235
- package/ReactAndroid/gradle.properties +3 -3
- package/ReactAndroid/proguard-rules.pro +5 -7
- package/ReactAndroid/src/androidTest/AndroidManifest.xml +1 -0
- package/ReactAndroid/src/androidTest/buck-runner/AndroidManifest.xml +2 -1
- package/ReactAndroid/src/androidTest/java/com/facebook/react/bridge/ArgumentsTest.java +1 -1
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/AbstractScrollViewTestCase.java +1 -1
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/AssertModule.java +1 -1
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/FabricUIManagerFactory.java +1 -1
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/FakeAsyncLocalStorage.java +1 -1
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/FakeWebSocketModule.java +1 -1
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/InstanceSpecForTestPackage.java +1 -1
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/IntRecordingModule.java +1 -1
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/JSIntegrationTestChecker.java +1 -1
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/MultipleFailureException.java +1 -1
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactAppInstrumentationTestCase.java +1 -1
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactAppTestActivity.java +1 -1
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactInstanceSpecForTest.java +1 -1
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactInstrumentationTest.java +1 -1
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactIntegrationTestCase.java +1 -1
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactSettingsForTests.java +1 -1
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactTestAppShell.java +1 -1
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactTestApplicationImpl.java +1 -1
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactTestFactory.java +1 -1
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactTestHelper.java +1 -1
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ScreenshotingFrameLayout.java +1 -1
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/SingleTouchGestureGenerator.java +1 -1
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/StringRecordingModule.java +1 -1
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/idledetection/IdleWaiter.java +1 -1
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/idledetection/ReactBridgeIdleSignaler.java +1 -1
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/idledetection/ReactIdleDetectionUtil.java +1 -1
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/network/NetworkRecordingModuleMock.java +1 -1
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/rule/ReactNativeTestRule.java +3 -2
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/AnimatedTransformTest.java +1 -1
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/BUCK +0 -1
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/CatalystMeasureLayoutTest.java +1 -1
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/CatalystMultitouchHandlingTestCase.java +1 -1
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/CatalystNativeJSToJavaParametersTestCase.java +1 -1
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/CatalystNativeJavaToJSArgumentsTestCase.java +1 -1
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/CatalystNativeJavaToJSReturnValuesTestCase.java +1 -1
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/CatalystSubviewsClippingTestCase.java +1 -1
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/CatalystTouchBubblingTestCase.java +1 -1
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/CatalystUIManagerTestCase.java +1 -1
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/ImageErrorTestCase.java +1 -1
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/ImageOverlayColorTestCase.java +1 -1
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/InitialPropsTestCase.java +1 -1
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/JSLocaleTest.java +1 -1
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/JSResponderTestCase.java +1 -1
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/LayoutEventsTestCase.java +1 -1
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/NativeIdTestCase.java +1 -1
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/ProgressBarTestCase.java +1 -1
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/ReactHorizontalScrollViewTestCase.java +1 -1
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/ReactScrollViewTestCase.java +1 -1
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/ReactSwipeRefreshLayoutTestCase.java +1 -1
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/ShareTestCase.java +1 -1
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/TestIdTestCase.java +1 -1
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/TextInputTestCase.java +1 -1
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/ViewRenderingTestCase.java +1 -1
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/core/BUCK +1 -1
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/core/ReactInstanceManagerTest.java +1 -1
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/core/ReactRootViewTest.java +2 -2
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/core/WritableNativeMapTest.java +2 -2
- package/ReactAndroid/src/androidTest/js/AnimatedTransformTestModule.js +1 -1
- package/ReactAndroid/src/androidTest/js/Asserts.js +3 -3
- package/ReactAndroid/src/androidTest/js/CatalystRootViewTestModule.js +2 -2
- package/ReactAndroid/src/androidTest/js/ImageErrorTestApp.js +1 -1
- package/ReactAndroid/src/androidTest/js/ImageOverlayColorTestApp.js +1 -1
- package/ReactAndroid/src/androidTest/js/InitialPropsTestApp.js +1 -1
- package/ReactAndroid/src/androidTest/js/JSResponderTestApp.js +1 -1
- package/ReactAndroid/src/androidTest/js/LayoutEventsTestApp.js +1 -1
- package/ReactAndroid/src/androidTest/js/MeasureLayoutTestModule.js +80 -77
- package/ReactAndroid/src/androidTest/js/MultitouchHandlingTestAppModule.js +1 -1
- package/ReactAndroid/src/androidTest/js/NativeIdTestModule.js +1 -1
- package/ReactAndroid/src/androidTest/js/ProgressBarTestModule.js +2 -2
- package/ReactAndroid/src/androidTest/js/ScrollViewTestModule.js +8 -8
- package/ReactAndroid/src/androidTest/js/ShareTestModule.js +2 -2
- package/ReactAndroid/src/androidTest/js/SubviewsClippingTestModule.js +7 -7
- package/ReactAndroid/src/androidTest/js/SwipeRefreshLayoutTestModule.js +3 -3
- package/ReactAndroid/src/androidTest/js/TestBundle.js +1 -8
- package/ReactAndroid/src/androidTest/js/TestIdTestModule.js +1 -1
- package/ReactAndroid/src/androidTest/js/TestJSLocaleModule.js +3 -3
- package/ReactAndroid/src/androidTest/js/TestJSToJavaParametersModule.js +18 -18
- package/ReactAndroid/src/androidTest/js/TestJavaToJSArgumentsModule.js +11 -11
- package/ReactAndroid/src/androidTest/js/TestJavaToJSReturnValuesModule.js +3 -3
- package/ReactAndroid/src/androidTest/js/TextInputTestModule.js +3 -9
- package/ReactAndroid/src/androidTest/js/TouchBubblingTestAppModule.js +1 -1
- package/ReactAndroid/src/androidTest/js/UIManagerTestModule.js +1 -1
- package/ReactAndroid/src/androidTest/js/ViewRenderingTestModule.js +6 -6
- package/ReactAndroid/src/main/java/com/facebook/debug/debugoverlay/model/DebugOverlayTag.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/debug/holder/NoopPrinter.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/debug/holder/Printer.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/debug/holder/PrinterHolder.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/debug/tags/ReactDebugOverlayTags.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/hermes/instrumentation/Android.mk +8 -2
- package/ReactAndroid/src/main/java/com/facebook/hermes/instrumentation/BUCK +3 -1
- package/ReactAndroid/src/main/java/com/facebook/hermes/instrumentation/HermesMemoryDumper.h +1 -1
- package/ReactAndroid/src/main/java/com/facebook/hermes/instrumentation/HermesMemoryDumper.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/hermes/instrumentation/HermesSamplingProfiler.cpp +1 -1
- package/ReactAndroid/src/main/java/com/facebook/hermes/instrumentation/HermesSamplingProfiler.h +1 -1
- package/ReactAndroid/src/main/java/com/facebook/hermes/instrumentation/HermesSamplingProfiler.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/hermes/instrumentation/OnLoad.cpp +1 -1
- package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/Android.mk +16 -4
- package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/HermesExecutor.java +15 -9
- package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/HermesExecutorFactory.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/OnLoad.cpp +1 -1
- package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/RuntimeConfig.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/fbjni.pro +1 -1
- package/ReactAndroid/src/main/java/com/facebook/hermes/unicode/AndroidUnicodeUtils.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/perftest/PerfTestConfig.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/proguard/annotations/KeepGettersAndSetters.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/proguard/annotations/proguard_annotations.pro +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/BUCK +0 -1
- package/ReactAndroid/src/main/java/com/facebook/react/CompositeReactPackage.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/CoreModulesPackage.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/DebugCorePackage.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/EagerModuleProvider.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/HeadlessJsTaskService.java +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/LazyReactPackage.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/MemoryPressureRouter.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/NativeModuleRegistryBuilder.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/ReactActivity.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/ReactActivityDelegate.java +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/ReactApplication.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/ReactDelegate.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/ReactFragment.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceEventListener.java +23 -0
- package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +99 -48
- package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManagerBuilder.java +51 -4
- package/ReactAndroid/src/main/java/com/facebook/react/ReactInstancePackage.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/ReactNativeHost.java +32 -1
- package/ReactAndroid/src/main/java/com/facebook/react/ReactPackage.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/ReactPackageHelper.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/ReactPackageLogger.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/ReactPackageTurboModuleManagerDelegate.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java +86 -15
- package/ReactAndroid/src/main/java/com/facebook/react/TurboReactPackage.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/ViewManagerOnDemandReactPackage.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/animated/AdditionAnimatedNode.java +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/animated/AnimatedNode.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/animated/AnimatedNodeValueListener.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/animated/AnimationDriver.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/animated/DecayAnimation.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/animated/DiffClampAnimatedNode.java +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/animated/DivisionAnimatedNode.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/animated/EventAnimationDriver.java +40 -4
- package/ReactAndroid/src/main/java/com/facebook/react/animated/FrameBasedAnimationDriver.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/animated/InterpolationAnimatedNode.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/animated/ModulusAnimatedNode.java +3 -3
- package/ReactAndroid/src/main/java/com/facebook/react/animated/MultiplicationAnimatedNode.java +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedModule.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedNodesManager.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/animated/PropsAnimatedNode.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/animated/SpringAnimation.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/animated/StyleAnimatedNode.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/animated/SubtractionAnimatedNode.java +4 -4
- package/ReactAndroid/src/main/java/com/facebook/react/animated/TrackingAnimatedNode.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/animated/TransformAnimatedNode.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/animated/ValueAnimatedNode.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ActivityEventListener.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/Arguments.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/AssertionException.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/BackgroundExecutor.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/BaseActivityEventListener.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/BaseJavaModule.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/Callback.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/CallbackImpl.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstance.java +3 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstanceImpl.java +14 -3
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ColorPropConverter.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ContextBaseJavaModule.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/CxxCallbackImpl.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/CxxModuleWrapper.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/CxxModuleWrapperBase.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/DefaultNativeModuleCallExceptionHandler.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/Dynamic.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/DynamicFromArray.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/DynamicFromMap.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/DynamicFromObject.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/FallbackJSBundleLoader.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/GuardedAsyncTask.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/GuardedResultAsyncTask.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/GuardedRunnable.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/Inspector.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/InvalidIteratorException.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSApplicationCausedNativeException.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSApplicationIllegalArgumentException.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSBundleLoader.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSBundleLoaderDelegate.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSCJavaScriptExecutor.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSCJavaScriptExecutorFactory.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSIModule.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSIModuleHolder.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSIModulePackage.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSIModuleProvider.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSIModuleRegistry.java +1 -5
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSIModuleSpec.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSIModuleType.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSInstance.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaJSExecutor.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaMethodWrapper.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaModuleWrapper.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaOnlyArray.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaOnlyMap.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaScriptContextHolder.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaScriptExecutor.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaScriptExecutorFactory.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaScriptModule.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaScriptModuleRegistry.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/JsonWriterHelper.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/LifecycleEventListener.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/MemoryPressure.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/MemoryPressureListener.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ModuleHolder.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ModuleSpec.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeArgumentsParseException.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeArray.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeArrayInterface.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeMap.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeModule.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeModuleCallExceptionHandler.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeModuleRegistry.java +1 -4
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/NoSuchKeyException.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/NotThreadSafeBridgeIdleDebugListener.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ObjectAlreadyConsumedException.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/OnBatchCompleteListener.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/PerformanceCounter.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/Promise.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/PromiseImpl.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ProxyJavaScriptExecutor.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactApplicationContext.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactBridge.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactCallback.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java +4 -9
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContextBaseJavaModule.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactCxxErrorHandler.java +39 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactIgnorableMountingException.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactMarker.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactMarkerConstants.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactMethod.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactModuleWithSpec.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactNoCrashSoftException.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactSoftExceptionLogger.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReadableArray.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReadableMap.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReadableMapKeySetIterator.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReadableNativeArray.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReadableNativeMap.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReadableType.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/RetryableMountingLayerException.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/RuntimeExecutor.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/RuntimeScheduler.java +21 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/SoftAssertions.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/Systrace.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/UIManager.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/UIManagerListener.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/UiThreadUtil.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/UnexpectedNativeTypeException.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/WindowFocusChangeListener.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/WritableArray.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/WritableMap.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/WritableNativeArray.java +7 -7
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/WritableNativeMap.java +7 -7
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/bridge.pro +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/MessageQueueThread.java +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/MessageQueueThreadHandler.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/MessageQueueThreadImpl.java +4 -2
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/MessageQueueThreadPerfStats.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/MessageQueueThreadSpec.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/NativeRunnable.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/QueueThreadExceptionHandler.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/ReactQueueConfiguration.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/ReactQueueConfigurationImpl.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/ReactQueueConfigurationSpec.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/reactnative.pro +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/common/ArrayUtils.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/common/BUCK +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/common/ClearableSynchronizedPool.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/common/DebugServerException.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/common/HasJavascriptExceptionMetadata.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/common/JavascriptException.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/common/LifecycleState.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/common/LongArray.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/common/MapBuilder.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/common/ReactConstants.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/common/ShakeDetector.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/common/SingleThreadAsserter.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/common/StandardCharsets.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/common/SurfaceDelegate.java +40 -0
- package/ReactAndroid/src/main/java/com/facebook/react/common/SurfaceDelegateFactory.java +24 -0
- package/ReactAndroid/src/main/java/com/facebook/react/common/SystemClock.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/common/annotations/VisibleForTesting.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/common/build/ReactBuildConfig.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/common/futures/SimpleSettableFuture.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/ReadableMapBuffer.java +120 -79
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/ReadableMapBufferSoLoader.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/Android.mk +13 -2
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/BUCK +0 -6
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/react/common/mapbuffer/OnLoad.cpp +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/react/common/mapbuffer/ReadableMapBuffer.cpp +8 -36
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/react/common/mapbuffer/ReadableMapBuffer.h +6 -19
- package/ReactAndroid/src/main/java/com/facebook/react/common/network/OkHttpCallUtil.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/config/ReactFeatureFlags.java +25 -10
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BUCK +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BridgeDevSupportManager.java +8 -9
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BundleDownloader.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DebugOverlayController.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DefaultDevSupportManagerFactory.java +102 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevInternalSettings.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevLoadingViewController.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevServerHelper.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSettingsActivity.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.java +36 -12
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerFactory.java +6 -73
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DisabledDevSupportManager.java +13 -1
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DoubleTapReloadRecognizer.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/FpsView.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/HMRClient.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/InspectorPackagerConnection.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/JSCHeapCapture.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/JSDebuggerWebSocketClient.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/JSDevSupport.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/JSException.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LogBoxDialog.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LogBoxDialogSurfaceDelegate.java +92 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LogBoxModule.java +28 -43
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/MultipartStreamReader.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/PackagerStatusCheck.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/ReactInstanceDevHelper.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/RedBoxDialog.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/RedBoxHandler.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/StackTraceHelper.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/ViewHierarchyUtil.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/WebsocketJavaScriptExecutor.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/WindowOverlayCompat.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/BundleLoadCallback.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevBundleDownloadListener.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevOptionHandler.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevSplitBundleCallback.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevSupportManager.java +15 -1
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/ErrorCustomizer.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/ErrorType.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/PackagerStatusCallback.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/StackFrame.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/Binding.java +6 -5
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/ComponentFactory.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/CoreComponentsRegistry.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/EmptyReactNativeConfig.java +35 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricComponents.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricJSIModuleProvider.java +5 -9
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricSoLoader.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +74 -16
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/GuardedFrameCallback.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/ReactNativeConfig.java +11 -2
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/StateWrapperImpl.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/SurfaceHandler.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/SurfaceHandlerBinding.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventBeatManager.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventEmitterWrapper.java +9 -4
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/FabricEventEmitter.java +14 -119
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Android.mk +45 -3
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/AsyncEventBeat.h +3 -3
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/AsyncEventBeatV2.cpp +69 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/AsyncEventBeatV2.h +40 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/BUCK +3 -6
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Binding.cpp +193 -903
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Binding.h +24 -66
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/ComponentFactory.cpp +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/ComponentFactory.h +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/CoreComponentsRegistry.cpp +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/CoreComponentsRegistry.h +5 -5
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/EventBeatManager.cpp +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/EventBeatManager.h +3 -2
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/EventEmitterWrapper.cpp +22 -5
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/EventEmitterWrapper.h +5 -3
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/FabricMountItem.cpp +54 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/FabricMountItem.h +78 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/FabricMountingManager.cpp +962 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/FabricMountingManager.h +83 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/JBackgroundExecutor.cpp +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/JBackgroundExecutor.h +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/OnLoad.cpp +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/ReactNativeConfigHolder.cpp +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/ReactNativeConfigHolder.h +2 -3
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/StateWrapperImpl.cpp +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/StateWrapperImpl.h +1 -5
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/SurfaceHandlerBinding.cpp +4 -9
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/SurfaceHandlerBinding.h +2 -5
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/LayoutMetricsConversions.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountItemDispatcher.java +10 -2
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountingManager.java +12 -13
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.java +56 -14
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/DispatchCommandMountItem.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/DispatchIntCommandMountItem.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/DispatchStringCommandMountItem.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/IntBufferBatchMountItem.java +31 -3
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/MountItem.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/PreAllocateViewMountItem.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/SendAccessibilityEvent.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/jscexecutor/Android.mk +7 -2
- package/ReactAndroid/src/main/java/com/facebook/react/jscexecutor/BUCK +2 -1
- package/ReactAndroid/src/main/java/com/facebook/react/jscexecutor/JSCExecutor.java +7 -2
- package/ReactAndroid/src/main/java/com/facebook/react/jscexecutor/JSCExecutorFactory.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/jscexecutor/OnLoad.cpp +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/jstasks/HeadlessJsTaskConfig.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/jstasks/HeadlessJsTaskContext.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/jstasks/HeadlessJsTaskEventListener.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/jstasks/HeadlessJsTaskRetryPolicy.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/jstasks/LinearCountingRetryPolicy.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/jstasks/NoRetryPolicy.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/module/annotations/ReactModule.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/module/annotations/ReactModuleList.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/module/model/ReactModuleInfo.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/module/model/ReactModuleInfoProvider.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/module/processing/ReactModuleSpecProcessor.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/accessibilityinfo/AccessibilityInfoModule.java +42 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/appearance/AppearanceModule.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/appregistry/AppRegistry.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/appstate/AppStateModule.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobCollector.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobModule.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobProvider.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/FileReaderModule.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/jni/Android.mk +7 -2
- package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/jni/BUCK +0 -6
- package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/jni/BlobCollector.cpp +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/jni/BlobCollector.h +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/jni/OnLoad.cpp +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/bundleloader/NativeDevSplitBundleLoaderModule.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/camera/ImageStoreManager.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/clipboard/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/clipboard/ClipboardModule.java +10 -9
- package/ReactAndroid/src/main/java/com/facebook/react/modules/common/ModuleDataCleaner.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ChoreographerCompat.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/DefaultHardwareBackBtnHandler.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/DeviceEventManagerModule.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ExceptionsManagerModule.java +8 -20
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/HeadlessJsTaskSupportModule.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/JSTimers.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/{JavaScriptTimerManager.java → JavaScriptTimerExecutor.java} +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/JavaTimerManager.java +8 -8
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/PermissionAwareActivity.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/PermissionListener.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/RCTNativeAppEventEmitter.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ReactAndroidHWInputDeviceHelper.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ReactChoreographer.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/TimingModule.java +3 -3
- package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/AnimationsDebugModule.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/DevSettingsModule.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/DidJSUpdateUiDuringFrameDetector.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/FpsDebugFrameCallback.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/SourceCodeModule.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/interfaces/DeveloperSettings.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/deviceinfo/DeviceInfoModule.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/dialog/AlertFragment.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/dialog/DialogModule.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/fabric/ReactFabric.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/FrescoModule.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/ReactNetworkImageRequest.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/ReactOkHttpNetworkFetcher.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/SystraceRequestListener.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/i18nmanager/I18nManagerModule.java +8 -2
- package/ReactAndroid/src/main/java/com/facebook/react/modules/i18nmanager/I18nUtil.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/image/ImageLoaderModule.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/intent/IntentModule.java +24 -20
- package/ReactAndroid/src/main/java/com/facebook/react/modules/network/CookieJarContainer.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ForwardingCookieHandler.java +2 -5
- package/ReactAndroid/src/main/java/com/facebook/react/modules/network/HeaderUtil.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkInterceptorCreator.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkingModule.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/network/OkHttpClientFactory.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/network/OkHttpClientProvider.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ProgressListener.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ProgressRequestBody.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ProgressResponseBody.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ProgressiveStringDecoder.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ReactCookieJarContainer.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/network/RequestBodyUtil.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ResponseUtil.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/network/TLSSocketFactory.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/permissions/PermissionsModule.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/share/ShareModule.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/sound/SoundManagerModule.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/statusbar/StatusBarModule.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/storage/AsyncLocalStorageUtil.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/storage/AsyncStorageErrorUtil.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/storage/AsyncStorageModule.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/storage/ReactDatabaseSupplier.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/AndroidInfoHelpers.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/AndroidInfoModule.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java +4 -4
- package/ReactAndroid/src/main/java/com/facebook/react/modules/toast/ToastModule.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/vibration/VibrationModule.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/websocket/WebSocketModule.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/FileIoHandler.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/JSPackagerClient.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/NotificationOnlyHandler.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/PackagerConnectionSettings.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/ReconnectingWebSocket.java +9 -9
- package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/RequestHandler.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/RequestOnlyHandler.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/Responder.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/processing/ReactPropertyProcessor.java +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/reactperflogger/NativeModulePerfLogger.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/reactperflogger/jni/Android.mk +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/reactperflogger/jni/BUCK +0 -6
- package/ReactAndroid/src/main/java/com/facebook/react/reactperflogger/jni/reactperflogger/JNativeModulePerfLogger.h +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/reactperflogger/jni/reactperflogger/OnLoad.cpp +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/shell/BUCK +0 -1
- package/ReactAndroid/src/main/java/com/facebook/react/shell/MainPackageConfig.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/shell/MainReactPackage.java +1 -6
- package/ReactAndroid/src/main/java/com/facebook/react/surface/ReactStage.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/touch/JSResponderHandler.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/touch/OnInterceptTouchEventListener.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/touch/ReactHitSlopView.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/touch/ReactInterceptingViewGroup.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/CallInvokerHolderImpl.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/TurboModuleManager.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/TurboModuleManagerDelegate.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/TurboModulePerfLogger.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/interfaces/CallInvokerHolder.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/interfaces/TurboModule.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/interfaces/TurboModuleRegistry.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/Android.mk +3 -3
- package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/BUCK +1 -12
- package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/ReactCommon/CallInvokerHolder.cpp +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/ReactCommon/CallInvokerHolder.h +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/ReactCommon/OnLoad.cpp +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/ReactCommon/TurboModuleManager.cpp +1 -2
- package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/ReactCommon/TurboModuleManager.h +1 -2
- package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/ReactCommon/TurboModuleManagerDelegate.h +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java +42 -4
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManagerAdapter.java +5 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ComponentNameResolver.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ComponentNameResolverManager.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/DisplayMetricsHolder.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/FabricViewStateManager.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/GuardedFrameCallback.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/IViewManagerWithChildren.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/IllegalViewOperationException.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSTouchDispatcher.java +11 -26
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/LayoutShadowNode.java +19 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/MatrixMathHelper.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/MeasureSpecAssertions.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeKind.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyManager.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyOptimizer.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NoSuchNativeViewException.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/OnLayoutEvent.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/PixelUtil.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/PointerEvents.java +19 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactAccessibilityDelegate.java +13 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactClippingProhibitedView.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactClippingViewGroup.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactClippingViewGroupHelper.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactCompoundView.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactCompoundViewGroup.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactInvalidPropertyException.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactOverflowView.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactOverflowViewWithInset.java +33 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactPointerEventsView.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactRoot.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactRootViewTagGenerator.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactShadowNode.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactShadowNodeImpl.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactStylesDiffMap.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactYogaConfigProvider.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactZIndexedViewGroup.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/RootView.java +12 -2
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/RootViewManager.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/RootViewUtil.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ShadowNodeRegistry.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/SimpleViewManager.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/StateWrapper.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ThemedReactContext.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TouchTargetHelper.java +128 -24
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TransformHelper.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIBlock.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIImplementation.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIImplementationProvider.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerHelper.java +12 -5
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java +1 -4
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModuleConstants.java +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModuleConstantsHelper.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModuleListener.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIViewOperationQueue.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewAtIndex.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewDefaults.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewGroupDrawingOrderHelper.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewGroupManager.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewHierarchyDumper.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManager.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagerPropertyUpdater.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagerRegistry.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagerResolver.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagersPropertyCache.java +39 -24
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/YogaNodePool.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/annotations/ReactProp.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/annotations/ReactPropGroup.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/annotations/ReactPropertyHolder.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/common/UIManagerType.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/common/ViewUtil.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/debug/NotThreadSafeViewHierarchyUpdateDebugListener.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/BatchEventDispatchedListener.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/BlackHoleEventDispatcher.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/ContentSizeChangeEvent.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/Event.java +25 -39
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventCategoryDef.java +42 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcher.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcherImpl.java +2 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcherListener.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcherProvider.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/LockFreeEventDispatcherImpl.java +4 -4
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/NativeGestureUtil.java +14 -2
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTEventEmitter.java +8 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTModernEventEmitter.java +5 -2
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/ReactEventEmitter.java +34 -13
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchEvent.java +41 -17
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchEventCoalescingKeyHelper.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchEventType.java +16 -17
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchesHelper.java +107 -21
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/interfaces/BaseViewManagerDelegate.java +5 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/interfaces/BaseViewManagerInterface.java +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/interfaces/FloatUtil.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/interfaces/Spacing.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/interfaces/ViewManagerDelegate.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/interfaces/ViewProps.java +2 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/jni/Android.mk +11 -2
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/jni/BUCK +0 -6
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/jni/ComponentNameResolverManager.cpp +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/jni/ComponentNameResolverManager.h +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/jni/OnLoad.cpp +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/AbstractLayoutAnimation.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/AnimatedPropertyType.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/BaseLayoutAnimation.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/InterpolatorType.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutAnimationController.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutAnimationListener.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutAnimationType.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutCreateAnimation.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutDeleteAnimation.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutHandlingAnimation.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutUpdateAnimation.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/OpacityAnimation.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/PositionAndSizeAnimation.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/SimpleSpringInterpolator.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/util/ReactFindViewUtil.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/util/ExceptionDataHelper.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/util/JSStackTrace.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/util/RCTLog.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/util/RNLog.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/common/ContextUtils.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/ReactDrawerLayout.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/ReactDrawerLayoutManager.java +17 -7
- package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/events/DrawerClosedEvent.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/events/DrawerOpenedEvent.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/events/DrawerSlideEvent.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/events/DrawerStateChangedEvent.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/image/BUCK +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/image/GlobalImageLoadListener.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/image/ImageLoadEvent.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/image/ImageResizeMethod.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/image/ImageResizeMode.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/image/MultiPostprocessor.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactCallerContextFactory.java +1 -3
- package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageDownloadListener.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageManager.java +19 -12
- package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageView.java +28 -23
- package/ReactAndroid/src/main/java/com/facebook/react/views/image/ScaleTypeStartInside.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/ImageSource.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/MultiSourceHelper.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/ResourceDrawableIdHelper.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ModalHostHelper.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ModalHostShadowNode.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostManager.java +20 -5
- package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.java +13 -3
- package/ReactAndroid/src/main/java/com/facebook/react/views/modal/RequestCloseEvent.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ShowEvent.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ProgressBarContainerView.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ProgressBarShadowNode.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ReactProgressBarViewManager.java +3 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/FpsListener.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/OnScrollDispatchHelper.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollContainerView.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollContainerViewManager.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +215 -188
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollViewManager.java +12 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +225 -178
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewCommandHelper.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewHelper.java +417 -16
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewManager.java +19 -2
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ScrollEvent.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ScrollEventType.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/VelocityHelper.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/slider/ReactSlider.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/slider/ReactSliderEvent.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/slider/ReactSliderManager.java +35 -4
- package/ReactAndroid/src/main/java/com/facebook/react/views/slider/ReactSlidingCompleteEvent.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/ReactSwipeRefreshLayout.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/RefreshEvent.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/SwipeRefreshLayoutManager.java +11 -4
- package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitch.java +23 -9
- package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitchEvent.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitchManager.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/CustomLetterSpacingSpan.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/CustomLineHeightSpan.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/CustomStyleSpan.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/DefaultStyleValuesUtil.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/FontMetricsUtil.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactAbsoluteSizeSpan.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactBackgroundColorSpan.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactBaseTextShadowNode.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactClickableSpan.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactFontManager.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactForegroundColorSpan.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactRawTextManager.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactRawTextShadowNode.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactSpan.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactStrikethroughSpan.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTagSpan.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextAnchorViewManager.java +1 -5
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextInlineImageShadowNode.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextShadowNode.java +17 -6
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextUpdate.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextView.java +10 -2
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManager.java +11 -4
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManagerCallback.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTypefaceUtils.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactUnderlineSpan.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactVirtualTextShadowNode.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactVirtualTextViewManager.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ShadowStyleSpan.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributeProps.java +31 -15
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributes.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextInlineImageSpan.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextInlineViewPlaceholderSpan.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.java +26 -7
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManagerMapBuffer.java +27 -7
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextTransform.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/TypefaceStyle.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageShadowNode.java +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageSpan.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageViewManager.java +3 -3
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ContentSizeWatcher.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactContentSizeChangedEvent.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java +7 -4
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditTextInputConnectionWrapper.java +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextChangedEvent.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputBlurEvent.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputEndEditingEvent.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputEvent.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputFocusEvent.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputKeyPressEvent.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputLocalData.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.java +62 -47
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputSelectionEvent.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputShadowNode.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputSubmitEditingEvent.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ScrollWatcher.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/SelectionWatcher.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/unimplementedview/ReactUnimplementedView.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/unimplementedview/ReactUnimplementedViewManager.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/CanvasUtil.java +92 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ColorUtil.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/MeasureUtil.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactClippingViewManager.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactDrawableHelper.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewBackgroundDrawable.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewBackgroundManager.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.java +33 -3
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManager.java +32 -25
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ViewGroupClickEvent.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/systrace/Systrace.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/systrace/SystraceMessage.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/systrace/TraceListener.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/yoga/LayoutPassReason.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaAlign.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaBaselineFunction.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaConfig.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaConfigFactory.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaConfigJNIBase.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaConfigJNIFinalizer.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaConstants.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaDimension.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaDirection.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaDisplay.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaEdge.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaExperimentalFeature.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaFlexDirection.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaJustify.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaLayoutType.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaLogLevel.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaLogger.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaMeasureFunction.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaMeasureMode.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaMeasureOutput.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNative.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNode.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeFactory.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeJNIBase.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeJNIFinalizer.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeType.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaOverflow.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaPositionType.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaPrintOptions.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaProps.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaStyleInputs.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaUnit.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaValue.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaWrap.java +1 -1
- package/ReactAndroid/src/main/jni/Application.mk +1 -1
- package/ReactAndroid/src/main/jni/first-party/fb/Android.mk +1 -1
- package/ReactAndroid/src/main/jni/first-party/fb/assert.cpp +1 -1
- package/ReactAndroid/src/main/jni/first-party/fb/include/fb/ALog.h +1 -1
- package/ReactAndroid/src/main/jni/first-party/fb/include/fb/Build.h +1 -1
- package/ReactAndroid/src/main/jni/first-party/fb/include/fb/Countable.h +1 -1
- package/ReactAndroid/src/main/jni/first-party/fb/include/fb/Environment.h +1 -1
- package/ReactAndroid/src/main/jni/first-party/fb/include/fb/ProgramLocation.h +1 -1
- package/ReactAndroid/src/main/jni/first-party/fb/include/fb/RefPtr.h +1 -1
- package/ReactAndroid/src/main/jni/first-party/fb/include/fb/StaticInitialized.h +1 -1
- package/ReactAndroid/src/main/jni/first-party/fb/include/fb/ThreadLocal.h +1 -1
- package/ReactAndroid/src/main/jni/first-party/fb/include/fb/assert.h +1 -1
- package/ReactAndroid/src/main/jni/first-party/fb/include/fb/noncopyable.h +1 -1
- package/ReactAndroid/src/main/jni/first-party/fb/include/fb/nonmovable.h +1 -1
- package/ReactAndroid/src/main/jni/first-party/fb/include/fb/visibility.h +1 -1
- package/ReactAndroid/src/main/jni/first-party/fb/log.cpp +1 -1
- package/ReactAndroid/src/main/jni/first-party/fbgloginit/Android.mk +1 -1
- package/ReactAndroid/src/main/jni/first-party/fbgloginit/fb/glog_init.h +1 -1
- package/ReactAndroid/src/main/jni/first-party/fbgloginit/glog_init.cpp +1 -1
- package/ReactAndroid/src/main/jni/first-party/fbjni/Android.mk +1 -1
- package/ReactAndroid/src/main/jni/first-party/hermes/Android.mk +1 -1
- package/ReactAndroid/src/main/jni/first-party/jni-hack/BUCK +1 -1
- package/ReactAndroid/src/main/jni/first-party/jni-hack/jni.h +1 -1
- package/ReactAndroid/src/main/jni/first-party/yogajni/Android.mk +1 -1
- package/ReactAndroid/src/main/jni/first-party/yogajni/jni/ScopedGlobalRef.h +1 -1
- package/ReactAndroid/src/main/jni/first-party/yogajni/jni/ScopedLocalRef.h +1 -1
- package/ReactAndroid/src/main/jni/first-party/yogajni/jni/YGJNI.h +1 -1
- package/ReactAndroid/src/main/jni/first-party/yogajni/jni/YGJNIVanilla.cpp +1 -1
- package/ReactAndroid/src/main/jni/first-party/yogajni/jni/YGJNIVanilla.h +1 -1
- package/ReactAndroid/src/main/jni/first-party/yogajni/jni/YGJTypesVanilla.h +1 -1
- package/ReactAndroid/src/main/jni/first-party/yogajni/jni/YogaJniException.cpp +1 -1
- package/ReactAndroid/src/main/jni/first-party/yogajni/jni/YogaJniException.h +1 -1
- package/ReactAndroid/src/main/jni/first-party/yogajni/jni/common.cpp +1 -1
- package/ReactAndroid/src/main/jni/first-party/yogajni/jni/common.h +1 -1
- package/ReactAndroid/src/main/jni/first-party/yogajni/jni/corefunctions.cpp +1 -1
- package/ReactAndroid/src/main/jni/first-party/yogajni/jni/corefunctions.h +1 -1
- package/ReactAndroid/src/main/jni/first-party/yogajni/jni/macros.h +1 -1
- package/ReactAndroid/src/main/jni/first-party/yogajni/jni/yogajni.cpp +2 -1
- package/ReactAndroid/src/main/jni/react/jni/Android.mk +24 -7
- package/ReactAndroid/src/main/jni/react/jni/BUCK +4 -5
- package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.cpp +50 -8
- package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.h +16 -3
- package/ReactAndroid/src/main/jni/react/jni/CxxModuleWrapper.cpp +1 -1
- package/ReactAndroid/src/main/jni/react/jni/CxxModuleWrapper.h +1 -1
- package/ReactAndroid/src/main/jni/react/jni/CxxModuleWrapperBase.h +1 -1
- package/ReactAndroid/src/main/jni/react/jni/CxxSharedModuleWrapper.h +1 -1
- package/ReactAndroid/src/main/jni/react/jni/JCallback.h +1 -1
- package/ReactAndroid/src/main/jni/react/jni/JInspector.cpp +1 -1
- package/ReactAndroid/src/main/jni/react/jni/JInspector.h +1 -1
- package/ReactAndroid/src/main/jni/react/jni/JMessageQueueThread.cpp +2 -2
- package/ReactAndroid/src/main/jni/react/jni/JMessageQueueThread.h +1 -1
- package/ReactAndroid/src/main/jni/react/jni/JNativeRunnable.h +1 -1
- package/ReactAndroid/src/main/jni/react/jni/JReactCxxErrorHandler.cpp +18 -0
- package/ReactAndroid/src/main/jni/react/jni/JReactCxxErrorHandler.h +25 -0
- package/ReactAndroid/src/main/jni/react/jni/JReactMarker.cpp +12 -4
- package/ReactAndroid/src/main/jni/react/jni/JReactMarker.h +4 -1
- package/ReactAndroid/src/main/jni/react/jni/JReactSoftExceptionLogger.cpp +1 -1
- package/ReactAndroid/src/main/jni/react/jni/JReactSoftExceptionLogger.h +1 -1
- package/ReactAndroid/src/main/jni/react/jni/JRuntimeExecutor.cpp +1 -1
- package/ReactAndroid/src/main/jni/react/jni/JRuntimeExecutor.h +1 -1
- package/ReactAndroid/src/main/jni/react/jni/JRuntimeScheduler.cpp +22 -0
- package/ReactAndroid/src/main/jni/react/jni/JRuntimeScheduler.h +30 -0
- package/ReactAndroid/src/main/jni/react/jni/JSLoader.cpp +41 -17
- package/ReactAndroid/src/main/jni/react/jni/JSLoader.h +1 -1
- package/ReactAndroid/src/main/jni/react/jni/JSLogging.cpp +1 -1
- package/ReactAndroid/src/main/jni/react/jni/JSLogging.h +1 -1
- package/ReactAndroid/src/main/jni/react/jni/JavaModuleWrapper.cpp +1 -1
- package/ReactAndroid/src/main/jni/react/jni/JavaModuleWrapper.h +1 -1
- package/ReactAndroid/src/main/jni/react/jni/JavaScriptExecutorHolder.h +1 -1
- package/ReactAndroid/src/main/jni/react/jni/JniJSModulesUnbundle.cpp +1 -1
- package/ReactAndroid/src/main/jni/react/jni/JniJSModulesUnbundle.h +1 -1
- package/ReactAndroid/src/main/jni/react/jni/MethodInvoker.cpp +1 -1
- package/ReactAndroid/src/main/jni/react/jni/MethodInvoker.h +1 -1
- package/ReactAndroid/src/main/jni/react/jni/ModuleRegistryBuilder.cpp +1 -1
- package/ReactAndroid/src/main/jni/react/jni/ModuleRegistryBuilder.h +1 -1
- package/ReactAndroid/src/main/jni/react/jni/NativeArray.cpp +1 -1
- package/ReactAndroid/src/main/jni/react/jni/NativeArray.h +1 -1
- package/ReactAndroid/src/main/jni/react/jni/NativeCommon.cpp +1 -1
- package/ReactAndroid/src/main/jni/react/jni/NativeCommon.h +1 -1
- package/ReactAndroid/src/main/jni/react/jni/NativeMap.cpp +1 -1
- package/ReactAndroid/src/main/jni/react/jni/NativeMap.h +1 -1
- package/ReactAndroid/src/main/jni/react/jni/NativeTime.cpp +3 -9
- package/ReactAndroid/src/main/jni/react/jni/NativeTime.h +1 -1
- package/ReactAndroid/src/main/jni/react/jni/OnLoad.cpp +1 -1
- package/ReactAndroid/src/main/jni/react/jni/OnLoad.h +1 -1
- package/ReactAndroid/src/main/jni/react/jni/ProxyExecutor.cpp +1 -1
- package/ReactAndroid/src/main/jni/react/jni/ProxyExecutor.h +1 -1
- package/ReactAndroid/src/main/jni/react/jni/ReadableNativeArray.cpp +1 -1
- package/ReactAndroid/src/main/jni/react/jni/ReadableNativeArray.h +1 -1
- package/ReactAndroid/src/main/jni/react/jni/ReadableNativeMap.cpp +1 -1
- package/ReactAndroid/src/main/jni/react/jni/ReadableNativeMap.h +1 -1
- package/ReactAndroid/src/main/jni/react/jni/WritableNativeArray.cpp +11 -4
- package/ReactAndroid/src/main/jni/react/jni/WritableNativeArray.h +6 -4
- package/ReactAndroid/src/main/jni/react/jni/WritableNativeMap.cpp +3 -3
- package/ReactAndroid/src/main/jni/react/jni/WritableNativeMap.h +4 -4
- package/ReactAndroid/src/main/jni/react/perftests/BUCK +0 -4
- package/ReactAndroid/src/main/jni/react/perftests/OnLoad.cpp +1 -1
- package/ReactAndroid/src/main/libraries/soloader/java/com/facebook/soloader/BUCK +5 -5
- package/ReactAndroid/src/main/res/views/uimanager/values/ids.xml +11 -0
- package/ReactAndroid/src/main/third-party/android/androidx/BUCK +6 -6
- package/ReactAndroid/src/main/third-party/java/assertj/BUCK +14 -0
- package/ReactAndroid/src/main/third-party/java/okhttp/BUCK +4 -4
- package/ReactAndroid/src/test/java/com/facebook/common/logging/FakeLoggingDelegate.java +1 -1
- package/ReactAndroid/src/test/java/com/facebook/react/BUCK +1 -1
- package/ReactAndroid/src/test/java/com/facebook/react/CompositeReactPackageTest.java +1 -1
- package/ReactAndroid/src/test/java/com/facebook/react/RootViewTest.java +45 -2
- package/ReactAndroid/src/test/java/com/facebook/react/animated/BUCK +1 -1
- package/ReactAndroid/src/test/java/com/facebook/react/animated/NativeAnimatedInterpolationTest.java +2 -2
- package/ReactAndroid/src/test/java/com/facebook/react/animated/NativeAnimatedNodeTraversalTest.java +2 -2
- package/ReactAndroid/src/test/java/com/facebook/react/bridge/BUCK +1 -1
- package/ReactAndroid/src/test/java/com/facebook/react/bridge/BaseJavaModuleTest.java +1 -1
- package/ReactAndroid/src/test/java/com/facebook/react/bridge/FallbackJSBundleLoaderTest.java +3 -3
- package/ReactAndroid/src/test/java/com/facebook/react/bridge/InstanceHandleHelper.java +1 -1
- package/ReactAndroid/src/test/java/com/facebook/react/bridge/JavaOnlyArrayTest.java +2 -2
- package/ReactAndroid/src/test/java/com/facebook/react/bridge/JavaScriptModuleRegistryTest.java +1 -1
- package/ReactAndroid/src/test/java/com/facebook/react/bridge/ReactTestHelper.java +1 -1
- package/ReactAndroid/src/test/java/com/facebook/react/devsupport/BUCK +1 -1
- package/ReactAndroid/src/test/java/com/facebook/react/devsupport/JSDebuggerWebSocketClientTest.java +1 -1
- package/ReactAndroid/src/test/java/com/facebook/react/devsupport/MultipartStreamReaderTest.java +2 -2
- package/ReactAndroid/src/test/java/com/facebook/react/devsupport/StackTraceHelperTest.java +2 -2
- package/ReactAndroid/src/test/java/com/facebook/react/fabric/events/BUCK +16 -0
- package/ReactAndroid/src/test/java/com/facebook/react/fabric/events/TouchEventDispatchTest.java +616 -0
- package/ReactAndroid/src/test/java/com/facebook/react/modules/BUCK +1 -1
- package/ReactAndroid/src/test/java/com/facebook/react/modules/blob/BlobModuleTest.java +1 -1
- package/ReactAndroid/src/test/java/com/facebook/react/modules/camera/ImageStoreManagerTest.java +1 -1
- package/ReactAndroid/src/test/java/com/facebook/react/modules/clipboard/ClipboardModuleTest.java +4 -2
- package/ReactAndroid/src/test/java/com/facebook/react/modules/deviceinfo/DeviceInfoModuleTest.java +2 -2
- package/ReactAndroid/src/test/java/com/facebook/react/modules/dialog/DialogModuleTest.java +1 -1
- package/ReactAndroid/src/test/java/com/facebook/react/modules/network/HeaderUtilTest.java +1 -1
- package/ReactAndroid/src/test/java/com/facebook/react/modules/network/NetworkingModuleTest.java +2 -2
- package/ReactAndroid/src/test/java/com/facebook/react/modules/network/ProgressiveStringDecoderTest.java +1 -1
- package/ReactAndroid/src/test/java/com/facebook/react/modules/network/ReactCookieJarContainerTest.java +2 -2
- package/ReactAndroid/src/test/java/com/facebook/react/modules/share/ShareModuleTest.java +1 -1
- package/ReactAndroid/src/test/java/com/facebook/react/modules/storage/AsyncStorageModuleTest.java +2 -2
- package/ReactAndroid/src/test/java/com/facebook/react/modules/timing/TimingModuleTest.java +2 -2
- package/ReactAndroid/src/test/java/com/facebook/react/packagerconnection/BUCK +1 -1
- package/ReactAndroid/src/test/java/com/facebook/react/packagerconnection/JSPackagerClientTest.java +1 -1
- package/ReactAndroid/src/test/java/com/facebook/react/uimanager/BUCK +1 -1
- package/ReactAndroid/src/test/java/com/facebook/react/uimanager/BaseViewManagerTest.java +2 -2
- package/ReactAndroid/src/test/java/com/facebook/react/uimanager/LayoutPropertyApplicatorTest.java +1 -1
- package/ReactAndroid/src/test/java/com/facebook/react/uimanager/MatrixMathHelperTest.java +2 -2
- package/ReactAndroid/src/test/java/com/facebook/react/uimanager/ReactPropAnnotationSetterSpecTest.java +1 -1
- package/ReactAndroid/src/test/java/com/facebook/react/uimanager/ReactPropAnnotationSetterTest.java +2 -2
- package/ReactAndroid/src/test/java/com/facebook/react/uimanager/ReactPropConstantsTest.java +3 -3
- package/ReactAndroid/src/test/java/com/facebook/react/uimanager/ReactPropForShadowNodeSetterTest.java +1 -1
- package/ReactAndroid/src/test/java/com/facebook/react/uimanager/ReactPropForShadowNodeSpecTest.java +1 -1
- package/ReactAndroid/src/test/java/com/facebook/react/uimanager/SimpleViewPropertyTest.java +3 -3
- package/ReactAndroid/src/test/java/com/facebook/react/uimanager/UIManagerModuleConstantsTest.java +3 -3
- package/ReactAndroid/src/test/java/com/facebook/react/uimanager/UIManagerModuleTest.java +2 -2
- package/ReactAndroid/src/test/java/com/facebook/react/uimanager/layoutanimation/BUCK +1 -1
- package/ReactAndroid/src/test/java/com/facebook/react/uimanager/layoutanimation/InterpolatorTypeTest.java +2 -2
- package/ReactAndroid/src/test/java/com/facebook/react/util/BUCK +1 -1
- package/ReactAndroid/src/test/java/com/facebook/react/util/JSStackTraceTest.java +1 -1
- package/ReactAndroid/src/test/java/com/facebook/react/views/BUCK +1 -1
- package/ReactAndroid/src/test/java/com/facebook/react/views/image/ImageResizeModeTest.java +2 -2
- package/ReactAndroid/src/test/java/com/facebook/react/views/image/ReactImagePropertyTest.java +1 -1
- package/ReactAndroid/src/test/java/com/facebook/react/views/slider/ReactSliderPropertyTest.java +2 -2
- package/ReactAndroid/src/test/java/com/facebook/react/views/text/CustomLineHeightSpanTest.java +2 -2
- package/ReactAndroid/src/test/java/com/facebook/react/views/text/ReactTextTest.java +2 -2
- package/ReactAndroid/src/test/java/com/facebook/react/views/textinput/ReactTextInputPropertyTest.java +2 -2
- package/ReactAndroid/src/test/java/com/facebook/react/views/textinput/TextInputTest.java +2 -2
- package/ReactAndroid/src/test/java/com/facebook/react/views/view/ColorUtilTest.java +1 -1
- package/ReactAndroid/src/test/java/org/mockito/configuration/MockitoConfiguration.java +1 -1
- package/ReactAndroid/src/test/resources/BUCK +1 -1
- package/ReactCommon/React-Fabric.podspec +7 -15
- package/ReactCommon/React-rncore.podspec +41 -0
- package/ReactCommon/ReactCommon.podspec +1 -1
- package/ReactCommon/{better → butter}/.clang-tidy +1 -0
- package/ReactCommon/{better → butter}/Android.mk +3 -3
- package/ReactCommon/{better → butter}/BUCK +2 -8
- package/ReactCommon/{better/better.h → butter/butter.h} +26 -12
- package/ReactCommon/{better → butter}/map.h +8 -8
- package/ReactCommon/{better → butter}/mutex.h +3 -3
- package/ReactCommon/{better → butter}/optional.h +6 -6
- package/ReactCommon/{better → butter}/set.h +6 -6
- package/ReactCommon/{better → butter}/small_vector.h +6 -6
- package/ReactCommon/callinvoker/Android.mk +1 -1
- package/ReactCommon/callinvoker/BUCK +2 -8
- package/ReactCommon/callinvoker/React-callinvoker.podspec +1 -1
- package/ReactCommon/callinvoker/ReactCommon/CallInvoker.h +1 -1
- package/ReactCommon/common.mk +1 -1
- package/ReactCommon/cxxreact/Android.mk +13 -3
- package/ReactCommon/cxxreact/BUCK +1 -16
- package/ReactCommon/cxxreact/CxxModule.h +1 -1
- package/ReactCommon/cxxreact/CxxNativeModule.cpp +2 -2
- package/ReactCommon/cxxreact/CxxNativeModule.h +1 -1
- package/ReactCommon/cxxreact/ErrorUtils.h +1 -1
- package/ReactCommon/cxxreact/Instance.cpp +1 -1
- package/ReactCommon/cxxreact/Instance.h +1 -1
- package/ReactCommon/cxxreact/JSBigString.cpp +1 -66
- package/ReactCommon/cxxreact/JSBigString.h +1 -1
- package/ReactCommon/cxxreact/JSBundleType.cpp +1 -1
- package/ReactCommon/cxxreact/JSBundleType.h +1 -1
- package/ReactCommon/cxxreact/JSExecutor.cpp +1 -1
- package/ReactCommon/cxxreact/JSExecutor.h +1 -1
- package/ReactCommon/cxxreact/JSIndexedRAMBundle.cpp +1 -1
- package/ReactCommon/cxxreact/JSIndexedRAMBundle.h +1 -1
- package/ReactCommon/cxxreact/JSModulesUnbundle.h +1 -1
- package/ReactCommon/cxxreact/JsArgumentHelpers-inl.h +1 -1
- package/ReactCommon/cxxreact/JsArgumentHelpers.h +1 -1
- package/ReactCommon/cxxreact/MessageQueueThread.h +1 -1
- package/ReactCommon/cxxreact/MethodCall.cpp +1 -1
- package/ReactCommon/cxxreact/MethodCall.h +1 -1
- package/ReactCommon/cxxreact/ModuleRegistry.cpp +1 -1
- package/ReactCommon/cxxreact/ModuleRegistry.h +1 -1
- package/ReactCommon/cxxreact/NativeModule.h +1 -1
- package/ReactCommon/cxxreact/NativeToJsBridge.cpp +1 -1
- package/ReactCommon/cxxreact/NativeToJsBridge.h +1 -1
- package/ReactCommon/cxxreact/RAMBundleRegistry.cpp +1 -1
- package/ReactCommon/cxxreact/RAMBundleRegistry.h +1 -1
- package/ReactCommon/cxxreact/React-cxxreact.podspec +1 -1
- package/ReactCommon/cxxreact/ReactMarker.cpp +6 -2
- package/ReactCommon/cxxreact/ReactMarker.h +10 -11
- package/ReactCommon/cxxreact/ReactNativeVersion.h +4 -4
- package/ReactCommon/cxxreact/RecoverableError.h +1 -1
- package/ReactCommon/cxxreact/SampleCxxModule.cpp +1 -1
- package/ReactCommon/cxxreact/SampleCxxModule.h +1 -1
- package/ReactCommon/cxxreact/SharedProxyCxxModule.h +1 -1
- package/ReactCommon/cxxreact/SystraceSection.h +1 -1
- package/ReactCommon/cxxreact/tests/RecoverableErrorTest.cpp +1 -1
- package/ReactCommon/cxxreact/tests/jsarg_helpers.cpp +1 -1
- package/ReactCommon/cxxreact/tests/jsbigstring.cpp +1 -1
- package/ReactCommon/cxxreact/tests/methodcall.cpp +1 -1
- package/ReactCommon/hermes/React-hermes.podspec +1 -1
- package/ReactCommon/hermes/executor/Android.mk +3 -3
- package/ReactCommon/hermes/executor/HermesExecutorFactory.cpp +1 -1
- package/ReactCommon/hermes/executor/HermesExecutorFactory.h +1 -1
- package/ReactCommon/hermes/executor/JSITracing.cpp +1 -1
- package/ReactCommon/hermes/executor/JSITracing.h +1 -1
- package/ReactCommon/hermes/inspector/Android.mk +12 -4
- package/ReactCommon/hermes/inspector/AsyncPauseState.h +1 -1
- package/ReactCommon/hermes/inspector/BUCK +0 -2
- package/ReactCommon/hermes/inspector/Exceptions.h +1 -1
- package/ReactCommon/hermes/inspector/Inspector.cpp +1 -1
- package/ReactCommon/hermes/inspector/Inspector.h +1 -1
- package/ReactCommon/hermes/inspector/InspectorState.cpp +1 -1
- package/ReactCommon/hermes/inspector/InspectorState.h +1 -1
- package/ReactCommon/hermes/inspector/RuntimeAdapter.cpp +1 -1
- package/ReactCommon/hermes/inspector/RuntimeAdapter.h +1 -1
- package/ReactCommon/hermes/inspector/chrome/AutoAttachUtils.cpp +1 -1
- package/ReactCommon/hermes/inspector/chrome/AutoAttachUtils.h +1 -1
- package/ReactCommon/hermes/inspector/chrome/Connection.cpp +1 -1
- package/ReactCommon/hermes/inspector/chrome/Connection.h +1 -1
- package/ReactCommon/hermes/inspector/chrome/ConnectionDemux.cpp +1 -1
- package/ReactCommon/hermes/inspector/chrome/ConnectionDemux.h +1 -1
- package/ReactCommon/hermes/inspector/chrome/MessageConverters.cpp +1 -1
- package/ReactCommon/hermes/inspector/chrome/MessageConverters.h +1 -1
- package/ReactCommon/hermes/inspector/chrome/MessageInterfaces.h +1 -1
- package/ReactCommon/hermes/inspector/chrome/MessageTypesInlines.h +1 -1
- package/ReactCommon/hermes/inspector/chrome/Registration.cpp +1 -1
- package/ReactCommon/hermes/inspector/chrome/Registration.h +1 -1
- package/ReactCommon/hermes/inspector/chrome/RemoteObjectsTable.cpp +1 -1
- package/ReactCommon/hermes/inspector/chrome/RemoteObjectsTable.h +1 -1
- package/ReactCommon/hermes/inspector/chrome/cli/main.cpp +1 -1
- package/ReactCommon/hermes/inspector/chrome/tests/AsyncHermesRuntime.cpp +1 -1
- package/ReactCommon/hermes/inspector/chrome/tests/AsyncHermesRuntime.h +1 -1
- package/ReactCommon/hermes/inspector/chrome/tests/ConnectionDemuxTests.cpp +1 -1
- package/ReactCommon/hermes/inspector/chrome/tests/ConnectionTests.cpp +1 -1
- package/ReactCommon/hermes/inspector/chrome/tests/MessageTests.cpp +1 -1
- package/ReactCommon/hermes/inspector/chrome/tests/RemoteObjectsTableTest.cpp +1 -1
- package/ReactCommon/hermes/inspector/chrome/tests/SyncConnection.cpp +1 -1
- package/ReactCommon/hermes/inspector/chrome/tests/SyncConnection.h +1 -1
- package/ReactCommon/hermes/inspector/detail/CallbackOStream.cpp +1 -1
- package/ReactCommon/hermes/inspector/detail/CallbackOStream.h +1 -1
- package/ReactCommon/hermes/inspector/detail/SerialExecutor.cpp +1 -1
- package/ReactCommon/hermes/inspector/detail/SerialExecutor.h +1 -1
- package/ReactCommon/hermes/inspector/detail/Thread.cpp +1 -1
- package/ReactCommon/hermes/inspector/detail/Thread.h +1 -1
- package/ReactCommon/hermes/inspector/detail/tests/CallbackOStreamTests.cpp +1 -1
- package/ReactCommon/hermes/inspector/detail/tests/SerialExecutorTests.cpp +1 -1
- package/ReactCommon/hermes/inspector/docs/GenerateInspectorFSM.sh +1 -1
- package/ReactCommon/hermes/inspector/tests/InspectorTests.cpp +1 -1
- package/ReactCommon/hermes/inspector/tools/msggen/__tests__/CommandTest.js +1 -1
- package/ReactCommon/hermes/inspector/tools/msggen/__tests__/EventTest.js +1 -1
- package/ReactCommon/hermes/inspector/tools/msggen/__tests__/GraphTest.js +1 -1
- package/ReactCommon/hermes/inspector/tools/msggen/__tests__/HeaderWriterTest.js +1 -1
- package/ReactCommon/hermes/inspector/tools/msggen/__tests__/ImplementationWriterTest.js +1 -1
- package/ReactCommon/hermes/inspector/tools/msggen/__tests__/PropertyTest.js +1 -1
- package/ReactCommon/hermes/inspector/tools/msggen/__tests__/TypeTest.js +1 -1
- package/ReactCommon/hermes/inspector/tools/msggen/package.json +7 -4
- package/ReactCommon/hermes/inspector/tools/msggen/src/Command.js +1 -1
- package/ReactCommon/hermes/inspector/tools/msggen/src/Converters.js +1 -1
- package/ReactCommon/hermes/inspector/tools/msggen/src/Event.js +1 -1
- package/ReactCommon/hermes/inspector/tools/msggen/src/GeneratedHeader.js +1 -1
- package/ReactCommon/hermes/inspector/tools/msggen/src/Graph.js +1 -1
- package/ReactCommon/hermes/inspector/tools/msggen/src/HeaderWriter.js +2 -2
- package/ReactCommon/hermes/inspector/tools/msggen/src/ImplementationWriter.js +1 -1
- package/ReactCommon/hermes/inspector/tools/msggen/src/Property.js +1 -1
- package/ReactCommon/hermes/inspector/tools/msggen/src/TestHelpers.js +1 -1
- package/ReactCommon/hermes/inspector/tools/msggen/src/Type.js +1 -1
- package/ReactCommon/hermes/inspector/tools/msggen/src/index.js +2 -2
- package/ReactCommon/hermes/inspector/tools/msggen/yarn.lock +19 -16
- package/ReactCommon/hermes/inspector/tools/sandcastle/build_and_test.sh +1 -1
- package/ReactCommon/hermes/inspector/tools/sandcastle/setup.sh +1 -5
- package/ReactCommon/jsi/Android.mk +1 -1
- package/ReactCommon/jsi/BUCK +0 -9
- package/ReactCommon/jsi/JSCRuntime.cpp +1 -1
- package/ReactCommon/jsi/JSCRuntime.h +1 -1
- package/ReactCommon/jsi/React-jsi.podspec +1 -1
- package/ReactCommon/jsi/jsi/CMakeLists.txt +1 -1
- package/ReactCommon/jsi/jsi/JSIDynamic.cpp +1 -1
- package/ReactCommon/jsi/jsi/JSIDynamic.h +1 -1
- package/ReactCommon/jsi/jsi/decorator.h +1 -1
- package/ReactCommon/jsi/jsi/instrumentation.h +1 -1
- package/ReactCommon/jsi/jsi/jsi-inl.h +1 -1
- package/ReactCommon/jsi/jsi/jsi.cpp +1 -1
- package/ReactCommon/jsi/jsi/jsi.h +5 -5
- package/ReactCommon/jsi/jsi/jsilib-posix.cpp +1 -1
- package/ReactCommon/jsi/jsi/jsilib-windows.cpp +1 -1
- package/ReactCommon/jsi/jsi/jsilib.h +1 -1
- package/ReactCommon/jsi/jsi/test/testlib.cpp +1 -1
- package/ReactCommon/jsi/jsi/test/testlib.h +1 -1
- package/ReactCommon/jsi/jsi/threadsafe.h +1 -1
- package/ReactCommon/jsiexecutor/Android.mk +1 -1
- package/ReactCommon/jsiexecutor/React-jsiexecutor.podspec +1 -1
- package/ReactCommon/jsiexecutor/jsireact/JSIExecutor.cpp +1 -1
- package/ReactCommon/jsiexecutor/jsireact/JSIExecutor.h +1 -1
- package/ReactCommon/jsiexecutor/jsireact/JSINativeModules.cpp +1 -1
- package/ReactCommon/jsiexecutor/jsireact/JSINativeModules.h +1 -1
- package/ReactCommon/jsinspector/Android.mk +1 -1
- package/ReactCommon/jsinspector/BUCK +1 -5
- package/ReactCommon/jsinspector/InspectorInterfaces.cpp +1 -1
- package/ReactCommon/jsinspector/InspectorInterfaces.h +1 -1
- package/ReactCommon/jsinspector/React-jsinspector.podspec +1 -1
- package/ReactCommon/logger/Android.mk +1 -1
- package/ReactCommon/logger/BUCK +0 -5
- package/ReactCommon/logger/React-logger.podspec +1 -1
- package/ReactCommon/logger/react_native_log.cpp +1 -1
- package/ReactCommon/logger/react_native_log.h +1 -1
- package/ReactCommon/microprofiler/MicroProfiler.cpp +1 -1
- package/ReactCommon/microprofiler/MicroProfiler.h +1 -1
- package/ReactCommon/react/config/Android.mk +2 -2
- package/ReactCommon/react/config/BUCK +2 -6
- package/ReactCommon/react/config/ReactNativeConfig.cpp +1 -1
- package/ReactCommon/react/config/ReactNativeConfig.h +1 -1
- package/ReactCommon/react/debug/Android.mk +1 -3
- package/ReactCommon/react/debug/BUCK +0 -6
- package/ReactCommon/react/debug/flags.h +1 -1
- package/ReactCommon/react/debug/react_native_assert.cpp +5 -5
- package/ReactCommon/react/debug/react_native_assert.h +1 -1
- package/ReactCommon/react/nativemodule/core/Android.mk +7 -2
- package/ReactCommon/react/nativemodule/core/BUCK +0 -5
- package/ReactCommon/react/nativemodule/core/ReactCommon/LongLivedObject.cpp +1 -1
- package/ReactCommon/react/nativemodule/core/ReactCommon/LongLivedObject.h +1 -1
- package/ReactCommon/react/nativemodule/core/ReactCommon/TurboCxxModule.cpp +1 -1
- package/ReactCommon/react/nativemodule/core/ReactCommon/TurboCxxModule.h +1 -1
- package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModule.cpp +1 -1
- package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModule.h +1 -1
- package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleBinding.cpp +1 -1
- package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleBinding.h +1 -1
- package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModulePerfLogger.cpp +1 -1
- package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModulePerfLogger.h +1 -1
- package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleUtils.cpp +1 -1
- package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleUtils.h +1 -1
- package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.cpp +1 -1
- package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.h +1 -1
- package/ReactCommon/react/nativemodule/core/platform/ios/RCTBlockGuard.h +1 -1
- package/ReactCommon/react/nativemodule/core/platform/ios/RCTBlockGuard.mm +1 -1
- package/ReactCommon/react/nativemodule/core/platform/ios/RCTTurboModule.h +1 -1
- package/ReactCommon/react/nativemodule/core/platform/ios/RCTTurboModule.mm +1 -1
- package/ReactCommon/react/nativemodule/core/platform/ios/RCTTurboModuleManager.h +1 -1
- package/ReactCommon/react/nativemodule/core/platform/ios/RCTTurboModuleManager.mm +23 -35
- package/ReactCommon/react/nativemodule/samples/BUCK +0 -7
- package/ReactCommon/react/nativemodule/samples/ReactCommon/NativeSampleTurboCxxModuleSpecJSI.cpp +1 -1
- package/ReactCommon/react/nativemodule/samples/ReactCommon/NativeSampleTurboCxxModuleSpecJSI.h +1 -1
- package/ReactCommon/react/nativemodule/samples/ReactCommon/SampleTurboCxxModule.cpp +1 -1
- package/ReactCommon/react/nativemodule/samples/ReactCommon/SampleTurboCxxModule.h +1 -1
- package/ReactCommon/react/nativemodule/samples/platform/android/Android.mk +6 -2
- package/ReactCommon/react/nativemodule/samples/platform/android/NativeSampleTurboModuleSpec.java +1 -1
- package/ReactCommon/react/nativemodule/samples/platform/android/ReactCommon/SampleTurboModuleSpec.cpp +1 -1
- package/ReactCommon/react/nativemodule/samples/platform/android/ReactCommon/SampleTurboModuleSpec.h +1 -1
- package/ReactCommon/react/nativemodule/samples/platform/android/SampleTurboModule.java +1 -1
- package/ReactCommon/react/nativemodule/samples/platform/ios/RCTNativeSampleTurboModuleSpec.h +1 -1
- package/ReactCommon/react/nativemodule/samples/platform/ios/RCTNativeSampleTurboModuleSpec.mm +1 -1
- package/ReactCommon/react/nativemodule/samples/platform/ios/RCTSampleTurboCxxModule.h +1 -1
- package/ReactCommon/react/nativemodule/samples/platform/ios/RCTSampleTurboCxxModule.mm +1 -1
- package/ReactCommon/react/nativemodule/samples/platform/ios/RCTSampleTurboModule.h +1 -1
- package/ReactCommon/react/nativemodule/samples/platform/ios/RCTSampleTurboModule.mm +1 -1
- package/ReactCommon/react/nativemodule/samples/platform/ios/SampleTurboCxxModuleLegacyImpl.cpp +1 -1
- package/ReactCommon/react/nativemodule/samples/platform/ios/SampleTurboCxxModuleLegacyImpl.h +1 -1
- package/ReactCommon/react/renderer/.clang-tidy +39 -0
- package/ReactCommon/react/renderer/animations/Android.mk +18 -2
- package/ReactCommon/react/renderer/animations/BUCK +1 -4
- package/ReactCommon/react/renderer/animations/LayoutAnimationCallbackWrapper.h +34 -0
- package/ReactCommon/react/renderer/animations/LayoutAnimationDriver.cpp +9 -30
- package/ReactCommon/react/renderer/animations/LayoutAnimationDriver.h +9 -15
- package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.cpp +1379 -1620
- package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.h +84 -249
- package/ReactCommon/react/renderer/animations/conversions.h +212 -0
- package/ReactCommon/react/renderer/animations/primitives.h +105 -0
- package/ReactCommon/react/renderer/animations/tests/LayoutAnimationTest.cpp +5 -5
- package/ReactCommon/react/renderer/animations/utils.cpp +71 -0
- package/ReactCommon/react/renderer/animations/utils.h +81 -0
- package/ReactCommon/react/renderer/attributedstring/Android.mk +16 -3
- package/ReactCommon/react/renderer/attributedstring/AttributedString.cpp +1 -1
- package/ReactCommon/react/renderer/attributedstring/AttributedString.h +2 -3
- package/ReactCommon/react/renderer/attributedstring/AttributedStringBox.cpp +8 -5
- package/ReactCommon/react/renderer/attributedstring/AttributedStringBox.h +3 -3
- package/ReactCommon/react/renderer/attributedstring/BUCK +0 -6
- package/ReactCommon/react/renderer/attributedstring/ParagraphAttributes.cpp +8 -4
- package/ReactCommon/react/renderer/attributedstring/ParagraphAttributes.h +13 -3
- package/ReactCommon/react/renderer/attributedstring/TextAttributes.cpp +7 -16
- package/ReactCommon/react/renderer/attributedstring/TextAttributes.h +16 -18
- package/ReactCommon/react/renderer/attributedstring/conversions.h +125 -130
- package/ReactCommon/react/renderer/attributedstring/primitives.h +22 -20
- package/ReactCommon/react/renderer/attributedstring/tests/AttributedStringBoxTest.cpp +1 -1
- package/ReactCommon/react/renderer/attributedstring/tests/AttributedStringTest.cpp +1 -1
- package/ReactCommon/react/renderer/attributedstring/tests/ParagraphAttributesTest.cpp +1 -1
- package/ReactCommon/react/renderer/attributedstring/tests/TextAttributesTest.cpp +1 -1
- package/ReactCommon/react/renderer/componentregistry/Android.mk +10 -2
- package/ReactCommon/react/renderer/componentregistry/BUCK +0 -6
- package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorFactory.h +1 -1
- package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorProvider.h +1 -1
- package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorProviderRegistry.cpp +7 -6
- package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorProviderRegistry.h +4 -4
- package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorRegistry.cpp +11 -9
- package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorRegistry.h +7 -7
- package/ReactCommon/react/renderer/componentregistry/componentNameByReactViewName.cpp +1 -1
- package/ReactCommon/react/renderer/componentregistry/componentNameByReactViewName.h +1 -1
- package/ReactCommon/react/renderer/componentregistry/native/Android.mk +10 -2
- package/ReactCommon/react/renderer/componentregistry/native/BUCK +0 -6
- package/ReactCommon/react/renderer/componentregistry/native/NativeComponentRegistryBinding.cpp +1 -1
- package/ReactCommon/react/renderer/componentregistry/native/NativeComponentRegistryBinding.h +1 -1
- package/ReactCommon/react/renderer/components/image/Android.mk +14 -2
- package/ReactCommon/react/renderer/components/image/BUCK +0 -6
- package/ReactCommon/react/renderer/components/image/ImageComponentDescriptor.h +1 -3
- package/ReactCommon/react/renderer/components/image/ImageEventEmitter.cpp +1 -1
- package/ReactCommon/react/renderer/components/image/ImageEventEmitter.h +1 -1
- package/ReactCommon/react/renderer/components/image/ImageProps.cpp +1 -1
- package/ReactCommon/react/renderer/components/image/ImageProps.h +1 -1
- package/ReactCommon/react/renderer/components/image/ImageShadowNode.cpp +1 -1
- package/ReactCommon/react/renderer/components/image/ImageShadowNode.h +1 -1
- package/ReactCommon/react/renderer/components/image/ImageState.cpp +1 -1
- package/ReactCommon/react/renderer/components/image/ImageState.h +1 -1
- package/ReactCommon/react/renderer/components/image/conversions.h +4 -4
- package/ReactCommon/react/renderer/components/image/tests/ImageTest.cpp +1 -1
- package/ReactCommon/react/renderer/components/inputaccessory/BUCK +0 -6
- package/ReactCommon/react/renderer/components/inputaccessory/InputAccessoryComponentDescriptor.h +1 -5
- package/ReactCommon/react/renderer/components/inputaccessory/InputAccessoryShadowNode.cpp +1 -1
- package/ReactCommon/react/renderer/components/inputaccessory/InputAccessoryShadowNode.h +1 -1
- package/ReactCommon/react/renderer/components/inputaccessory/InputAccessoryState.h +1 -1
- package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/BUCK +0 -6
- package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropComponentDescriptor.h +1 -1
- package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropComponentDescriptor.mm +1 -1
- package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropShadowNode.cpp +1 -1
- package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropShadowNode.h +1 -1
- package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropState.h +1 -1
- package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropState.mm +1 -1
- package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropViewEventEmitter.cpp +1 -1
- package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropViewEventEmitter.h +1 -1
- package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropViewProps.cpp +1 -1
- package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropViewProps.h +1 -1
- package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/RCTLegacyViewManagerInteropCoordinator.h +1 -1
- package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/RCTLegacyViewManagerInteropCoordinator.mm +1 -1
- package/ReactCommon/react/renderer/components/modal/Android.mk +18 -4
- package/ReactCommon/react/renderer/components/modal/BUCK +0 -6
- package/ReactCommon/react/renderer/components/modal/ModalHostViewComponentDescriptor.h +1 -6
- package/ReactCommon/react/renderer/components/modal/ModalHostViewShadowNode.cpp +1 -1
- package/ReactCommon/react/renderer/components/modal/ModalHostViewShadowNode.h +1 -1
- package/ReactCommon/react/renderer/components/modal/ModalHostViewState.cpp +1 -1
- package/ReactCommon/react/renderer/components/modal/ModalHostViewState.h +1 -1
- package/ReactCommon/react/renderer/components/progressbar/Android.mk +19 -4
- package/ReactCommon/react/renderer/components/progressbar/BUCK +0 -6
- package/ReactCommon/react/renderer/components/progressbar/android/react/renderer/components/progressbar/AndroidProgressBarComponentDescriptor.h +1 -4
- package/ReactCommon/react/renderer/components/progressbar/android/react/renderer/components/progressbar/AndroidProgressBarMeasurementsManager.cpp +2 -2
- package/ReactCommon/react/renderer/components/progressbar/android/react/renderer/components/progressbar/AndroidProgressBarMeasurementsManager.h +2 -2
- package/ReactCommon/react/renderer/components/progressbar/android/react/renderer/components/progressbar/AndroidProgressBarShadowNode.cpp +1 -1
- package/ReactCommon/react/renderer/components/progressbar/android/react/renderer/components/progressbar/AndroidProgressBarShadowNode.h +1 -1
- package/ReactCommon/react/renderer/components/progressbar/android/react/renderer/components/progressbar/conversions.h +1 -1
- package/ReactCommon/react/renderer/components/root/Android.mk +12 -2
- package/ReactCommon/react/renderer/components/root/BUCK +0 -6
- package/ReactCommon/react/renderer/components/root/RootComponentDescriptor.h +1 -1
- package/ReactCommon/react/renderer/components/root/RootProps.cpp +1 -1
- package/ReactCommon/react/renderer/components/root/RootProps.h +1 -1
- package/ReactCommon/react/renderer/components/root/RootShadowNode.cpp +1 -1
- package/ReactCommon/react/renderer/components/root/RootShadowNode.h +1 -1
- package/ReactCommon/react/renderer/components/root/tests/RootShadowNodeTest.cpp +1 -1
- package/ReactCommon/react/renderer/components/safeareaview/BUCK +0 -6
- package/ReactCommon/react/renderer/components/safeareaview/SafeAreaViewComponentDescriptor.h +1 -1
- package/ReactCommon/react/renderer/components/safeareaview/SafeAreaViewShadowNode.cpp +1 -1
- package/ReactCommon/react/renderer/components/safeareaview/SafeAreaViewShadowNode.h +1 -1
- package/ReactCommon/react/renderer/components/safeareaview/SafeAreaViewState.cpp +1 -1
- package/ReactCommon/react/renderer/components/safeareaview/SafeAreaViewState.h +1 -1
- package/ReactCommon/react/renderer/components/scrollview/Android.mk +16 -4
- package/ReactCommon/react/renderer/components/scrollview/BUCK +0 -6
- package/ReactCommon/react/renderer/components/scrollview/RCTComponentViewHelpers.h +1 -1
- package/ReactCommon/react/renderer/components/scrollview/ScrollViewComponentDescriptor.h +1 -1
- package/ReactCommon/react/renderer/components/scrollview/ScrollViewEventEmitter.cpp +1 -1
- package/ReactCommon/react/renderer/components/scrollview/ScrollViewEventEmitter.h +1 -1
- package/ReactCommon/react/renderer/components/scrollview/ScrollViewProps.cpp +1 -1
- package/ReactCommon/react/renderer/components/scrollview/ScrollViewProps.h +1 -1
- package/ReactCommon/react/renderer/components/scrollview/ScrollViewShadowNode.cpp +1 -1
- package/ReactCommon/react/renderer/components/scrollview/ScrollViewShadowNode.h +1 -1
- package/ReactCommon/react/renderer/components/scrollview/ScrollViewState.cpp +1 -1
- package/ReactCommon/react/renderer/components/scrollview/ScrollViewState.h +1 -1
- package/ReactCommon/react/renderer/components/scrollview/conversions.h +1 -1
- package/ReactCommon/react/renderer/components/scrollview/primitives.h +1 -1
- package/ReactCommon/react/renderer/components/scrollview/tests/ScrollViewTest.cpp +1 -1
- package/ReactCommon/react/renderer/components/slider/Android.mk +22 -4
- package/ReactCommon/react/renderer/components/slider/BUCK +0 -6
- package/ReactCommon/react/renderer/components/slider/SliderComponentDescriptor.h +1 -4
- package/ReactCommon/react/renderer/components/slider/SliderShadowNode.cpp +1 -1
- package/ReactCommon/react/renderer/components/slider/SliderShadowNode.h +1 -1
- package/ReactCommon/react/renderer/components/slider/SliderState.cpp +1 -1
- package/ReactCommon/react/renderer/components/slider/SliderState.h +1 -1
- package/ReactCommon/react/renderer/components/slider/platform/android/react/renderer/components/slider/SliderMeasurementsManager.cpp +1 -1
- package/ReactCommon/react/renderer/components/slider/platform/android/react/renderer/components/slider/SliderMeasurementsManager.h +1 -1
- package/ReactCommon/react/renderer/components/slider/platform/ios/SliderMeasurementsManager.cpp +1 -1
- package/ReactCommon/react/renderer/components/slider/platform/ios/SliderMeasurementsManager.h +1 -1
- package/ReactCommon/react/renderer/components/slider/tests/SliderTest.cpp +1 -1
- package/ReactCommon/react/renderer/components/switch/Android.mk +19 -4
- package/ReactCommon/react/renderer/components/switch/BUCK +0 -6
- package/ReactCommon/react/renderer/components/switch/androidswitch/react/renderer/components/androidswitch/AndroidSwitchComponentDescriptor.h +1 -4
- package/ReactCommon/react/renderer/components/switch/androidswitch/react/renderer/components/androidswitch/AndroidSwitchMeasurementsManager.cpp +1 -1
- package/ReactCommon/react/renderer/components/switch/androidswitch/react/renderer/components/androidswitch/AndroidSwitchMeasurementsManager.h +1 -1
- package/ReactCommon/react/renderer/components/switch/androidswitch/react/renderer/components/androidswitch/AndroidSwitchShadowNode.cpp +1 -1
- package/ReactCommon/react/renderer/components/switch/androidswitch/react/renderer/components/androidswitch/AndroidSwitchShadowNode.h +1 -1
- package/ReactCommon/react/renderer/components/text/Android.mk +18 -2
- package/ReactCommon/react/renderer/components/text/BUCK +0 -6
- package/ReactCommon/react/renderer/components/text/BaseTextProps.cpp +9 -15
- package/ReactCommon/react/renderer/components/text/BaseTextProps.h +1 -1
- package/ReactCommon/react/renderer/components/text/BaseTextShadowNode.cpp +1 -1
- package/ReactCommon/react/renderer/components/text/BaseTextShadowNode.h +1 -1
- package/ReactCommon/react/renderer/components/text/ParagraphComponentDescriptor.h +3 -22
- package/ReactCommon/react/renderer/components/text/ParagraphEventEmitter.cpp +1 -1
- package/ReactCommon/react/renderer/components/text/ParagraphEventEmitter.h +1 -1
- package/ReactCommon/react/renderer/components/text/ParagraphProps.cpp +1 -1
- package/ReactCommon/react/renderer/components/text/ParagraphProps.h +1 -1
- package/ReactCommon/react/renderer/components/text/ParagraphShadowNode.cpp +3 -3
- package/ReactCommon/react/renderer/components/text/ParagraphShadowNode.h +5 -4
- package/ReactCommon/react/renderer/components/text/ParagraphState.cpp +1 -1
- package/ReactCommon/react/renderer/components/text/ParagraphState.h +1 -1
- package/ReactCommon/react/renderer/components/text/RawTextComponentDescriptor.h +1 -1
- package/ReactCommon/react/renderer/components/text/RawTextProps.cpp +1 -1
- package/ReactCommon/react/renderer/components/text/RawTextProps.h +1 -1
- package/ReactCommon/react/renderer/components/text/RawTextShadowNode.cpp +1 -1
- package/ReactCommon/react/renderer/components/text/RawTextShadowNode.h +1 -1
- package/ReactCommon/react/renderer/components/text/TextComponentDescriptor.h +1 -1
- package/ReactCommon/react/renderer/components/text/TextProps.cpp +1 -1
- package/ReactCommon/react/renderer/components/text/TextProps.h +1 -1
- package/ReactCommon/react/renderer/components/text/TextShadowNode.cpp +1 -1
- package/ReactCommon/react/renderer/components/text/TextShadowNode.h +1 -1
- package/ReactCommon/react/renderer/components/text/conversions.h +5 -5
- package/ReactCommon/react/renderer/components/text/tests/ParagraphLocalDataTest.cpp +1 -1
- package/ReactCommon/react/renderer/components/text/tests/TextTest.cpp +1 -1
- package/ReactCommon/react/renderer/components/textinput/Android.mk +23 -3
- package/ReactCommon/react/renderer/components/textinput/BUCK +0 -6
- package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputComponentDescriptor.h +2 -5
- package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputEventEmitter.h +7 -128
- package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputProps.cpp +1 -1
- package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputProps.h +5 -3
- package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputShadowNode.cpp +4 -2
- package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputShadowNode.h +2 -2
- package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputState.cpp +13 -12
- package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputState.h +6 -6
- package/ReactCommon/react/renderer/components/textinput/iostextinput/BUCK +0 -6
- package/ReactCommon/react/renderer/components/textinput/iostextinput/TextInputComponentDescriptor.h +2 -5
- package/ReactCommon/react/renderer/components/textinput/iostextinput/TextInputEventEmitter.cpp +19 -3
- package/ReactCommon/react/renderer/components/textinput/iostextinput/TextInputEventEmitter.h +6 -2
- package/ReactCommon/react/renderer/components/textinput/iostextinput/TextInputProps.cpp +14 -2
- package/ReactCommon/react/renderer/components/textinput/iostextinput/TextInputProps.h +5 -2
- package/ReactCommon/react/renderer/components/textinput/iostextinput/TextInputShadowNode.cpp +3 -3
- package/ReactCommon/react/renderer/components/textinput/iostextinput/TextInputShadowNode.h +4 -3
- package/ReactCommon/react/renderer/components/textinput/iostextinput/TextInputState.cpp +24 -2
- package/ReactCommon/react/renderer/components/textinput/iostextinput/TextInputState.h +14 -2
- package/ReactCommon/react/renderer/components/textinput/iostextinput/conversions.h +1 -1
- package/ReactCommon/react/renderer/components/textinput/iostextinput/primitives.h +4 -4
- package/ReactCommon/react/renderer/components/textinput/iostextinput/propsConversions.h +3 -3
- package/ReactCommon/react/renderer/components/unimplementedview/Android.mk +13 -2
- package/ReactCommon/react/renderer/components/unimplementedview/BUCK +0 -6
- package/ReactCommon/react/renderer/components/unimplementedview/UnimplementedViewComponentDescriptor.cpp +1 -5
- package/ReactCommon/react/renderer/components/unimplementedview/UnimplementedViewComponentDescriptor.h +1 -1
- package/ReactCommon/react/renderer/components/unimplementedview/UnimplementedViewProps.cpp +1 -1
- package/ReactCommon/react/renderer/components/unimplementedview/UnimplementedViewProps.h +1 -1
- package/ReactCommon/react/renderer/components/unimplementedview/UnimplementedViewShadowNode.cpp +1 -1
- package/ReactCommon/react/renderer/components/unimplementedview/UnimplementedViewShadowNode.h +1 -1
- package/ReactCommon/react/renderer/components/view/AccessibilityPrimitives.h +7 -7
- package/ReactCommon/react/renderer/components/view/AccessibilityProps.cpp +1 -1
- package/ReactCommon/react/renderer/components/view/AccessibilityProps.h +1 -1
- package/ReactCommon/react/renderer/components/view/Android.mk +13 -3
- package/ReactCommon/react/renderer/components/view/BUCK +2 -6
- package/ReactCommon/react/renderer/components/view/ConcreteViewShadowNode.h +1 -1
- package/ReactCommon/react/renderer/components/view/Touch.cpp +1 -1
- package/ReactCommon/react/renderer/components/view/Touch.h +2 -33
- package/ReactCommon/react/renderer/components/view/TouchEvent.cpp +1 -1
- package/ReactCommon/react/renderer/components/view/TouchEvent.h +1 -1
- package/ReactCommon/react/renderer/components/view/TouchEventEmitter.cpp +1 -1
- package/ReactCommon/react/renderer/components/view/TouchEventEmitter.h +1 -1
- package/ReactCommon/react/renderer/components/view/ViewComponentDescriptor.h +1 -24
- package/ReactCommon/react/renderer/components/view/ViewEventEmitter.cpp +1 -1
- package/ReactCommon/react/renderer/components/view/ViewEventEmitter.h +1 -1
- package/ReactCommon/react/renderer/components/view/ViewProps.cpp +19 -1
- package/ReactCommon/react/renderer/components/view/ViewProps.h +12 -6
- package/ReactCommon/react/renderer/components/view/ViewPropsInterpolation.h +3 -4
- package/ReactCommon/react/renderer/components/view/ViewShadowNode.cpp +6 -5
- package/ReactCommon/react/renderer/components/view/ViewShadowNode.h +2 -2
- package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.cpp +12 -3
- package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.h +2 -2
- package/ReactCommon/react/renderer/components/view/YogaStylableProps.cpp +1 -1
- package/ReactCommon/react/renderer/components/view/YogaStylableProps.h +1 -1
- package/ReactCommon/react/renderer/components/view/accessibilityPropsConversions.h +8 -4
- package/ReactCommon/react/renderer/components/view/conversions.h +9 -9
- package/ReactCommon/react/renderer/components/view/primitives.h +12 -12
- package/ReactCommon/react/renderer/components/view/propsConversions.h +2 -2
- package/ReactCommon/react/renderer/components/view/tests/LayoutTest.cpp +1 -1
- package/ReactCommon/react/renderer/components/view/tests/ViewTest.cpp +1 -1
- package/ReactCommon/react/renderer/core/Android.mk +10 -2
- package/ReactCommon/react/renderer/core/BUCK +2 -6
- package/ReactCommon/react/renderer/core/BatchedEventQueue.cpp +1 -1
- package/ReactCommon/react/renderer/core/BatchedEventQueue.h +1 -1
- package/ReactCommon/react/renderer/core/ComponentDescriptor.cpp +1 -1
- package/ReactCommon/react/renderer/core/ComponentDescriptor.h +3 -2
- package/ReactCommon/react/renderer/core/ConcreteComponentDescriptor.h +17 -11
- package/ReactCommon/react/renderer/core/ConcreteShadowNode.h +2 -11
- package/ReactCommon/react/renderer/core/ConcreteState.h +1 -1
- package/ReactCommon/react/renderer/core/DynamicPropsUtilities.cpp +1 -1
- package/ReactCommon/react/renderer/core/DynamicPropsUtilities.h +1 -1
- package/ReactCommon/react/renderer/core/EventBeat.cpp +7 -4
- package/ReactCommon/react/renderer/core/EventBeat.h +3 -3
- package/ReactCommon/react/renderer/core/EventDispatcher.cpp +2 -2
- package/ReactCommon/react/renderer/core/EventDispatcher.h +2 -2
- package/ReactCommon/react/renderer/core/EventEmitter.cpp +10 -5
- package/ReactCommon/react/renderer/core/EventEmitter.h +3 -2
- package/ReactCommon/react/renderer/core/EventHandler.h +1 -1
- package/ReactCommon/react/renderer/core/EventPipe.h +1 -1
- package/ReactCommon/react/renderer/core/EventPriority.h +1 -1
- package/ReactCommon/react/renderer/core/EventQueue.cpp +2 -2
- package/ReactCommon/react/renderer/core/EventQueue.h +1 -1
- package/ReactCommon/react/renderer/core/EventQueueProcessor.cpp +1 -1
- package/ReactCommon/react/renderer/core/EventQueueProcessor.h +1 -1
- package/ReactCommon/react/renderer/core/EventTarget.cpp +5 -3
- package/ReactCommon/react/renderer/core/EventTarget.h +1 -1
- package/ReactCommon/react/renderer/core/LayoutConstraints.cpp +1 -1
- package/ReactCommon/react/renderer/core/LayoutConstraints.h +1 -1
- package/ReactCommon/react/renderer/core/LayoutContext.h +1 -1
- package/ReactCommon/react/renderer/core/LayoutMetrics.cpp +1 -1
- package/ReactCommon/react/renderer/core/LayoutMetrics.h +1 -1
- package/ReactCommon/react/renderer/core/LayoutPrimitives.h +1 -1
- package/ReactCommon/react/renderer/core/LayoutableShadowNode.cpp +16 -26
- package/ReactCommon/react/renderer/core/LayoutableShadowNode.h +6 -6
- package/ReactCommon/react/renderer/core/Props.cpp +1 -1
- package/ReactCommon/react/renderer/core/Props.h +2 -1
- package/ReactCommon/react/renderer/core/PropsParserContext.h +4 -3
- package/ReactCommon/react/renderer/core/RawEvent.cpp +1 -1
- package/ReactCommon/react/renderer/core/RawEvent.h +8 -6
- package/ReactCommon/react/renderer/core/RawProps.cpp +2 -1
- package/ReactCommon/react/renderer/core/RawProps.h +6 -7
- package/ReactCommon/react/renderer/core/RawPropsKey.cpp +15 -6
- package/ReactCommon/react/renderer/core/RawPropsKey.h +1 -1
- package/ReactCommon/react/renderer/core/RawPropsKeyMap.cpp +1 -1
- package/ReactCommon/react/renderer/core/RawPropsKeyMap.h +4 -4
- package/ReactCommon/react/renderer/core/RawPropsParser.cpp +1 -1
- package/ReactCommon/react/renderer/core/RawPropsParser.h +4 -4
- package/ReactCommon/react/renderer/core/RawPropsPrimitives.h +1 -1
- package/ReactCommon/react/renderer/core/RawValue.cpp +1 -1
- package/ReactCommon/react/renderer/core/RawValue.h +7 -7
- package/ReactCommon/react/renderer/core/ReactEventPriority.h +1 -1
- package/ReactCommon/react/renderer/core/ReactPrimitives.h +1 -3
- package/ReactCommon/react/renderer/core/Sealable.cpp +2 -2
- package/ReactCommon/react/renderer/core/Sealable.h +1 -1
- package/ReactCommon/react/renderer/core/ShadowNode.cpp +17 -18
- package/ReactCommon/react/renderer/core/ShadowNode.h +9 -9
- package/ReactCommon/react/renderer/core/ShadowNodeFamily.cpp +9 -7
- package/ReactCommon/react/renderer/core/ShadowNodeFamily.h +5 -4
- package/ReactCommon/react/renderer/core/ShadowNodeFamilyFragment.cpp +1 -1
- package/ReactCommon/react/renderer/core/ShadowNodeFamilyFragment.h +1 -1
- package/ReactCommon/react/renderer/core/ShadowNodeFragment.cpp +1 -1
- package/ReactCommon/react/renderer/core/ShadowNodeFragment.h +1 -1
- package/ReactCommon/react/renderer/core/ShadowNodeTraits.cpp +1 -1
- package/ReactCommon/react/renderer/core/ShadowNodeTraits.h +1 -1
- package/ReactCommon/react/renderer/core/State.cpp +11 -7
- package/ReactCommon/react/renderer/core/State.h +3 -3
- package/ReactCommon/react/renderer/core/StateData.h +1 -1
- package/ReactCommon/react/renderer/core/StatePipe.h +1 -1
- package/ReactCommon/react/renderer/core/StateUpdate.cpp +1 -1
- package/ReactCommon/react/renderer/core/StateUpdate.h +1 -1
- package/ReactCommon/react/renderer/core/UnbatchedEventQueue.cpp +1 -1
- package/ReactCommon/react/renderer/core/UnbatchedEventQueue.h +1 -1
- package/ReactCommon/react/renderer/core/ValueFactory.h +1 -1
- package/ReactCommon/react/renderer/core/conversions.h +1 -1
- package/ReactCommon/react/renderer/core/propsConversions.h +6 -6
- package/ReactCommon/react/renderer/core/tests/ComponentDescriptorTest.cpp +1 -1
- package/ReactCommon/react/renderer/core/tests/ConcreteShadowNodeTest.cpp +1 -1
- package/ReactCommon/react/renderer/core/tests/DynamicPropsUtilitiesTest.cpp +1 -1
- package/ReactCommon/react/renderer/core/tests/EventQueueProcessorTest.cpp +1 -1
- package/ReactCommon/react/renderer/core/tests/FindNodeAtPointTest.cpp +1 -1
- package/ReactCommon/react/renderer/core/tests/LayoutableShadowNodeTest.cpp +1 -1
- package/ReactCommon/react/renderer/core/tests/PrimitivesTest.cpp +1 -1
- package/ReactCommon/react/renderer/core/tests/RawPropsTest.cpp +1 -1
- package/ReactCommon/react/renderer/core/tests/ShadowNodeFamilyTest.cpp +1 -1
- package/ReactCommon/react/renderer/core/tests/ShadowNodeTest.cpp +1 -1
- package/ReactCommon/react/renderer/core/tests/TestComponent.h +1 -1
- package/ReactCommon/react/renderer/core/tests/benchmarks/RawPropsBenchmark.cpp +16 -7
- package/ReactCommon/react/renderer/core/tests/traitCastTest.cpp +1 -1
- package/ReactCommon/react/renderer/debug/Android.mk +1 -1
- package/ReactCommon/react/renderer/debug/BUCK +3 -7
- package/ReactCommon/react/renderer/debug/DebugStringConvertible.cpp +3 -3
- package/ReactCommon/react/renderer/debug/DebugStringConvertible.h +1 -1
- package/ReactCommon/react/renderer/debug/DebugStringConvertibleItem.cpp +11 -6
- package/ReactCommon/react/renderer/debug/DebugStringConvertibleItem.h +5 -5
- package/ReactCommon/react/renderer/debug/SystraceSection.h +1 -1
- package/ReactCommon/react/renderer/debug/debugStringConvertibleUtils.h +3 -3
- package/ReactCommon/react/renderer/debug/flags.h +1 -1
- package/ReactCommon/react/renderer/debug/tests/DebugStringConvertibleTest.cpp +1 -1
- package/ReactCommon/react/renderer/element/BUCK +0 -6
- package/ReactCommon/react/renderer/element/ComponentBuilder.cpp +5 -3
- package/ReactCommon/react/renderer/element/ComponentBuilder.h +2 -2
- package/ReactCommon/react/renderer/element/Element.cpp +1 -1
- package/ReactCommon/react/renderer/element/Element.h +1 -1
- package/ReactCommon/react/renderer/element/ElementFragment.cpp +1 -1
- package/ReactCommon/react/renderer/element/ElementFragment.h +1 -1
- package/ReactCommon/react/renderer/element/testUtils.h +1 -1
- package/ReactCommon/react/renderer/element/tests/ElementTest.cpp +1 -1
- package/ReactCommon/react/renderer/graphics/Android.mk +9 -3
- package/ReactCommon/react/renderer/graphics/BUCK +1 -7
- package/ReactCommon/react/renderer/graphics/ColorComponents.h +1 -1
- package/ReactCommon/react/renderer/graphics/Geometry.h +1 -1
- package/ReactCommon/react/renderer/graphics/Point.h +1 -1
- package/ReactCommon/react/renderer/graphics/React-graphics.podspec +1 -2
- package/ReactCommon/react/renderer/graphics/Rect.h +1 -1
- package/ReactCommon/react/renderer/graphics/RectangleCorners.h +1 -1
- package/ReactCommon/react/renderer/graphics/RectangleEdges.h +1 -1
- package/ReactCommon/react/renderer/graphics/Size.h +1 -1
- package/ReactCommon/react/renderer/graphics/Transform.cpp +2 -2
- package/ReactCommon/react/renderer/graphics/Transform.h +2 -2
- package/ReactCommon/react/renderer/graphics/conversions.h +11 -10
- package/ReactCommon/react/renderer/graphics/platform/android/react/renderer/graphics/PlatformColorParser.h +3 -3
- package/ReactCommon/react/renderer/graphics/platform/cxx/react/renderer/graphics/Color.cpp +2 -2
- package/ReactCommon/react/renderer/graphics/platform/cxx/react/renderer/graphics/Color.h +2 -2
- package/ReactCommon/react/renderer/graphics/platform/cxx/react/renderer/graphics/Float.h +1 -1
- package/ReactCommon/react/renderer/graphics/platform/cxx/react/renderer/graphics/PlatformColorParser.h +1 -1
- package/ReactCommon/react/renderer/graphics/platform/ios/Color.cpp +1 -1
- package/ReactCommon/react/renderer/graphics/platform/ios/Color.h +2 -2
- package/ReactCommon/react/renderer/graphics/platform/ios/Float.h +1 -1
- package/ReactCommon/react/renderer/graphics/platform/ios/PlatformColorParser.h +3 -3
- package/ReactCommon/react/renderer/graphics/platform/ios/RCTPlatformColorUtils.h +1 -1
- package/ReactCommon/react/renderer/graphics/platform/ios/RCTPlatformColorUtils.mm +9 -11
- package/ReactCommon/react/renderer/graphics/rounding.h +1 -1
- package/ReactCommon/react/renderer/graphics/tests/GraphicsTest.cpp +1 -1
- package/ReactCommon/react/renderer/graphics/tests/TransformTest.cpp +2 -2
- package/ReactCommon/react/renderer/imagemanager/Android.mk +9 -2
- package/ReactCommon/react/renderer/imagemanager/BUCK +0 -6
- package/ReactCommon/react/renderer/imagemanager/ImageManager.h +1 -1
- package/ReactCommon/react/renderer/imagemanager/ImageRequest.h +2 -2
- package/ReactCommon/react/renderer/imagemanager/ImageResponse.cpp +6 -4
- package/ReactCommon/react/renderer/imagemanager/ImageResponse.h +2 -4
- package/ReactCommon/react/renderer/imagemanager/ImageResponseObserver.h +1 -1
- package/ReactCommon/react/renderer/imagemanager/ImageResponseObserverCoordinator.cpp +1 -1
- package/ReactCommon/react/renderer/imagemanager/ImageResponseObserverCoordinator.h +3 -3
- package/ReactCommon/react/renderer/imagemanager/ImageTelemetry.cpp +1 -1
- package/ReactCommon/react/renderer/imagemanager/ImageTelemetry.h +1 -1
- package/ReactCommon/react/renderer/imagemanager/platform/cxx/react/renderer/imagemanager/ImageManager.cpp +1 -1
- package/ReactCommon/react/renderer/imagemanager/platform/cxx/react/renderer/imagemanager/ImageRequest.cpp +5 -3
- package/ReactCommon/react/renderer/imagemanager/platform/ios/ImageManager.mm +1 -1
- package/ReactCommon/react/renderer/imagemanager/platform/ios/ImageRequest.cpp +3 -3
- package/ReactCommon/react/renderer/imagemanager/platform/ios/RCTImageManager.h +1 -1
- package/ReactCommon/react/renderer/imagemanager/platform/ios/RCTImageManager.mm +1 -1
- package/ReactCommon/react/renderer/imagemanager/platform/ios/RCTImageManagerProtocol.h +1 -1
- package/ReactCommon/react/renderer/imagemanager/platform/ios/RCTImagePrimitivesConversions.h +1 -1
- package/ReactCommon/react/renderer/imagemanager/platform/ios/RCTSyncImageManager.h +1 -1
- package/ReactCommon/react/renderer/imagemanager/platform/ios/RCTSyncImageManager.mm +1 -1
- package/ReactCommon/react/renderer/imagemanager/primitives.h +1 -1
- package/ReactCommon/react/renderer/imagemanager/tests/ImageManagerTest.cpp +1 -1
- package/ReactCommon/react/renderer/leakchecker/Android.mk +5 -2
- package/ReactCommon/react/renderer/leakchecker/BUCK +0 -6
- package/ReactCommon/react/renderer/leakchecker/LeakChecker.cpp +5 -3
- package/ReactCommon/react/renderer/leakchecker/LeakChecker.h +2 -2
- package/ReactCommon/react/renderer/leakchecker/WeakFamilyRegistry.cpp +1 -1
- package/ReactCommon/react/renderer/leakchecker/WeakFamilyRegistry.h +1 -1
- package/ReactCommon/react/renderer/mapbuffer/Android.mk +5 -2
- package/ReactCommon/react/renderer/mapbuffer/BUCK +0 -6
- package/ReactCommon/react/renderer/mapbuffer/MapBuffer.cpp +65 -86
- package/ReactCommon/react/renderer/mapbuffer/MapBuffer.h +104 -28
- package/ReactCommon/react/renderer/mapbuffer/MapBufferBuilder.cpp +89 -166
- package/ReactCommon/react/renderer/mapbuffer/MapBufferBuilder.h +23 -58
- package/ReactCommon/react/renderer/mapbuffer/tests/MapBufferTest.cpp +37 -27
- package/ReactCommon/react/renderer/mounting/Android.mk +19 -3
- package/ReactCommon/react/renderer/mounting/BUCK +1 -7
- package/ReactCommon/react/renderer/mounting/Differentiator.cpp +19 -26
- package/ReactCommon/react/renderer/mounting/Differentiator.h +1 -1
- package/ReactCommon/react/renderer/mounting/MountingCoordinator.cpp +4 -4
- package/ReactCommon/react/renderer/mounting/MountingCoordinator.h +4 -4
- package/ReactCommon/react/renderer/mounting/MountingOverrideDelegate.h +3 -3
- package/ReactCommon/react/renderer/mounting/MountingTransaction.cpp +1 -1
- package/ReactCommon/react/renderer/mounting/MountingTransaction.h +1 -1
- package/ReactCommon/react/renderer/mounting/MountingTransactionMetadata.cpp +1 -1
- package/ReactCommon/react/renderer/mounting/MountingTransactionMetadata.h +1 -1
- package/ReactCommon/react/renderer/mounting/ShadowTree.cpp +11 -11
- package/ReactCommon/react/renderer/mounting/ShadowTree.h +3 -3
- package/ReactCommon/react/renderer/mounting/ShadowTreeDelegate.h +1 -1
- package/ReactCommon/react/renderer/mounting/ShadowTreeRegistry.cpp +8 -13
- package/ReactCommon/react/renderer/mounting/ShadowTreeRegistry.h +8 -9
- package/ReactCommon/react/renderer/mounting/ShadowTreeRevision.cpp +1 -1
- package/ReactCommon/react/renderer/mounting/ShadowTreeRevision.h +2 -2
- package/ReactCommon/react/renderer/mounting/ShadowView.cpp +1 -1
- package/ReactCommon/react/renderer/mounting/ShadowView.h +5 -5
- package/ReactCommon/react/renderer/mounting/ShadowViewMutation.cpp +23 -9
- package/ReactCommon/react/renderer/mounting/ShadowViewMutation.h +11 -2
- package/ReactCommon/react/renderer/mounting/StubView.cpp +1 -1
- package/ReactCommon/react/renderer/mounting/StubView.h +1 -1
- package/ReactCommon/react/renderer/mounting/StubViewTree.cpp +1 -1
- package/ReactCommon/react/renderer/mounting/StubViewTree.h +1 -1
- package/ReactCommon/react/renderer/mounting/TelemetryController.cpp +6 -5
- package/ReactCommon/react/renderer/mounting/TelemetryController.h +7 -4
- package/ReactCommon/react/renderer/mounting/stubs.cpp +1 -1
- package/ReactCommon/react/renderer/mounting/stubs.h +1 -1
- package/ReactCommon/react/renderer/mounting/tests/MountingTest.cpp +5 -5
- package/ReactCommon/react/renderer/mounting/tests/ShadowTreeLifeCycleTest.cpp +1 -1
- package/ReactCommon/react/renderer/mounting/tests/StackingContextTest.cpp +3 -3
- package/ReactCommon/react/renderer/mounting/tests/StateReconciliationTest.cpp +3 -3
- package/ReactCommon/react/renderer/runtimescheduler/Android.mk +8 -2
- package/ReactCommon/react/renderer/runtimescheduler/BUCK +2 -8
- package/ReactCommon/react/renderer/runtimescheduler/ErrorUtils.h +36 -0
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.cpp +93 -51
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.h +54 -19
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerBinding.cpp +27 -7
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerBinding.h +15 -5
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerCallInvoker.cpp +34 -0
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerCallInvoker.h +36 -0
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerClock.h +5 -3
- package/ReactCommon/react/renderer/runtimescheduler/SchedulerPriority.h +21 -4
- package/ReactCommon/react/renderer/runtimescheduler/Task.cpp +5 -3
- package/ReactCommon/react/renderer/runtimescheduler/Task.h +7 -5
- package/ReactCommon/react/renderer/runtimescheduler/primitives.h +5 -3
- package/ReactCommon/react/renderer/runtimescheduler/tests/RuntimeSchedulerTest.cpp +135 -13
- package/ReactCommon/react/renderer/runtimescheduler/tests/SchedulerPriorityTest.cpp +1 -1
- package/ReactCommon/react/renderer/runtimescheduler/tests/StubClock.h +1 -1
- package/ReactCommon/react/renderer/runtimescheduler/tests/StubErrorUtils.h +72 -0
- package/ReactCommon/react/renderer/runtimescheduler/tests/StubQueue.h +29 -7
- package/ReactCommon/react/renderer/scheduler/Android.mk +20 -2
- package/ReactCommon/react/renderer/scheduler/AsynchronousEventBeat.cpp +1 -1
- package/ReactCommon/react/renderer/scheduler/AsynchronousEventBeat.h +1 -1
- package/ReactCommon/react/renderer/scheduler/BUCK +0 -6
- package/ReactCommon/react/renderer/scheduler/InspectorData.h +1 -1
- package/ReactCommon/react/renderer/scheduler/Scheduler.cpp +16 -20
- package/ReactCommon/react/renderer/scheduler/Scheduler.h +5 -5
- package/ReactCommon/react/renderer/scheduler/SchedulerDelegate.h +2 -2
- package/ReactCommon/react/renderer/scheduler/SchedulerToolbox.cpp +1 -1
- package/ReactCommon/react/renderer/scheduler/SchedulerToolbox.h +1 -1
- package/ReactCommon/react/renderer/scheduler/SurfaceHandler.cpp +25 -25
- package/ReactCommon/react/renderer/scheduler/SurfaceHandler.h +7 -7
- package/ReactCommon/react/renderer/scheduler/SurfaceManager.cpp +5 -5
- package/ReactCommon/react/renderer/scheduler/SurfaceManager.h +6 -6
- package/ReactCommon/react/renderer/scheduler/SynchronousEventBeat.cpp +5 -3
- package/ReactCommon/react/renderer/scheduler/SynchronousEventBeat.h +2 -2
- package/ReactCommon/react/renderer/telemetry/Android.mk +15 -3
- package/ReactCommon/react/renderer/telemetry/BUCK +1 -7
- package/ReactCommon/react/renderer/telemetry/SurfaceTelemetry.cpp +1 -1
- package/ReactCommon/react/renderer/telemetry/SurfaceTelemetry.h +3 -3
- package/ReactCommon/react/renderer/telemetry/TransactionTelemetry.cpp +4 -2
- package/ReactCommon/react/renderer/telemetry/TransactionTelemetry.h +1 -1
- package/ReactCommon/react/renderer/telemetry/tests/TransactionTelemetryTest.cpp +1 -1
- package/ReactCommon/react/renderer/templateprocessor/Android.mk +12 -2
- package/ReactCommon/react/renderer/templateprocessor/BUCK +0 -6
- package/ReactCommon/react/renderer/templateprocessor/UITemplateProcessor.cpp +3 -3
- package/ReactCommon/react/renderer/templateprocessor/UITemplateProcessor.h +3 -3
- package/ReactCommon/react/renderer/templateprocessor/tests/UITemplateProcessorTest.cpp +6 -7
- package/ReactCommon/react/renderer/textlayoutmanager/Android.mk +22 -2
- package/ReactCommon/react/renderer/textlayoutmanager/BUCK +0 -6
- package/ReactCommon/react/renderer/textlayoutmanager/TextMeasureCache.cpp +4 -2
- package/ReactCommon/react/renderer/textlayoutmanager/TextMeasureCache.h +1 -1
- package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.cpp +23 -20
- package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.h +15 -11
- package/ReactCommon/react/renderer/textlayoutmanager/platform/cxx/TextLayoutManager.cpp +1 -1
- package/ReactCommon/react/renderer/textlayoutmanager/platform/cxx/TextLayoutManager.h +1 -1
- package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/NSTextStorage+FontScaling.h +1 -1
- package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/NSTextStorage+FontScaling.m +1 -1
- package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/RCTAttributedTextUtils.h +3 -1
- package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/RCTAttributedTextUtils.mm +24 -6
- package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/RCTFontProperties.h +1 -1
- package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/RCTFontUtils.h +1 -1
- package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/RCTFontUtils.mm +1 -1
- package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/RCTTextLayoutManager.h +1 -1
- package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/RCTTextLayoutManager.mm +1 -1
- package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/RCTTextPrimitivesConversions.h +11 -36
- package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/TextLayoutManager.h +1 -5
- package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/TextLayoutManager.mm +1 -1
- package/ReactCommon/react/renderer/textlayoutmanager/tests/TextLayoutManagerTest.cpp +1 -1
- package/ReactCommon/react/renderer/timeline/BUCK +6 -12
- package/ReactCommon/react/renderer/timeline/Timeline.cpp +1 -1
- package/ReactCommon/react/renderer/timeline/Timeline.h +2 -2
- package/ReactCommon/react/renderer/timeline/TimelineController.cpp +4 -4
- package/ReactCommon/react/renderer/timeline/TimelineController.h +4 -4
- package/ReactCommon/react/renderer/timeline/TimelineFrame.cpp +1 -1
- package/ReactCommon/react/renderer/timeline/TimelineFrame.h +1 -1
- package/ReactCommon/react/renderer/timeline/TimelineHandler.cpp +1 -1
- package/ReactCommon/react/renderer/timeline/TimelineHandler.h +1 -1
- package/ReactCommon/react/renderer/timeline/TimelineSnapshot.cpp +5 -3
- package/ReactCommon/react/renderer/timeline/TimelineSnapshot.h +2 -4
- package/ReactCommon/react/renderer/uimanager/Android.mk +19 -2
- package/ReactCommon/react/renderer/uimanager/BUCK +1 -6
- package/ReactCommon/react/renderer/uimanager/LayoutAnimationStatusDelegate.h +1 -1
- package/ReactCommon/react/renderer/uimanager/SurfaceRegistryBinding.cpp +105 -0
- package/ReactCommon/react/renderer/uimanager/SurfaceRegistryBinding.h +49 -0
- package/ReactCommon/react/renderer/uimanager/UIManager.cpp +29 -34
- package/ReactCommon/react/renderer/uimanager/UIManager.h +7 -6
- package/ReactCommon/react/renderer/uimanager/UIManagerAnimationDelegate.h +2 -2
- package/ReactCommon/react/renderer/uimanager/UIManagerBinding.cpp +50 -205
- package/ReactCommon/react/renderer/uimanager/UIManagerBinding.h +8 -43
- package/ReactCommon/react/renderer/uimanager/UIManagerCommitHook.h +1 -1
- package/ReactCommon/react/renderer/uimanager/UIManagerDelegate.h +2 -2
- package/ReactCommon/react/renderer/uimanager/bindingUtils.cpp +79 -0
- package/ReactCommon/react/renderer/uimanager/bindingUtils.h +20 -0
- package/ReactCommon/react/renderer/uimanager/primitives.h +11 -1
- package/ReactCommon/react/renderer/uimanager/tests/FabricUIManagerTest.cpp +1 -1
- package/ReactCommon/react/test_utils/BUCK +4 -7
- package/ReactCommon/react/test_utils/Entropy.h +1 -1
- package/ReactCommon/react/test_utils/MockClock.h +1 -1
- package/ReactCommon/react/test_utils/MockSurfaceHandler.h +26 -0
- package/ReactCommon/react/test_utils/shadowTreeGeneration.h +1 -1
- package/ReactCommon/react/utils/Android.mk +6 -2
- package/ReactCommon/react/utils/BUCK +1 -7
- package/ReactCommon/react/utils/CalledOnceMovableOnlyFunction.h +2 -2
- package/ReactCommon/react/utils/ContextContainer.h +12 -39
- package/ReactCommon/react/utils/FloatComparison.h +1 -1
- package/ReactCommon/react/utils/LayoutManager.h +1 -1
- package/ReactCommon/react/utils/ManagedObjectWrapper.h +1 -1
- package/ReactCommon/react/utils/ManagedObjectWrapper.mm +1 -1
- package/ReactCommon/react/utils/RunLoopObserver.cpp +1 -1
- package/ReactCommon/react/utils/RunLoopObserver.h +1 -1
- package/ReactCommon/react/utils/SharedFunction.h +5 -5
- package/ReactCommon/react/utils/SimpleThreadSafeCache.h +4 -3
- package/ReactCommon/react/utils/Telemetry.h +1 -1
- package/ReactCommon/reactperflogger/Android.mk +1 -1
- package/ReactCommon/reactperflogger/BUCK +0 -4
- package/ReactCommon/reactperflogger/React-perflogger.podspec +1 -1
- package/ReactCommon/reactperflogger/reactperflogger/BridgeNativeModulePerfLogger.cpp +1 -1
- package/ReactCommon/reactperflogger/reactperflogger/BridgeNativeModulePerfLogger.h +1 -1
- package/ReactCommon/reactperflogger/reactperflogger/NativeModulePerfLogger.h +1 -1
- package/ReactCommon/runtimeexecutor/Android.mk +2 -2
- package/ReactCommon/runtimeexecutor/BUCK +0 -6
- package/ReactCommon/runtimeexecutor/React-runtimeexecutor.podspec +1 -1
- package/ReactCommon/runtimeexecutor/ReactCommon/RuntimeExecutor.h +1 -1
- package/ReactCommon/yoga/Android.mk +1 -1
- package/ReactCommon/yoga/BUCK +1 -5
- package/ReactCommon/yoga/Yoga.podspec +1 -1
- package/ReactCommon/yoga/yoga/BitUtils.h +1 -1
- package/ReactCommon/yoga/yoga/CompactValue.h +1 -1
- package/ReactCommon/yoga/yoga/Utils.cpp +1 -1
- package/ReactCommon/yoga/yoga/Utils.h +1 -1
- package/ReactCommon/yoga/yoga/YGConfig.cpp +1 -1
- package/ReactCommon/yoga/yoga/YGConfig.h +1 -1
- package/ReactCommon/yoga/yoga/YGEnums.cpp +1 -1
- package/ReactCommon/yoga/yoga/YGEnums.h +1 -1
- package/ReactCommon/yoga/yoga/YGFloatOptional.h +1 -1
- package/ReactCommon/yoga/yoga/YGLayout.cpp +1 -1
- package/ReactCommon/yoga/yoga/YGLayout.h +1 -1
- package/ReactCommon/yoga/yoga/YGMacros.h +1 -1
- package/ReactCommon/yoga/yoga/YGNode.cpp +1 -1
- package/ReactCommon/yoga/yoga/YGNode.h +1 -1
- package/ReactCommon/yoga/yoga/YGNodePrint.cpp +1 -1
- package/ReactCommon/yoga/yoga/YGNodePrint.h +1 -1
- package/ReactCommon/yoga/yoga/YGStyle.cpp +1 -1
- package/ReactCommon/yoga/yoga/YGStyle.h +1 -1
- package/ReactCommon/yoga/yoga/YGValue.cpp +1 -1
- package/ReactCommon/yoga/yoga/YGValue.h +1 -1
- package/ReactCommon/yoga/yoga/Yoga-internal.h +1 -1
- package/ReactCommon/yoga/yoga/Yoga.cpp +1 -1
- package/ReactCommon/yoga/yoga/Yoga.h +1 -1
- package/ReactCommon/yoga/yoga/event/event.cpp +1 -1
- package/ReactCommon/yoga/yoga/event/event.h +1 -1
- package/ReactCommon/yoga/yoga/internal/experiments-inl.h +1 -1
- package/ReactCommon/yoga/yoga/internal/experiments.cpp +1 -1
- package/ReactCommon/yoga/yoga/internal/experiments.h +1 -1
- package/ReactCommon/yoga/yoga/log.cpp +1 -1
- package/ReactCommon/yoga/yoga/log.h +1 -1
- package/android/com/facebook/react/react-native/0.68.1-0/react-native-0.68.1-0-sources.jar +0 -0
- package/android/com/facebook/react/react-native/0.68.1-0/react-native-0.68.1-0-sources.jar.md5 +1 -0
- package/android/com/facebook/react/react-native/0.68.1-0/react-native-0.68.1-0-sources.jar.sha1 +1 -0
- package/android/com/facebook/react/react-native/0.68.1-0/react-native-0.68.1-0-sources.jar.sha256 +1 -0
- package/android/com/facebook/react/react-native/0.68.1-0/react-native-0.68.1-0-sources.jar.sha512 +1 -0
- package/android/com/facebook/react/react-native/{0.66.3-2/react-native-0.66.3-2.aar → 0.68.1-0/react-native-0.68.1-0.aar} +0 -0
- package/android/com/facebook/react/react-native/0.68.1-0/react-native-0.68.1-0.aar.md5 +1 -0
- package/android/com/facebook/react/react-native/0.68.1-0/react-native-0.68.1-0.aar.sha1 +1 -0
- package/android/com/facebook/react/react-native/0.68.1-0/react-native-0.68.1-0.aar.sha256 +1 -0
- package/android/com/facebook/react/react-native/0.68.1-0/react-native-0.68.1-0.aar.sha512 +1 -0
- package/android/com/facebook/react/react-native/{0.66.3-2/react-native-0.66.3-2.module → 0.68.1-0/react-native-0.68.1-0.module} +22 -23
- package/android/com/facebook/react/react-native/0.68.1-0/react-native-0.68.1-0.module.md5 +1 -0
- package/android/com/facebook/react/react-native/0.68.1-0/react-native-0.68.1-0.module.sha1 +1 -0
- package/android/com/facebook/react/react-native/0.68.1-0/react-native-0.68.1-0.module.sha256 +1 -0
- package/android/com/facebook/react/react-native/0.68.1-0/react-native-0.68.1-0.module.sha512 +1 -0
- package/android/com/facebook/react/react-native/{0.66.3-2/react-native-0.66.3-2.pom → 0.68.1-0/react-native-0.68.1-0.pom} +5 -5
- package/android/com/facebook/react/react-native/0.68.1-0/react-native-0.68.1-0.pom.md5 +1 -0
- package/android/com/facebook/react/react-native/0.68.1-0/react-native-0.68.1-0.pom.sha1 +1 -0
- package/android/com/facebook/react/react-native/0.68.1-0/react-native-0.68.1-0.pom.sha256 +1 -0
- package/android/com/facebook/react/react-native/0.68.1-0/react-native-0.68.1-0.pom.sha512 +1 -0
- package/android/com/facebook/react/react-native/maven-metadata.xml +4 -4
- package/android/com/facebook/react/react-native/maven-metadata.xml.md5 +1 -1
- package/android/com/facebook/react/react-native/maven-metadata.xml.sha1 +1 -1
- package/android/com/facebook/react/react-native/maven-metadata.xml.sha256 +1 -1
- package/android/com/facebook/react/react-native/maven-metadata.xml.sha512 +1 -1
- package/cli.js +1 -1
- package/flow/HermesInternalType.js +1 -1
- package/flow/Position.js +1 -1
- package/flow/Promise.js +1 -1
- package/flow/Stringish.js +1 -1
- package/flow/console.js +1 -1
- package/flow/global.js +42 -1
- package/flow/jest.js +1 -1
- package/flow/use-subscription.js +1 -1
- package/flow-typed/npm/glob_v7.x.x.js +79 -0
- package/index.js +50 -23
- package/interface.js +1 -1
- package/jest/MockNativeMethods.js +1 -1
- package/jest/assetFileTransformer.js +3 -3
- package/jest/mockComponent.js +1 -1
- package/jest/mockModal.js +31 -0
- package/jest/mockNativeComponent.js +5 -1
- package/jest/mockScrollView.js +1 -1
- package/jest/preprocessor.js +1 -1
- package/jest/renderer.js +1 -1
- package/jest/setup.js +10 -7
- package/jest-preset.js +1 -1
- package/local-cli/cli.js +1 -1
- package/package.json +60 -79
- package/react-native.config.js +1 -1
- package/react.gradle +118 -41
- package/rn-get-polyfills.js +1 -1
- package/scripts/compose-source-maps.js +15 -11
- package/scripts/find-node.sh +33 -3
- package/scripts/generate-artifacts.js +308 -0
- package/scripts/generate-provider-cli.js +99 -0
- package/scripts/generate-specs-cli.js +63 -11
- package/scripts/ios-configure-glog.sh +26 -1
- package/scripts/launchPackager.bat +1 -1
- package/scripts/launchPackager.command +14 -3
- package/scripts/node-binary.sh +1 -1
- package/scripts/packager-reporter.js +27 -0
- package/scripts/packager.sh +2 -2
- package/scripts/react-native-xcode.sh +2 -2
- package/scripts/react_native_pods.rb +485 -70
- package/scripts/react_native_pods_utils/script_phases.rb +53 -0
- package/scripts/react_native_pods_utils/script_phases.sh +138 -0
- package/template/Gemfile +6 -0
- package/template/Gemfile.lock +100 -0
- package/template/_bundle/config +2 -0
- package/template/_flowconfig +3 -1
- package/template/_gitignore +2 -1
- package/template/_prettierrc.js +2 -2
- package/template/_ruby-version +1 -0
- package/template/android/app/build.gradle +103 -9
- package/template/android/app/src/debug/AndroidManifest.xml +1 -1
- package/template/android/app/src/debug/java/com/helloworld/ReactNativeFlipper.java +3 -2
- package/template/android/app/src/main/AndroidManifest.xml +3 -2
- package/template/android/app/src/main/java/com/helloworld/MainActivity.java +25 -0
- package/template/android/app/src/main/java/com/helloworld/MainApplication.java +11 -1
- package/template/android/app/src/main/java/com/helloworld/newarchitecture/MainApplicationReactNativeHost.java +116 -0
- package/template/android/app/src/main/java/com/helloworld/newarchitecture/components/MainComponentsRegistry.java +36 -0
- package/template/android/app/src/main/java/com/helloworld/newarchitecture/modules/MainApplicationTurboModuleManagerDelegate.java +48 -0
- package/template/android/app/src/main/jni/Android.mk +49 -0
- package/template/android/app/src/main/jni/MainApplicationModuleProvider.cpp +24 -0
- package/template/android/app/src/main/jni/MainApplicationModuleProvider.h +16 -0
- package/template/android/app/src/main/jni/MainApplicationTurboModuleManagerDelegate.cpp +45 -0
- package/template/android/app/src/main/jni/MainApplicationTurboModuleManagerDelegate.h +38 -0
- package/template/android/app/src/main/jni/MainComponentsRegistry.cpp +61 -0
- package/template/android/app/src/main/jni/MainComponentsRegistry.h +32 -0
- package/template/android/app/src/main/jni/OnLoad.cpp +11 -0
- package/template/android/app/src/main/res/drawable/rn_edit_text_material.xml +36 -0
- package/template/android/app/src/main/res/values/styles.xml +1 -0
- package/template/android/build.gradle +27 -8
- package/template/android/gradle/wrapper/gradle-wrapper.jar +0 -0
- package/template/android/gradle/wrapper/gradle-wrapper.properties +1 -1
- package/template/android/gradle.properties +15 -3
- package/template/android/gradlew +153 -104
- package/template/android/settings.gradle +6 -0
- package/template/ios/HelloWorld/AppDelegate.mm +111 -0
- package/template/ios/HelloWorld/Images.xcassets/AppIcon.appiconset/Contents.json +30 -15
- package/template/ios/HelloWorld/main.m +2 -1
- package/template/ios/HelloWorld.xcodeproj/project.pbxproj +68 -34
- package/template/ios/HelloWorldTests/HelloWorldTests.m +14 -13
- package/template/ios/Podfile +19 -3
- package/template/package.json +3 -3
- package/template.config.js +1 -1
- package/third-party-podspecs/DoubleConversion.podspec +1 -1
- package/third-party-podspecs/RCT-Folly.podspec +7 -3
- package/third-party-podspecs/boost.podspec +1 -1
- package/third-party-podspecs/glog.podspec +1 -2
- package/Libraries/Components/DatePickerAndroid/DatePickerAndroid.android.js +0 -87
- package/Libraries/Components/DatePickerAndroid/DatePickerAndroid.ios.js +0 -30
- package/Libraries/Components/DatePickerAndroid/DatePickerAndroidTypes.js +0 -30
- package/Libraries/Components/StaticContainer.react.js +0 -51
- package/Libraries/Components/TextInput/AndroidTextInputViewConfig.js +0 -116
- package/Libraries/Components/Touchable/ensurePositiveDelayProps.js +0 -25
- package/Libraries/DeprecatedPropTypes/DeprecatedColorPropType.js +0 -76
- package/Libraries/DeprecatedPropTypes/DeprecatedEdgeInsetsPropType.js +0 -28
- package/Libraries/DeprecatedPropTypes/DeprecatedImagePropType.android.js +0 -131
- package/Libraries/DeprecatedPropTypes/DeprecatedImagePropType.ios.js +0 -82
- package/Libraries/DeprecatedPropTypes/DeprecatedImageSourcePropType.js +0 -40
- package/Libraries/DeprecatedPropTypes/DeprecatedImageStylePropTypes.js +0 -76
- package/Libraries/DeprecatedPropTypes/DeprecatedLayoutPropTypes.js +0 -233
- package/Libraries/DeprecatedPropTypes/DeprecatedPointPropType.js +0 -24
- package/Libraries/DeprecatedPropTypes/DeprecatedShadowPropTypesIOS.js +0 -30
- package/Libraries/DeprecatedPropTypes/DeprecatedStyleSheetPropType.js +0 -32
- package/Libraries/DeprecatedPropTypes/DeprecatedTextInputPropTypes.js +0 -622
- package/Libraries/DeprecatedPropTypes/DeprecatedTextPropTypes.js +0 -158
- package/Libraries/DeprecatedPropTypes/DeprecatedTextStylePropTypes.js +0 -157
- package/Libraries/DeprecatedPropTypes/DeprecatedTransformPropTypes.js +0 -99
- package/Libraries/DeprecatedPropTypes/DeprecatedViewAccessibility.js +0 -46
- package/Libraries/DeprecatedPropTypes/DeprecatedViewPropTypes.js +0 -408
- package/Libraries/DeprecatedPropTypes/DeprecatedViewStylePropTypes.js +0 -68
- package/Libraries/DeprecatedPropTypes/deprecatedCreateStrictShapeTypeChecker.js +0 -86
- package/Libraries/Interaction/InteractionMixin.js +0 -54
- package/Libraries/ReactNative/queryLayoutByID.js +0 -58
- package/React/Fabric/Surface/RCTFabricSurfaceHostingView.h +0 -15
- package/React/Fabric/Surface/RCTFabricSurfaceHostingView.mm +0 -27
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/DatePickerDialogTestCase.java +0 -172
- package/ReactAndroid/src/androidTest/js/DatePickerDialogTestModule.js +0 -45
- package/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/BUCK +0 -27
- package/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/DatePickerDialogFragment.java +0 -137
- package/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/DatePickerDialogModule.java +0 -153
- package/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/DatePickerMode.java +0 -15
- package/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/DismissableDatePickerDialog.java +0 -117
- package/ReactAndroid/src/main/java/com/facebook/react/runtimescheduler/BUCK +0 -20
- package/ReactAndroid/src/main/java/com/facebook/react/runtimescheduler/RuntimeSchedulerManager.java +0 -39
- package/ReactAndroid/src/main/java/com/facebook/react/runtimescheduler/jni/Android.mk +0 -34
- package/ReactAndroid/src/main/java/com/facebook/react/runtimescheduler/jni/BUCK +0 -35
- package/ReactAndroid/src/main/java/com/facebook/react/runtimescheduler/jni/OnLoad.cpp +0 -15
- package/ReactAndroid/src/main/java/com/facebook/react/runtimescheduler/jni/RuntimeSchedulerManager.cpp +0 -46
- package/ReactAndroid/src/main/java/com/facebook/react/runtimescheduler/jni/RuntimeSchedulerManager.h +0 -40
- package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/AndroidViewPagerManagerDelegate.java +0 -57
- package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/AndroidViewPagerManagerInterface.java +0 -23
- package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/BUCK +0 -19
- package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/DatePickerManagerDelegate.java +0 -62
- package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/DatePickerManagerInterface.java +0 -25
- package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/InputAccessoryViewManagerDelegate.java +0 -33
- package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/InputAccessoryViewManagerInterface.java +0 -17
- package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/PullToRefreshViewManagerDelegate.java +0 -51
- package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/PullToRefreshViewManagerInterface.java +0 -21
- package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/SwitchManagerDelegate.java +0 -63
- package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/SwitchManagerInterface.java +0 -24
- package/ReactAndroid/src/main/third-party/java/fest/BUCK +0 -36
- package/ReactCommon/react/renderer/components/rncore/ComponentDescriptors.h +0 -32
- package/ReactCommon/react/renderer/components/rncore/ComponentDescriptors.h.bak +0 -32
- package/ReactCommon/react/renderer/components/rncore/EventEmitters.cpp +0 -149
- package/ReactCommon/react/renderer/components/rncore/EventEmitters.cpp.bak +0 -149
- package/ReactCommon/react/renderer/components/rncore/EventEmitters.h +0 -237
- package/ReactCommon/react/renderer/components/rncore/EventEmitters.h.bak +0 -237
- package/ReactCommon/react/renderer/components/rncore/Props.cpp +0 -218
- package/ReactCommon/react/renderer/components/rncore/Props.cpp.bak +0 -218
- package/ReactCommon/react/renderer/components/rncore/Props.h +0 -576
- package/ReactCommon/react/renderer/components/rncore/Props.h.bak +0 -576
- package/ReactCommon/react/renderer/components/rncore/RCTComponentViewHelpers.h +0 -273
- package/ReactCommon/react/renderer/components/rncore/RCTComponentViewHelpers.h.bak +0 -273
- package/ReactCommon/react/renderer/components/rncore/ShadowNodes.cpp +0 -29
- package/ReactCommon/react/renderer/components/rncore/ShadowNodes.cpp.bak +0 -29
- package/ReactCommon/react/renderer/components/rncore/ShadowNodes.h +0 -126
- package/ReactCommon/react/renderer/components/rncore/ShadowNodes.h.bak +0 -126
- package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputEventEmitter.cpp +0 -179
- package/ReactCommon/react/renderer/core/Constants.cpp +0 -24
- package/ReactCommon/react/renderer/core/Constants.h +0 -23
- package/ReactCommon/react/renderer/mapbuffer/primitives.h +0 -91
- package/android/com/facebook/react/react-native/0.66.3-2/react-native-0.66.3-2.aar.md5 +0 -1
- package/android/com/facebook/react/react-native/0.66.3-2/react-native-0.66.3-2.aar.sha1 +0 -1
- package/android/com/facebook/react/react-native/0.66.3-2/react-native-0.66.3-2.aar.sha256 +0 -1
- package/android/com/facebook/react/react-native/0.66.3-2/react-native-0.66.3-2.aar.sha512 +0 -1
- package/android/com/facebook/react/react-native/0.66.3-2/react-native-0.66.3-2.module.md5 +0 -1
- package/android/com/facebook/react/react-native/0.66.3-2/react-native-0.66.3-2.module.sha1 +0 -1
- package/android/com/facebook/react/react-native/0.66.3-2/react-native-0.66.3-2.module.sha256 +0 -1
- package/android/com/facebook/react/react-native/0.66.3-2/react-native-0.66.3-2.module.sha512 +0 -1
- package/android/com/facebook/react/react-native/0.66.3-2/react-native-0.66.3-2.pom.md5 +0 -1
- package/android/com/facebook/react/react-native/0.66.3-2/react-native-0.66.3-2.pom.sha1 +0 -1
- package/android/com/facebook/react/react-native/0.66.3-2/react-native-0.66.3-2.pom.sha256 +0 -1
- package/android/com/facebook/react/react-native/0.66.3-2/react-native-0.66.3-2.pom.sha512 +0 -1
- package/flow-typed/npm/prop-types_v15.x.x.js +0 -42
- package/readme.diff +0 -305
- package/scripts/generate-specs.sh +0 -99
- package/template/_editorconfig +0 -3
- package/template/_gitattributes +0 -3
- package/template/ios/HelloWorld/AppDelegate.m +0 -65
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* Copyright (c)
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
@@ -8,25 +8,25 @@
|
|
|
8
8
|
#include "LayoutAnimationKeyFrameManager.h"
|
|
9
9
|
|
|
10
10
|
#include <algorithm>
|
|
11
|
-
#include <
|
|
11
|
+
#include <utility>
|
|
12
12
|
|
|
13
13
|
#include <react/debug/flags.h>
|
|
14
14
|
#include <react/debug/react_native_assert.h>
|
|
15
15
|
|
|
16
|
+
#include <logger/react_native_log.h>
|
|
17
|
+
#include <react/renderer/animations/conversions.h>
|
|
18
|
+
#include <react/renderer/animations/utils.h>
|
|
16
19
|
#include <react/renderer/componentregistry/ComponentDescriptorFactory.h>
|
|
20
|
+
#include <react/renderer/components/image/ImageProps.h>
|
|
17
21
|
#include <react/renderer/components/view/ViewProps.h>
|
|
18
22
|
#include <react/renderer/core/ComponentDescriptor.h>
|
|
19
23
|
#include <react/renderer/core/LayoutMetrics.h>
|
|
20
|
-
#include <react/renderer/core/LayoutableShadowNode.h>
|
|
21
24
|
#include <react/renderer/core/Props.h>
|
|
22
25
|
#include <react/renderer/core/PropsParserContext.h>
|
|
23
26
|
#include <react/renderer/core/RawValue.h>
|
|
24
27
|
#include <react/renderer/mounting/MountingCoordinator.h>
|
|
25
|
-
#include <react/renderer/mounting/ShadowViewMutation.h>
|
|
26
|
-
|
|
27
|
-
#include <react/renderer/mounting/Differentiator.h>
|
|
28
|
-
#include <react/renderer/mounting/ShadowTreeRevision.h>
|
|
29
28
|
#include <react/renderer/mounting/ShadowView.h>
|
|
29
|
+
#include <react/renderer/mounting/ShadowViewMutation.h>
|
|
30
30
|
|
|
31
31
|
#include <glog/logging.h>
|
|
32
32
|
|
|
@@ -74,6 +74,7 @@ void PrintMutationInstruction(
|
|
|
74
74
|
return stream;
|
|
75
75
|
}(LOG(ERROR));
|
|
76
76
|
}
|
|
77
|
+
|
|
77
78
|
void PrintMutationInstructionRelative(
|
|
78
79
|
std::string message,
|
|
79
80
|
ShadowViewMutation const &mutation,
|
|
@@ -85,199 +86,27 @@ void PrintMutationInstructionRelative(
|
|
|
85
86
|
}
|
|
86
87
|
#endif
|
|
87
88
|
|
|
88
|
-
static
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
}
|
|
92
|
-
if (param == "linear") {
|
|
93
|
-
return AnimationType::Linear;
|
|
94
|
-
}
|
|
95
|
-
if (param == "easeInEaseOut") {
|
|
96
|
-
return AnimationType::EaseInEaseOut;
|
|
97
|
-
}
|
|
98
|
-
if (param == "easeIn") {
|
|
99
|
-
return AnimationType::EaseIn;
|
|
100
|
-
}
|
|
101
|
-
if (param == "easeOut") {
|
|
102
|
-
return AnimationType::EaseOut;
|
|
103
|
-
}
|
|
104
|
-
if (param == "keyboard") {
|
|
105
|
-
return AnimationType::Keyboard;
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
LOG(ERROR) << "Error parsing animation type: " << param;
|
|
109
|
-
return {};
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
static better::optional<AnimationProperty> parseAnimationProperty(
|
|
113
|
-
std::string param) {
|
|
114
|
-
if (param == "opacity") {
|
|
115
|
-
return AnimationProperty::Opacity;
|
|
116
|
-
}
|
|
117
|
-
if (param == "scaleX") {
|
|
118
|
-
return AnimationProperty::ScaleX;
|
|
119
|
-
}
|
|
120
|
-
if (param == "scaleY") {
|
|
121
|
-
return AnimationProperty::ScaleY;
|
|
122
|
-
}
|
|
123
|
-
if (param == "scaleXY") {
|
|
124
|
-
return AnimationProperty::ScaleXY;
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
LOG(ERROR) << "Error parsing animation property: " << param;
|
|
128
|
-
return {};
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
static better::optional<AnimationConfig> parseAnimationConfig(
|
|
132
|
-
folly::dynamic const &config,
|
|
133
|
-
double defaultDuration,
|
|
134
|
-
bool parsePropertyType) {
|
|
135
|
-
if (config.empty() || !config.isObject()) {
|
|
136
|
-
return AnimationConfig{
|
|
137
|
-
AnimationType::Linear,
|
|
138
|
-
AnimationProperty::NotApplicable,
|
|
139
|
-
defaultDuration,
|
|
140
|
-
0,
|
|
141
|
-
0,
|
|
142
|
-
0};
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
auto const typeIt = config.find("type");
|
|
146
|
-
if (typeIt == config.items().end()) {
|
|
147
|
-
LOG(ERROR) << "Error parsing animation config: could not find field `type`";
|
|
148
|
-
return {};
|
|
149
|
-
}
|
|
150
|
-
auto const animationTypeParam = typeIt->second;
|
|
151
|
-
if (animationTypeParam.empty() || !animationTypeParam.isString()) {
|
|
152
|
-
LOG(ERROR)
|
|
153
|
-
<< "Error parsing animation config: could not unwrap field `type`";
|
|
154
|
-
return {};
|
|
155
|
-
}
|
|
156
|
-
const auto animationType = parseAnimationType(animationTypeParam.asString());
|
|
157
|
-
if (!animationType) {
|
|
158
|
-
LOG(ERROR)
|
|
159
|
-
<< "Error parsing animation config: could not parse field `type`";
|
|
160
|
-
return {};
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
AnimationProperty animationProperty = AnimationProperty::NotApplicable;
|
|
164
|
-
if (parsePropertyType) {
|
|
165
|
-
auto const propertyIt = config.find("property");
|
|
166
|
-
if (propertyIt == config.items().end()) {
|
|
167
|
-
LOG(ERROR)
|
|
168
|
-
<< "Error parsing animation config: could not find field `property`";
|
|
169
|
-
return {};
|
|
170
|
-
}
|
|
171
|
-
auto const animationPropertyParam = propertyIt->second;
|
|
172
|
-
if (animationPropertyParam.empty() || !animationPropertyParam.isString()) {
|
|
173
|
-
LOG(ERROR)
|
|
174
|
-
<< "Error parsing animation config: could not unwrap field `property`";
|
|
175
|
-
return {};
|
|
176
|
-
}
|
|
177
|
-
const auto animationPropertyParsed =
|
|
178
|
-
parseAnimationProperty(animationPropertyParam.asString());
|
|
179
|
-
if (!animationPropertyParsed) {
|
|
180
|
-
LOG(ERROR)
|
|
181
|
-
<< "Error parsing animation config: could not parse field `property`";
|
|
182
|
-
return {};
|
|
183
|
-
}
|
|
184
|
-
animationProperty = *animationPropertyParsed;
|
|
185
|
-
}
|
|
186
|
-
|
|
187
|
-
double duration = defaultDuration;
|
|
188
|
-
double delay = 0;
|
|
189
|
-
double springDamping = 0.5;
|
|
190
|
-
double initialVelocity = 0;
|
|
191
|
-
|
|
192
|
-
auto const durationIt = config.find("duration");
|
|
193
|
-
if (durationIt != config.items().end()) {
|
|
194
|
-
if (durationIt->second.isDouble()) {
|
|
195
|
-
duration = durationIt->second.asDouble();
|
|
196
|
-
} else {
|
|
197
|
-
LOG(ERROR)
|
|
198
|
-
<< "Error parsing animation config: field `duration` must be a number";
|
|
199
|
-
return {};
|
|
200
|
-
}
|
|
201
|
-
}
|
|
202
|
-
|
|
203
|
-
auto const delayIt = config.find("delay");
|
|
204
|
-
if (delayIt != config.items().end()) {
|
|
205
|
-
if (delayIt->second.isDouble()) {
|
|
206
|
-
delay = delayIt->second.asDouble();
|
|
207
|
-
} else {
|
|
208
|
-
LOG(ERROR)
|
|
209
|
-
<< "Error parsing animation config: field `delay` must be a number";
|
|
210
|
-
return {};
|
|
211
|
-
}
|
|
212
|
-
}
|
|
213
|
-
|
|
214
|
-
auto const springDampingIt = config.find("springDamping");
|
|
215
|
-
if (springDampingIt != config.items().end() &&
|
|
216
|
-
springDampingIt->second.isDouble()) {
|
|
217
|
-
if (springDampingIt->second.isDouble()) {
|
|
218
|
-
springDamping = springDampingIt->second.asDouble();
|
|
219
|
-
} else {
|
|
220
|
-
LOG(ERROR)
|
|
221
|
-
<< "Error parsing animation config: field `springDamping` must be a number";
|
|
222
|
-
return {};
|
|
223
|
-
}
|
|
224
|
-
}
|
|
225
|
-
|
|
226
|
-
auto const initialVelocityIt = config.find("initialVelocity");
|
|
227
|
-
if (initialVelocityIt != config.items().end()) {
|
|
228
|
-
if (initialVelocityIt->second.isDouble()) {
|
|
229
|
-
initialVelocity = initialVelocityIt->second.asDouble();
|
|
230
|
-
} else {
|
|
231
|
-
LOG(ERROR)
|
|
232
|
-
<< "Error parsing animation config: field `initialVelocity` must be a number";
|
|
233
|
-
return {};
|
|
234
|
-
}
|
|
235
|
-
}
|
|
236
|
-
|
|
237
|
-
return better::optional<AnimationConfig>(AnimationConfig{
|
|
238
|
-
*animationType,
|
|
239
|
-
animationProperty,
|
|
240
|
-
duration,
|
|
241
|
-
delay,
|
|
242
|
-
springDamping,
|
|
243
|
-
initialVelocity});
|
|
89
|
+
static inline Float
|
|
90
|
+
interpolateFloats(Float coefficient, Float oldValue, Float newValue) {
|
|
91
|
+
return oldValue + (newValue - oldValue) * coefficient;
|
|
244
92
|
}
|
|
245
93
|
|
|
246
|
-
|
|
247
|
-
static better::optional<LayoutAnimationConfig> parseLayoutAnimationConfig(
|
|
248
|
-
folly::dynamic const &config) {
|
|
249
|
-
if (config.empty() || !config.isObject()) {
|
|
250
|
-
return {};
|
|
251
|
-
}
|
|
252
|
-
|
|
253
|
-
const auto durationIt = config.find("duration");
|
|
254
|
-
if (durationIt == config.items().end() || !durationIt->second.isDouble()) {
|
|
255
|
-
return {};
|
|
256
|
-
}
|
|
257
|
-
const double duration = durationIt->second.asDouble();
|
|
258
|
-
|
|
259
|
-
const auto createConfigIt = config.find("create");
|
|
260
|
-
const auto createConfig = createConfigIt == config.items().end()
|
|
261
|
-
? better::optional<AnimationConfig>(AnimationConfig{})
|
|
262
|
-
: parseAnimationConfig(createConfigIt->second, duration, true);
|
|
263
|
-
|
|
264
|
-
const auto updateConfigIt = config.find("update");
|
|
265
|
-
const auto updateConfig = updateConfigIt == config.items().end()
|
|
266
|
-
? better::optional<AnimationConfig>(AnimationConfig{})
|
|
267
|
-
: parseAnimationConfig(updateConfigIt->second, duration, false);
|
|
268
|
-
|
|
269
|
-
const auto deleteConfigIt = config.find("delete");
|
|
270
|
-
const auto deleteConfig = deleteConfigIt == config.items().end()
|
|
271
|
-
? better::optional<AnimationConfig>(AnimationConfig{})
|
|
272
|
-
: parseAnimationConfig(deleteConfigIt->second, duration, true);
|
|
94
|
+
#pragma mark -
|
|
273
95
|
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
96
|
+
LayoutAnimationKeyFrameManager::LayoutAnimationKeyFrameManager(
|
|
97
|
+
RuntimeExecutor runtimeExecutor,
|
|
98
|
+
ContextContainer::Shared &contextContainer,
|
|
99
|
+
LayoutAnimationStatusDelegate *delegate)
|
|
100
|
+
: runtimeExecutor_(std::move(runtimeExecutor)),
|
|
101
|
+
contextContainer_(contextContainer),
|
|
102
|
+
layoutAnimationStatusDelegate_(delegate),
|
|
103
|
+
now_([]() {
|
|
104
|
+
return std::chrono::duration_cast<std::chrono::milliseconds>(
|
|
105
|
+
std::chrono::high_resolution_clock::now().time_since_epoch())
|
|
106
|
+
.count();
|
|
107
|
+
}) {}
|
|
277
108
|
|
|
278
|
-
|
|
279
|
-
duration, *createConfig, *updateConfig, *deleteConfig});
|
|
280
|
-
}
|
|
109
|
+
#pragma mark UIManagerAnimationDelegate methods
|
|
281
110
|
|
|
282
111
|
/**
|
|
283
112
|
* Globally configure next LayoutAnimation.
|
|
@@ -323,24 +152,9 @@ void LayoutAnimationKeyFrameManager::uiManagerDidConfigureNextLayoutAnimation(
|
|
|
323
152
|
}
|
|
324
153
|
}
|
|
325
154
|
|
|
326
|
-
void LayoutAnimationKeyFrameManager::
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
}
|
|
330
|
-
|
|
331
|
-
void LayoutAnimationKeyFrameManager::setLayoutAnimationStatusDelegate(
|
|
332
|
-
LayoutAnimationStatusDelegate *delegate) const {
|
|
333
|
-
std::lock_guard<std::mutex> lock(layoutAnimationStatusDelegateMutex_);
|
|
334
|
-
layoutAnimationStatusDelegate_ = delegate;
|
|
335
|
-
}
|
|
336
|
-
|
|
337
|
-
bool LayoutAnimationKeyFrameManager::shouldOverridePullTransaction() const {
|
|
338
|
-
return shouldAnimateFrame();
|
|
339
|
-
}
|
|
340
|
-
|
|
341
|
-
void LayoutAnimationKeyFrameManager::stopSurface(SurfaceId surfaceId) {
|
|
342
|
-
std::lock_guard<std::mutex> lock(surfaceIdsToStopMutex_);
|
|
343
|
-
surfaceIdsToStop_.push_back(surfaceId);
|
|
155
|
+
void LayoutAnimationKeyFrameManager::setComponentDescriptorRegistry(
|
|
156
|
+
const SharedComponentDescriptorRegistry &componentDescriptorRegistry) {
|
|
157
|
+
componentDescriptorRegistry_ = componentDescriptorRegistry;
|
|
344
158
|
}
|
|
345
159
|
|
|
346
160
|
bool LayoutAnimationKeyFrameManager::shouldAnimateFrame() const {
|
|
@@ -348,1567 +162,1512 @@ bool LayoutAnimationKeyFrameManager::shouldAnimateFrame() const {
|
|
|
348
162
|
return currentAnimation_ || !inflightAnimations_.empty();
|
|
349
163
|
}
|
|
350
164
|
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
165
|
+
void LayoutAnimationKeyFrameManager::stopSurface(SurfaceId surfaceId) {
|
|
166
|
+
std::lock_guard<std::mutex> lock(surfaceIdsToStopMutex_);
|
|
167
|
+
surfaceIdsToStop_.insert(surfaceId);
|
|
354
168
|
}
|
|
355
169
|
|
|
356
|
-
|
|
357
|
-
LayoutAnimationKeyFrameManager::calculateAnimationProgress(
|
|
358
|
-
uint64_t now,
|
|
359
|
-
const LayoutAnimation &animation,
|
|
360
|
-
const AnimationConfig &mutationConfig) const {
|
|
361
|
-
if (mutationConfig.animationType == AnimationType::None) {
|
|
362
|
-
return {1, 1};
|
|
363
|
-
}
|
|
364
|
-
|
|
365
|
-
uint64_t startTime = animation.startTime;
|
|
366
|
-
uint64_t delay = mutationConfig.delay;
|
|
367
|
-
uint64_t endTime = startTime + delay + mutationConfig.duration;
|
|
368
|
-
|
|
369
|
-
static const float PI = 3.14159265358979323846;
|
|
370
|
-
|
|
371
|
-
if (now >= endTime) {
|
|
372
|
-
return {1, 1};
|
|
373
|
-
}
|
|
374
|
-
if (now < startTime + delay) {
|
|
375
|
-
return {0, 0};
|
|
376
|
-
}
|
|
170
|
+
#pragma mark - MountingOverrideDelegate methods
|
|
377
171
|
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
if (mutationConfig.animationType == AnimationType::Linear) {
|
|
382
|
-
return {linearTimeProgression, linearTimeProgression};
|
|
383
|
-
} else if (mutationConfig.animationType == AnimationType::EaseIn) {
|
|
384
|
-
// This is an accelerator-style interpolator.
|
|
385
|
-
// In the future, this parameter (2.0) could be adjusted. This has been the
|
|
386
|
-
// default for Classic RN forever.
|
|
387
|
-
return {linearTimeProgression, pow(linearTimeProgression, 2.0)};
|
|
388
|
-
} else if (mutationConfig.animationType == AnimationType::EaseOut) {
|
|
389
|
-
// This is an decelerator-style interpolator.
|
|
390
|
-
// In the future, this parameter (2.0) could be adjusted. This has been the
|
|
391
|
-
// default for Classic RN forever.
|
|
392
|
-
return {linearTimeProgression, 1.0 - pow(1 - linearTimeProgression, 2.0)};
|
|
393
|
-
} else if (mutationConfig.animationType == AnimationType::EaseInEaseOut) {
|
|
394
|
-
// This is a combination of accelerate+decelerate.
|
|
395
|
-
// The animation starts and ends slowly, and speeds up in the middle.
|
|
396
|
-
return {
|
|
397
|
-
linearTimeProgression,
|
|
398
|
-
cos((linearTimeProgression + 1.0) * PI) / 2 + 0.5};
|
|
399
|
-
} else if (mutationConfig.animationType == AnimationType::Spring) {
|
|
400
|
-
// Using mSpringDamping in this equation is not really the exact
|
|
401
|
-
// mathematical springDamping, but a good approximation We need to replace
|
|
402
|
-
// this equation with the right Factor that accounts for damping and
|
|
403
|
-
// friction
|
|
404
|
-
double damping = mutationConfig.springDamping;
|
|
405
|
-
return {
|
|
406
|
-
linearTimeProgression,
|
|
407
|
-
(1 +
|
|
408
|
-
pow(2, -10 * linearTimeProgression) *
|
|
409
|
-
sin((linearTimeProgression - damping / 4) * PI * 2 / damping))};
|
|
410
|
-
} else {
|
|
411
|
-
return {linearTimeProgression, linearTimeProgression};
|
|
412
|
-
}
|
|
172
|
+
bool LayoutAnimationKeyFrameManager::shouldOverridePullTransaction() const {
|
|
173
|
+
return shouldAnimateFrame();
|
|
413
174
|
}
|
|
414
175
|
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
// TODO: turn all of this into a lambda and share code?
|
|
426
|
-
if (mutation.mutatedViewIsVirtual()) {
|
|
427
|
-
PrintMutationInstruction(
|
|
428
|
-
"[IndexAdjustment] Not calling adjustImmediateMutationIndicesForDelayedMutations, is virtual, for:",
|
|
429
|
-
mutation);
|
|
430
|
-
return;
|
|
431
|
-
}
|
|
176
|
+
butter::optional<MountingTransaction>
|
|
177
|
+
LayoutAnimationKeyFrameManager::pullTransaction(
|
|
178
|
+
SurfaceId surfaceId,
|
|
179
|
+
MountingTransaction::Number transactionNumber,
|
|
180
|
+
TransactionTelemetry const &telemetry,
|
|
181
|
+
ShadowViewMutationList mutations) const {
|
|
182
|
+
simulateImagePropsMemoryAccess(mutations);
|
|
183
|
+
// Current time in milliseconds
|
|
184
|
+
uint64_t now = now_();
|
|
432
185
|
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
mutation);
|
|
186
|
+
bool inflightAnimationsExistInitially = !inflightAnimations_.empty();
|
|
187
|
+
deleteAnimationsForStoppedSurfaces();
|
|
436
188
|
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
189
|
+
if (!mutations.empty()) {
|
|
190
|
+
#ifdef RN_SHADOW_TREE_INTROSPECTION
|
|
191
|
+
{
|
|
192
|
+
std::stringstream ss(getDebugDescription(mutations, {}));
|
|
193
|
+
std::string to;
|
|
194
|
+
while (std::getline(ss, to, '\n')) {
|
|
195
|
+
LOG(ERROR)
|
|
196
|
+
<< "LayoutAnimationKeyFrameManager.cpp: got mutation list: Line: "
|
|
197
|
+
<< to;
|
|
198
|
+
}
|
|
199
|
+
};
|
|
200
|
+
#endif
|
|
440
201
|
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
202
|
+
// DEBUG ONLY: list existing inflight animations
|
|
203
|
+
#ifdef LAYOUT_ANIMATION_VERBOSE_LOGGING
|
|
204
|
+
LOG(ERROR) << "BEGINNING DISPLAYING ONGOING inflightAnimations_!";
|
|
205
|
+
int i = 0;
|
|
206
|
+
int j = 0;
|
|
207
|
+
for (auto const &inflightAnimation : inflightAnimations_) {
|
|
208
|
+
i++;
|
|
209
|
+
j = 0;
|
|
210
|
+
if (inflightAnimation.completed) {
|
|
211
|
+
continue;
|
|
212
|
+
}
|
|
213
|
+
for (auto &keyframe : inflightAnimation.keyFrames) {
|
|
214
|
+
j++;
|
|
215
|
+
if (keyframe.invalidated) {
|
|
216
|
+
continue;
|
|
217
|
+
}
|
|
218
|
+
for (const auto &finalMutationForKeyFrame :
|
|
219
|
+
keyframe.finalMutationsForKeyFrame) {
|
|
220
|
+
if (finalMutationForKeyFrame.mutatedViewIsVirtual()) {
|
|
221
|
+
std::string msg = "Animation " + std::to_string(i) + " keyframe " +
|
|
222
|
+
std::to_string(j) + ": Final Animation";
|
|
223
|
+
PrintMutationInstruction(msg, finalMutationForKeyFrame);
|
|
224
|
+
} else {
|
|
225
|
+
LOG(ERROR) << "Animation " << i << " keyframe " << j
|
|
226
|
+
<< ": on tag: [" << keyframe.viewStart.tag << "]";
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
}
|
|
451
230
|
}
|
|
231
|
+
LOG(ERROR) << "BEGINNING DONE DISPLAYING ONGOING inflightAnimations_!";
|
|
232
|
+
#endif
|
|
452
233
|
|
|
453
|
-
|
|
454
|
-
it != inflightAnimation.keyFrames.end();
|
|
455
|
-
it++) {
|
|
456
|
-
auto &animatedKeyFrame = *it;
|
|
234
|
+
PropsParserContext propsParserContext{surfaceId, *contextContainer_};
|
|
457
235
|
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
236
|
+
// What to do if we detect a conflict? Get current value and make
|
|
237
|
+
// that the baseline of the next animation. Scale the remaining time
|
|
238
|
+
// in the animation
|
|
239
|
+
// Types of conflicts and how we handle them:
|
|
240
|
+
// Update -> update: remove the previous update, make it the baseline of the
|
|
241
|
+
// next update (with current progress) Update -> remove: same, with final
|
|
242
|
+
// mutation being a remove Insert -> update: treat as update->update Insert
|
|
243
|
+
// -> remove: same, as update->remove Remove -> update/insert: not possible
|
|
244
|
+
// We just collect pairs here of <Mutation, AnimationConfig> and delete them
|
|
245
|
+
// from active animations. If another animation is queued up from the
|
|
246
|
+
// current mutations then these deleted mutations will serve as the baseline
|
|
247
|
+
// for the next animation. If not, the current mutations are executed
|
|
248
|
+
// immediately without issues.
|
|
249
|
+
std::vector<AnimationKeyFrame> conflictingAnimations{};
|
|
250
|
+
getAndEraseConflictingAnimations(
|
|
251
|
+
surfaceId, mutations, conflictingAnimations);
|
|
461
252
|
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
253
|
+
// Are we animating this list of mutations?
|
|
254
|
+
butter::optional<LayoutAnimation> currentAnimation{};
|
|
255
|
+
{
|
|
256
|
+
std::lock_guard<std::mutex> lock(currentAnimationMutex_);
|
|
257
|
+
if (currentAnimation_) {
|
|
258
|
+
currentAnimation = std::move(currentAnimation_);
|
|
259
|
+
currentAnimation_.reset();
|
|
466
260
|
}
|
|
261
|
+
}
|
|
467
262
|
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
263
|
+
if (currentAnimation.hasValue()) {
|
|
264
|
+
LayoutAnimation animation = std::move(currentAnimation).value();
|
|
265
|
+
animation.surfaceId = surfaceId;
|
|
266
|
+
animation.startTime = now;
|
|
267
|
+
|
|
268
|
+
// Pre-process list to:
|
|
269
|
+
// Catch remove+reinsert (reorders)
|
|
270
|
+
// Catch delete+create (reparenting) (this should be optimized away at
|
|
271
|
+
// the diffing level eventually?)
|
|
272
|
+
// TODO: to prevent this step we could tag Remove/Insert mutations as
|
|
273
|
+
// being moves on the Differ level, since we know that there? We could use
|
|
274
|
+
// TinyMap here, but it's not exposed by Differentiator (yet).
|
|
275
|
+
butter::set<Tag> insertedTags;
|
|
276
|
+
butter::set<Tag> deletedTags;
|
|
277
|
+
butter::set<Tag> reparentedTags; // tags that are deleted and recreated
|
|
278
|
+
std::unordered_map<Tag, ShadowViewMutation> movedTags;
|
|
279
|
+
for (const auto &mutation : mutations) {
|
|
280
|
+
if (mutation.type == ShadowViewMutation::Type::Insert) {
|
|
281
|
+
insertedTags.insert(mutation.newChildShadowView.tag);
|
|
471
282
|
}
|
|
472
|
-
if (
|
|
473
|
-
|
|
283
|
+
if (mutation.type == ShadowViewMutation::Type::Delete) {
|
|
284
|
+
deletedTags.insert(mutation.oldChildShadowView.tag);
|
|
474
285
|
}
|
|
475
|
-
if (
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
286
|
+
if (mutation.type == ShadowViewMutation::Type::Create) {
|
|
287
|
+
if (deletedTags.find(mutation.newChildShadowView.tag) !=
|
|
288
|
+
deletedTags.end()) {
|
|
289
|
+
reparentedTags.insert(mutation.newChildShadowView.tag);
|
|
290
|
+
}
|
|
479
291
|
}
|
|
480
|
-
|
|
481
|
-
PrintMutationInstructionRelative(
|
|
482
|
-
"[IndexAdjustment] adjustImmediateMutationIndicesForDelayedMutations CANDIDATE for:",
|
|
483
|
-
mutation,
|
|
484
|
-
delayedMutation);
|
|
485
|
-
candidateMutations.push_back(&delayedMutation);
|
|
486
292
|
}
|
|
487
|
-
}
|
|
488
293
|
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
294
|
+
// Process mutations list into operations that can be sent to platform
|
|
295
|
+
// immediately, and those that need to be animated Deletions, removals,
|
|
296
|
+
// updates are delayed and animated. Creations and insertions are sent to
|
|
297
|
+
// platform and then "animated in" with opacity updates. Upon completion,
|
|
298
|
+
// removals and deletions are sent to platform
|
|
299
|
+
ShadowViewMutation::List immediateMutations;
|
|
493
300
|
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
(isRemoveMutation &&
|
|
510
|
-
candidateMutation->index == mutation.index));
|
|
511
|
-
if (indexConflicts) {
|
|
512
|
-
mutation.index++;
|
|
513
|
-
adjustedDelta++;
|
|
514
|
-
changed = true;
|
|
515
|
-
PrintMutationInstructionRelative(
|
|
516
|
-
"[IndexAdjustment] adjustImmediateMutationIndicesForDelayedMutations: Adjusting mutation UPWARD",
|
|
517
|
-
mutation,
|
|
518
|
-
*candidateMutation);
|
|
519
|
-
return true;
|
|
520
|
-
}
|
|
521
|
-
return false;
|
|
522
|
-
}),
|
|
523
|
-
candidateMutations.end());
|
|
524
|
-
}
|
|
525
|
-
}
|
|
526
|
-
|
|
527
|
-
void LayoutAnimationKeyFrameManager::adjustDelayedMutationIndicesForMutation(
|
|
528
|
-
SurfaceId surfaceId,
|
|
529
|
-
ShadowViewMutation const &mutation,
|
|
530
|
-
bool skipLastAnimation) const {
|
|
531
|
-
bool isRemoveMutation = mutation.type == ShadowViewMutation::Type::Remove;
|
|
532
|
-
bool isInsertMutation = mutation.type == ShadowViewMutation::Type::Insert;
|
|
533
|
-
auto tag = isRemoveMutation ? mutation.oldChildShadowView.tag
|
|
534
|
-
: mutation.newChildShadowView.tag;
|
|
535
|
-
react_native_assert(isRemoveMutation || isInsertMutation);
|
|
536
|
-
|
|
537
|
-
if (mutation.mutatedViewIsVirtual()) {
|
|
538
|
-
PrintMutationInstruction(
|
|
539
|
-
"[IndexAdjustment] Not calling adjustDelayedMutationIndicesForMutation, is virtual, for:",
|
|
540
|
-
mutation);
|
|
541
|
-
return;
|
|
542
|
-
}
|
|
543
|
-
|
|
544
|
-
// First, collect all final mutations that could impact this immediate
|
|
545
|
-
// mutation.
|
|
546
|
-
std::vector<ShadowViewMutation *> candidateMutations{};
|
|
547
|
-
|
|
548
|
-
for (auto inflightAnimationIt =
|
|
549
|
-
inflightAnimations_.rbegin() + (skipLastAnimation ? 1 : 0);
|
|
550
|
-
inflightAnimationIt != inflightAnimations_.rend();
|
|
551
|
-
inflightAnimationIt++) {
|
|
552
|
-
auto &inflightAnimation = *inflightAnimationIt;
|
|
301
|
+
// Remove operations that are actually moves should be copied to
|
|
302
|
+
// "immediate mutations". The corresponding "insert" will also be executed
|
|
303
|
+
// immediately and animated as an update.
|
|
304
|
+
std::vector<AnimationKeyFrame> keyFramesToAnimate;
|
|
305
|
+
auto const layoutAnimationConfig = animation.layoutAnimationConfig;
|
|
306
|
+
for (auto const &mutation : mutations) {
|
|
307
|
+
ShadowView baselineShadowView =
|
|
308
|
+
(mutation.type == ShadowViewMutation::Type::Delete ||
|
|
309
|
+
mutation.type == ShadowViewMutation::Type::Remove ||
|
|
310
|
+
mutation.type == ShadowViewMutation::Type::Update
|
|
311
|
+
? mutation.oldChildShadowView
|
|
312
|
+
: mutation.newChildShadowView);
|
|
313
|
+
react_native_assert(baselineShadowView.tag > 0);
|
|
314
|
+
bool haveComponentDescriptor =
|
|
315
|
+
hasComponentDescriptorForShadowView(baselineShadowView);
|
|
553
316
|
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
317
|
+
// Immediately execute any mutations on a root node
|
|
318
|
+
if (baselineShadowView.traits.check(
|
|
319
|
+
ShadowNodeTraits::Trait::RootNodeKind)) {
|
|
320
|
+
immediateMutations.push_back(mutation);
|
|
321
|
+
continue;
|
|
322
|
+
}
|
|
560
323
|
|
|
561
|
-
|
|
562
|
-
it != inflightAnimation.keyFrames.end();
|
|
563
|
-
it++) {
|
|
564
|
-
auto &animatedKeyFrame = *it;
|
|
324
|
+
butter::optional<ShadowViewMutation> executeMutationImmediately{};
|
|
565
325
|
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
326
|
+
bool isRemoveReinserted =
|
|
327
|
+
mutation.type == ShadowViewMutation::Type::Remove &&
|
|
328
|
+
insertedTags.find(mutation.oldChildShadowView.tag) !=
|
|
329
|
+
insertedTags.end();
|
|
569
330
|
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
331
|
+
// Reparenting can result in a node being removed, inserted (moved) and
|
|
332
|
+
// also deleted and created in the same frame, with the same props etc.
|
|
333
|
+
// This should eventually be optimized out of the diffing algorithm, but
|
|
334
|
+
// for now we detect reparenting and prevent the corresponding
|
|
335
|
+
// Delete/Create instructions from being animated.
|
|
336
|
+
bool isReparented =
|
|
337
|
+
reparentedTags.find(baselineShadowView.tag) != reparentedTags.end();
|
|
575
338
|
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
if (finalAnimationMutation.oldChildShadowView.tag == tag) {
|
|
579
|
-
continue;
|
|
339
|
+
if (isRemoveReinserted) {
|
|
340
|
+
movedTags.insert({mutation.oldChildShadowView.tag, mutation});
|
|
580
341
|
}
|
|
581
342
|
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
343
|
+
// Inserts that follow a "remove" of the same tag should be treated as
|
|
344
|
+
// an update (move) animation.
|
|
345
|
+
bool wasInsertedTagRemoved = false;
|
|
346
|
+
auto movedIt = movedTags.end();
|
|
347
|
+
if (mutation.type == ShadowViewMutation::Type::Insert) {
|
|
348
|
+
// If this is a move, we actually don't want to copy this insert
|
|
349
|
+
// instruction to animated instructions - we want to
|
|
350
|
+
// generate an Update mutation for Remove+Insert pairs to animate
|
|
351
|
+
// the layout.
|
|
352
|
+
// The corresponding Remove and Insert instructions will instead
|
|
353
|
+
// be treated as "immediate" instructions.
|
|
354
|
+
movedIt = movedTags.find(mutation.newChildShadowView.tag);
|
|
355
|
+
wasInsertedTagRemoved = movedIt != movedTags.end();
|
|
587
356
|
}
|
|
588
357
|
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
358
|
+
auto const &mutationConfig =
|
|
359
|
+
(mutation.type == ShadowViewMutation::Type::Delete ||
|
|
360
|
+
(mutation.type == ShadowViewMutation::Type::Remove &&
|
|
361
|
+
!wasInsertedTagRemoved)
|
|
362
|
+
? layoutAnimationConfig.deleteConfig
|
|
363
|
+
: (mutation.type == ShadowViewMutation::Type::Insert &&
|
|
364
|
+
!wasInsertedTagRemoved
|
|
365
|
+
? layoutAnimationConfig.createConfig
|
|
366
|
+
: layoutAnimationConfig.updateConfig));
|
|
367
|
+
bool haveConfiguration =
|
|
368
|
+
mutationConfig.animationType != AnimationType::None;
|
|
597
369
|
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
// to *not* be adjusted, even though they would be impacted by mutation or
|
|
606
|
-
// vice-versa after later adjustments are applied. Therefore, we just keep
|
|
607
|
-
// recursing while there are any changes. This isn't great, but is good enough
|
|
608
|
-
// for now until we change these data-structures.
|
|
609
|
-
bool changed = true;
|
|
610
|
-
while (changed) {
|
|
611
|
-
changed = false;
|
|
612
|
-
candidateMutations.erase(
|
|
613
|
-
std::remove_if(
|
|
614
|
-
candidateMutations.begin(),
|
|
615
|
-
candidateMutations.end(),
|
|
616
|
-
[&mutation, &isRemoveMutation, &isInsertMutation, &changed](
|
|
617
|
-
ShadowViewMutation *candidateMutation) {
|
|
618
|
-
if (isRemoveMutation &&
|
|
619
|
-
mutation.index <= candidateMutation->index) {
|
|
620
|
-
candidateMutation->index--;
|
|
621
|
-
changed = true;
|
|
622
|
-
PrintMutationInstructionRelative(
|
|
623
|
-
"[IndexAdjustment] adjustDelayedMutationIndicesForMutation: Adjusting mutation DOWNWARD",
|
|
624
|
-
mutation,
|
|
625
|
-
*candidateMutation);
|
|
626
|
-
return true;
|
|
627
|
-
} else if (
|
|
628
|
-
isInsertMutation &&
|
|
629
|
-
mutation.index <= candidateMutation->index) {
|
|
630
|
-
candidateMutation->index++;
|
|
631
|
-
changed = true;
|
|
632
|
-
PrintMutationInstructionRelative(
|
|
633
|
-
"[IndexAdjustment] adjustDelayedMutationIndicesForMutation: Adjusting mutation UPWARD",
|
|
634
|
-
mutation,
|
|
635
|
-
*candidateMutation);
|
|
636
|
-
return true;
|
|
637
|
-
}
|
|
638
|
-
return false;
|
|
639
|
-
}),
|
|
640
|
-
candidateMutations.end());
|
|
641
|
-
}
|
|
642
|
-
}
|
|
370
|
+
// Creates and inserts should also be executed immediately.
|
|
371
|
+
// Mutations that would otherwise be animated, but have no
|
|
372
|
+
// configuration, are also executed immediately.
|
|
373
|
+
if (isRemoveReinserted || !haveConfiguration || isReparented ||
|
|
374
|
+
mutation.type == ShadowViewMutation::Type::Create ||
|
|
375
|
+
mutation.type == ShadowViewMutation::Type::Insert) {
|
|
376
|
+
executeMutationImmediately = mutation;
|
|
643
377
|
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
378
|
+
// It is possible, especially in the case of "moves", that we have a
|
|
379
|
+
// sequence of operations like:
|
|
380
|
+
// UPDATE X
|
|
381
|
+
// REMOVE X
|
|
382
|
+
// INSERT X
|
|
383
|
+
// In these cases, we will have queued up an animation for the UPDATE
|
|
384
|
+
// and delayed its execution; the REMOVE and INSERT will be executed
|
|
385
|
+
// first; and then the UPDATE will be animating to/from ShadowViews
|
|
386
|
+
// that are out-of-sync with what's on the mounting layer. Thus, for
|
|
387
|
+
// any UPDATE animations already queued up for this tag, we adjust the
|
|
388
|
+
// "previous" ShadowView.
|
|
389
|
+
if (mutation.type == ShadowViewMutation::Type::Insert) {
|
|
390
|
+
for (auto &keyframe : keyFramesToAnimate) {
|
|
391
|
+
if (keyframe.tag == baselineShadowView.tag) {
|
|
392
|
+
// If there's already an animation queued up, followed by this
|
|
393
|
+
// Insert, it *must* be an Update mutation animation. Other
|
|
394
|
+
// sequences should not be possible.
|
|
395
|
+
react_native_assert(
|
|
396
|
+
keyframe.type == AnimationConfigurationType::Update);
|
|
659
397
|
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
}
|
|
664
|
-
if (inflightAnimation.completed) {
|
|
665
|
-
continue;
|
|
666
|
-
}
|
|
398
|
+
// The mutation is an "insert", so it must have a
|
|
399
|
+
// "newChildShadowView"
|
|
400
|
+
react_native_assert(mutation.newChildShadowView.tag > 0);
|
|
667
401
|
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
402
|
+
// Those asserts don't run in prod. If there's some edge-case
|
|
403
|
+
// that we haven't caught yet, we'd crash in debug; make sure we
|
|
404
|
+
// don't mutate the prevView in prod.
|
|
405
|
+
if (keyframe.type == AnimationConfigurationType::Update &&
|
|
406
|
+
mutation.newChildShadowView.tag > 0) {
|
|
407
|
+
keyframe.viewPrev = mutation.newChildShadowView;
|
|
408
|
+
}
|
|
409
|
+
}
|
|
410
|
+
}
|
|
411
|
+
} else if (mutation.type == ShadowViewMutation::Type::Remove) {
|
|
412
|
+
for (auto &keyframe : keyFramesToAnimate) {
|
|
413
|
+
if (keyframe.tag == baselineShadowView.tag) {
|
|
414
|
+
// If there's already an animation queued up, followed by this
|
|
415
|
+
// Insert, it *must* be an Update mutation animation. Other
|
|
416
|
+
// sequences should not be possible.
|
|
417
|
+
react_native_assert(
|
|
418
|
+
keyframe.type == AnimationConfigurationType::Update);
|
|
671
419
|
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
// A conflict is when either: the animated node itself is mutated
|
|
677
|
-
// directly; or, the parent of the node is created or deleted. In cases
|
|
678
|
-
// of reparenting - say, the parent is deleted but the node was moved to
|
|
679
|
-
// a different parent first - the reparenting (remove/insert) conflict
|
|
680
|
-
// will be detected before we process the parent DELETE.
|
|
681
|
-
// Parent deletion is important because deleting a parent recursively
|
|
682
|
-
// deletes all children. If we previously deferred deletion of a child,
|
|
683
|
-
// we need to force deletion/removal to happen immediately.
|
|
684
|
-
bool conflicting = animatedKeyFrame.tag == baselineTag ||
|
|
685
|
-
(mutationIsCreateOrDelete &&
|
|
686
|
-
animatedKeyFrame.parentView.tag == baselineTag &&
|
|
687
|
-
animatedKeyFrame.parentView.tag != 0);
|
|
688
|
-
|
|
689
|
-
// Conflicting animation detected: if we're mutating a tag under
|
|
690
|
-
// animation, or deleting the parent of a tag under animation, or
|
|
691
|
-
// reparenting.
|
|
692
|
-
if (conflicting) {
|
|
693
|
-
animatedKeyFrame.invalidated = true;
|
|
694
|
-
|
|
695
|
-
// We construct a list of all conflicting animations, whether or not
|
|
696
|
-
// they have a "final mutation" to execute. This is important with,
|
|
697
|
-
// for example, "insert" mutations where the final update needs to set
|
|
698
|
-
// opacity to "1", even if there's no final ShadowNode update.
|
|
699
|
-
// TODO: don't animate virtual views in the first place?
|
|
700
|
-
bool isVirtual = false;
|
|
701
|
-
for (const auto &finalMutationForKeyFrame :
|
|
702
|
-
animatedKeyFrame.finalMutationsForKeyFrame) {
|
|
703
|
-
isVirtual =
|
|
704
|
-
isVirtual || finalMutationForKeyFrame.mutatedViewIsVirtual();
|
|
705
|
-
|
|
706
|
-
#ifdef LAYOUT_ANIMATION_VERBOSE_LOGGING
|
|
707
|
-
PrintMutationInstructionRelative(
|
|
708
|
-
"Found mutation that conflicts with existing in-flight animation:",
|
|
709
|
-
mutation,
|
|
710
|
-
finalMutationForKeyFrame);
|
|
711
|
-
#endif
|
|
712
|
-
}
|
|
420
|
+
// The mutation is a "remove", so it must have a
|
|
421
|
+
// "oldChildShadowView"
|
|
422
|
+
react_native_assert(mutation.oldChildShadowView.tag > 0);
|
|
713
423
|
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
424
|
+
// Those asserts don't run in prod. If there's some edge-case
|
|
425
|
+
// that we haven't caught yet, we'd crash in debug; make sure we
|
|
426
|
+
// don't mutate the prevView in prod.
|
|
427
|
+
// Since normally the UPDATE would have been executed first and
|
|
428
|
+
// now it's deferred, we need to change the `oldChildShadowView`
|
|
429
|
+
// that is being referenced by the REMOVE mutation.
|
|
430
|
+
if (keyframe.type == AnimationConfigurationType::Update &&
|
|
431
|
+
mutation.oldChildShadowView.tag > 0) {
|
|
432
|
+
executeMutationImmediately =
|
|
433
|
+
ShadowViewMutation::RemoveMutation(
|
|
434
|
+
mutation.parentShadowView,
|
|
435
|
+
keyframe.viewPrev,
|
|
436
|
+
mutation.index);
|
|
437
|
+
}
|
|
438
|
+
}
|
|
721
439
|
}
|
|
722
440
|
}
|
|
723
|
-
|
|
724
|
-
// Delete from existing animation
|
|
725
|
-
it = inflightAnimation.keyFrames.erase(it);
|
|
726
|
-
} else {
|
|
727
|
-
it++;
|
|
728
441
|
}
|
|
729
|
-
}
|
|
730
|
-
}
|
|
731
|
-
}
|
|
732
442
|
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
443
|
+
// Deletes, non-move inserts, updates get animated
|
|
444
|
+
if (!wasInsertedTagRemoved && !isRemoveReinserted && !isReparented &&
|
|
445
|
+
haveConfiguration &&
|
|
446
|
+
mutation.type != ShadowViewMutation::Type::Create) {
|
|
447
|
+
ShadowView viewStart = ShadowView(
|
|
448
|
+
mutation.type == ShadowViewMutation::Type::Insert
|
|
449
|
+
? mutation.newChildShadowView
|
|
450
|
+
: mutation.oldChildShadowView);
|
|
451
|
+
react_native_assert(viewStart.tag > 0);
|
|
452
|
+
ShadowView viewFinal = ShadowView(
|
|
453
|
+
mutation.type == ShadowViewMutation::Type::Update
|
|
454
|
+
? mutation.newChildShadowView
|
|
455
|
+
: viewStart);
|
|
456
|
+
react_native_assert(viewFinal.tag > 0);
|
|
457
|
+
ShadowView parent = mutation.parentShadowView;
|
|
458
|
+
react_native_assert(
|
|
459
|
+
parent.tag > 0 ||
|
|
460
|
+
mutation.type == ShadowViewMutation::Type::Update ||
|
|
461
|
+
mutation.type == ShadowViewMutation::Type::Delete);
|
|
462
|
+
Tag tag = viewStart.tag;
|
|
740
463
|
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
464
|
+
AnimationKeyFrame keyFrame{};
|
|
465
|
+
if (mutation.type == ShadowViewMutation::Type::Insert) {
|
|
466
|
+
if (mutationConfig.animationProperty ==
|
|
467
|
+
AnimationProperty::Opacity &&
|
|
468
|
+
haveComponentDescriptor) {
|
|
469
|
+
auto props =
|
|
470
|
+
getComponentDescriptorForShadowView(baselineShadowView)
|
|
471
|
+
.cloneProps(propsParserContext, viewStart.props, {});
|
|
745
472
|
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
// Current time in milliseconds
|
|
753
|
-
uint64_t now = now_();
|
|
473
|
+
if (baselineShadowView.traits.check(
|
|
474
|
+
ShadowNodeTraits::Trait::ViewKind)) {
|
|
475
|
+
auto const &viewProps =
|
|
476
|
+
*std::static_pointer_cast<ViewProps const>(props);
|
|
477
|
+
const_cast<ViewProps &>(viewProps).opacity = 0;
|
|
478
|
+
}
|
|
754
479
|
|
|
755
|
-
|
|
480
|
+
react_native_assert(props != nullptr);
|
|
481
|
+
if (props != nullptr) {
|
|
482
|
+
viewStart.props = props;
|
|
483
|
+
}
|
|
484
|
+
}
|
|
485
|
+
bool isScaleX =
|
|
486
|
+
mutationConfig.animationProperty == AnimationProperty::ScaleX ||
|
|
487
|
+
mutationConfig.animationProperty == AnimationProperty::ScaleXY;
|
|
488
|
+
bool isScaleY =
|
|
489
|
+
mutationConfig.animationProperty == AnimationProperty::ScaleY ||
|
|
490
|
+
mutationConfig.animationProperty == AnimationProperty::ScaleXY;
|
|
491
|
+
if ((isScaleX || isScaleY) && haveComponentDescriptor) {
|
|
492
|
+
auto props =
|
|
493
|
+
getComponentDescriptorForShadowView(baselineShadowView)
|
|
494
|
+
.cloneProps(propsParserContext, viewStart.props, {});
|
|
495
|
+
if (baselineShadowView.traits.check(
|
|
496
|
+
ShadowNodeTraits::Trait::ViewKind)) {
|
|
497
|
+
auto const &viewProps =
|
|
498
|
+
*std::static_pointer_cast<ViewProps const>(props);
|
|
499
|
+
const_cast<ViewProps &>(viewProps).transform =
|
|
500
|
+
Transform::Scale(isScaleX ? 0 : 1, isScaleY ? 0 : 1, 1);
|
|
501
|
+
}
|
|
756
502
|
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
surfaceIdsToStop = surfaceIdsToStop_;
|
|
763
|
-
surfaceIdsToStop_ = {};
|
|
764
|
-
}
|
|
503
|
+
react_native_assert(props != nullptr);
|
|
504
|
+
if (props != nullptr) {
|
|
505
|
+
viewStart.props = props;
|
|
506
|
+
}
|
|
507
|
+
}
|
|
765
508
|
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
509
|
+
PrintMutationInstruction(
|
|
510
|
+
"Setting up animation KeyFrame for INSERT mutation (Create animation)",
|
|
511
|
+
mutation);
|
|
769
512
|
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
513
|
+
keyFrame = AnimationKeyFrame{
|
|
514
|
+
/* .finalMutationsForKeyFrame = */ {},
|
|
515
|
+
/* .type = */ AnimationConfigurationType::Create,
|
|
516
|
+
/* .tag = */ tag,
|
|
517
|
+
/* .parentView = */ parent,
|
|
518
|
+
/* .viewStart = */ viewStart,
|
|
519
|
+
/* .viewEnd = */ viewFinal,
|
|
520
|
+
/* .viewPrev = */ baselineShadowView,
|
|
521
|
+
/* .initialProgress = */ 0};
|
|
522
|
+
} else if (mutation.type == ShadowViewMutation::Type::Delete) {
|
|
523
|
+
// This is just for assertion purposes.
|
|
524
|
+
// The NDEBUG check here is to satisfy the compiler in certain environments
|
|
525
|
+
// complaining about correspondingRemoveIt being unused.
|
|
526
|
+
#ifdef REACT_NATIVE_DEBUG
|
|
527
|
+
#ifndef NDEBUG
|
|
528
|
+
// This block is temporarily disabled to fix some internal builds.
|
|
529
|
+
// In some build configurations, we get a compiler error that
|
|
530
|
+
// `correspondingRemoveIt` is unused.
|
|
531
|
+
/* Tag deleteTag = mutation.oldChildShadowView.tag;
|
|
532
|
+
auto correspondingRemoveIt = std::find_if(
|
|
533
|
+
mutations.begin(),
|
|
534
|
+
mutations.end(),
|
|
535
|
+
[&deleteTag](auto &mutation) {
|
|
536
|
+
return mutation.type == ShadowViewMutation::Type::Remove &&
|
|
537
|
+
mutation.oldChildShadowView.tag == deleteTag;
|
|
538
|
+
});
|
|
539
|
+
react_native_assert(correspondingRemoveIt != mutations.end());
|
|
540
|
+
*/
|
|
778
541
|
#endif
|
|
779
|
-
it = inflightAnimations_.erase(it);
|
|
780
|
-
} else {
|
|
781
|
-
it++;
|
|
782
|
-
}
|
|
783
|
-
}
|
|
784
|
-
}
|
|
785
|
-
|
|
786
|
-
if (!mutations.empty()) {
|
|
787
|
-
#ifdef RN_SHADOW_TREE_INTROSPECTION
|
|
788
|
-
{
|
|
789
|
-
std::stringstream ss(getDebugDescription(mutations, {}));
|
|
790
|
-
std::string to;
|
|
791
|
-
while (std::getline(ss, to, '\n')) {
|
|
792
|
-
LOG(ERROR)
|
|
793
|
-
<< "LayoutAnimationKeyFrameManager.cpp: got mutation list: Line: "
|
|
794
|
-
<< to;
|
|
795
|
-
}
|
|
796
|
-
};
|
|
797
542
|
#endif
|
|
543
|
+
continue;
|
|
544
|
+
} else if (mutation.type == ShadowViewMutation::Type::Update) {
|
|
545
|
+
viewFinal = ShadowView(mutation.newChildShadowView);
|
|
798
546
|
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
if (keyframe.invalidated) {
|
|
813
|
-
continue;
|
|
814
|
-
}
|
|
815
|
-
for (const auto &finalMutationForKeyFrame :
|
|
816
|
-
keyframe.finalMutationsForKeyFrame) {
|
|
817
|
-
if (finalMutationForKeyFrame.mutatedViewIsVirtual()) {
|
|
818
|
-
std::string msg = "Animation " + std::to_string(i) + " keyframe " +
|
|
819
|
-
std::to_string(j) + ": Final Animation";
|
|
820
|
-
PrintMutationInstruction(msg, finalMutationForKeyFrame);
|
|
547
|
+
PrintMutationInstruction(
|
|
548
|
+
"Setting up animation KeyFrame for UPDATE mutation (Update animation)",
|
|
549
|
+
mutation);
|
|
550
|
+
|
|
551
|
+
keyFrame = AnimationKeyFrame{
|
|
552
|
+
/* .finalMutationsForKeyFrame = */ {mutation},
|
|
553
|
+
/* .type = */ AnimationConfigurationType::Update,
|
|
554
|
+
/* .tag = */ tag,
|
|
555
|
+
/* .parentView = */ parent,
|
|
556
|
+
/* .viewStart = */ viewStart,
|
|
557
|
+
/* .viewEnd = */ viewFinal,
|
|
558
|
+
/* .viewPrev = */ baselineShadowView,
|
|
559
|
+
/* .initialProgress = */ 0};
|
|
821
560
|
} else {
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
}
|
|
828
|
-
LOG(ERROR) << "BEGINNING DONE DISPLAYING ONGOING inflightAnimations_!";
|
|
829
|
-
#endif
|
|
561
|
+
// This should just be "Remove" instructions that are not animated
|
|
562
|
+
// (either this is a "move", or there's a corresponding "Delete"
|
|
563
|
+
// that is animated).
|
|
564
|
+
react_native_assert(
|
|
565
|
+
mutation.type == ShadowViewMutation::Type::Remove);
|
|
830
566
|
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
567
|
+
Tag removeTag = mutation.oldChildShadowView.tag;
|
|
568
|
+
auto correspondingInsertIt = std::find_if(
|
|
569
|
+
mutations.begin(),
|
|
570
|
+
mutations.end(),
|
|
571
|
+
[&removeTag](auto &mutation) {
|
|
572
|
+
return mutation.type == ShadowViewMutation::Type::Insert &&
|
|
573
|
+
mutation.newChildShadowView.tag == removeTag;
|
|
574
|
+
});
|
|
575
|
+
if (correspondingInsertIt == mutations.end()) {
|
|
576
|
+
// This is a REMOVE not paired with an INSERT (move), so it must
|
|
577
|
+
// be paired with a DELETE.
|
|
578
|
+
auto correspondingDeleteIt = std::find_if(
|
|
579
|
+
mutations.begin(),
|
|
580
|
+
mutations.end(),
|
|
581
|
+
[&removeTag](auto &mutation) {
|
|
582
|
+
return mutation.type == ShadowViewMutation::Type::Delete &&
|
|
583
|
+
mutation.oldChildShadowView.tag == removeTag;
|
|
584
|
+
});
|
|
585
|
+
react_native_assert(correspondingDeleteIt != mutations.end());
|
|
839
586
|
|
|
840
|
-
|
|
841
|
-
// that the baseline of the next animation. Scale the remaining time
|
|
842
|
-
// in the animation
|
|
843
|
-
// Types of conflicts and how we handle them:
|
|
844
|
-
// Update -> update: remove the previous update, make it the baseline of the
|
|
845
|
-
// next update (with current progress) Update -> remove: same, with final
|
|
846
|
-
// mutation being a remove Insert -> update: treat as update->update Insert
|
|
847
|
-
// -> remove: same, as update->remove Remove -> update/insert: not possible
|
|
848
|
-
// We just collect pairs here of <Mutation, AnimationConfig> and delete them
|
|
849
|
-
// from active animations. If another animation is queued up from the
|
|
850
|
-
// current mutations then these deleted mutations will serve as the baseline
|
|
851
|
-
// for the next animation. If not, the current mutations are executed
|
|
852
|
-
// immediately without issues.
|
|
853
|
-
std::vector<AnimationKeyFrame> conflictingAnimations{};
|
|
854
|
-
getAndEraseConflictingAnimations(
|
|
855
|
-
surfaceId, mutations, conflictingAnimations);
|
|
587
|
+
auto deleteMutation = *correspondingDeleteIt;
|
|
856
588
|
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
currentAnimation_ = {};
|
|
864
|
-
}
|
|
865
|
-
}
|
|
589
|
+
if (mutationConfig.animationProperty ==
|
|
590
|
+
AnimationProperty::Opacity &&
|
|
591
|
+
haveComponentDescriptor) {
|
|
592
|
+
auto props =
|
|
593
|
+
getComponentDescriptorForShadowView(baselineShadowView)
|
|
594
|
+
.cloneProps(propsParserContext, viewFinal.props, {});
|
|
866
595
|
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
596
|
+
if (baselineShadowView.traits.check(
|
|
597
|
+
ShadowNodeTraits::Trait::ViewKind)) {
|
|
598
|
+
auto const &viewProps =
|
|
599
|
+
*std::static_pointer_cast<ViewProps const>(props);
|
|
600
|
+
const_cast<ViewProps &>(viewProps).opacity = 0;
|
|
601
|
+
}
|
|
872
602
|
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
}
|
|
891
|
-
if (mutation.type == ShadowViewMutation::Type::Create) {
|
|
892
|
-
if (std::find(
|
|
893
|
-
deletedTags.begin(),
|
|
894
|
-
deletedTags.end(),
|
|
895
|
-
mutation.newChildShadowView.tag) != deletedTags.end()) {
|
|
896
|
-
reparentedTags.push_back(mutation.newChildShadowView.tag);
|
|
897
|
-
}
|
|
898
|
-
}
|
|
899
|
-
}
|
|
603
|
+
react_native_assert(props != nullptr);
|
|
604
|
+
if (props != nullptr) {
|
|
605
|
+
viewFinal.props = props;
|
|
606
|
+
}
|
|
607
|
+
}
|
|
608
|
+
bool isScaleX = mutationConfig.animationProperty ==
|
|
609
|
+
AnimationProperty::ScaleX ||
|
|
610
|
+
mutationConfig.animationProperty ==
|
|
611
|
+
AnimationProperty::ScaleXY;
|
|
612
|
+
bool isScaleY = mutationConfig.animationProperty ==
|
|
613
|
+
AnimationProperty::ScaleY ||
|
|
614
|
+
mutationConfig.animationProperty ==
|
|
615
|
+
AnimationProperty::ScaleXY;
|
|
616
|
+
if ((isScaleX || isScaleY) && haveComponentDescriptor) {
|
|
617
|
+
auto props =
|
|
618
|
+
getComponentDescriptorForShadowView(baselineShadowView)
|
|
619
|
+
.cloneProps(propsParserContext, viewFinal.props, {});
|
|
900
620
|
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
|
|
906
|
-
|
|
621
|
+
if (baselineShadowView.traits.check(
|
|
622
|
+
ShadowNodeTraits::Trait::ViewKind)) {
|
|
623
|
+
auto const &viewProps =
|
|
624
|
+
*std::static_pointer_cast<ViewProps const>(props);
|
|
625
|
+
const_cast<ViewProps &>(viewProps).transform =
|
|
626
|
+
Transform::Scale(isScaleX ? 0 : 1, isScaleY ? 0 : 1, 1);
|
|
627
|
+
}
|
|
907
628
|
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
|
|
912
|
-
|
|
913
|
-
auto const layoutAnimationConfig = animation.layoutAnimationConfig;
|
|
914
|
-
for (auto const &mutation : mutations) {
|
|
915
|
-
ShadowView baselineShadowView =
|
|
916
|
-
(mutation.type == ShadowViewMutation::Type::Delete ||
|
|
917
|
-
mutation.type == ShadowViewMutation::Type::Remove ||
|
|
918
|
-
mutation.type == ShadowViewMutation::Type::Update
|
|
919
|
-
? mutation.oldChildShadowView
|
|
920
|
-
: mutation.newChildShadowView);
|
|
921
|
-
react_native_assert(baselineShadowView.tag > 0);
|
|
922
|
-
bool haveComponentDescriptor =
|
|
923
|
-
hasComponentDescriptorForShadowView(baselineShadowView);
|
|
629
|
+
react_native_assert(props != nullptr);
|
|
630
|
+
if (props != nullptr) {
|
|
631
|
+
viewFinal.props = props;
|
|
632
|
+
}
|
|
633
|
+
}
|
|
924
634
|
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
immediateMutations.push_back(mutation);
|
|
929
|
-
continue;
|
|
930
|
-
}
|
|
635
|
+
PrintMutationInstruction(
|
|
636
|
+
"Setting up animation KeyFrame for REMOVE mutation (Delete animation)",
|
|
637
|
+
mutation);
|
|
931
638
|
|
|
932
|
-
|
|
639
|
+
keyFrame = AnimationKeyFrame{
|
|
640
|
+
/* .finalMutationsForKeyFrame */ {mutation, deleteMutation},
|
|
641
|
+
/* .type */ AnimationConfigurationType::Delete,
|
|
642
|
+
/* .tag */ tag,
|
|
643
|
+
/* .parentView */ parent,
|
|
644
|
+
/* .viewStart */ viewStart,
|
|
645
|
+
/* .viewEnd */ viewFinal,
|
|
646
|
+
/* .viewPrev */ baselineShadowView,
|
|
647
|
+
/* .initialProgress */ 0};
|
|
648
|
+
} else {
|
|
649
|
+
PrintMutationInstruction(
|
|
650
|
+
"Executing Remove Immediately, due to reordering operation",
|
|
651
|
+
mutation);
|
|
652
|
+
immediateMutations.push_back(mutation);
|
|
653
|
+
continue;
|
|
654
|
+
}
|
|
655
|
+
}
|
|
933
656
|
|
|
934
|
-
|
|
935
|
-
|
|
936
|
-
|
|
937
|
-
|
|
938
|
-
insertedTags.end(),
|
|
939
|
-
mutation.oldChildShadowView.tag) != insertedTags.end();
|
|
657
|
+
// Handle conflicting animations
|
|
658
|
+
for (auto &conflictingKeyFrame : conflictingAnimations) {
|
|
659
|
+
auto const &conflictingMutationBaselineShadowView =
|
|
660
|
+
conflictingKeyFrame.viewStart;
|
|
940
661
|
|
|
941
|
-
|
|
942
|
-
|
|
943
|
-
|
|
944
|
-
// for now we detect reparenting and prevent the corresponding
|
|
945
|
-
// Delete/Create instructions from being animated.
|
|
946
|
-
bool isReparented = std::find(
|
|
947
|
-
reparentedTags.begin(),
|
|
948
|
-
reparentedTags.end(),
|
|
949
|
-
baselineShadowView.tag) != reparentedTags.end();
|
|
662
|
+
// We've found a conflict.
|
|
663
|
+
if (conflictingMutationBaselineShadowView.tag == tag) {
|
|
664
|
+
conflictingKeyFrame.generateFinalSyntheticMutations = false;
|
|
950
665
|
|
|
951
|
-
|
|
952
|
-
|
|
953
|
-
|
|
666
|
+
// Do NOT update viewStart for a CREATE animation.
|
|
667
|
+
if (keyFrame.type == AnimationConfigurationType::Create) {
|
|
668
|
+
break;
|
|
669
|
+
}
|
|
954
670
|
|
|
955
|
-
|
|
956
|
-
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
|
|
671
|
+
#ifdef LAYOUT_ANIMATION_VERBOSE_LOGGING
|
|
672
|
+
LOG(ERROR)
|
|
673
|
+
<< "Due to conflict, replacing 'viewStart' of animated keyframe: ["
|
|
674
|
+
<< conflictingKeyFrame.viewPrev.tag << "] with ##"
|
|
675
|
+
<< std::hash<ShadowView>{}(conflictingKeyFrame.viewPrev);
|
|
676
|
+
#endif
|
|
677
|
+
// Pick a Prop or layout property, depending on the current
|
|
678
|
+
// animation configuration. Figure out how much progress we've
|
|
679
|
+
// already made in the current animation, and start the animation
|
|
680
|
+
// from this point.
|
|
681
|
+
keyFrame.viewPrev = conflictingKeyFrame.viewPrev;
|
|
682
|
+
keyFrame.viewStart = conflictingKeyFrame.viewPrev;
|
|
683
|
+
react_native_assert(keyFrame.viewStart.tag > 0);
|
|
684
|
+
keyFrame.initialProgress = 0;
|
|
969
685
|
|
|
970
|
-
|
|
971
|
-
|
|
972
|
-
|
|
973
|
-
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
? layoutAnimationConfig.createConfig
|
|
978
|
-
: layoutAnimationConfig.updateConfig));
|
|
979
|
-
bool haveConfiguration =
|
|
980
|
-
mutationConfig.animationType != AnimationType::None;
|
|
686
|
+
// We're guaranteed that a tag only has one animation associated
|
|
687
|
+
// with it, so we can break here. If we support multiple
|
|
688
|
+
// animations and animation curves over the same tag in the
|
|
689
|
+
// future, this will need to be modified to support that.
|
|
690
|
+
break;
|
|
691
|
+
}
|
|
692
|
+
}
|
|
981
693
|
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
|
|
989
|
-
|
|
694
|
+
#ifdef LAYOUT_ANIMATION_VERBOSE_LOGGING
|
|
695
|
+
LOG(ERROR) << "Checking validity of keyframe: ["
|
|
696
|
+
<< keyFrame.viewStart.tag << "] [" << keyFrame.viewEnd.tag
|
|
697
|
+
<< "] [" << keyFrame.viewPrev.tag
|
|
698
|
+
<< "] animation type: " << (int)keyFrame.type;
|
|
699
|
+
#endif
|
|
700
|
+
react_native_assert(keyFrame.viewStart.tag > 0);
|
|
701
|
+
react_native_assert(keyFrame.viewEnd.tag > 0);
|
|
702
|
+
react_native_assert(keyFrame.viewPrev.tag > 0);
|
|
703
|
+
keyFramesToAnimate.push_back(keyFrame);
|
|
990
704
|
}
|
|
991
705
|
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
executeMutationImmediately = mutation;
|
|
706
|
+
if (executeMutationImmediately.hasValue()) {
|
|
707
|
+
PrintMutationInstruction(
|
|
708
|
+
"Queue Up For Immediate Execution", *executeMutationImmediately);
|
|
709
|
+
immediateMutations.push_back(*executeMutationImmediately);
|
|
710
|
+
}
|
|
711
|
+
}
|
|
999
712
|
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
1004
|
-
|
|
1005
|
-
|
|
1006
|
-
|
|
1007
|
-
|
|
1008
|
-
|
|
1009
|
-
|
|
1010
|
-
|
|
1011
|
-
|
|
1012
|
-
for (auto &keyframe : keyFramesToAnimate) {
|
|
1013
|
-
if (keyframe.tag == baselineShadowView.tag) {
|
|
1014
|
-
// If there's already an animation queued up, followed by this
|
|
1015
|
-
// Insert, it *must* be an Update mutation animation. Other
|
|
1016
|
-
// sequences should not be possible.
|
|
1017
|
-
react_native_assert(
|
|
1018
|
-
keyframe.type == AnimationConfigurationType::Update);
|
|
713
|
+
#ifdef RN_SHADOW_TREE_INTROSPECTION
|
|
714
|
+
#ifdef LAYOUT_ANIMATION_VERBOSE_LOGGING
|
|
715
|
+
{
|
|
716
|
+
int idx = 0;
|
|
717
|
+
for (auto &mutation : immediateMutations) {
|
|
718
|
+
PrintMutationInstruction(
|
|
719
|
+
std::string("IMMEDIATE list: ") + std::to_string(idx) + "/" +
|
|
720
|
+
std::to_string(immediateMutations.size()),
|
|
721
|
+
mutation);
|
|
722
|
+
idx++;
|
|
723
|
+
}
|
|
724
|
+
}
|
|
1019
725
|
|
|
1020
|
-
|
|
1021
|
-
|
|
1022
|
-
|
|
726
|
+
{
|
|
727
|
+
int idx = 0;
|
|
728
|
+
for (const auto &keyframe : keyFramesToAnimate) {
|
|
729
|
+
for (const auto &finalMutationForKeyFrame :
|
|
730
|
+
keyframe.finalMutationsForKeyFrame) {
|
|
731
|
+
PrintMutationInstruction(
|
|
732
|
+
std::string("FINAL list: ") + std::to_string(idx) + "/" +
|
|
733
|
+
std::to_string(keyFramesToAnimate.size()),
|
|
734
|
+
finalMutationForKeyFrame);
|
|
735
|
+
}
|
|
736
|
+
idx++;
|
|
737
|
+
}
|
|
738
|
+
}
|
|
739
|
+
#endif
|
|
740
|
+
#endif
|
|
1023
741
|
|
|
1024
|
-
|
|
1025
|
-
|
|
1026
|
-
|
|
1027
|
-
|
|
1028
|
-
|
|
1029
|
-
|
|
1030
|
-
|
|
1031
|
-
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
|
|
1035
|
-
|
|
1036
|
-
|
|
1037
|
-
|
|
1038
|
-
|
|
1039
|
-
|
|
1040
|
-
|
|
742
|
+
auto finalConflictingMutations = ShadowViewMutationList{};
|
|
743
|
+
for (auto &keyFrame : conflictingAnimations) {
|
|
744
|
+
// Special-case: if we have some (1) ongoing UPDATE animation,
|
|
745
|
+
// (2) it conflicted with a new MOVE operation (REMOVE+INSERT)
|
|
746
|
+
// without another corresponding UPDATE, we should re-queue the
|
|
747
|
+
// keyframe so that its position/props don't suddenly "jump".
|
|
748
|
+
if (keyFrame.type == AnimationConfigurationType::Update) {
|
|
749
|
+
auto movedIt = movedTags.find(keyFrame.tag);
|
|
750
|
+
if (movedIt != movedTags.end()) {
|
|
751
|
+
auto newKeyFrameForUpdate = std::find_if(
|
|
752
|
+
keyFramesToAnimate.begin(),
|
|
753
|
+
keyFramesToAnimate.end(),
|
|
754
|
+
[&](auto const &newKeyFrame) {
|
|
755
|
+
return newKeyFrame.type ==
|
|
756
|
+
AnimationConfigurationType::Update &&
|
|
757
|
+
newKeyFrame.tag == keyFrame.tag;
|
|
758
|
+
});
|
|
759
|
+
if (newKeyFrameForUpdate == keyFramesToAnimate.end()) {
|
|
760
|
+
keyFrame.invalidated = false;
|
|
1041
761
|
|
|
1042
|
-
|
|
1043
|
-
|
|
1044
|
-
|
|
762
|
+
// The animation will continue from the current position - we
|
|
763
|
+
// restart viewStart to make sure there are no sudden jumps
|
|
764
|
+
keyFrame.viewStart = keyFrame.viewPrev;
|
|
1045
765
|
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
|
|
1049
|
-
|
|
1050
|
-
|
|
1051
|
-
|
|
1052
|
-
|
|
1053
|
-
mutation.oldChildShadowView.tag > 0) {
|
|
1054
|
-
executeMutationImmediately = ShadowViewMutation{
|
|
1055
|
-
mutation.type,
|
|
1056
|
-
mutation.parentShadowView,
|
|
1057
|
-
keyframe.viewPrev,
|
|
1058
|
-
{},
|
|
1059
|
-
mutation.index};
|
|
766
|
+
// Find the insert mutation that conflicted with this update
|
|
767
|
+
for (auto &mutation : immediateMutations) {
|
|
768
|
+
if (mutation.newChildShadowView.tag == keyFrame.tag &&
|
|
769
|
+
(mutation.type == ShadowViewMutation::Insert ||
|
|
770
|
+
mutation.type == ShadowViewMutation::Create)) {
|
|
771
|
+
keyFrame.viewPrev = mutation.newChildShadowView;
|
|
772
|
+
keyFrame.viewEnd = mutation.newChildShadowView;
|
|
1060
773
|
}
|
|
1061
774
|
}
|
|
775
|
+
keyFramesToAnimate.push_back(keyFrame);
|
|
776
|
+
continue;
|
|
1062
777
|
}
|
|
1063
778
|
}
|
|
1064
779
|
}
|
|
1065
780
|
|
|
1066
|
-
//
|
|
1067
|
-
|
|
1068
|
-
|
|
1069
|
-
|
|
1070
|
-
|
|
1071
|
-
|
|
1072
|
-
|
|
1073
|
-
|
|
1074
|
-
|
|
1075
|
-
|
|
1076
|
-
|
|
1077
|
-
|
|
1078
|
-
|
|
1079
|
-
|
|
1080
|
-
ShadowView parent = mutation.parentShadowView;
|
|
1081
|
-
react_native_assert(
|
|
1082
|
-
parent.tag > 0 ||
|
|
1083
|
-
mutation.type == ShadowViewMutation::Type::Update ||
|
|
1084
|
-
mutation.type == ShadowViewMutation::Type::Delete);
|
|
1085
|
-
Tag tag = viewStart.tag;
|
|
1086
|
-
|
|
1087
|
-
AnimationKeyFrame keyFrame{};
|
|
1088
|
-
if (mutation.type == ShadowViewMutation::Type::Insert) {
|
|
1089
|
-
if (mutationConfig.animationProperty ==
|
|
1090
|
-
AnimationProperty::Opacity &&
|
|
1091
|
-
haveComponentDescriptor) {
|
|
1092
|
-
auto props =
|
|
1093
|
-
getComponentDescriptorForShadowView(baselineShadowView)
|
|
1094
|
-
.cloneProps(propsParserContext, viewStart.props, {});
|
|
781
|
+
// If the "final" mutation is already accounted for, by previously
|
|
782
|
+
// setting the correct "viewPrev" of the next conflicting animation, we
|
|
783
|
+
// don't want to queue up any final UPDATE mutations here.
|
|
784
|
+
bool shouldGenerateSyntheticMutations =
|
|
785
|
+
keyFrame.generateFinalSyntheticMutations;
|
|
786
|
+
auto numFinalMutations = keyFrame.finalMutationsForKeyFrame.size();
|
|
787
|
+
bool onlyMutationIsUpdate =
|
|
788
|
+
(numFinalMutations == 1 &&
|
|
789
|
+
keyFrame.finalMutationsForKeyFrame[0].type ==
|
|
790
|
+
ShadowViewMutation::Update);
|
|
791
|
+
if (!shouldGenerateSyntheticMutations &&
|
|
792
|
+
(numFinalMutations == 0 || onlyMutationIsUpdate)) {
|
|
793
|
+
continue;
|
|
794
|
+
}
|
|
1095
795
|
|
|
1096
|
-
|
|
1097
|
-
|
|
1098
|
-
|
|
1099
|
-
|
|
1100
|
-
|
|
1101
|
-
|
|
1102
|
-
const_cast<ViewProps *>(viewProps)->opacity = 0;
|
|
1103
|
-
}
|
|
796
|
+
queueFinalMutationsForCompletedKeyFrame(
|
|
797
|
+
keyFrame,
|
|
798
|
+
finalConflictingMutations,
|
|
799
|
+
true,
|
|
800
|
+
"KeyFrameManager: Finished Conflicting Keyframe");
|
|
801
|
+
}
|
|
1104
802
|
|
|
1105
|
-
|
|
1106
|
-
|
|
1107
|
-
|
|
1108
|
-
|
|
1109
|
-
|
|
1110
|
-
|
|
1111
|
-
mutationConfig.animationProperty == AnimationProperty::ScaleX ||
|
|
1112
|
-
mutationConfig.animationProperty == AnimationProperty::ScaleXY;
|
|
1113
|
-
bool isScaleY =
|
|
1114
|
-
mutationConfig.animationProperty == AnimationProperty::ScaleY ||
|
|
1115
|
-
mutationConfig.animationProperty == AnimationProperty::ScaleXY;
|
|
1116
|
-
if ((isScaleX || isScaleY) && haveComponentDescriptor) {
|
|
1117
|
-
auto props =
|
|
1118
|
-
getComponentDescriptorForShadowView(baselineShadowView)
|
|
1119
|
-
.cloneProps(propsParserContext, viewStart.props, {});
|
|
803
|
+
// Make sure that all operations execute in the proper order, since
|
|
804
|
+
// conflicting animations are not sorted in any reasonable way.
|
|
805
|
+
std::stable_sort(
|
|
806
|
+
finalConflictingMutations.begin(),
|
|
807
|
+
finalConflictingMutations.end(),
|
|
808
|
+
&shouldFirstComeBeforeSecondMutation);
|
|
1120
809
|
|
|
1121
|
-
|
|
1122
|
-
|
|
1123
|
-
|
|
1124
|
-
|
|
1125
|
-
dynamic_cast<const ViewProps *>(props.get());
|
|
1126
|
-
if (viewProps != nullptr) {
|
|
1127
|
-
const_cast<ViewProps *>(viewProps)->transform =
|
|
1128
|
-
Transform::Scale(isScaleX ? 0 : 1, isScaleY ? 0 : 1, 1);
|
|
1129
|
-
}
|
|
810
|
+
std::stable_sort(
|
|
811
|
+
immediateMutations.begin(),
|
|
812
|
+
immediateMutations.end(),
|
|
813
|
+
&shouldFirstComeBeforeSecondRemovesOnly);
|
|
1130
814
|
|
|
1131
|
-
|
|
1132
|
-
|
|
1133
|
-
viewStart.props = props;
|
|
1134
|
-
}
|
|
1135
|
-
}
|
|
815
|
+
animation.keyFrames = keyFramesToAnimate;
|
|
816
|
+
inflightAnimations_.push_back(std::move(animation));
|
|
1136
817
|
|
|
1137
|
-
|
|
1138
|
-
|
|
1139
|
-
|
|
818
|
+
// At this point, we have the following information and knowledge graph:
|
|
819
|
+
// Knowledge Graph:
|
|
820
|
+
// [ImmediateMutations] -> assumes [FinalConflicting], [FrameDelayed],
|
|
821
|
+
// [Delayed] already executed [FrameDelayed] -> assumes
|
|
822
|
+
// [FinalConflicting], [Delayed] already executed [FinalConflicting] ->
|
|
823
|
+
// is adjusted based on [Delayed], no dependency on [FinalConflicting],
|
|
824
|
+
// [FrameDelayed] [Delayed] -> assumes [FinalConflicting],
|
|
825
|
+
// [ImmediateMutations] not executed yet
|
|
1140
826
|
|
|
1141
|
-
|
|
1142
|
-
|
|
1143
|
-
|
|
1144
|
-
|
|
1145
|
-
|
|
1146
|
-
|
|
1147
|
-
|
|
1148
|
-
|
|
1149
|
-
|
|
1150
|
-
|
|
1151
|
-
// This is just for assertion purposes.
|
|
1152
|
-
// The NDEBUG check here is to satisfy the compiler in certain environments
|
|
1153
|
-
// complaining about correspondingRemoveIt being unused.
|
|
1154
|
-
#ifdef REACT_NATIVE_DEBUG
|
|
1155
|
-
#ifndef NDEBUG
|
|
1156
|
-
// This block is temporarily disabled to fix some internal builds.
|
|
1157
|
-
// In some build configurations, we get a compiler error that
|
|
1158
|
-
// `correspondingRemoveIt` is unused.
|
|
1159
|
-
/* Tag deleteTag = mutation.oldChildShadowView.tag;
|
|
1160
|
-
auto correspondingRemoveIt = std::find_if(
|
|
1161
|
-
mutations.begin(),
|
|
1162
|
-
mutations.end(),
|
|
1163
|
-
[&deleteTag](auto &mutation) {
|
|
1164
|
-
return mutation.type == ShadowViewMutation::Type::Remove &&
|
|
1165
|
-
mutation.oldChildShadowView.tag == deleteTag;
|
|
1166
|
-
});
|
|
1167
|
-
react_native_assert(correspondingRemoveIt != mutations.end());
|
|
1168
|
-
*/
|
|
827
|
+
// Adjust [Delayed] based on [FinalConflicting]
|
|
828
|
+
// Knowledge Graph:
|
|
829
|
+
// [ImmediateMutations] -> assumes [FinalConflicting], [FrameDelayed],
|
|
830
|
+
// [Delayed] already executed [FrameDelayed] -> assumes
|
|
831
|
+
// [FinalConflicting], [Delayed] already executed [FinalConflicting] ->
|
|
832
|
+
// is adjusted based on [Delayed], no dependency on [FinalConflicting],
|
|
833
|
+
// [FrameDelayed] [Delayed] -> adjusted for [FinalConflicting]; assumes
|
|
834
|
+
// [ImmediateMutations] not executed yet
|
|
835
|
+
#ifdef LAYOUT_ANIMATION_VERBOSE_LOGGING
|
|
836
|
+
LOG(ERROR) << "Adjust [Delayed] based on [FinalConflicting]";
|
|
1169
837
|
#endif
|
|
838
|
+
for (auto &mutation : finalConflictingMutations) {
|
|
839
|
+
if (mutation.type == ShadowViewMutation::Type::Insert ||
|
|
840
|
+
mutation.type == ShadowViewMutation::Type::Remove) {
|
|
841
|
+
adjustDelayedMutationIndicesForMutation(surfaceId, mutation, true);
|
|
842
|
+
}
|
|
843
|
+
}
|
|
844
|
+
|
|
845
|
+
// Adjust [FrameDelayed] based on [Delayed]
|
|
846
|
+
// Knowledge Graph:
|
|
847
|
+
// [ImmediateExecutions] -> assumes [FinalConflicting], [Delayed],
|
|
848
|
+
// [FrameDelayed] already executed [FrameDelayed] -> adjusted for
|
|
849
|
+
// [Delayed]; assumes [FinalConflicting] already executed
|
|
850
|
+
// [FinalConflicting] -> is adjusted based on [Delayed], no dependency
|
|
851
|
+
// on [FinalConflicting], [FrameDelayed] [Delayed] -> adjusted for
|
|
852
|
+
// [FinalConflicting]; assumes [ImmediateExecutions] not executed yet
|
|
853
|
+
#ifdef LAYOUT_ANIMATION_VERBOSE_LOGGING
|
|
854
|
+
LOG(ERROR) << "Adjust [FrameDelayed] based on [Delayed]";
|
|
1170
855
|
#endif
|
|
1171
|
-
|
|
1172
|
-
|
|
1173
|
-
|
|
856
|
+
for (auto &keyframe : inflightAnimations_.back().keyFrames) {
|
|
857
|
+
for (auto &finalMutation : keyframe.finalMutationsForKeyFrame) {
|
|
858
|
+
if (finalMutation.type == ShadowViewMutation::Type::Insert ||
|
|
859
|
+
finalMutation.type == ShadowViewMutation::Type::Remove) {
|
|
860
|
+
// When adjusting, skip adjusting against last animation - because
|
|
861
|
+
// all `mutation`s here come from the last animation, so we can't
|
|
862
|
+
// adjust a batch against itself.
|
|
863
|
+
adjustImmediateMutationIndicesForDelayedMutations(
|
|
864
|
+
surfaceId, finalMutation, true);
|
|
865
|
+
}
|
|
866
|
+
}
|
|
867
|
+
}
|
|
1174
868
|
|
|
1175
|
-
|
|
1176
|
-
|
|
1177
|
-
|
|
1178
|
-
|
|
1179
|
-
|
|
1180
|
-
|
|
1181
|
-
|
|
1182
|
-
|
|
1183
|
-
|
|
1184
|
-
|
|
1185
|
-
|
|
1186
|
-
|
|
1187
|
-
|
|
1188
|
-
|
|
1189
|
-
|
|
1190
|
-
|
|
1191
|
-
|
|
1192
|
-
|
|
1193
|
-
|
|
1194
|
-
|
|
1195
|
-
|
|
1196
|
-
|
|
1197
|
-
|
|
1198
|
-
|
|
1199
|
-
|
|
1200
|
-
|
|
1201
|
-
|
|
1202
|
-
|
|
1203
|
-
|
|
1204
|
-
|
|
1205
|
-
|
|
1206
|
-
|
|
1207
|
-
|
|
1208
|
-
|
|
1209
|
-
|
|
1210
|
-
|
|
1211
|
-
|
|
1212
|
-
|
|
1213
|
-
|
|
1214
|
-
|
|
1215
|
-
|
|
1216
|
-
|
|
1217
|
-
|
|
1218
|
-
|
|
1219
|
-
haveComponentDescriptor) {
|
|
1220
|
-
auto props =
|
|
1221
|
-
getComponentDescriptorForShadowView(baselineShadowView)
|
|
1222
|
-
.cloneProps(propsParserContext, viewFinal.props, {});
|
|
1223
|
-
|
|
1224
|
-
// Dynamic cast, because - we don't know the type of this
|
|
1225
|
-
// ShadowNode, it could be Image or Text or something else with
|
|
1226
|
-
// different base props.
|
|
1227
|
-
const auto viewProps =
|
|
1228
|
-
dynamic_cast<const ViewProps *>(props.get());
|
|
1229
|
-
if (viewProps != nullptr) {
|
|
1230
|
-
const_cast<ViewProps *>(viewProps)->opacity = 0;
|
|
1231
|
-
}
|
|
1232
|
-
|
|
1233
|
-
react_native_assert(props != nullptr);
|
|
1234
|
-
if (props != nullptr) {
|
|
1235
|
-
viewFinal.props = props;
|
|
1236
|
-
}
|
|
1237
|
-
}
|
|
1238
|
-
bool isScaleX = mutationConfig.animationProperty ==
|
|
1239
|
-
AnimationProperty::ScaleX ||
|
|
1240
|
-
mutationConfig.animationProperty ==
|
|
1241
|
-
AnimationProperty::ScaleXY;
|
|
1242
|
-
bool isScaleY = mutationConfig.animationProperty ==
|
|
1243
|
-
AnimationProperty::ScaleY ||
|
|
1244
|
-
mutationConfig.animationProperty ==
|
|
1245
|
-
AnimationProperty::ScaleXY;
|
|
1246
|
-
if ((isScaleX || isScaleY) && haveComponentDescriptor) {
|
|
1247
|
-
auto props =
|
|
1248
|
-
getComponentDescriptorForShadowView(baselineShadowView)
|
|
1249
|
-
.cloneProps(propsParserContext, viewFinal.props, {});
|
|
1250
|
-
|
|
1251
|
-
// Dynamic cast, because - we don't know the type of this
|
|
1252
|
-
// ShadowNode, it could be Image or Text or something else with
|
|
1253
|
-
// different base props.
|
|
1254
|
-
const auto viewProps =
|
|
1255
|
-
dynamic_cast<const ViewProps *>(props.get());
|
|
1256
|
-
if (viewProps != nullptr) {
|
|
1257
|
-
const_cast<ViewProps *>(viewProps)->transform =
|
|
1258
|
-
Transform::Scale(isScaleX ? 0 : 1, isScaleY ? 0 : 1, 1);
|
|
1259
|
-
}
|
|
1260
|
-
|
|
1261
|
-
react_native_assert(props != nullptr);
|
|
1262
|
-
if (props != nullptr) {
|
|
1263
|
-
viewFinal.props = props;
|
|
1264
|
-
}
|
|
1265
|
-
}
|
|
1266
|
-
|
|
1267
|
-
PrintMutationInstruction(
|
|
1268
|
-
"Setting up animation KeyFrame for REMOVE mutation (Delete animation)",
|
|
1269
|
-
mutation);
|
|
1270
|
-
|
|
1271
|
-
keyFrame = AnimationKeyFrame{
|
|
1272
|
-
{mutation, deleteMutation},
|
|
1273
|
-
AnimationConfigurationType::Delete,
|
|
1274
|
-
tag,
|
|
1275
|
-
parent,
|
|
1276
|
-
viewStart,
|
|
1277
|
-
viewFinal,
|
|
1278
|
-
baselineShadowView,
|
|
1279
|
-
0};
|
|
1280
|
-
} else {
|
|
1281
|
-
PrintMutationInstruction(
|
|
1282
|
-
"Executing Remove Immediately, due to reordering operation",
|
|
1283
|
-
mutation);
|
|
1284
|
-
immediateMutations.push_back(mutation);
|
|
1285
|
-
continue;
|
|
1286
|
-
}
|
|
1287
|
-
}
|
|
1288
|
-
|
|
1289
|
-
// Handle conflicting animations
|
|
1290
|
-
for (auto &conflictingKeyFrame : conflictingAnimations) {
|
|
1291
|
-
auto const &conflictingMutationBaselineShadowView =
|
|
1292
|
-
conflictingKeyFrame.viewStart;
|
|
1293
|
-
|
|
1294
|
-
// We've found a conflict.
|
|
1295
|
-
if (conflictingMutationBaselineShadowView.tag == tag) {
|
|
1296
|
-
conflictingKeyFrame.generateFinalSyntheticMutations = false;
|
|
1297
|
-
|
|
1298
|
-
// Do NOT update viewStart for a CREATE animation.
|
|
1299
|
-
if (keyFrame.type == AnimationConfigurationType::Create) {
|
|
1300
|
-
break;
|
|
1301
|
-
}
|
|
869
|
+
// Adjust [ImmediateExecutions] based on [Delayed]
|
|
870
|
+
// Knowledge Graph:
|
|
871
|
+
// [ImmediateExecutions] -> adjusted for [FrameDelayed], [Delayed];
|
|
872
|
+
// assumes [FinalConflicting] already executed [FrameDelayed] ->
|
|
873
|
+
// adjusted for [Delayed]; assumes [FinalConflicting] already executed
|
|
874
|
+
// [FinalConflicting] -> is adjusted based on [Delayed], no dependency
|
|
875
|
+
// on [FinalConflicting], [FrameDelayed] [Delayed] -> adjusted for
|
|
876
|
+
// [FinalConflicting]; assumes [ImmediateExecutions] not executed yet
|
|
877
|
+
//
|
|
878
|
+
// THEN,
|
|
879
|
+
// Adjust [Delayed] based on [ImmediateExecutions] and
|
|
880
|
+
// [FinalConflicting] Knowledge Graph: [ImmediateExecutions] -> adjusted
|
|
881
|
+
// for [FrameDelayed], [Delayed]; assumes [FinalConflicting] already
|
|
882
|
+
// executed [FrameDelayed] -> adjusted for [Delayed]; assumes
|
|
883
|
+
// [FinalConflicting] already executed [FinalConflicting] -> is adjusted
|
|
884
|
+
// based on [Delayed], no dependency on [FinalConflicting],
|
|
885
|
+
// [FrameDelayed] [Delayed] -> adjusted for [FinalConflicting],
|
|
886
|
+
// [ImmediateExecutions]
|
|
887
|
+
//
|
|
888
|
+
// We do these in the same loop because each immediate execution is
|
|
889
|
+
// impacted by each delayed mutation, and also can impact each delayed
|
|
890
|
+
// mutation, and these effects compound.
|
|
891
|
+
#ifdef LAYOUT_ANIMATION_VERBOSE_LOGGING
|
|
892
|
+
LOG(ERROR)
|
|
893
|
+
<< "Adjust each [ImmediateExecution] based on [Delayed] and [Delayed] based on each [ImmediateExecution]";
|
|
894
|
+
#endif
|
|
895
|
+
for (auto &mutation : immediateMutations) {
|
|
896
|
+
// Note: when adjusting [ImmediateExecutions] based on [FrameDelayed],
|
|
897
|
+
// we need only adjust Inserts. Since inserts are executed
|
|
898
|
+
// highest-index-first, lower indices being delayed does not impact
|
|
899
|
+
// the higher-index removals; and conversely, higher indices being
|
|
900
|
+
// delayed cannot impact lower index removal, regardless of order.
|
|
901
|
+
if (mutation.type == ShadowViewMutation::Type::Insert ||
|
|
902
|
+
mutation.type == ShadowViewMutation::Type::Remove) {
|
|
903
|
+
adjustImmediateMutationIndicesForDelayedMutations(
|
|
904
|
+
surfaceId,
|
|
905
|
+
mutation,
|
|
906
|
+
mutation.type == ShadowViewMutation::Type::Remove);
|
|
907
|
+
// Here we need to adjust both Delayed and FrameDelayed mutations.
|
|
908
|
+
// Delayed Removes can be impacted by non-delayed Inserts from the
|
|
909
|
+
// same frame.
|
|
910
|
+
adjustDelayedMutationIndicesForMutation(surfaceId, mutation);
|
|
911
|
+
}
|
|
912
|
+
}
|
|
1302
913
|
|
|
914
|
+
// If the knowledge graph progression above is correct, it is now safe
|
|
915
|
+
// to execute finalConflictingMutations and immediateMutations in that
|
|
916
|
+
// order, and to queue the delayed animations from this frame.
|
|
917
|
+
//
|
|
918
|
+
// Execute the conflicting, delayed operations immediately. Any UPDATE
|
|
919
|
+
// operations that smoothly transition into another animation will be
|
|
920
|
+
// overridden by generated UPDATE operations at the end of the list, and
|
|
921
|
+
// we want any REMOVE or DELETE operations to execute immediately.
|
|
922
|
+
// Additionally, this should allow us to avoid performing index
|
|
923
|
+
// adjustment between this list of conflicting animations and the batch
|
|
924
|
+
// we're about to execute.
|
|
925
|
+
finalConflictingMutations.insert(
|
|
926
|
+
finalConflictingMutations.end(),
|
|
927
|
+
immediateMutations.begin(),
|
|
928
|
+
immediateMutations.end());
|
|
929
|
+
mutations = finalConflictingMutations;
|
|
930
|
+
} /* if (currentAnimation) */
|
|
931
|
+
else {
|
|
932
|
+
// If there's no "next" animation, make sure we queue up "final"
|
|
933
|
+
// operations from all ongoing, conflicting animations.
|
|
1303
934
|
#ifdef LAYOUT_ANIMATION_VERBOSE_LOGGING
|
|
1304
|
-
|
|
1305
|
-
<< "Due to conflict, replacing 'viewStart' of animated keyframe: ["
|
|
1306
|
-
<< conflictingKeyFrame.viewPrev.tag << "] with ##"
|
|
1307
|
-
<< std::hash<ShadowView>{}(conflictingKeyFrame.viewPrev);
|
|
935
|
+
LOG(ERROR) << "No Animation: Queue up final conflicting animations";
|
|
1308
936
|
#endif
|
|
1309
|
-
|
|
1310
|
-
|
|
1311
|
-
|
|
1312
|
-
|
|
1313
|
-
|
|
1314
|
-
|
|
1315
|
-
|
|
1316
|
-
|
|
937
|
+
ShadowViewMutationList finalMutationsForConflictingAnimations{};
|
|
938
|
+
for (auto const &keyFrame : conflictingAnimations) {
|
|
939
|
+
queueFinalMutationsForCompletedKeyFrame(
|
|
940
|
+
keyFrame,
|
|
941
|
+
finalMutationsForConflictingAnimations,
|
|
942
|
+
true,
|
|
943
|
+
"Conflict with non-animated mutation");
|
|
944
|
+
}
|
|
1317
945
|
|
|
1318
|
-
|
|
1319
|
-
|
|
1320
|
-
|
|
1321
|
-
|
|
1322
|
-
|
|
1323
|
-
|
|
1324
|
-
}
|
|
946
|
+
// Make sure that all operations execute in the proper order.
|
|
947
|
+
// REMOVE operations with highest indices must operate first.
|
|
948
|
+
std::stable_sort(
|
|
949
|
+
finalMutationsForConflictingAnimations.begin(),
|
|
950
|
+
finalMutationsForConflictingAnimations.end(),
|
|
951
|
+
&shouldFirstComeBeforeSecondMutation);
|
|
1325
952
|
|
|
1326
953
|
#ifdef LAYOUT_ANIMATION_VERBOSE_LOGGING
|
|
1327
|
-
|
|
1328
|
-
|
|
1329
|
-
<< "] [" << keyFrame.viewPrev.tag
|
|
1330
|
-
<< "] animation type: " << (int)keyFrame.type;
|
|
954
|
+
LOG(ERROR)
|
|
955
|
+
<< "No Animation: Adjust delayed mutations based on all finalMutationsForConflictingAnimations";
|
|
1331
956
|
#endif
|
|
1332
|
-
|
|
1333
|
-
|
|
1334
|
-
|
|
1335
|
-
|
|
1336
|
-
}
|
|
1337
|
-
|
|
1338
|
-
if (executeMutationImmediately.hasValue()) {
|
|
1339
|
-
PrintMutationInstruction(
|
|
1340
|
-
"Queue Up For Immediate Execution", *executeMutationImmediately);
|
|
1341
|
-
immediateMutations.push_back(*executeMutationImmediately);
|
|
957
|
+
for (auto const &mutation : finalMutationsForConflictingAnimations) {
|
|
958
|
+
if (mutation.type == ShadowViewMutation::Type::Remove ||
|
|
959
|
+
mutation.type == ShadowViewMutation::Type::Insert) {
|
|
960
|
+
adjustDelayedMutationIndicesForMutation(surfaceId, mutation);
|
|
1342
961
|
}
|
|
1343
962
|
}
|
|
1344
963
|
|
|
1345
|
-
|
|
964
|
+
// The ShadowTree layer doesn't realize that certain operations have
|
|
965
|
+
// been delayed, so we must adjust all Remove and Insert operations
|
|
966
|
+
// based on what else has been deferred, whether we are executing this
|
|
967
|
+
// immediately or later.
|
|
1346
968
|
#ifdef LAYOUT_ANIMATION_VERBOSE_LOGGING
|
|
1347
|
-
|
|
1348
|
-
|
|
1349
|
-
|
|
1350
|
-
|
|
1351
|
-
|
|
1352
|
-
|
|
1353
|
-
|
|
1354
|
-
|
|
969
|
+
LOG(ERROR)
|
|
970
|
+
<< "No Animation: Adjust mutations based on remaining delayed mutations / adjust delayed, based on each";
|
|
971
|
+
#endif
|
|
972
|
+
for (auto &mutation : mutations) {
|
|
973
|
+
if (mutation.type == ShadowViewMutation::Type::Remove ||
|
|
974
|
+
mutation.type == ShadowViewMutation::Type::Insert) {
|
|
975
|
+
adjustImmediateMutationIndicesForDelayedMutations(
|
|
976
|
+
surfaceId, mutation);
|
|
977
|
+
adjustDelayedMutationIndicesForMutation(surfaceId, mutation);
|
|
1355
978
|
}
|
|
1356
979
|
}
|
|
1357
980
|
|
|
1358
|
-
|
|
1359
|
-
|
|
1360
|
-
|
|
1361
|
-
|
|
1362
|
-
|
|
1363
|
-
|
|
1364
|
-
|
|
1365
|
-
|
|
1366
|
-
|
|
1367
|
-
}
|
|
1368
|
-
idx++;
|
|
1369
|
-
}
|
|
1370
|
-
}
|
|
1371
|
-
#endif
|
|
1372
|
-
#endif
|
|
981
|
+
// Append mutations to this list and swap - so that the final
|
|
982
|
+
// conflicting mutations happen before any other mutations
|
|
983
|
+
finalMutationsForConflictingAnimations.insert(
|
|
984
|
+
finalMutationsForConflictingAnimations.end(),
|
|
985
|
+
mutations.begin(),
|
|
986
|
+
mutations.end());
|
|
987
|
+
mutations = finalMutationsForConflictingAnimations;
|
|
988
|
+
}
|
|
989
|
+
} // if (mutations)
|
|
1373
990
|
|
|
1374
|
-
|
|
1375
|
-
|
|
1376
|
-
|
|
1377
|
-
|
|
1378
|
-
|
|
1379
|
-
|
|
1380
|
-
|
|
1381
|
-
|
|
1382
|
-
if (movedIt != movedTags.end()) {
|
|
1383
|
-
auto newKeyFrameForUpdate = std::find_if(
|
|
1384
|
-
keyFramesToAnimate.begin(),
|
|
1385
|
-
keyFramesToAnimate.end(),
|
|
1386
|
-
[&](auto const &newKeyFrame) {
|
|
1387
|
-
return newKeyFrame.type ==
|
|
1388
|
-
AnimationConfigurationType::Update &&
|
|
1389
|
-
newKeyFrame.tag == keyFrame.tag;
|
|
1390
|
-
});
|
|
1391
|
-
if (newKeyFrameForUpdate == keyFramesToAnimate.end()) {
|
|
1392
|
-
keyFrame.invalidated = false;
|
|
991
|
+
// We never commit a different root or modify anything -
|
|
992
|
+
// we just send additional mutations to the mounting layer until the
|
|
993
|
+
// animations are finished and the mounting layer (view) represents exactly
|
|
994
|
+
// what is in the most recent shadow tree
|
|
995
|
+
// Add animation mutations to the end of our existing mutations list in this
|
|
996
|
+
// function.
|
|
997
|
+
ShadowViewMutationList mutationsForAnimation{};
|
|
998
|
+
animationMutationsForFrame(surfaceId, mutationsForAnimation, now);
|
|
1393
999
|
|
|
1394
|
-
|
|
1395
|
-
|
|
1396
|
-
|
|
1000
|
+
// If any delayed removes were executed, update remaining delayed keyframes
|
|
1001
|
+
#ifdef LAYOUT_ANIMATION_VERBOSE_LOGGING
|
|
1002
|
+
LOG(ERROR)
|
|
1003
|
+
<< "Adjust all delayed mutations based on final mutations generated by animation driver";
|
|
1004
|
+
#endif
|
|
1005
|
+
for (auto const &mutation : mutationsForAnimation) {
|
|
1006
|
+
if (mutation.type == ShadowViewMutation::Type::Remove) {
|
|
1007
|
+
adjustDelayedMutationIndicesForMutation(surfaceId, mutation);
|
|
1008
|
+
}
|
|
1009
|
+
}
|
|
1397
1010
|
|
|
1398
|
-
|
|
1399
|
-
|
|
1400
|
-
|
|
1401
|
-
|
|
1402
|
-
mutation.type == ShadowViewMutation::Create)) {
|
|
1403
|
-
keyFrame.viewPrev = mutation.newChildShadowView;
|
|
1404
|
-
keyFrame.viewEnd = mutation.newChildShadowView;
|
|
1405
|
-
}
|
|
1406
|
-
}
|
|
1407
|
-
keyFramesToAnimate.push_back(keyFrame);
|
|
1408
|
-
continue;
|
|
1409
|
-
}
|
|
1410
|
-
}
|
|
1411
|
-
}
|
|
1011
|
+
mutations.insert(
|
|
1012
|
+
mutations.end(),
|
|
1013
|
+
mutationsForAnimation.begin(),
|
|
1014
|
+
mutationsForAnimation.end());
|
|
1412
1015
|
|
|
1413
|
-
|
|
1414
|
-
|
|
1415
|
-
|
|
1416
|
-
|
|
1417
|
-
|
|
1418
|
-
|
|
1419
|
-
|
|
1420
|
-
|
|
1421
|
-
|
|
1422
|
-
|
|
1423
|
-
|
|
1424
|
-
|
|
1425
|
-
|
|
1016
|
+
// DEBUG ONLY: list existing inflight animations
|
|
1017
|
+
#ifdef LAYOUT_ANIMATION_VERBOSE_LOGGING
|
|
1018
|
+
LOG(ERROR) << "FINISHING DISPLAYING ONGOING inflightAnimations_!";
|
|
1019
|
+
int i = 0;
|
|
1020
|
+
int j = 0;
|
|
1021
|
+
for (auto const &inflightAnimation : inflightAnimations_) {
|
|
1022
|
+
i++;
|
|
1023
|
+
j = 0;
|
|
1024
|
+
if (inflightAnimation.completed) {
|
|
1025
|
+
continue;
|
|
1026
|
+
}
|
|
1027
|
+
for (auto &keyframe : inflightAnimation.keyFrames) {
|
|
1028
|
+
j++;
|
|
1029
|
+
if (keyframe.invalidated) {
|
|
1030
|
+
continue;
|
|
1031
|
+
}
|
|
1032
|
+
for (auto const &finalMutation : keyframe.finalMutationsForKeyFrame) {
|
|
1033
|
+
if (!finalMutation.mutatedViewIsVirtual()) {
|
|
1034
|
+
std::string msg = "Animation " + std::to_string(i) + " keyframe " +
|
|
1035
|
+
std::to_string(j) + ": Final Animation";
|
|
1036
|
+
PrintMutationInstruction(msg, finalMutation);
|
|
1426
1037
|
}
|
|
1427
|
-
|
|
1428
|
-
queueFinalMutationsForCompletedKeyFrame(
|
|
1429
|
-
keyFrame,
|
|
1430
|
-
finalConflictingMutations,
|
|
1431
|
-
true,
|
|
1432
|
-
"KeyFrameManager: Finished Conflicting Keyframe");
|
|
1433
1038
|
}
|
|
1039
|
+
}
|
|
1040
|
+
}
|
|
1041
|
+
LOG(ERROR) << "FINISHING DONE DISPLAYING ONGOING inflightAnimations_!";
|
|
1042
|
+
#endif
|
|
1434
1043
|
|
|
1435
|
-
|
|
1436
|
-
|
|
1437
|
-
|
|
1438
|
-
|
|
1439
|
-
|
|
1440
|
-
|
|
1044
|
+
// Signal to delegate if all animations are complete, or if we were not
|
|
1045
|
+
// animating anything and now some animation exists.
|
|
1046
|
+
if (inflightAnimationsExistInitially && inflightAnimations_.empty()) {
|
|
1047
|
+
std::lock_guard<std::mutex> lock(layoutAnimationStatusDelegateMutex_);
|
|
1048
|
+
if (layoutAnimationStatusDelegate_ != nullptr) {
|
|
1049
|
+
layoutAnimationStatusDelegate_->onAllAnimationsComplete();
|
|
1050
|
+
}
|
|
1051
|
+
} else if (
|
|
1052
|
+
!inflightAnimationsExistInitially && !inflightAnimations_.empty()) {
|
|
1053
|
+
std::lock_guard<std::mutex> lock(layoutAnimationStatusDelegateMutex_);
|
|
1054
|
+
if (layoutAnimationStatusDelegate_ != nullptr) {
|
|
1055
|
+
layoutAnimationStatusDelegate_->onAnimationStarted();
|
|
1056
|
+
}
|
|
1057
|
+
}
|
|
1441
1058
|
|
|
1442
|
-
|
|
1443
|
-
immediateMutations.begin(),
|
|
1444
|
-
immediateMutations.end(),
|
|
1445
|
-
&shouldFirstComeBeforeSecondRemovesOnly);
|
|
1059
|
+
simulateImagePropsMemoryAccess(mutations);
|
|
1446
1060
|
|
|
1447
|
-
|
|
1448
|
-
|
|
1061
|
+
return MountingTransaction{
|
|
1062
|
+
surfaceId, transactionNumber, std::move(mutations), telemetry};
|
|
1063
|
+
}
|
|
1449
1064
|
|
|
1450
|
-
|
|
1451
|
-
|
|
1452
|
-
|
|
1453
|
-
|
|
1454
|
-
// [FinalConflicting], [Delayed] already executed [FinalConflicting] ->
|
|
1455
|
-
// is adjusted based on [Delayed], no dependency on [FinalConflicting],
|
|
1456
|
-
// [FrameDelayed] [Delayed] -> assumes [FinalConflicting],
|
|
1457
|
-
// [ImmediateMutations] not executed yet
|
|
1065
|
+
void LayoutAnimationKeyFrameManager::uiManagerDidConfigureNextLayoutAnimation(
|
|
1066
|
+
LayoutAnimation layoutAnimation) const {
|
|
1067
|
+
currentAnimation_ = butter::optional<LayoutAnimation>{layoutAnimation};
|
|
1068
|
+
}
|
|
1458
1069
|
|
|
1459
|
-
|
|
1460
|
-
|
|
1461
|
-
|
|
1462
|
-
|
|
1463
|
-
|
|
1464
|
-
// is adjusted based on [Delayed], no dependency on [FinalConflicting],
|
|
1465
|
-
// [FrameDelayed] [Delayed] -> adjusted for [FinalConflicting]; assumes
|
|
1466
|
-
// [ImmediateMutations] not executed yet
|
|
1467
|
-
#ifdef LAYOUT_ANIMATION_VERBOSE_LOGGING
|
|
1468
|
-
LOG(ERROR) << "Adjust [Delayed] based on [FinalConflicting]";
|
|
1469
|
-
#endif
|
|
1470
|
-
for (auto &mutation : finalConflictingMutations) {
|
|
1471
|
-
if (mutation.type == ShadowViewMutation::Type::Insert ||
|
|
1472
|
-
mutation.type == ShadowViewMutation::Type::Remove) {
|
|
1473
|
-
adjustDelayedMutationIndicesForMutation(surfaceId, mutation, true);
|
|
1474
|
-
}
|
|
1475
|
-
}
|
|
1070
|
+
void LayoutAnimationKeyFrameManager::setLayoutAnimationStatusDelegate(
|
|
1071
|
+
LayoutAnimationStatusDelegate *delegate) const {
|
|
1072
|
+
std::lock_guard<std::mutex> lock(layoutAnimationStatusDelegateMutex_);
|
|
1073
|
+
layoutAnimationStatusDelegate_ = delegate;
|
|
1074
|
+
}
|
|
1476
1075
|
|
|
1477
|
-
|
|
1478
|
-
|
|
1479
|
-
|
|
1480
|
-
|
|
1481
|
-
// [Delayed]; assumes [FinalConflicting] already executed
|
|
1482
|
-
// [FinalConflicting] -> is adjusted based on [Delayed], no dependency
|
|
1483
|
-
// on [FinalConflicting], [FrameDelayed] [Delayed] -> adjusted for
|
|
1484
|
-
// [FinalConflicting]; assumes [ImmediateExecutions] not executed yet
|
|
1485
|
-
#ifdef LAYOUT_ANIMATION_VERBOSE_LOGGING
|
|
1486
|
-
LOG(ERROR) << "Adjust [FrameDelayed] based on [Delayed]";
|
|
1487
|
-
#endif
|
|
1488
|
-
for (auto &keyframe : inflightAnimations_.back().keyFrames) {
|
|
1489
|
-
for (auto &finalMutation : keyframe.finalMutationsForKeyFrame) {
|
|
1490
|
-
if (finalMutation.type == ShadowViewMutation::Type::Insert ||
|
|
1491
|
-
finalMutation.type == ShadowViewMutation::Type::Remove) {
|
|
1492
|
-
// When adjusting, skip adjusting against last animation - because
|
|
1493
|
-
// all `mutation`s here come from the last animation, so we can't
|
|
1494
|
-
// adjust a batch against itself.
|
|
1495
|
-
adjustImmediateMutationIndicesForDelayedMutations(
|
|
1496
|
-
surfaceId, finalMutation, true);
|
|
1497
|
-
}
|
|
1498
|
-
}
|
|
1499
|
-
}
|
|
1076
|
+
void LayoutAnimationKeyFrameManager::setClockNow(
|
|
1077
|
+
std::function<uint64_t()> now) {
|
|
1078
|
+
now_ = std::move(now);
|
|
1079
|
+
}
|
|
1500
1080
|
|
|
1501
|
-
|
|
1502
|
-
|
|
1503
|
-
|
|
1504
|
-
// assumes [FinalConflicting] already executed [FrameDelayed] ->
|
|
1505
|
-
// adjusted for [Delayed]; assumes [FinalConflicting] already executed
|
|
1506
|
-
// [FinalConflicting] -> is adjusted based on [Delayed], no dependency
|
|
1507
|
-
// on [FinalConflicting], [FrameDelayed] [Delayed] -> adjusted for
|
|
1508
|
-
// [FinalConflicting]; assumes [ImmediateExecutions] not executed yet
|
|
1509
|
-
//
|
|
1510
|
-
// THEN,
|
|
1511
|
-
// Adjust [Delayed] based on [ImmediateExecutions] and
|
|
1512
|
-
// [FinalConflicting] Knowledge Graph: [ImmediateExecutions] -> adjusted
|
|
1513
|
-
// for [FrameDelayed], [Delayed]; assumes [FinalConflicting] already
|
|
1514
|
-
// executed [FrameDelayed] -> adjusted for [Delayed]; assumes
|
|
1515
|
-
// [FinalConflicting] already executed [FinalConflicting] -> is adjusted
|
|
1516
|
-
// based on [Delayed], no dependency on [FinalConflicting],
|
|
1517
|
-
// [FrameDelayed] [Delayed] -> adjusted for [FinalConflicting],
|
|
1518
|
-
// [ImmediateExecutions]
|
|
1519
|
-
//
|
|
1520
|
-
// We do these in the same loop because each immediate execution is
|
|
1521
|
-
// impacted by each delayed mutation, and also can impact each delayed
|
|
1522
|
-
// mutation, and these effects compound.
|
|
1523
|
-
#ifdef LAYOUT_ANIMATION_VERBOSE_LOGGING
|
|
1524
|
-
LOG(ERROR)
|
|
1525
|
-
<< "Adjust each [ImmediateExecution] based on [Delayed] and [Delayed] based on each [ImmediateExecution]";
|
|
1526
|
-
#endif
|
|
1527
|
-
for (auto &mutation : immediateMutations) {
|
|
1528
|
-
// Note: when adjusting [ImmediateExecutions] based on [FrameDelayed],
|
|
1529
|
-
// we need only adjust Inserts. Since inserts are executed
|
|
1530
|
-
// highest-index-first, lower indices being delayed does not impact
|
|
1531
|
-
// the higher-index removals; and conversely, higher indices being
|
|
1532
|
-
// delayed cannot impact lower index removal, regardless of order.
|
|
1533
|
-
if (mutation.type == ShadowViewMutation::Type::Insert ||
|
|
1534
|
-
mutation.type == ShadowViewMutation::Type::Remove) {
|
|
1535
|
-
adjustImmediateMutationIndicesForDelayedMutations(
|
|
1536
|
-
surfaceId,
|
|
1537
|
-
mutation,
|
|
1538
|
-
mutation.type == ShadowViewMutation::Type::Remove);
|
|
1539
|
-
// Here we need to adjust both Delayed and FrameDelayed mutations.
|
|
1540
|
-
// Delayed Removes can be impacted by non-delayed Inserts from the
|
|
1541
|
-
// same frame.
|
|
1542
|
-
adjustDelayedMutationIndicesForMutation(surfaceId, mutation);
|
|
1543
|
-
}
|
|
1544
|
-
}
|
|
1081
|
+
void LayoutAnimationKeyFrameManager::enableSkipInvalidatedKeyFrames() {
|
|
1082
|
+
skipInvalidatedKeyFrames_ = true;
|
|
1083
|
+
}
|
|
1545
1084
|
|
|
1546
|
-
|
|
1547
|
-
|
|
1548
|
-
|
|
1549
|
-
|
|
1550
|
-
|
|
1551
|
-
|
|
1552
|
-
|
|
1553
|
-
|
|
1554
|
-
|
|
1555
|
-
|
|
1556
|
-
|
|
1557
|
-
|
|
1558
|
-
|
|
1559
|
-
|
|
1560
|
-
|
|
1561
|
-
|
|
1562
|
-
|
|
1563
|
-
|
|
1564
|
-
|
|
1565
|
-
|
|
1566
|
-
|
|
1567
|
-
|
|
1568
|
-
|
|
1569
|
-
|
|
1570
|
-
|
|
1571
|
-
|
|
1572
|
-
|
|
1573
|
-
|
|
1574
|
-
|
|
1575
|
-
|
|
1085
|
+
void LayoutAnimationKeyFrameManager::enableCrashOnMissingComponentDescriptor() {
|
|
1086
|
+
crashOnMissingComponentDescriptor_ = true;
|
|
1087
|
+
}
|
|
1088
|
+
|
|
1089
|
+
void LayoutAnimationKeyFrameManager::enableSimulateImagePropsMemoryAccess() {
|
|
1090
|
+
simulateImagePropsMemoryAccess_ = true;
|
|
1091
|
+
}
|
|
1092
|
+
|
|
1093
|
+
#pragma mark - Protected
|
|
1094
|
+
|
|
1095
|
+
bool LayoutAnimationKeyFrameManager::hasComponentDescriptorForShadowView(
|
|
1096
|
+
ShadowView const &shadowView) const {
|
|
1097
|
+
auto hasComponentDescriptor =
|
|
1098
|
+
componentDescriptorRegistry_->hasComponentDescriptorAt(
|
|
1099
|
+
shadowView.componentHandle);
|
|
1100
|
+
|
|
1101
|
+
if (crashOnMissingComponentDescriptor_ && !hasComponentDescriptor) {
|
|
1102
|
+
LOG(FATAL) << "Component descriptor with handle: "
|
|
1103
|
+
<< shadowView.componentHandle
|
|
1104
|
+
<< " doesn't exist. The component name: "
|
|
1105
|
+
<< shadowView.componentName;
|
|
1106
|
+
}
|
|
1107
|
+
|
|
1108
|
+
return hasComponentDescriptor;
|
|
1109
|
+
}
|
|
1110
|
+
|
|
1111
|
+
ComponentDescriptor const &
|
|
1112
|
+
LayoutAnimationKeyFrameManager::getComponentDescriptorForShadowView(
|
|
1113
|
+
ShadowView const &shadowView) const {
|
|
1114
|
+
return componentDescriptorRegistry_->at(shadowView.componentHandle);
|
|
1115
|
+
}
|
|
1116
|
+
|
|
1117
|
+
ShadowView LayoutAnimationKeyFrameManager::createInterpolatedShadowView(
|
|
1118
|
+
Float progress,
|
|
1119
|
+
ShadowView const &startingView,
|
|
1120
|
+
ShadowView const &finalView) const {
|
|
1121
|
+
react_native_assert(startingView.tag > 0);
|
|
1122
|
+
react_native_assert(finalView.tag > 0);
|
|
1123
|
+
if (!hasComponentDescriptorForShadowView(startingView)) {
|
|
1124
|
+
LOG(ERROR) << "No ComponentDescriptor for ShadowView being animated: ["
|
|
1125
|
+
<< startingView.tag << "]";
|
|
1126
|
+
react_native_assert(false);
|
|
1127
|
+
return finalView;
|
|
1128
|
+
}
|
|
1129
|
+
|
|
1130
|
+
ComponentDescriptor const &componentDescriptor =
|
|
1131
|
+
getComponentDescriptorForShadowView(startingView);
|
|
1132
|
+
|
|
1133
|
+
// Base the mutated view on the finalView, so that the following stay
|
|
1134
|
+
// consistent:
|
|
1135
|
+
// - state
|
|
1136
|
+
// - eventEmitter
|
|
1137
|
+
// For now, we do not allow interpolation of state. And we probably never
|
|
1138
|
+
// will, so make sure we always keep the mounting layer consistent with the
|
|
1139
|
+
// "final" state.
|
|
1140
|
+
auto mutatedShadowView = ShadowView(finalView);
|
|
1141
|
+
react_native_assert(mutatedShadowView.tag > 0);
|
|
1142
|
+
|
|
1143
|
+
react_native_assert(startingView.props != nullptr);
|
|
1144
|
+
react_native_assert(finalView.props != nullptr);
|
|
1145
|
+
if (startingView.props == nullptr || finalView.props == nullptr) {
|
|
1146
|
+
return finalView;
|
|
1147
|
+
}
|
|
1148
|
+
|
|
1149
|
+
// Animate opacity or scale/transform
|
|
1150
|
+
PropsParserContext propsParserContext{
|
|
1151
|
+
finalView.surfaceId, *contextContainer_};
|
|
1152
|
+
mutatedShadowView.props = componentDescriptor.interpolateProps(
|
|
1153
|
+
propsParserContext, progress, startingView.props, finalView.props);
|
|
1154
|
+
react_native_assert(mutatedShadowView.props != nullptr);
|
|
1155
|
+
if (mutatedShadowView.props == nullptr) {
|
|
1156
|
+
return finalView;
|
|
1157
|
+
}
|
|
1158
|
+
|
|
1159
|
+
// Interpolate LayoutMetrics
|
|
1160
|
+
LayoutMetrics const &finalLayoutMetrics = finalView.layoutMetrics;
|
|
1161
|
+
LayoutMetrics const &baselineLayoutMetrics = startingView.layoutMetrics;
|
|
1162
|
+
LayoutMetrics interpolatedLayoutMetrics = finalLayoutMetrics;
|
|
1163
|
+
interpolatedLayoutMetrics.frame.origin.x = interpolateFloats(
|
|
1164
|
+
progress,
|
|
1165
|
+
baselineLayoutMetrics.frame.origin.x,
|
|
1166
|
+
finalLayoutMetrics.frame.origin.x);
|
|
1167
|
+
interpolatedLayoutMetrics.frame.origin.y = interpolateFloats(
|
|
1168
|
+
progress,
|
|
1169
|
+
baselineLayoutMetrics.frame.origin.y,
|
|
1170
|
+
finalLayoutMetrics.frame.origin.y);
|
|
1171
|
+
interpolatedLayoutMetrics.frame.size.width = interpolateFloats(
|
|
1172
|
+
progress,
|
|
1173
|
+
baselineLayoutMetrics.frame.size.width,
|
|
1174
|
+
finalLayoutMetrics.frame.size.width);
|
|
1175
|
+
interpolatedLayoutMetrics.frame.size.height = interpolateFloats(
|
|
1176
|
+
progress,
|
|
1177
|
+
baselineLayoutMetrics.frame.size.height,
|
|
1178
|
+
finalLayoutMetrics.frame.size.height);
|
|
1179
|
+
mutatedShadowView.layoutMetrics = interpolatedLayoutMetrics;
|
|
1180
|
+
|
|
1181
|
+
return mutatedShadowView;
|
|
1182
|
+
}
|
|
1183
|
+
|
|
1184
|
+
void LayoutAnimationKeyFrameManager::callCallback(
|
|
1185
|
+
LayoutAnimationCallbackWrapper const &callback) const {
|
|
1186
|
+
runtimeExecutor_(
|
|
1187
|
+
[callback](jsi::Runtime &runtime) { callback.call(runtime); });
|
|
1188
|
+
}
|
|
1189
|
+
|
|
1190
|
+
void LayoutAnimationKeyFrameManager::queueFinalMutationsForCompletedKeyFrame(
|
|
1191
|
+
AnimationKeyFrame const &keyframe,
|
|
1192
|
+
ShadowViewMutation::List &mutationsList,
|
|
1193
|
+
bool interrupted,
|
|
1194
|
+
const std::string &logPrefix) const {
|
|
1195
|
+
if (skipInvalidatedKeyFrames_ && keyframe.invalidated) {
|
|
1196
|
+
return;
|
|
1197
|
+
}
|
|
1198
|
+
if (keyframe.finalMutationsForKeyFrame.size() > 0) {
|
|
1199
|
+
// TODO: modularize this segment, it is repeated 2x in KeyFrameManager
|
|
1200
|
+
// as well.
|
|
1201
|
+
ShadowView prev = keyframe.viewPrev;
|
|
1202
|
+
for (auto const &finalMutation : keyframe.finalMutationsForKeyFrame) {
|
|
1203
|
+
PrintMutationInstruction(
|
|
1204
|
+
logPrefix + ": Queuing up Final Mutation:", finalMutation);
|
|
1205
|
+
// Copy so that if something else mutates the inflight animations,
|
|
1206
|
+
// it won't change this mutation after this point.
|
|
1207
|
+
switch (finalMutation.type) {
|
|
1208
|
+
// For CREATE/INSERT this will contain CREATE, INSERT in that order.
|
|
1209
|
+
// For REMOVE/DELETE, same.
|
|
1210
|
+
case ShadowViewMutation::Type::Create:
|
|
1211
|
+
mutationsList.push_back(ShadowViewMutation::CreateMutation(
|
|
1212
|
+
finalMutation.newChildShadowView));
|
|
1213
|
+
break;
|
|
1214
|
+
case ShadowViewMutation::Type::Delete:
|
|
1215
|
+
mutationsList.push_back(ShadowViewMutation::DeleteMutation(prev));
|
|
1216
|
+
break;
|
|
1217
|
+
case ShadowViewMutation::Type::Insert:
|
|
1218
|
+
mutationsList.push_back(ShadowViewMutation::InsertMutation(
|
|
1219
|
+
finalMutation.parentShadowView,
|
|
1220
|
+
finalMutation.newChildShadowView,
|
|
1221
|
+
finalMutation.index));
|
|
1222
|
+
break;
|
|
1223
|
+
case ShadowViewMutation::Type::Remove:
|
|
1224
|
+
mutationsList.push_back(ShadowViewMutation::RemoveMutation(
|
|
1225
|
+
finalMutation.parentShadowView, prev, finalMutation.index));
|
|
1226
|
+
break;
|
|
1227
|
+
case ShadowViewMutation::Type::Update:
|
|
1228
|
+
mutationsList.push_back(ShadowViewMutation::UpdateMutation(
|
|
1229
|
+
prev, finalMutation.newChildShadowView));
|
|
1230
|
+
break;
|
|
1576
1231
|
}
|
|
1232
|
+
if (finalMutation.newChildShadowView.tag > 0) {
|
|
1233
|
+
prev = finalMutation.newChildShadowView;
|
|
1234
|
+
}
|
|
1235
|
+
}
|
|
1236
|
+
} else {
|
|
1237
|
+
// If there's no final mutation associated, create a mutation that
|
|
1238
|
+
// corresponds to the animation being 100% complete. This is
|
|
1239
|
+
// important for, for example, INSERT mutations being animated from
|
|
1240
|
+
// opacity 0 to 1. If the animation is interrupted we must force the
|
|
1241
|
+
// View to be at opacity 1. For Android - since it passes along only
|
|
1242
|
+
// deltas, not an entire bag of props - generate an "animation"
|
|
1243
|
+
// frame corresponding to a final update for this view. Only then,
|
|
1244
|
+
// generate an update that will cause the ShadowTree to be
|
|
1245
|
+
// consistent with the Mounting layer by passing viewEnd,
|
|
1246
|
+
// unmodified, to the mounting layer. This helps with, for example,
|
|
1247
|
+
// opacity animations.
|
|
1248
|
+
// This is necessary for INSERT (create) and UPDATE (update) mutations, but
|
|
1249
|
+
// not REMOVE/DELETE mutations ("delete" animations).
|
|
1250
|
+
if (interrupted) {
|
|
1251
|
+
auto mutatedShadowView =
|
|
1252
|
+
createInterpolatedShadowView(1, keyframe.viewStart, keyframe.viewEnd);
|
|
1253
|
+
auto generatedPenultimateMutation = ShadowViewMutation::UpdateMutation(
|
|
1254
|
+
keyframe.viewPrev, mutatedShadowView);
|
|
1255
|
+
react_native_assert(
|
|
1256
|
+
generatedPenultimateMutation.oldChildShadowView.tag > 0);
|
|
1257
|
+
react_native_assert(
|
|
1258
|
+
generatedPenultimateMutation.newChildShadowView.tag > 0);
|
|
1259
|
+
PrintMutationInstruction(
|
|
1260
|
+
"Queueing up penultimate mutation instruction - synthetic",
|
|
1261
|
+
generatedPenultimateMutation);
|
|
1262
|
+
mutationsList.push_back(generatedPenultimateMutation);
|
|
1263
|
+
|
|
1264
|
+
auto generatedMutation = ShadowViewMutation::UpdateMutation(
|
|
1265
|
+
mutatedShadowView, keyframe.viewEnd);
|
|
1266
|
+
react_native_assert(generatedMutation.oldChildShadowView.tag > 0);
|
|
1267
|
+
react_native_assert(generatedMutation.newChildShadowView.tag > 0);
|
|
1268
|
+
PrintMutationInstruction(
|
|
1269
|
+
"Queueing up final mutation instruction - synthetic",
|
|
1270
|
+
generatedMutation);
|
|
1271
|
+
mutationsList.push_back(generatedMutation);
|
|
1272
|
+
} else {
|
|
1273
|
+
auto mutation = ShadowViewMutation::UpdateMutation(
|
|
1274
|
+
keyframe.viewPrev, keyframe.viewEnd);
|
|
1275
|
+
PrintMutationInstruction(
|
|
1276
|
+
logPrefix +
|
|
1277
|
+
"Animation Complete: Queuing up Final Synthetic Mutation:",
|
|
1278
|
+
mutation);
|
|
1279
|
+
react_native_assert(mutation.oldChildShadowView.tag > 0);
|
|
1280
|
+
react_native_assert(mutation.newChildShadowView.tag > 0);
|
|
1281
|
+
mutationsList.push_back(std::move(mutation));
|
|
1282
|
+
}
|
|
1283
|
+
}
|
|
1284
|
+
}
|
|
1285
|
+
|
|
1286
|
+
#pragma mark - Private
|
|
1287
|
+
|
|
1288
|
+
void LayoutAnimationKeyFrameManager::
|
|
1289
|
+
adjustImmediateMutationIndicesForDelayedMutations(
|
|
1290
|
+
SurfaceId surfaceId,
|
|
1291
|
+
ShadowViewMutation &mutation,
|
|
1292
|
+
bool skipLastAnimation,
|
|
1293
|
+
bool lastAnimationOnly) const {
|
|
1294
|
+
bool isRemoveMutation = mutation.type == ShadowViewMutation::Type::Remove;
|
|
1295
|
+
react_native_assert(
|
|
1296
|
+
isRemoveMutation || mutation.type == ShadowViewMutation::Type::Insert);
|
|
1297
|
+
|
|
1298
|
+
// TODO: turn all of this into a lambda and share code?
|
|
1299
|
+
if (mutation.mutatedViewIsVirtual()) {
|
|
1300
|
+
PrintMutationInstruction(
|
|
1301
|
+
"[IndexAdjustment] Not calling adjustImmediateMutationIndicesForDelayedMutations, is virtual, for:",
|
|
1302
|
+
mutation);
|
|
1303
|
+
return;
|
|
1304
|
+
}
|
|
1305
|
+
|
|
1306
|
+
PrintMutationInstruction(
|
|
1307
|
+
"[IndexAdjustment] Calling adjustImmediateMutationIndicesForDelayedMutations for:",
|
|
1308
|
+
mutation);
|
|
1309
|
+
|
|
1310
|
+
// First, collect all final mutations that could impact this immediate
|
|
1311
|
+
// mutation.
|
|
1312
|
+
std::vector<ShadowViewMutation const *> candidateMutations{};
|
|
1313
|
+
|
|
1314
|
+
for (auto inflightAnimationIt =
|
|
1315
|
+
inflightAnimations_.rbegin() + (skipLastAnimation ? 1 : 0);
|
|
1316
|
+
inflightAnimationIt != inflightAnimations_.rend();
|
|
1317
|
+
inflightAnimationIt++) {
|
|
1318
|
+
auto &inflightAnimation = *inflightAnimationIt;
|
|
1319
|
+
if (inflightAnimation.surfaceId != surfaceId) {
|
|
1320
|
+
continue;
|
|
1321
|
+
}
|
|
1322
|
+
if (inflightAnimation.completed) {
|
|
1323
|
+
continue;
|
|
1324
|
+
}
|
|
1577
1325
|
|
|
1578
|
-
|
|
1579
|
-
|
|
1580
|
-
|
|
1581
|
-
|
|
1582
|
-
finalMutationsForConflictingAnimations.end(),
|
|
1583
|
-
&shouldFirstComeBeforeSecondMutation);
|
|
1326
|
+
for (auto const &animatedKeyFrame : inflightAnimation.keyFrames) {
|
|
1327
|
+
if (animatedKeyFrame.invalidated) {
|
|
1328
|
+
continue;
|
|
1329
|
+
}
|
|
1584
1330
|
|
|
1585
|
-
|
|
1586
|
-
|
|
1587
|
-
|
|
1588
|
-
|
|
1589
|
-
for (auto const &mutation : finalMutationsForConflictingAnimations) {
|
|
1590
|
-
if (mutation.type == ShadowViewMutation::Type::Remove ||
|
|
1591
|
-
mutation.type == ShadowViewMutation::Type::Insert) {
|
|
1592
|
-
adjustDelayedMutationIndicesForMutation(surfaceId, mutation);
|
|
1593
|
-
}
|
|
1331
|
+
// Detect if they're in the same view hierarchy, but not equivalent
|
|
1332
|
+
// We've already detected direct conflicts and removed them.
|
|
1333
|
+
if (animatedKeyFrame.parentView.tag != mutation.parentShadowView.tag) {
|
|
1334
|
+
continue;
|
|
1594
1335
|
}
|
|
1595
1336
|
|
|
1596
|
-
|
|
1597
|
-
|
|
1598
|
-
|
|
1599
|
-
|
|
1600
|
-
|
|
1601
|
-
|
|
1602
|
-
|
|
1603
|
-
|
|
1604
|
-
|
|
1605
|
-
|
|
1606
|
-
|
|
1607
|
-
|
|
1608
|
-
surfaceId, mutation);
|
|
1609
|
-
adjustDelayedMutationIndicesForMutation(surfaceId, mutation);
|
|
1337
|
+
for (auto const &delayedMutation :
|
|
1338
|
+
animatedKeyFrame.finalMutationsForKeyFrame) {
|
|
1339
|
+
if (delayedMutation.type != ShadowViewMutation::Type::Remove) {
|
|
1340
|
+
continue;
|
|
1341
|
+
}
|
|
1342
|
+
if (delayedMutation.mutatedViewIsVirtual()) {
|
|
1343
|
+
continue;
|
|
1344
|
+
}
|
|
1345
|
+
if (delayedMutation.oldChildShadowView.tag ==
|
|
1346
|
+
(isRemoveMutation ? mutation.oldChildShadowView.tag
|
|
1347
|
+
: mutation.newChildShadowView.tag)) {
|
|
1348
|
+
continue;
|
|
1610
1349
|
}
|
|
1350
|
+
|
|
1351
|
+
PrintMutationInstructionRelative(
|
|
1352
|
+
"[IndexAdjustment] adjustImmediateMutationIndicesForDelayedMutations CANDIDATE for:",
|
|
1353
|
+
mutation,
|
|
1354
|
+
delayedMutation);
|
|
1355
|
+
candidateMutations.push_back(&delayedMutation);
|
|
1611
1356
|
}
|
|
1357
|
+
}
|
|
1612
1358
|
|
|
1613
|
-
|
|
1614
|
-
|
|
1615
|
-
finalMutationsForConflictingAnimations.insert(
|
|
1616
|
-
finalMutationsForConflictingAnimations.end(),
|
|
1617
|
-
mutations.begin(),
|
|
1618
|
-
mutations.end());
|
|
1619
|
-
mutations = finalMutationsForConflictingAnimations;
|
|
1359
|
+
if (lastAnimationOnly) {
|
|
1360
|
+
break;
|
|
1620
1361
|
}
|
|
1621
|
-
}
|
|
1362
|
+
}
|
|
1622
1363
|
|
|
1623
|
-
//
|
|
1624
|
-
// we
|
|
1625
|
-
//
|
|
1626
|
-
|
|
1627
|
-
|
|
1628
|
-
|
|
1629
|
-
|
|
1630
|
-
|
|
1364
|
+
// While the mutation keeps being affected, keep checking. We use the vector
|
|
1365
|
+
// so we only perform one adjustment per delayed mutation. See comments at
|
|
1366
|
+
// bottom of adjustDelayedMutationIndicesForMutation for further explanation.
|
|
1367
|
+
bool changed = true;
|
|
1368
|
+
int adjustedDelta = 0;
|
|
1369
|
+
while (changed) {
|
|
1370
|
+
changed = false;
|
|
1371
|
+
candidateMutations.erase(
|
|
1372
|
+
std::remove_if(
|
|
1373
|
+
candidateMutations.begin(),
|
|
1374
|
+
candidateMutations.end(),
|
|
1375
|
+
[&changed, &mutation, &adjustedDelta, &isRemoveMutation](
|
|
1376
|
+
ShadowViewMutation const *candidateMutation) {
|
|
1377
|
+
bool indexConflicts =
|
|
1378
|
+
(candidateMutation->index < mutation.index ||
|
|
1379
|
+
(isRemoveMutation &&
|
|
1380
|
+
candidateMutation->index == mutation.index));
|
|
1381
|
+
if (indexConflicts) {
|
|
1382
|
+
mutation.index++;
|
|
1383
|
+
adjustedDelta++;
|
|
1384
|
+
changed = true;
|
|
1385
|
+
PrintMutationInstructionRelative(
|
|
1386
|
+
"[IndexAdjustment] adjustImmediateMutationIndicesForDelayedMutations: Adjusting mutation UPWARD",
|
|
1387
|
+
mutation,
|
|
1388
|
+
*candidateMutation);
|
|
1389
|
+
return true;
|
|
1390
|
+
}
|
|
1391
|
+
return false;
|
|
1392
|
+
}),
|
|
1393
|
+
candidateMutations.end());
|
|
1394
|
+
}
|
|
1395
|
+
}
|
|
1631
1396
|
|
|
1632
|
-
|
|
1633
|
-
|
|
1634
|
-
|
|
1635
|
-
|
|
1636
|
-
|
|
1637
|
-
|
|
1638
|
-
|
|
1639
|
-
|
|
1640
|
-
|
|
1397
|
+
void LayoutAnimationKeyFrameManager::adjustDelayedMutationIndicesForMutation(
|
|
1398
|
+
SurfaceId surfaceId,
|
|
1399
|
+
ShadowViewMutation const &mutation,
|
|
1400
|
+
bool skipLastAnimation) const {
|
|
1401
|
+
bool isRemoveMutation = mutation.type == ShadowViewMutation::Type::Remove;
|
|
1402
|
+
bool isInsertMutation = mutation.type == ShadowViewMutation::Type::Insert;
|
|
1403
|
+
auto tag = isRemoveMutation ? mutation.oldChildShadowView.tag
|
|
1404
|
+
: mutation.newChildShadowView.tag;
|
|
1405
|
+
react_native_assert(isRemoveMutation || isInsertMutation);
|
|
1406
|
+
|
|
1407
|
+
if (mutation.mutatedViewIsVirtual()) {
|
|
1408
|
+
PrintMutationInstruction(
|
|
1409
|
+
"[IndexAdjustment] Not calling adjustDelayedMutationIndicesForMutation, is virtual, for:",
|
|
1410
|
+
mutation);
|
|
1411
|
+
return;
|
|
1641
1412
|
}
|
|
1642
1413
|
|
|
1643
|
-
mutations
|
|
1644
|
-
|
|
1645
|
-
|
|
1646
|
-
mutationsForAnimation.end());
|
|
1414
|
+
// First, collect all final mutations that could impact this immediate
|
|
1415
|
+
// mutation.
|
|
1416
|
+
std::vector<ShadowViewMutation *> candidateMutations{};
|
|
1647
1417
|
|
|
1648
|
-
|
|
1649
|
-
|
|
1650
|
-
|
|
1651
|
-
|
|
1652
|
-
|
|
1653
|
-
|
|
1654
|
-
|
|
1655
|
-
|
|
1418
|
+
for (auto inflightAnimationIt =
|
|
1419
|
+
inflightAnimations_.rbegin() + (skipLastAnimation ? 1 : 0);
|
|
1420
|
+
inflightAnimationIt != inflightAnimations_.rend();
|
|
1421
|
+
inflightAnimationIt++) {
|
|
1422
|
+
auto &inflightAnimation = *inflightAnimationIt;
|
|
1423
|
+
|
|
1424
|
+
if (inflightAnimation.surfaceId != surfaceId) {
|
|
1425
|
+
continue;
|
|
1426
|
+
}
|
|
1656
1427
|
if (inflightAnimation.completed) {
|
|
1657
1428
|
continue;
|
|
1658
1429
|
}
|
|
1659
|
-
|
|
1660
|
-
|
|
1661
|
-
if (
|
|
1430
|
+
|
|
1431
|
+
for (auto &animatedKeyFrame : inflightAnimation.keyFrames) {
|
|
1432
|
+
if (animatedKeyFrame.invalidated) {
|
|
1433
|
+
continue;
|
|
1434
|
+
}
|
|
1435
|
+
|
|
1436
|
+
// Detect if they're in the same view hierarchy, but not equivalent
|
|
1437
|
+
// (We've already detected direct conflicts and handled them above)
|
|
1438
|
+
if (animatedKeyFrame.parentView.tag != mutation.parentShadowView.tag) {
|
|
1439
|
+
continue;
|
|
1440
|
+
}
|
|
1441
|
+
|
|
1442
|
+
for (auto &finalAnimationMutation :
|
|
1443
|
+
animatedKeyFrame.finalMutationsForKeyFrame) {
|
|
1444
|
+
if (finalAnimationMutation.oldChildShadowView.tag == tag) {
|
|
1445
|
+
continue;
|
|
1446
|
+
}
|
|
1447
|
+
|
|
1448
|
+
if (finalAnimationMutation.type != ShadowViewMutation::Type::Remove) {
|
|
1449
|
+
continue;
|
|
1450
|
+
}
|
|
1451
|
+
if (finalAnimationMutation.mutatedViewIsVirtual()) {
|
|
1452
|
+
continue;
|
|
1453
|
+
}
|
|
1454
|
+
|
|
1455
|
+
PrintMutationInstructionRelative(
|
|
1456
|
+
"[IndexAdjustment] adjustDelayedMutationIndicesForMutation: CANDIDATE:",
|
|
1457
|
+
mutation,
|
|
1458
|
+
finalAnimationMutation);
|
|
1459
|
+
candidateMutations.push_back(&finalAnimationMutation);
|
|
1460
|
+
}
|
|
1461
|
+
}
|
|
1462
|
+
}
|
|
1463
|
+
|
|
1464
|
+
// Because the finalAnimations are not sorted in any way, it is possible to
|
|
1465
|
+
// have some sequence like:
|
|
1466
|
+
// * DELAYED REMOVE 10 from {TAG}
|
|
1467
|
+
// * DELAYED REMOVE 9 from {TAG}
|
|
1468
|
+
// * ...
|
|
1469
|
+
// * DELAYED REMOVE 5 from {TAG}
|
|
1470
|
+
// with mutation: INSERT 6/REMOVE 6. This would cause the first few mutations
|
|
1471
|
+
// to *not* be adjusted, even though they would be impacted by mutation or
|
|
1472
|
+
// vice-versa after later adjustments are applied. Therefore, we just keep
|
|
1473
|
+
// recursing while there are any changes. This isn't great, but is good enough
|
|
1474
|
+
// for now until we change these data-structures.
|
|
1475
|
+
bool changed = true;
|
|
1476
|
+
while (changed) {
|
|
1477
|
+
changed = false;
|
|
1478
|
+
candidateMutations.erase(
|
|
1479
|
+
std::remove_if(
|
|
1480
|
+
candidateMutations.begin(),
|
|
1481
|
+
candidateMutations.end(),
|
|
1482
|
+
[&mutation, &isRemoveMutation, &isInsertMutation, &changed](
|
|
1483
|
+
ShadowViewMutation *candidateMutation) {
|
|
1484
|
+
if (isRemoveMutation &&
|
|
1485
|
+
mutation.index <= candidateMutation->index) {
|
|
1486
|
+
candidateMutation->index--;
|
|
1487
|
+
changed = true;
|
|
1488
|
+
PrintMutationInstructionRelative(
|
|
1489
|
+
"[IndexAdjustment] adjustDelayedMutationIndicesForMutation: Adjusting mutation DOWNWARD",
|
|
1490
|
+
mutation,
|
|
1491
|
+
*candidateMutation);
|
|
1492
|
+
return true;
|
|
1493
|
+
} else if (
|
|
1494
|
+
isInsertMutation &&
|
|
1495
|
+
mutation.index <= candidateMutation->index) {
|
|
1496
|
+
candidateMutation->index++;
|
|
1497
|
+
changed = true;
|
|
1498
|
+
PrintMutationInstructionRelative(
|
|
1499
|
+
"[IndexAdjustment] adjustDelayedMutationIndicesForMutation: Adjusting mutation UPWARD",
|
|
1500
|
+
mutation,
|
|
1501
|
+
*candidateMutation);
|
|
1502
|
+
return true;
|
|
1503
|
+
}
|
|
1504
|
+
return false;
|
|
1505
|
+
}),
|
|
1506
|
+
candidateMutations.end());
|
|
1507
|
+
}
|
|
1508
|
+
}
|
|
1509
|
+
|
|
1510
|
+
void LayoutAnimationKeyFrameManager::getAndEraseConflictingAnimations(
|
|
1511
|
+
SurfaceId surfaceId,
|
|
1512
|
+
ShadowViewMutationList const &mutations,
|
|
1513
|
+
std::vector<AnimationKeyFrame> &conflictingAnimations) const {
|
|
1514
|
+
ShadowViewMutationList localConflictingMutations{};
|
|
1515
|
+
for (auto const &mutation : mutations) {
|
|
1516
|
+
bool mutationIsCreateOrDelete =
|
|
1517
|
+
mutation.type == ShadowViewMutation::Type::Create ||
|
|
1518
|
+
mutation.type == ShadowViewMutation::Type::Delete;
|
|
1519
|
+
auto const &baselineShadowView =
|
|
1520
|
+
(mutation.type == ShadowViewMutation::Type::Insert ||
|
|
1521
|
+
mutation.type == ShadowViewMutation::Type::Create)
|
|
1522
|
+
? mutation.newChildShadowView
|
|
1523
|
+
: mutation.oldChildShadowView;
|
|
1524
|
+
auto baselineTag = baselineShadowView.tag;
|
|
1525
|
+
|
|
1526
|
+
for (auto &inflightAnimation : inflightAnimations_) {
|
|
1527
|
+
if (inflightAnimation.surfaceId != surfaceId) {
|
|
1662
1528
|
continue;
|
|
1663
1529
|
}
|
|
1664
|
-
|
|
1665
|
-
|
|
1666
|
-
std::string msg = "Animation " + std::to_string(i) + " keyframe " +
|
|
1667
|
-
std::to_string(j) + ": Final Animation";
|
|
1668
|
-
PrintMutationInstruction(msg, finalMutation);
|
|
1669
|
-
}
|
|
1530
|
+
if (inflightAnimation.completed) {
|
|
1531
|
+
continue;
|
|
1670
1532
|
}
|
|
1671
|
-
}
|
|
1672
|
-
}
|
|
1673
|
-
LOG(ERROR) << "FINISHING DONE DISPLAYING ONGOING inflightAnimations_!";
|
|
1674
|
-
#endif
|
|
1675
|
-
|
|
1676
|
-
// Signal to delegate if all animations are complete, or if we were not
|
|
1677
|
-
// animating anything and now some animation exists.
|
|
1678
|
-
if (inflightAnimationsExistInitially && inflightAnimations_.empty()) {
|
|
1679
|
-
std::lock_guard<std::mutex> lock(layoutAnimationStatusDelegateMutex_);
|
|
1680
|
-
if (layoutAnimationStatusDelegate_ != nullptr) {
|
|
1681
|
-
layoutAnimationStatusDelegate_->onAllAnimationsComplete();
|
|
1682
|
-
}
|
|
1683
|
-
} else if (
|
|
1684
|
-
!inflightAnimationsExistInitially && !inflightAnimations_.empty()) {
|
|
1685
|
-
std::lock_guard<std::mutex> lock(layoutAnimationStatusDelegateMutex_);
|
|
1686
|
-
if (layoutAnimationStatusDelegate_ != nullptr) {
|
|
1687
|
-
layoutAnimationStatusDelegate_->onAnimationStarted();
|
|
1688
|
-
}
|
|
1689
|
-
}
|
|
1690
|
-
|
|
1691
|
-
return MountingTransaction{
|
|
1692
|
-
surfaceId, transactionNumber, std::move(mutations), telemetry};
|
|
1693
|
-
}
|
|
1694
1533
|
|
|
1695
|
-
|
|
1696
|
-
|
|
1697
|
-
|
|
1698
|
-
shadowView.componentHandle);
|
|
1699
|
-
}
|
|
1534
|
+
for (auto it = inflightAnimation.keyFrames.begin();
|
|
1535
|
+
it != inflightAnimation.keyFrames.end();) {
|
|
1536
|
+
auto &animatedKeyFrame = *it;
|
|
1700
1537
|
|
|
1701
|
-
|
|
1702
|
-
|
|
1703
|
-
|
|
1704
|
-
return componentDescriptorRegistry_->at(shadowView.componentHandle);
|
|
1705
|
-
}
|
|
1538
|
+
if (animatedKeyFrame.invalidated) {
|
|
1539
|
+
continue;
|
|
1540
|
+
}
|
|
1706
1541
|
|
|
1707
|
-
|
|
1708
|
-
|
|
1709
|
-
|
|
1710
|
-
|
|
1542
|
+
// A conflict is when either: the animated node itself is mutated
|
|
1543
|
+
// directly; or, the parent of the node is created or deleted. In cases
|
|
1544
|
+
// of reparenting - say, the parent is deleted but the node was moved to
|
|
1545
|
+
// a different parent first - the reparenting (remove/insert) conflict
|
|
1546
|
+
// will be detected before we process the parent DELETE.
|
|
1547
|
+
// Parent deletion is important because deleting a parent recursively
|
|
1548
|
+
// deletes all children. If we previously deferred deletion of a child,
|
|
1549
|
+
// we need to force deletion/removal to happen immediately.
|
|
1550
|
+
bool conflicting = animatedKeyFrame.tag == baselineTag ||
|
|
1551
|
+
(mutationIsCreateOrDelete &&
|
|
1552
|
+
animatedKeyFrame.parentView.tag == baselineTag &&
|
|
1553
|
+
animatedKeyFrame.parentView.tag != 0);
|
|
1711
1554
|
|
|
1712
|
-
|
|
1713
|
-
|
|
1714
|
-
|
|
1715
|
-
|
|
1716
|
-
|
|
1717
|
-
* @param layoutAnimation
|
|
1718
|
-
* @param animatedMutation
|
|
1719
|
-
* @return
|
|
1720
|
-
*/
|
|
1721
|
-
ShadowView LayoutAnimationKeyFrameManager::createInterpolatedShadowView(
|
|
1722
|
-
double progress,
|
|
1723
|
-
ShadowView startingView,
|
|
1724
|
-
ShadowView finalView) const {
|
|
1725
|
-
react_native_assert(startingView.tag > 0);
|
|
1726
|
-
react_native_assert(finalView.tag > 0);
|
|
1727
|
-
if (!hasComponentDescriptorForShadowView(startingView)) {
|
|
1728
|
-
LOG(ERROR) << "No ComponentDescriptor for ShadowView being animated: ["
|
|
1729
|
-
<< startingView.tag << "]";
|
|
1730
|
-
react_native_assert(false);
|
|
1731
|
-
return finalView;
|
|
1732
|
-
}
|
|
1555
|
+
// Conflicting animation detected: if we're mutating a tag under
|
|
1556
|
+
// animation, or deleting the parent of a tag under animation, or
|
|
1557
|
+
// reparenting.
|
|
1558
|
+
if (conflicting) {
|
|
1559
|
+
animatedKeyFrame.invalidated = true;
|
|
1733
1560
|
|
|
1734
|
-
|
|
1735
|
-
|
|
1736
|
-
|
|
1737
|
-
|
|
1738
|
-
|
|
1739
|
-
|
|
1740
|
-
|
|
1741
|
-
|
|
1561
|
+
// We construct a list of all conflicting animations, whether or not
|
|
1562
|
+
// they have a "final mutation" to execute. This is important with,
|
|
1563
|
+
// for example, "insert" mutations where the final update needs to set
|
|
1564
|
+
// opacity to "1", even if there's no final ShadowNode update.
|
|
1565
|
+
// TODO: don't animate virtual views in the first place?
|
|
1566
|
+
bool isVirtual = false;
|
|
1567
|
+
for (const auto &finalMutationForKeyFrame :
|
|
1568
|
+
animatedKeyFrame.finalMutationsForKeyFrame) {
|
|
1569
|
+
isVirtual =
|
|
1570
|
+
isVirtual || finalMutationForKeyFrame.mutatedViewIsVirtual();
|
|
1742
1571
|
|
|
1743
|
-
|
|
1744
|
-
|
|
1572
|
+
#ifdef LAYOUT_ANIMATION_VERBOSE_LOGGING
|
|
1573
|
+
PrintMutationInstructionRelative(
|
|
1574
|
+
"Found mutation that conflicts with existing in-flight animation:",
|
|
1575
|
+
mutation,
|
|
1576
|
+
finalMutationForKeyFrame);
|
|
1577
|
+
#endif
|
|
1578
|
+
}
|
|
1745
1579
|
|
|
1746
|
-
|
|
1747
|
-
|
|
1748
|
-
|
|
1749
|
-
|
|
1750
|
-
|
|
1751
|
-
|
|
1752
|
-
|
|
1753
|
-
|
|
1754
|
-
|
|
1580
|
+
conflictingAnimations.push_back(animatedKeyFrame);
|
|
1581
|
+
for (const auto &finalMutationForKeyFrame :
|
|
1582
|
+
animatedKeyFrame.finalMutationsForKeyFrame) {
|
|
1583
|
+
if (!isVirtual ||
|
|
1584
|
+
finalMutationForKeyFrame.type ==
|
|
1585
|
+
ShadowViewMutation::Type::Delete) {
|
|
1586
|
+
localConflictingMutations.push_back(finalMutationForKeyFrame);
|
|
1587
|
+
}
|
|
1588
|
+
}
|
|
1755
1589
|
|
|
1756
|
-
|
|
1757
|
-
|
|
1758
|
-
|
|
1759
|
-
|
|
1590
|
+
// Delete from existing animation
|
|
1591
|
+
it = inflightAnimation.keyFrames.erase(it);
|
|
1592
|
+
} else {
|
|
1593
|
+
it++;
|
|
1594
|
+
}
|
|
1595
|
+
}
|
|
1596
|
+
}
|
|
1760
1597
|
}
|
|
1761
1598
|
|
|
1762
|
-
//
|
|
1763
|
-
|
|
1764
|
-
|
|
1765
|
-
|
|
1766
|
-
|
|
1767
|
-
return finalView;
|
|
1599
|
+
// Recurse, in case conflicting mutations conflict with other existing
|
|
1600
|
+
// animations
|
|
1601
|
+
if (!localConflictingMutations.empty()) {
|
|
1602
|
+
getAndEraseConflictingAnimations(
|
|
1603
|
+
surfaceId, localConflictingMutations, conflictingAnimations);
|
|
1768
1604
|
}
|
|
1769
|
-
|
|
1770
|
-
// Interpolate LayoutMetrics
|
|
1771
|
-
LayoutMetrics const &finalLayoutMetrics = finalView.layoutMetrics;
|
|
1772
|
-
LayoutMetrics const &baselineLayoutMetrics = startingView.layoutMetrics;
|
|
1773
|
-
LayoutMetrics interpolatedLayoutMetrics = finalLayoutMetrics;
|
|
1774
|
-
interpolatedLayoutMetrics.frame.origin.x = interpolateFloats(
|
|
1775
|
-
progress,
|
|
1776
|
-
baselineLayoutMetrics.frame.origin.x,
|
|
1777
|
-
finalLayoutMetrics.frame.origin.x);
|
|
1778
|
-
interpolatedLayoutMetrics.frame.origin.y = interpolateFloats(
|
|
1779
|
-
progress,
|
|
1780
|
-
baselineLayoutMetrics.frame.origin.y,
|
|
1781
|
-
finalLayoutMetrics.frame.origin.y);
|
|
1782
|
-
interpolatedLayoutMetrics.frame.size.width = interpolateFloats(
|
|
1783
|
-
progress,
|
|
1784
|
-
baselineLayoutMetrics.frame.size.width,
|
|
1785
|
-
finalLayoutMetrics.frame.size.width);
|
|
1786
|
-
interpolatedLayoutMetrics.frame.size.height = interpolateFloats(
|
|
1787
|
-
progress,
|
|
1788
|
-
baselineLayoutMetrics.frame.size.height,
|
|
1789
|
-
finalLayoutMetrics.frame.size.height);
|
|
1790
|
-
mutatedShadowView.layoutMetrics = interpolatedLayoutMetrics;
|
|
1791
|
-
|
|
1792
|
-
return mutatedShadowView;
|
|
1793
1605
|
}
|
|
1794
1606
|
|
|
1795
|
-
void LayoutAnimationKeyFrameManager::
|
|
1796
|
-
|
|
1797
|
-
|
|
1798
|
-
|
|
1799
|
-
|
|
1800
|
-
if (
|
|
1801
|
-
|
|
1802
|
-
|
|
1803
|
-
|
|
1804
|
-
|
|
1805
|
-
|
|
1806
|
-
logPrefix + ": Queuing up Final Mutation:", finalMutation);
|
|
1807
|
-
// Copy so that if something else mutates the inflight animations,
|
|
1808
|
-
// it won't change this mutation after this point.
|
|
1809
|
-
auto mutation = ShadowViewMutation{
|
|
1810
|
-
finalMutation.type,
|
|
1811
|
-
finalMutation.parentShadowView,
|
|
1812
|
-
prev,
|
|
1813
|
-
finalMutation.newChildShadowView,
|
|
1814
|
-
finalMutation.index};
|
|
1815
|
-
react_native_assert(mutation.oldChildShadowView.tag > 0);
|
|
1816
|
-
react_native_assert(
|
|
1817
|
-
mutation.newChildShadowView.tag > 0 ||
|
|
1818
|
-
finalMutation.type == ShadowViewMutation::Remove ||
|
|
1819
|
-
finalMutation.type == ShadowViewMutation::Delete);
|
|
1820
|
-
mutationsList.push_back(mutation);
|
|
1821
|
-
if (finalMutation.newChildShadowView.tag > 0) {
|
|
1822
|
-
prev = finalMutation.newChildShadowView;
|
|
1823
|
-
}
|
|
1607
|
+
void LayoutAnimationKeyFrameManager::deleteAnimationsForStoppedSurfaces()
|
|
1608
|
+
const {
|
|
1609
|
+
bool inflightAnimationsExistInitially = !inflightAnimations_.empty();
|
|
1610
|
+
|
|
1611
|
+
// Execute stopSurface on any ongoing animations
|
|
1612
|
+
if (inflightAnimationsExistInitially) {
|
|
1613
|
+
butter::set<SurfaceId> surfaceIdsToStop{};
|
|
1614
|
+
{
|
|
1615
|
+
std::lock_guard<std::mutex> lock(surfaceIdsToStopMutex_);
|
|
1616
|
+
surfaceIdsToStop = surfaceIdsToStop_;
|
|
1617
|
+
surfaceIdsToStop_.clear();
|
|
1824
1618
|
}
|
|
1825
|
-
} else {
|
|
1826
|
-
// If there's no final mutation associated, create a mutation that
|
|
1827
|
-
// corresponds to the animation being 100% complete. This is
|
|
1828
|
-
// important for, for example, INSERT mutations being animated from
|
|
1829
|
-
// opacity 0 to 1. If the animation is interrupted we must force the
|
|
1830
|
-
// View to be at opacity 1. For Android - since it passes along only
|
|
1831
|
-
// deltas, not an entire bag of props - generate an "animation"
|
|
1832
|
-
// frame corresponding to a final update for this view. Only then,
|
|
1833
|
-
// generate an update that will cause the ShadowTree to be
|
|
1834
|
-
// consistent with the Mounting layer by passing viewEnd,
|
|
1835
|
-
// unmodified, to the mounting layer. This helps with, for example,
|
|
1836
|
-
// opacity animations.
|
|
1837
|
-
// This is necessary for INSERT (create) and UPDATE (update) mutations, but
|
|
1838
|
-
// not REMOVE/DELETE mutations ("delete" animations).
|
|
1839
|
-
if (interrupted) {
|
|
1840
|
-
auto mutatedShadowView =
|
|
1841
|
-
createInterpolatedShadowView(1, keyframe.viewStart, keyframe.viewEnd);
|
|
1842
|
-
auto generatedPenultimateMutation = ShadowViewMutation::UpdateMutation(
|
|
1843
|
-
keyframe.viewPrev, mutatedShadowView);
|
|
1844
|
-
react_native_assert(
|
|
1845
|
-
generatedPenultimateMutation.oldChildShadowView.tag > 0);
|
|
1846
|
-
react_native_assert(
|
|
1847
|
-
generatedPenultimateMutation.newChildShadowView.tag > 0);
|
|
1848
|
-
PrintMutationInstruction(
|
|
1849
|
-
"Queueing up penultimate mutation instruction - synthetic",
|
|
1850
|
-
generatedPenultimateMutation);
|
|
1851
|
-
mutationsList.push_back(generatedPenultimateMutation);
|
|
1852
1619
|
|
|
1853
|
-
|
|
1854
|
-
|
|
1855
|
-
|
|
1856
|
-
|
|
1857
|
-
|
|
1858
|
-
|
|
1859
|
-
|
|
1860
|
-
|
|
1861
|
-
|
|
1862
|
-
|
|
1863
|
-
|
|
1864
|
-
|
|
1865
|
-
|
|
1866
|
-
|
|
1867
|
-
|
|
1868
|
-
PrintMutationInstruction(
|
|
1869
|
-
logPrefix +
|
|
1870
|
-
"Animation Complete: Queuing up Final Synthetic Mutation:",
|
|
1871
|
-
mutation);
|
|
1872
|
-
react_native_assert(mutation.oldChildShadowView.tag > 0);
|
|
1873
|
-
react_native_assert(mutation.newChildShadowView.tag > 0);
|
|
1874
|
-
mutationsList.push_back(mutation);
|
|
1620
|
+
for (auto it = inflightAnimations_.begin();
|
|
1621
|
+
it != inflightAnimations_.end();) {
|
|
1622
|
+
const auto &animation = *it;
|
|
1623
|
+
|
|
1624
|
+
#ifdef LAYOUT_ANIMATION_VERBOSE_LOGGING
|
|
1625
|
+
LOG(ERROR)
|
|
1626
|
+
<< "LayoutAnimations: stopping animation due to stopSurface on "
|
|
1627
|
+
<< surfaceId;
|
|
1628
|
+
#endif
|
|
1629
|
+
if (surfaceIdsToStop.find(animation.surfaceId) !=
|
|
1630
|
+
surfaceIdsToStop.end()) {
|
|
1631
|
+
it = inflightAnimations_.erase(it);
|
|
1632
|
+
} else {
|
|
1633
|
+
it++;
|
|
1634
|
+
}
|
|
1875
1635
|
}
|
|
1876
1636
|
}
|
|
1877
1637
|
}
|
|
1878
1638
|
|
|
1879
|
-
void LayoutAnimationKeyFrameManager::
|
|
1880
|
-
const
|
|
1881
|
-
if (
|
|
1639
|
+
void LayoutAnimationKeyFrameManager::simulateImagePropsMemoryAccess(
|
|
1640
|
+
ShadowViewMutationList const &mutations) const {
|
|
1641
|
+
if (!simulateImagePropsMemoryAccess_) {
|
|
1882
1642
|
return;
|
|
1883
1643
|
}
|
|
1884
|
-
|
|
1885
|
-
|
|
1886
|
-
|
|
1887
|
-
|
|
1888
|
-
|
|
1889
|
-
|
|
1890
|
-
|
|
1891
|
-
|
|
1892
|
-
|
|
1893
|
-
|
|
1894
|
-
|
|
1895
|
-
|
|
1896
|
-
|
|
1897
|
-
|
|
1898
|
-
|
|
1899
|
-
|
|
1900
|
-
|
|
1901
|
-
|
|
1902
|
-
|
|
1903
|
-
|
|
1904
|
-
|
|
1905
|
-
|
|
1906
|
-
|
|
1907
|
-
|
|
1908
|
-
|
|
1909
|
-
|
|
1910
|
-
|
|
1911
|
-
callbackWrappersPending_.push_back(std::move(copiedCallback));
|
|
1644
|
+
for (auto const &mutation : mutations) {
|
|
1645
|
+
if (mutation.type != ShadowViewMutation::Type::Insert) {
|
|
1646
|
+
continue;
|
|
1647
|
+
}
|
|
1648
|
+
if (strcmp(mutation.newChildShadowView.componentName, "Image") == 0) {
|
|
1649
|
+
auto const &imageProps = *std::static_pointer_cast<ImageProps const>(
|
|
1650
|
+
mutation.newChildShadowView.props);
|
|
1651
|
+
int temp = 0;
|
|
1652
|
+
switch (imageProps.resizeMode) {
|
|
1653
|
+
case ImageResizeMode::Cover:
|
|
1654
|
+
temp = 1;
|
|
1655
|
+
break;
|
|
1656
|
+
case ImageResizeMode::Contain:
|
|
1657
|
+
temp = 2;
|
|
1658
|
+
break;
|
|
1659
|
+
case ImageResizeMode::Stretch:
|
|
1660
|
+
temp = 3;
|
|
1661
|
+
break;
|
|
1662
|
+
case ImageResizeMode::Center:
|
|
1663
|
+
temp = 4;
|
|
1664
|
+
break;
|
|
1665
|
+
case ImageResizeMode::Repeat:
|
|
1666
|
+
temp = 5;
|
|
1667
|
+
break;
|
|
1668
|
+
}
|
|
1669
|
+
(void)temp;
|
|
1670
|
+
}
|
|
1912
1671
|
}
|
|
1913
1672
|
}
|
|
1914
1673
|
|