react-native 0.0.0-201c10733 → 0.0.0-268efb102
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Libraries/ActionSheetIOS/ActionSheetIOS.js +14 -3
- package/Libraries/ActionSheetIOS/NativeActionSheetManager.js +2 -2
- package/Libraries/ActionSheetIOS/React-RCTActionSheet.podspec +1 -1
- package/Libraries/Alert/Alert.js +3 -5
- package/Libraries/Alert/NativeAlertManager.js +0 -2
- package/Libraries/Alert/RCTAlertManager.android.js +0 -2
- package/Libraries/Alert/RCTAlertManager.ios.js +0 -2
- package/Libraries/Animated/Animated.js +0 -2
- package/Libraries/Animated/AnimatedEvent.js +26 -7
- package/Libraries/Animated/AnimatedImplementation.js +0 -2
- package/Libraries/Animated/AnimatedMock.js +1 -8
- package/Libraries/Animated/AnimatedWeb.js +6 -3
- package/Libraries/Animated/NativeAnimatedHelper.js +10 -7
- package/Libraries/Animated/NativeAnimatedModule.js +0 -2
- package/Libraries/Animated/NativeAnimatedTurboModule.js +0 -2
- package/Libraries/Animated/animations/Animation.js +1 -0
- package/Libraries/Animated/animations/DecayAnimation.js +2 -0
- package/Libraries/Animated/animations/SpringAnimation.js +1 -0
- package/Libraries/Animated/animations/TimingAnimation.js +3 -0
- package/Libraries/Animated/components/AnimatedFlatList.js +0 -2
- package/Libraries/Animated/components/AnimatedImage.js +0 -2
- package/Libraries/Animated/components/AnimatedScrollView.js +0 -2
- package/Libraries/Animated/components/AnimatedSectionList.js +1 -3
- package/Libraries/Animated/components/AnimatedText.js +0 -2
- package/Libraries/Animated/components/AnimatedView.js +0 -2
- package/Libraries/Animated/createAnimatedComponent.js +25 -19
- package/Libraries/Animated/createAnimatedComponentInjection.js +48 -0
- package/Libraries/Animated/createAnimatedComponent_EXPERIMENTAL.js +48 -0
- package/Libraries/Animated/nodes/AnimatedInterpolation.js +21 -22
- package/Libraries/Animated/nodes/AnimatedProps.js +0 -1
- package/Libraries/Animated/nodes/AnimatedValue.js +24 -5
- package/Libraries/Animated/nodes/AnimatedWithChildren.js +1 -0
- package/Libraries/Animated/useAnimatedProps.js +211 -0
- package/Libraries/AppState/AppState.js +90 -164
- package/Libraries/AppState/NativeAppState.js +0 -2
- package/Libraries/BatchedBridge/MessageQueue.js +19 -14
- package/Libraries/BatchedBridge/NativeModules.js +5 -1
- package/Libraries/Blob/BlobManager.js +0 -2
- package/Libraries/Blob/FileReader.js +1 -3
- package/Libraries/Blob/NativeBlobModule.js +0 -2
- package/Libraries/Blob/NativeFileReaderModule.js +0 -2
- package/Libraries/Blob/RCTBlobManager.h +2 -1
- package/Libraries/Blob/RCTBlobManager.mm +1 -3
- package/Libraries/Blob/RCTBlobPlugins.mm +4 -3
- package/Libraries/Blob/React-RCTBlob.podspec +3 -3
- package/Libraries/Blob/URL.js +18 -20
- package/Libraries/BugReporting/BugReporting.js +2 -2
- package/Libraries/BugReporting/getReactData.js +2 -2
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +350 -0
- package/Libraries/Components/AccessibilityInfo/NativeAccessibilityInfo.js +4 -2
- package/Libraries/Components/AccessibilityInfo/NativeAccessibilityManager.js +0 -2
- package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.android.js +35 -0
- package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.ios.js +26 -0
- package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +6 -8
- package/Libraries/Components/ActivityIndicator/ActivityIndicatorViewNativeComponent.js +0 -2
- package/Libraries/Components/Button.js +45 -15
- package/Libraries/Components/Clipboard/Clipboard.js +0 -2
- package/Libraries/Components/Clipboard/NativeClipboard.js +0 -2
- package/Libraries/Components/DatePicker/DatePickerIOS.android.js +4 -5
- package/Libraries/Components/DatePicker/DatePickerIOS.ios.js +50 -14
- package/Libraries/Components/DatePicker/RCTDatePickerNativeComponent.js +1 -2
- package/Libraries/Components/DatePickerAndroid/NativeDatePickerAndroid.js +0 -2
- package/Libraries/Components/DrawerAndroid/AndroidDrawerLayoutNativeComponent.js +0 -2
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +4 -9
- package/Libraries/Components/Keyboard/Keyboard.js +16 -17
- package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +17 -22
- package/Libraries/Components/Keyboard/NativeKeyboardObserver.js +0 -2
- package/Libraries/Components/MaskedView/MaskedViewIOS.ios.js +3 -3
- package/Libraries/Components/Pressable/Pressable.js +20 -7
- package/Libraries/Components/Pressable/useAndroidRippleForView.js +18 -17
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.android.js +0 -2
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidNativeComponent.js +0 -2
- package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.android.js +4 -5
- package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.ios.js +2 -5
- package/Libraries/Components/ProgressViewIOS/RCTProgressViewNativeComponent.js +0 -2
- package/Libraries/Components/RefreshControl/AndroidSwipeRefreshLayoutNativeComponent.js +0 -2
- package/Libraries/Components/RefreshControl/PullToRefreshViewNativeComponent.js +9 -3
- package/Libraries/Components/RefreshControl/RefreshControl.js +5 -7
- package/Libraries/Components/RefreshControl/__mocks__/RefreshControlMock.js +2 -3
- package/Libraries/Components/SafeAreaView/RCTSafeAreaViewNativeComponent.js +0 -2
- package/Libraries/Components/SafeAreaView/SafeAreaView.js +1 -1
- package/Libraries/Components/ScrollView/AndroidHorizontalScrollContentViewNativeComponent.js +11 -15
- package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +2 -4
- package/Libraries/Components/ScrollView/ScrollContentViewNativeComponent.js +2 -4
- package/Libraries/Components/ScrollView/ScrollView.js +754 -170
- package/Libraries/Components/ScrollView/ScrollViewContext.js +0 -2
- package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +3 -4
- package/Libraries/Components/ScrollView/ScrollViewNativeComponentType.js +2 -0
- package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +31 -10
- package/Libraries/Components/ScrollView/ScrollViewViewConfig.js +2 -0
- package/Libraries/Components/ScrollView/processDecelerationRate.js +0 -2
- package/Libraries/Components/SegmentedControlIOS/RCTSegmentedControlNativeComponent.js +0 -2
- package/Libraries/Components/SegmentedControlIOS/SegmentedControlIOS.android.js +4 -5
- package/Libraries/Components/SegmentedControlIOS/SegmentedControlIOS.ios.js +17 -11
- package/Libraries/Components/Slider/Slider.js +19 -8
- package/Libraries/Components/Slider/SliderNativeComponent.js +0 -2
- package/Libraries/Components/Sound/NativeSoundManager.js +0 -2
- package/Libraries/Components/Sound/SoundManager.js +0 -1
- package/Libraries/Components/StatusBar/NativeStatusBarManagerAndroid.js +0 -2
- package/Libraries/Components/StatusBar/NativeStatusBarManagerIOS.js +0 -2
- package/Libraries/Components/StatusBar/StatusBar.js +10 -21
- package/Libraries/Components/Switch/AndroidSwitchNativeComponent.js +0 -2
- package/Libraries/Components/Switch/Switch.js +98 -118
- package/Libraries/Components/Switch/SwitchNativeComponent.js +0 -2
- package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +9 -8
- package/Libraries/Components/TextInput/AndroidTextInputViewConfig.js +2 -3
- package/Libraries/Components/TextInput/InputAccessoryView.js +6 -8
- package/Libraries/Components/TextInput/RCTInputAccessoryViewNativeComponent.js +0 -2
- package/Libraries/Components/TextInput/RCTMultilineTextInputNativeComponent.js +6 -5
- package/Libraries/Components/TextInput/RCTSingelineTextInputNativeComponent.js +6 -16
- package/Libraries/Components/TextInput/{RCTSinglelineTextInputViewConfig.js → RCTTextInputViewConfig.js} +3 -5
- package/Libraries/Components/TextInput/TextInput.js +128 -69
- package/Libraries/Components/TextInput/TextInputNativeCommands.js +0 -2
- package/Libraries/Components/TextInput/TextInputState.js +1 -3
- package/Libraries/Components/ToastAndroid/NativeToastAndroid.js +0 -2
- package/Libraries/Components/ToastAndroid/ToastAndroid.android.js +0 -1
- package/Libraries/Components/Touchable/BoundingDimensions.js +1 -2
- package/Libraries/Components/Touchable/PooledClass.js +1 -2
- package/Libraries/Components/Touchable/Position.js +1 -2
- package/Libraries/Components/Touchable/Touchable.js +26 -55
- package/Libraries/Components/Touchable/TouchableBounce.js +0 -2
- package/Libraries/Components/Touchable/TouchableHighlight.js +22 -6
- package/Libraries/Components/Touchable/TouchableNativeFeedback.js +16 -5
- package/Libraries/Components/Touchable/TouchableOpacity.js +19 -8
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +13 -4
- package/Libraries/Components/UnimplementedViews/UnimplementedNativeViewNativeComponent.js +0 -2
- package/Libraries/Components/UnimplementedViews/UnimplementedView.js +2 -3
- package/Libraries/Components/View/ReactNativeStyleAttributes.js +133 -68
- package/Libraries/Components/View/ReactNativeViewAttributes.js +1 -2
- package/Libraries/Components/View/ReactNativeViewViewConfig.js +1 -3
- package/Libraries/Components/View/View.js +2 -4
- package/Libraries/Components/View/ViewAccessibility.js +3 -0
- package/Libraries/Components/View/ViewNativeComponent.js +0 -2
- package/Libraries/Core/Devtools/getDevServer.js +0 -2
- package/Libraries/Core/Devtools/parseErrorStack.js +0 -9
- package/Libraries/Core/Devtools/parseHermesStack.js +1 -1
- package/Libraries/Core/ExceptionsManager.js +51 -41
- package/Libraries/Core/ExtendedError.js +19 -0
- package/Libraries/Core/InitializeCore.js +1 -0
- package/Libraries/Core/NativeExceptionsManager.js +0 -2
- package/Libraries/Core/ReactFiberErrorDialog.js +44 -34
- package/Libraries/Core/ReactNativeVersion.js +1 -1
- package/Libraries/Core/ReactNativeVersionCheck.js +0 -2
- package/Libraries/Core/SegmentFetcher/NativeSegmentFetcher.js +0 -2
- package/Libraries/Core/Timers/JSTimers.js +41 -31
- package/Libraries/Core/Timers/NativeTiming.js +0 -2
- package/Libraries/Core/Timers/immediateShim.js +67 -0
- package/Libraries/Core/Timers/queueMicrotask.js +41 -0
- package/Libraries/Core/polyfillPromise.js +1 -1
- package/Libraries/Core/setUpBatchedBridge.js +1 -1
- package/Libraries/Core/setUpDeveloperTools.js +53 -58
- package/Libraries/Core/setUpGlobals.js +2 -0
- package/Libraries/Core/setUpReactDevTools.js +18 -1
- package/Libraries/Core/setUpRegeneratorRuntime.js +25 -8
- package/Libraries/Core/setUpTimers.js +65 -6
- package/Libraries/Core/setUpXHR.js +4 -4
- package/Libraries/DeprecatedPropTypes/DeprecatedImagePropType.android.js +131 -0
- package/Libraries/DeprecatedPropTypes/{DeprecatedImagePropType.js → DeprecatedImagePropType.ios.js} +0 -0
- package/Libraries/DeprecatedPropTypes/DeprecatedTextInputPropTypes.js +5 -5
- package/Libraries/DeprecatedPropTypes/DeprecatedViewAccessibility.js +2 -0
- package/Libraries/EventEmitter/NativeEventEmitter.js +100 -51
- package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +9 -77
- package/Libraries/EventEmitter/RCTEventEmitter.js +5 -1
- package/Libraries/EventEmitter/RCTNativeAppEventEmitter.js +0 -2
- package/Libraries/EventEmitter/__mocks__/NativeEventEmitter.js +31 -10
- package/Libraries/FBLazyVector/BUCK +5 -1
- package/Libraries/FBLazyVector/FBLazyVector.podspec +1 -1
- package/Libraries/HeapCapture/HeapCapture.js +0 -2
- package/Libraries/HeapCapture/NativeJSCHeapCapture.js +0 -2
- package/Libraries/Image/AssetUtils.js +0 -2
- package/Libraries/Image/Image.android.js +22 -133
- package/Libraries/Image/Image.ios.js +39 -33
- package/Libraries/Image/ImageAnalyticsTagContext.js +0 -2
- package/Libraries/Image/ImageBackground.js +10 -8
- package/Libraries/Image/ImageInjection.js +28 -0
- package/Libraries/Image/ImagePickerIOS.js +0 -2
- package/Libraries/Image/ImageProps.js +28 -0
- package/Libraries/Image/ImageSource.js +57 -14
- package/Libraries/Image/ImageViewNativeComponent.js +0 -2
- package/Libraries/Image/NativeImageEditor.js +0 -2
- package/Libraries/Image/NativeImageLoaderAndroid.js +0 -2
- package/Libraries/Image/NativeImageLoaderIOS.js +2 -3
- package/Libraries/Image/NativeImagePickerIOS.js +0 -2
- package/Libraries/Image/NativeImageStoreAndroid.js +0 -2
- package/Libraries/Image/NativeImageStoreIOS.js +0 -2
- package/Libraries/Image/RCTGIFImageDecoder.mm +6 -0
- package/Libraries/Image/RCTImageLoader.h +2 -2
- package/Libraries/Image/RCTImageLoader.mm +6 -18
- package/Libraries/Image/RCTImageLoaderWithAttributionProtocol.h +0 -5
- package/Libraries/Image/RCTImagePlugins.mm +4 -3
- package/Libraries/Image/RCTImageStoreManager.mm +5 -5
- package/Libraries/Image/RCTLocalAssetImageLoader.mm +5 -0
- package/Libraries/Image/React-RCTImage.podspec +3 -3
- package/Libraries/Image/TextInlineImageNativeComponent.js +84 -2
- package/Libraries/Image/nativeImageSource.js +0 -2
- package/Libraries/Inspector/ElementProperties.js +1 -1
- package/Libraries/Inspector/Inspector.js +13 -4
- package/Libraries/Inspector/InspectorPanel.js +1 -1
- package/Libraries/Interaction/FrameRateLogger.js +0 -2
- package/Libraries/Interaction/InteractionManager.js +3 -5
- package/Libraries/Interaction/PanResponder.js +1 -1
- package/Libraries/LayoutAnimation/LayoutAnimation.js +53 -17
- package/Libraries/Linking/Linking.js +5 -7
- package/Libraries/Linking/NativeIntentAndroid.js +0 -2
- package/Libraries/Linking/NativeLinkingManager.js +0 -2
- package/Libraries/LinkingIOS/RCTLinkingPlugins.mm +4 -3
- package/Libraries/LinkingIOS/React-RCTLinking.podspec +3 -3
- package/Libraries/Lists/CellRenderMask.js +145 -0
- package/Libraries/Lists/FillRateHelper.js +1 -1
- package/Libraries/Lists/FlatList.js +77 -53
- package/Libraries/Lists/SectionList.js +20 -23
- package/Libraries/Lists/SectionListModern.js +249 -0
- package/Libraries/Lists/ViewabilityHelper.js +9 -9
- package/Libraries/Lists/VirtualizeUtils.js +18 -20
- package/Libraries/Lists/VirtualizedList.js +176 -132
- package/Libraries/Lists/VirtualizedListContext.js +0 -2
- package/Libraries/Lists/VirtualizedSectionList.js +247 -209
- package/Libraries/Lists/__flowtests__/SectionList-flowtest.js +6 -6
- package/Libraries/LogBox/Data/LogBoxData.js +21 -19
- package/Libraries/LogBox/Data/LogBoxLog.js +0 -2
- package/Libraries/LogBox/Data/LogBoxSymbolication.js +0 -2
- package/Libraries/LogBox/Data/parseLogBoxLog.js +0 -2
- package/Libraries/LogBox/LogBox.js +114 -49
- package/Libraries/LogBox/LogBoxInspectorContainer.js +0 -2
- package/Libraries/LogBox/LogBoxNotificationContainer.js +0 -2
- package/Libraries/LogBox/UI/LogBoxButton.js +0 -2
- 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 +0 -2
- package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.js +0 -2
- package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +0 -2
- package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +0 -2
- package/Libraries/LogBox/UI/LogBoxInspectorMessageHeader.js +0 -2
- package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js +0 -2
- package/Libraries/LogBox/UI/LogBoxInspectorSection.js +0 -2
- package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +4 -5
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.js +0 -2
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +4 -3
- package/Libraries/LogBox/UI/LogBoxMessage.js +0 -2
- package/Libraries/LogBox/UI/LogBoxNotification.js +3 -4
- package/Libraries/LogBox/UI/LogBoxStyle.js +0 -2
- package/Libraries/Modal/Modal.js +42 -21
- package/Libraries/{Text/TextInjection.js → Modal/ModalInjection.js} +3 -5
- package/Libraries/Modal/NativeModalManager.js +0 -2
- package/Libraries/Modal/RCTModalHostViewNativeComponent.js +8 -4
- package/Libraries/NativeAnimation/Nodes/RCTPropsAnimatedNode.m +0 -3
- package/Libraries/NativeAnimation/RCTAnimationPlugins.mm +4 -3
- package/Libraries/NativeAnimation/RCTNativeAnimatedModule.mm +6 -3
- package/Libraries/NativeAnimation/RCTNativeAnimatedNodesManager.h +1 -1
- package/Libraries/NativeAnimation/RCTNativeAnimatedNodesManager.m +1 -1
- package/Libraries/NativeAnimation/RCTNativeAnimatedTurboModule.mm +32 -28
- package/Libraries/NativeAnimation/React-RCTAnimation.podspec +3 -3
- package/Libraries/NativeComponent/NativeComponentRegistry.js +34 -2
- package/Libraries/NativeModules/specs/NativeAnimationsDebugModule.js +0 -2
- package/Libraries/NativeModules/specs/NativeDevMenu.js +0 -2
- package/Libraries/NativeModules/specs/NativeDevSettings.js +0 -2
- package/Libraries/NativeModules/specs/NativeDeviceEventManager.js +0 -2
- package/Libraries/NativeModules/specs/NativeDialogManagerAndroid.js +0 -2
- package/Libraries/NativeModules/specs/NativeLogBox.js +0 -2
- package/Libraries/NativeModules/specs/NativeRedBox.js +0 -2
- package/Libraries/NativeModules/specs/NativeSourceCode.js +0 -2
- package/Libraries/Network/NativeNetworkingAndroid.js +0 -2
- package/Libraries/Network/NativeNetworkingIOS.js +0 -2
- package/Libraries/Network/RCTDataRequestHandler.mm +6 -0
- package/Libraries/Network/RCTFileRequestHandler.mm +6 -0
- package/Libraries/Network/RCTHTTPRequestHandler.h +5 -0
- package/Libraries/Network/RCTHTTPRequestHandler.mm +25 -7
- package/Libraries/Network/RCTNetworkPlugins.mm +4 -3
- package/Libraries/Network/RCTNetworking.android.js +6 -3
- package/Libraries/Network/RCTNetworking.h +1 -1
- package/Libraries/Network/RCTNetworking.ios.js +63 -21
- package/Libraries/Network/RCTNetworking.mm +3 -3
- package/Libraries/Network/React-RCTNetwork.podspec +2 -2
- package/Libraries/Network/XMLHttpRequest.js +5 -3
- package/Libraries/Network/convertRequestBody.js +2 -1
- package/Libraries/NewAppScreen/components/Colors.js +0 -2
- package/Libraries/NewAppScreen/components/Header.js +1 -1
- package/Libraries/NewAppScreen/components/HermesBadge.js +4 -1
- package/Libraries/NewAppScreen/components/LearnMoreLinks.js +0 -1
- package/Libraries/NewAppScreen/components/logo.png +0 -0
- package/Libraries/NewAppScreen/index.js +0 -2
- package/Libraries/Performance/NativeJSCSamplingProfiler.js +0 -2
- package/Libraries/Performance/QuickPerformanceLogger.js +4 -4
- package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +4 -3
- package/Libraries/PermissionsAndroid/PermissionsAndroid.js +10 -5
- package/Libraries/Pressability/HoverState.js +0 -2
- package/Libraries/Pressability/Pressability.js +18 -13
- package/Libraries/Pressability/PressabilityDebug.js +9 -4
- package/Libraries/Pressability/PressabilityPerformanceEventEmitter.js +48 -0
- package/Libraries/Pressability/PressabilityTypes.js +18 -0
- package/Libraries/Pressability/usePressability.js +0 -2
- package/Libraries/PushNotificationIOS/NativePushNotificationManagerIOS.js +3 -0
- package/Libraries/PushNotificationIOS/PushNotificationIOS.js +18 -3
- package/Libraries/PushNotificationIOS/RCTPushNotificationManager.mm +13 -1
- package/Libraries/PushNotificationIOS/RCTPushNotificationPlugins.mm +4 -3
- package/Libraries/PushNotificationIOS/React-RCTPushNotification.podspec +3 -3
- package/Libraries/RCTRequired/BUCK +4 -1
- package/Libraries/RCTRequired/RCTRequired.podspec +2 -2
- package/Libraries/ReactNative/AppContainer.js +3 -25
- package/Libraries/ReactNative/AppRegistry.js +48 -7
- package/Libraries/ReactNative/DisplayMode.js +32 -0
- package/Libraries/ReactNative/DummyUIManager.js +7 -2
- package/Libraries/ReactNative/FabricUIManager.js +6 -5
- package/Libraries/ReactNative/HeadlessJsTaskError.js +0 -2
- package/Libraries/ReactNative/I18nManager.js +23 -9
- package/Libraries/ReactNative/NativeHeadlessJsTaskSupport.js +0 -2
- package/Libraries/ReactNative/NativeI18nManager.js +1 -2
- package/Libraries/ReactNative/NativeUIManager.js +2 -3
- package/Libraries/ReactNative/PaperUIManager.js +13 -7
- package/Libraries/ReactNative/RootTag.js +2 -4
- package/Libraries/ReactNative/UIManager.js +2 -3
- package/Libraries/ReactNative/UIManagerInjection.js +0 -2
- package/Libraries/ReactNative/getCachedComponentWithDebugName.js +32 -0
- package/Libraries/ReactNative/renderApplication.js +24 -6
- package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +6 -3
- package/Libraries/Reliability/UserFlow.js +7 -0
- package/Libraries/Renderer/REVISION +1 -1
- package/Libraries/Renderer/implementations/ReactFabric-dev.fb.js +9484 -7643
- package/Libraries/Renderer/implementations/ReactFabric-dev.js +7877 -6935
- package/Libraries/Renderer/implementations/ReactFabric-prod.fb.js +3038 -2506
- package/Libraries/Renderer/implementations/ReactFabric-prod.js +2112 -1937
- package/Libraries/Renderer/implementations/ReactFabric-profiling.fb.js +3375 -2693
- package/Libraries/Renderer/implementations/ReactFabric-profiling.js +2568 -2244
- package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.fb.js +9638 -7942
- package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +5736 -4864
- package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.fb.js +2865 -2464
- package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +2275 -2120
- package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.fb.js +3190 -2643
- package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +2565 -2259
- package/Libraries/Renderer/shims/ReactFabric.js +5 -3
- package/Libraries/Renderer/shims/ReactFeatureFlags.js +3 -0
- package/Libraries/Renderer/shims/ReactNative.js +3 -0
- package/Libraries/Renderer/shims/ReactNativeTypes.js +21 -15
- package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +5 -0
- package/Libraries/Renderer/shims/createReactNativeComponentClass.js +3 -0
- package/Libraries/Settings/NativeSettingsManager.js +0 -2
- package/Libraries/Settings/RCTSettingsPlugins.mm +4 -3
- package/Libraries/Settings/React-RCTSettings.podspec +2 -2
- package/Libraries/Settings/Settings.ios.js +4 -2
- package/Libraries/Share/NativeShareModule.js +0 -2
- package/Libraries/Share/Share.js +0 -2
- package/Libraries/Storage/AsyncStorage.js +1 -2
- package/Libraries/Storage/NativeAsyncLocalStorage.js +0 -2
- package/Libraries/Storage/NativeAsyncSQLiteDBStorage.js +0 -2
- package/Libraries/StyleSheet/PlatformColorValueTypes.android.js +0 -2
- package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +16 -3
- package/Libraries/StyleSheet/PlatformColorValueTypesIOS.ios.js +8 -3
- package/Libraries/StyleSheet/PlatformColorValueTypesIOS.js +2 -2
- package/Libraries/StyleSheet/Rect.js +0 -2
- package/Libraries/StyleSheet/StyleSheet.js +3 -5
- package/Libraries/StyleSheet/normalizeColor.js +2 -4
- package/Libraries/StyleSheet/processColorArray.js +16 -6
- package/Libraries/StyleSheet/processTransform.js +6 -6
- package/Libraries/StyleSheet/splitLayoutProps.js +0 -4
- package/Libraries/SurfaceHostingComponent/RCTSurfaceHostingComponent.mm +1 -1
- package/Libraries/Text/React-RCTText.podspec +2 -2
- package/Libraries/Text/Text.js +187 -235
- package/Libraries/Text/TextInput/Multiline/RCTUITextView.h +0 -2
- package/Libraries/Text/TextInput/Multiline/RCTUITextView.m +12 -2
- package/Libraries/Text/TextInput/RCTBaseTextInputView.m +10 -12
- package/Libraries/Text/TextInput/RCTInputAccessoryViewContent.m +4 -11
- package/Libraries/Text/TextNativeComponent.js +0 -2
- package/Libraries/Text/TextProps.js +7 -7
- package/Libraries/TurboModule/RCTExport.js +1 -1
- package/Libraries/TurboModule/TurboModuleRegistry.js +1 -5
- package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +0 -2
- package/Libraries/TypeSafety/RCTTypeSafety.podspec +3 -3
- package/Libraries/Types/CoreEventTypes.js +0 -2
- package/Libraries/{Components/Picker/PickerAndroid.ios.js → Types/RootTagTypes.js} +2 -3
- package/Libraries/UTFSequence.js +1 -1
- package/Libraries/Utilities/Appearance.js +13 -7
- package/Libraries/Utilities/BackHandler.android.js +0 -2
- package/Libraries/Utilities/DebugEnvironment.js +0 -2
- package/Libraries/Utilities/DevSettings.js +48 -58
- package/Libraries/Utilities/DeviceInfo.js +0 -2
- package/Libraries/Utilities/Dimensions.js +19 -20
- package/Libraries/Utilities/FeatureDetection.js +31 -0
- package/Libraries/Utilities/GlobalPerformanceLogger.js +0 -2
- package/Libraries/Utilities/HMRClient.js +15 -10
- package/Libraries/Utilities/JSDevSupportModule.js +0 -2
- package/Libraries/Utilities/LoadingView.android.js +0 -2
- package/Libraries/Utilities/LoadingView.ios.js +0 -2
- package/Libraries/Utilities/MatrixMath.js +1 -1
- package/Libraries/Utilities/NativeAppearance.js +0 -2
- package/Libraries/Utilities/NativeDevLoadingView.js +0 -2
- package/Libraries/Utilities/NativeDevSplitBundleLoader.js +0 -2
- package/Libraries/Utilities/NativeDeviceInfo.js +1 -3
- package/Libraries/Utilities/NativeJSDevSupport.js +0 -2
- package/Libraries/Utilities/NativePlatformConstantsAndroid.js +0 -2
- package/Libraries/Utilities/NativePlatformConstantsIOS.js +0 -2
- package/Libraries/Utilities/PerformanceLoggerContext.js +8 -4
- package/Libraries/Utilities/Platform.android.js +0 -2
- package/Libraries/Utilities/Platform.ios.js +0 -2
- package/Libraries/Utilities/ReactNativeTestTools.js +12 -19
- package/Libraries/Utilities/codegenNativeCommands.js +1 -3
- package/Libraries/Utilities/codegenNativeComponent.js +0 -2
- package/Libraries/Utilities/createPerformanceLogger.js +0 -2
- package/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js +1 -0
- package/Libraries/Utilities/defineLazyObjectProperty.js +1 -1
- package/Libraries/Utilities/deprecatedPropType.js +2 -4
- package/Libraries/Utilities/stringifySafe.js +1 -3
- package/Libraries/Utilities/useColorScheme.js +4 -4
- package/Libraries/Utilities/useMergeRefs.js +44 -0
- package/Libraries/Utilities/useRefEffect.js +45 -0
- package/Libraries/Utilities/useWindowDimensions.js +9 -6
- package/Libraries/Utilities/verifyComponentAttributeEquivalence.js +0 -2
- package/Libraries/Vibration/NativeVibration.js +0 -2
- package/Libraries/Vibration/RCTVibrationPlugins.mm +4 -3
- package/Libraries/Vibration/React-RCTVibration.podspec +2 -2
- package/Libraries/Vibration/Vibration.js +0 -2
- package/Libraries/WebSocket/NativeWebSocketModule.js +0 -2
- package/Libraries/WebSocket/WebSocket.js +12 -12
- package/Libraries/WebSocket/WebSocketInterceptor.js +6 -3
- package/Libraries/YellowBox/YellowBoxDeprecated.js +1 -0
- package/Libraries/__flowtests__/ReactNativeTypes-flowtest.js +0 -2
- package/Libraries/promiseRejectionTrackingOptions.js +2 -2
- package/Libraries/vendor/emitter/EventEmitter.js +36 -2
- package/Libraries/vendor/emitter/EventSubscription.js +19 -0
- package/Libraries/vendor/emitter/_EmitterSubscription.js +7 -7
- package/Libraries/vendor/emitter/_EventEmitter.js +28 -42
- package/Libraries/vendor/emitter/_EventSubscription.js +4 -2
- package/Libraries/vendor/emitter/_EventSubscriptionVendor.js +1 -1
- package/Libraries/vendor/emitter/__flowtests__/EventEmitter-flowtest.js +0 -2
- package/README.md +5 -5
- package/React/Base/RCTAssert.h +29 -11
- package/React/Base/RCTAssert.m +52 -0
- package/React/Base/RCTBridge+Private.h +8 -0
- package/React/Base/RCTBridge.h +20 -0
- package/React/Base/RCTBridge.m +39 -7
- package/React/Base/RCTBridgeModule.h +62 -12
- package/React/Base/RCTBundleManager.m +78 -0
- package/React/Base/RCTBundleURLProvider.h +35 -9
- package/React/Base/RCTBundleURLProvider.mm +90 -25
- package/React/Base/RCTCallableJSModules.m +47 -0
- package/React/Base/RCTConstants.h +3 -16
- package/React/Base/RCTConstants.m +6 -36
- package/React/Base/RCTConvert.h +1 -1
- package/React/Base/RCTConvert.m +31 -7
- package/React/Base/RCTCxxConvert.h +1 -1
- package/React/Base/RCTDefines.h +22 -3
- package/React/Base/RCTEventDispatcherProtocol.h +3 -2
- package/React/{Views/RCTPickerManager.h → Base/RCTInitializing.h} +4 -2
- package/React/Base/RCTJSThread.h +29 -0
- package/React/Base/RCTJSThread.m +19 -0
- package/React/Base/RCTModuleData.h +11 -3
- package/React/Base/RCTModuleData.mm +66 -1
- package/React/Base/RCTMultipartStreamReader.m +0 -2
- package/React/Base/RCTRootView.h +25 -1
- package/React/Base/RCTRootView.m +27 -4
- package/React/Base/RCTTouchHandler.m +3 -0
- package/React/Base/RCTUtils.h +3 -0
- package/React/Base/RCTUtils.m +14 -7
- package/React/Base/RCTVersion.m +1 -1
- package/React/Base/Surface/RCTSurfaceStage.h +6 -11
- package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingProxyRootView.h +12 -0
- package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingProxyRootView.mm +46 -2
- package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingView.mm +3 -0
- package/React/CoreModules/BUCK +4 -3
- package/React/CoreModules/CoreModulesPlugins.mm +4 -3
- package/React/CoreModules/RCTAccessibilityManager.mm +1 -1
- package/React/CoreModules/RCTActionSheetManager.mm +14 -5
- package/React/CoreModules/RCTAsyncLocalStorage.mm +4 -0
- package/React/CoreModules/RCTDevLoadingView.mm +25 -33
- package/React/CoreModules/RCTDevMenu.h +0 -5
- package/React/CoreModules/RCTDevMenu.mm +29 -60
- package/React/CoreModules/RCTDevSettings.h +12 -2
- package/React/CoreModules/RCTDevSettings.mm +96 -53
- package/React/CoreModules/RCTDevSplitBundleLoader.mm +3 -8
- package/React/CoreModules/RCTDeviceInfo.mm +4 -5
- package/React/CoreModules/RCTEventDispatcher.h +2 -1
- package/React/CoreModules/RCTEventDispatcher.mm +23 -25
- package/React/CoreModules/RCTKeyboardObserver.mm +1 -1
- package/React/CoreModules/RCTLogBox.mm +14 -10
- package/React/CoreModules/RCTPerfMonitor.mm +15 -4
- package/React/CoreModules/RCTRedBox.mm +3 -12
- package/React/CoreModules/RCTSourceCode.mm +2 -1
- package/React/CoreModules/RCTTiming.h +2 -1
- package/React/CoreModules/RCTTiming.mm +1 -3
- package/React/CoreModules/RCTWebSocketExecutor.mm +6 -0
- package/React/CoreModules/React-CoreModules.podspec +3 -3
- package/React/CxxBridge/RCTCxxBridge.mm +93 -33
- package/React/CxxModule/RCTNativeModule.mm +3 -1
- package/React/DevSupport/RCTPackagerConnection.h +3 -0
- package/React/DevSupport/RCTPackagerConnection.mm +19 -8
- package/{Libraries → React}/FBReactNativeSpec/FBReactNativeSpec.podspec +15 -8
- package/React/Fabric/Mounting/ComponentViews/Image/RCTImageComponentView.h +2 -1
- package/React/Fabric/Mounting/ComponentViews/Image/RCTImageComponentView.mm +5 -10
- package/React/Fabric/Mounting/ComponentViews/LegacyViewManagerInterop/RCTLegacyViewManagerInteropComponentView.mm +4 -2
- package/React/Fabric/Mounting/ComponentViews/LegacyViewManagerInterop/RCTLegacyViewManagerInteropCoordinatorAdapter.mm +1 -3
- package/React/Fabric/Mounting/ComponentViews/Modal/RCTFabricModalHostViewController.mm +7 -0
- package/React/Fabric/Mounting/ComponentViews/Modal/RCTModalHostViewComponentView.h +3 -1
- package/React/Fabric/Mounting/ComponentViews/Modal/RCTModalHostViewComponentView.mm +62 -20
- package/React/Fabric/Mounting/ComponentViews/RCTFabricComponentsPlugins.h +0 -1
- package/React/Fabric/Mounting/ComponentViews/RCTFabricComponentsPlugins.mm +0 -1
- package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTEnhancedScrollView.mm +5 -0
- package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +135 -87
- package/React/Fabric/Mounting/ComponentViews/Text/RCTAccessibilityElement.h +23 -0
- package/React/Fabric/Mounting/ComponentViews/Text/RCTAccessibilityElement.mm +22 -0
- package/React/Fabric/Mounting/ComponentViews/Text/RCTParagraphComponentAccessibilityProvider.mm +14 -9
- package/React/Fabric/Mounting/ComponentViews/Text/RCTParagraphComponentView.mm +104 -16
- package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +53 -17
- package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputUtils.mm +48 -2
- package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.h +6 -0
- package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +122 -8
- package/React/Fabric/Mounting/RCTComponentViewFactory.h +10 -2
- package/React/Fabric/Mounting/RCTComponentViewFactory.mm +83 -46
- package/React/Fabric/Mounting/RCTComponentViewProtocol.h +3 -0
- package/React/Fabric/Mounting/RCTComponentViewRegistry.mm +1 -12
- package/React/Fabric/Mounting/RCTMountingManager.h +22 -1
- package/React/Fabric/Mounting/RCTMountingManager.mm +57 -3
- package/React/Fabric/Mounting/UIView+ComponentViewProtocol.h +4 -0
- package/React/Fabric/Mounting/UIView+ComponentViewProtocol.mm +30 -4
- package/React/Fabric/RCTConversions.h +3 -0
- package/React/Fabric/RCTScheduler.h +8 -16
- package/React/Fabric/RCTScheduler.mm +36 -54
- package/React/Fabric/RCTSurfacePresenter.h +8 -16
- package/React/Fabric/RCTSurfacePresenter.mm +49 -170
- package/React/Fabric/RCTSurfacePresenterBridgeAdapter.h +4 -2
- package/React/Fabric/RCTSurfacePresenterBridgeAdapter.mm +1 -1
- package/React/Fabric/RCTSurfaceRegistry.h +1 -1
- package/React/Fabric/Surface/RCTFabricSurface.h +2 -6
- package/React/Fabric/Surface/RCTFabricSurface.mm +132 -129
- package/React/Modules/RCTEventEmitter.h +1 -2
- package/React/Modules/RCTEventEmitter.m +8 -11
- package/React/Modules/RCTI18nUtil.h +14 -6
- package/React/Modules/RCTI18nUtil.m +1 -47
- package/React/Modules/RCTUIManager.m +8 -2
- package/React/Profiler/RCTProfileTrampoline-arm.S +1 -1
- package/React/Profiler/RCTProfileTrampoline-arm64.S +2 -2
- package/React/React-RCTFabric.podspec +5 -5
- package/React/Tests/Text/RCTParagraphComponentViewTests.mm +63 -0
- package/React/Views/RCTComponentData.h +10 -1
- package/React/Views/RCTComponentData.m +23 -8
- package/React/Views/RCTDatePickerManager.m +33 -0
- package/React/Views/RCTFont.mm +54 -38
- package/React/Views/RCTModalHostView.h +5 -1
- package/React/Views/RCTModalHostView.m +52 -20
- package/React/Views/RCTModalHostViewManager.m +5 -0
- package/React/Views/RCTView.h +7 -7
- package/React/Views/RCTView.m +32 -49
- package/React/Views/RCTViewManager.m +22 -4
- package/React/Views/RCTWeakViewHolder.h +19 -0
- package/React/Views/RefreshControl/RCTRefreshControl.m +26 -0
- package/React/Views/RefreshControl/RCTRefreshControlManager.m +1 -0
- package/React/Views/SafeAreaView/RCTSafeAreaView.m +1 -5
- package/React/Views/ScrollView/RCTScrollView.h +1 -0
- package/React/Views/ScrollView/RCTScrollView.m +123 -36
- package/React/Views/ScrollView/RCTScrollViewManager.m +4 -7
- package/React/Views/UIView+React.m +2 -11
- package/React/third-party.xcconfig +1 -1
- package/React-Core.podspec +5 -4
- package/React.podspec +2 -2
- package/ReactAndroid/Android-prebuilt.mk +19 -3
- package/ReactAndroid/README.md +2 -2
- package/ReactAndroid/build.gradle +137 -25
- package/ReactAndroid/gradle.properties +7 -5
- package/ReactAndroid/src/androidTest/buck-runner/BUCK +1 -0
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/BUCK +1 -1
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactAppInstrumentationTestCase.java +1 -1
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/idledetection/BUCK +1 -1
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/idledetection/ReactIdleDetectionUtil.java +1 -1
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/rule/BUCK +5 -5
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/BUCK +0 -2
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/core/BUCK +5 -5
- package/ReactAndroid/src/androidTest/js/BUCK +26 -0
- package/ReactAndroid/src/androidTest/js/TestBundle.js +0 -12
- package/ReactAndroid/src/androidTest/js/UIManagerTestModule.js +7 -6
- package/ReactAndroid/src/main/java/com/facebook/hermes/instrumentation/Android.mk +2 -2
- package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/Android.mk +4 -4
- package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/HermesExecutorFactory.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/RuntimeConfig.java +0 -6
- package/ReactAndroid/src/main/java/com/facebook/proguard/annotations/BUCK +2 -2
- package/ReactAndroid/src/main/java/com/facebook/proguard/annotations/proguard_annotations.pro +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/BUCK +2 -1
- package/ReactAndroid/src/main/java/com/facebook/react/CoreModulesPackage.java +3 -2
- package/ReactAndroid/src/main/java/com/facebook/react/ReactActivity.java +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/ReactAndroidHWInputDeviceHelper.java +5 -0
- package/ReactAndroid/src/main/java/com/facebook/react/ReactFragment.java +6 -2
- package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +184 -92
- package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManagerBuilder.java +37 -1
- package/ReactAndroid/src/main/java/com/facebook/react/ReactNativeHost.java +21 -1
- package/ReactAndroid/src/main/java/com/facebook/react/{turbomodule/core/ReactPackageTurboModuleManagerDelegate.java → ReactPackageTurboModuleManagerDelegate.java} +2 -3
- package/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java +40 -28
- package/ReactAndroid/src/main/java/com/facebook/react/animated/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedModule.java +10 -2
- package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedNodesManager.java +5 -5
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/BackgroundExecutor.java +3 -2
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/BaseJavaModule.java +7 -5
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstance.java +4 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstanceImpl.java +11 -3
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/CxxModuleWrapperBase.java +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSIModuleRegistry.java +4 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaModuleWrapper.java +37 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ModuleHolder.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeModule.java +8 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeModuleRegistry.java +26 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java +46 -8
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContextBaseJavaModule.java +2 -3
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactCxxErrorHandler.java +39 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactMarkerConstants.java +7 -3
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/{ReactSoftException.java → ReactSoftExceptionLogger.java} +8 -3
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/RuntimeScheduler.java +21 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/SoftAssertions.java +8 -7
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/UIManager.java +10 -0
- package/ReactAndroid/src/main/java/com/facebook/react/common/BUCK +3 -2
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/BUCK +29 -0
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/ReadableMapBuffer.java +347 -0
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/ReadableMapBufferSoLoader.java +33 -0
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/Android.mk +39 -0
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/BUCK +34 -0
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/react/common/mapbuffer/OnLoad.cpp +15 -0
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/react/common/mapbuffer/ReadableMapBuffer.cpp +76 -0
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/react/common/mapbuffer/ReadableMapBuffer.h +51 -0
- package/ReactAndroid/src/main/java/com/facebook/react/config/BUCK +2 -1
- package/ReactAndroid/src/main/java/com/facebook/react/config/ReactFeatureFlags.java +61 -29
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BridgeDevSupportManager.java +275 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DefaultDevSupportManagerFactory.java +97 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevLoadingViewController.java +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevServerHelper.java +9 -58
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.java +189 -352
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerFactory.java +4 -73
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DisabledDevSupportManager.java +13 -1
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LogBoxModule.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/PackagerStatusCheck.java +100 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/{ReactInstanceManagerDevHelper.java → ReactInstanceDevHelper.java} +3 -2
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/RedBoxHandler.java +2 -16
- package/ReactAndroid/src/main/java/com/facebook/react/{modules/datepicker/DatePickerMode.java → devsupport/interfaces/BundleLoadCallback.java} +3 -6
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevSupportManager.java +6 -1
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/ErrorType.java +23 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/Binding.java +15 -1
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricComponents.java +4 -3
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricJSIModuleProvider.java +9 -64
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +317 -393
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/StateWrapperImpl.java +40 -1
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/SurfaceHandler.java +50 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/SurfaceHandlerBinding.java +131 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventEmitterWrapper.java +36 -1
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/FabricEventEmitter.java +14 -2
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Android.mk +5 -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 +4 -4
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Binding.cpp +308 -103
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Binding.h +33 -8
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/CoreComponentsRegistry.cpp +3 -6
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/EventEmitterWrapper.cpp +22 -2
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/EventEmitterWrapper.h +4 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/OnLoad.cpp +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/StateWrapperImpl.cpp +16 -2
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/StateWrapperImpl.h +3 -1
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/SurfaceHandlerBinding.cpp +122 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/SurfaceHandlerBinding.h +68 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountItemDispatcher.java +414 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountingManager.java +134 -71
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.java +247 -40
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/IntBufferBatchMountItem.java +4 -6
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/PreAllocateViewMountItem.java +13 -6
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/SendAccessibilityEvent.java +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/jscexecutor/Android.mk +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/jstasks/HeadlessJsTaskContext.java +3 -3
- package/ReactAndroid/src/main/java/com/facebook/react/modules/accessibilityinfo/AccessibilityInfoModule.java +21 -4
- package/ReactAndroid/src/main/java/com/facebook/react/modules/accessibilityinfo/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/appearance/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/appstate/AppStateModule.java +11 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/appstate/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobProvider.java +35 -7
- package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/jni/Android.mk +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/jni/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/bundleloader/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/camera/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/{JavaScriptTimerManager.java → JavaScriptTimerExecutor.java} +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/JavaTimerManager.java +7 -7
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/TimingModule.java +7 -4
- package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/AnimationsDebugModule.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/deviceinfo/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/deviceinfo/DeviceInfoModule.java +19 -8
- package/ReactAndroid/src/main/java/com/facebook/react/modules/dialog/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/dialog/DialogModule.java +12 -4
- package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/FrescoModule.java +10 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/i18nmanager/BUCK +2 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/i18nmanager/I18nManagerModule.java +19 -13
- package/ReactAndroid/src/main/java/com/facebook/react/modules/image/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/intent/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/intent/IntentModule.java +23 -19
- package/ReactAndroid/src/main/java/com/facebook/react/modules/network/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ForwardingCookieHandler.java +1 -4
- package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkingModule.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/network/OkHttpClientProvider.java +1 -18
- package/ReactAndroid/src/main/java/com/facebook/react/modules/permissions/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/share/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/sound/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/statusbar/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/storage/AsyncStorageModule.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/storage/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/BUCK +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/toast/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/vibration/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/websocket/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/ReconnectingWebSocket.java +11 -9
- package/ReactAndroid/src/main/java/com/facebook/react/reactperflogger/jni/Android.mk +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/reactperflogger/jni/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/shell/BUCK +0 -2
- package/ReactAndroid/src/main/java/com/facebook/react/shell/MainReactPackage.java +0 -9
- package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/BUCK +0 -1
- package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/TurboModuleManager.java +9 -6
- package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/TurboModuleManagerDelegate.java +3 -0
- package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/interfaces/TurboModule.java +4 -4
- package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/Android.mk +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/BUCK +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/ReactCommon/TurboModuleManager.cpp +40 -7
- package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/ReactCommon/TurboModuleManager.h +10 -2
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BUCK +3 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java +15 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ComponentNameResolver.java +17 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ComponentNameResolverManager.java +41 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/DisplayMetricsHolder.java +7 -28
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/FabricViewStateManager.java +2 -11
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSTouchDispatcher.java +14 -5
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyManager.java +4 -13
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyOptimizer.java +10 -13
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/OnLayoutEvent.java +17 -6
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/PixelUtil.java +1 -6
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactAccessibilityDelegate.java +16 -10
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactClippingProhibitedView.java +26 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactClippingViewGroupHelper.java +5 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactOverflowView.java +25 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/RootViewUtil.java +18 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/StateWrapper.java +21 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TouchTargetHelper.java +162 -66
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIImplementation.java +4 -8
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIImplementationProvider.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerHelper.java +29 -20
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java +15 -17
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModuleConstantsHelper.java +1 -2
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIViewOperationQueue.java +13 -6
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManager.java +7 -4
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagerRegistry.java +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagerResolver.java +26 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagersPropertyCache.java +16 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/ContentSizeChangeEvent.java +8 -3
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/Event.java +100 -8
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/LockFreeEventDispatcherImpl.java +236 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTModernEventEmitter.java +8 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/ReactEventEmitter.java +21 -7
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchEvent.java +58 -4
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/interfaces/ViewProps.java +10 -2
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/jni/Android.mk +37 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/jni/BUCK +41 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/jni/ComponentNameResolverManager.cpp +77 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/jni/ComponentNameResolverManager.h +54 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/jni/OnLoad.cpp +16 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/ReactDrawerLayoutManager.java +12 -4
- package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/events/DrawerClosedEvent.java +9 -10
- package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/events/DrawerOpenedEvent.java +9 -10
- package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/events/DrawerSlideEvent.java +7 -13
- package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/events/DrawerStateChangedEvent.java +7 -13
- package/ReactAndroid/src/main/java/com/facebook/react/views/image/ImageLoadEvent.java +2 -16
- package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageManager.java +10 -5
- package/ReactAndroid/src/main/java/com/facebook/react/views/modal/BUCK +2 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostManager.java +12 -3
- package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.java +23 -12
- package/ReactAndroid/src/main/java/com/facebook/react/views/modal/RequestCloseEvent.java +12 -4
- package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ShowEvent.java +12 -4
- package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/BUCK +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollContainerView.java +29 -6
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +184 -24
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollViewManager.java +9 -4
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +109 -12
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewHelper.java +18 -3
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewManager.java +9 -4
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ScrollEvent.java +37 -20
- package/ReactAndroid/src/main/java/com/facebook/react/views/slider/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/slider/ReactSliderEvent.java +0 -5
- package/ReactAndroid/src/main/java/com/facebook/react/views/slider/ReactSliderManager.java +5 -7
- package/ReactAndroid/src/main/java/com/facebook/react/views/slider/ReactSlidingCompleteEvent.java +13 -16
- package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/RefreshEvent.java +12 -4
- package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/SwipeRefreshLayoutManager.java +2 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitch.java +13 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitchEvent.java +9 -13
- package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitchManager.java +6 -10
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/BUCK +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/CustomStyleSpan.java +6 -8
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactClickableSpan.java +2 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactFontManager.java +59 -44
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextAnchorViewManager.java +0 -4
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextShadowNode.java +32 -4
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextView.java +19 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManager.java +48 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTypefaceUtils.java +41 -59
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributeProps.java +230 -139
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.java +45 -20
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManagerMapBuffer.java +616 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/TypefaceStyle.java +72 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/BUCK +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactContentSizeChangedEvent.java +3 -13
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java +19 -8
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditTextInputConnectionWrapper.java +3 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextChangedEvent.java +3 -13
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputBlurEvent.java +3 -13
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputEndEditingEvent.java +3 -13
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputEvent.java +3 -13
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputFocusEvent.java +8 -18
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputKeyPressEvent.java +9 -20
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.java +126 -63
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputSelectionEvent.java +3 -13
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputSubmitEditingEvent.java +8 -18
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/CanvasUtil.java +92 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewBackgroundDrawable.java +39 -8
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.java +49 -2
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManager.java +3 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ViewGroupClickEvent.java +11 -4
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNode.java +13 -7
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeJNIBase.java +24 -2
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaProps.java +151 -0
- package/ReactAndroid/src/main/jni/first-party/fb/BUCK +4 -0
- package/ReactAndroid/src/main/jni/first-party/yogajni/jni/YGJNIVanilla.cpp +2 -7
- package/ReactAndroid/src/main/jni/first-party/yogajni/jni/YGJTypesVanilla.h +8 -4
- package/ReactAndroid/src/main/jni/react/jni/Android.mk +6 -3
- package/ReactAndroid/src/main/jni/react/jni/BUCK +5 -2
- package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.cpp +61 -0
- package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.h +8 -0
- package/ReactAndroid/src/main/jni/react/jni/JReactCxxErrorHandler.cpp +18 -0
- package/{ReactCommon/react/renderer/components/picker/iospicker/primitives.h → ReactAndroid/src/main/jni/react/jni/JReactCxxErrorHandler.h} +6 -10
- package/ReactAndroid/src/main/jni/react/jni/JReactSoftExceptionLogger.cpp +21 -0
- package/ReactAndroid/src/main/jni/react/jni/JReactSoftExceptionLogger.h +28 -0
- package/{ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDialogPickerComponentDescriptor.h → ReactAndroid/src/main/jni/react/jni/JRuntimeScheduler.cpp} +8 -7
- package/ReactAndroid/src/main/jni/react/jni/JRuntimeScheduler.h +30 -0
- package/ReactAndroid/src/main/jni/react/jni/JSLoader.cpp +1 -1
- package/ReactAndroid/src/main/jni/react/jni/JavaModuleWrapper.cpp +0 -94
- package/ReactAndroid/src/main/jni/react/jni/JavaModuleWrapper.h +0 -30
- package/ReactAndroid/src/main/jni/react/jni/ProxyExecutor.h +1 -0
- package/ReactAndroid/src/main/jni/third-party/boost/Android.mk +7 -2
- package/ReactAndroid/src/main/jni/third-party/boost/asm/arm/jump_arm_aapcs_elf_gas.S +86 -0
- package/ReactAndroid/src/main/jni/third-party/boost/asm/arm/make_arm_aapcs_elf_gas.S +79 -0
- package/ReactAndroid/src/main/jni/third-party/boost/asm/arm/ontop_arm_aapcs_elf_gas.S +91 -0
- package/ReactAndroid/src/main/jni/third-party/boost/asm/arm64/jump_arm64_aapcs_elf_gas.S +114 -0
- package/ReactAndroid/src/main/jni/third-party/boost/asm/arm64/make_arm64_aapcs_elf_gas.S +85 -0
- package/ReactAndroid/src/main/jni/third-party/boost/asm/arm64/ontop_arm64_aapcs_elf_gas.S +113 -0
- package/ReactAndroid/src/main/jni/third-party/boost/asm/x86/jump_i386_sysv_elf_gas.S +78 -0
- package/ReactAndroid/src/main/jni/third-party/boost/asm/x86/make_i386_sysv_elf_gas.S +106 -0
- package/ReactAndroid/src/main/jni/third-party/boost/asm/x86/ontop_i386_sysv_elf_gas.S +85 -0
- package/ReactAndroid/src/main/jni/third-party/boost/asm/x86_64/jump_x86_64_sysv_elf_gas.S +76 -0
- package/ReactAndroid/src/main/jni/third-party/boost/asm/x86_64/make_x86_64_sysv_elf_gas.S +81 -0
- package/ReactAndroid/src/main/jni/third-party/boost/asm/x86_64/ontop_x86_64_sysv_elf_gas.S +79 -0
- package/ReactAndroid/src/main/jni/third-party/fmt/Android.mk +15 -0
- package/ReactAndroid/src/main/jni/third-party/folly/Android.mk +36 -16
- package/ReactAndroid/src/main/jni/third-party/libevent/Android.mk +36 -0
- package/ReactAndroid/src/main/jni/third-party/libevent/evconfig-private.h +49 -0
- package/{third-party-podspecs/libevent.podspec → ReactAndroid/src/main/jni/third-party/libevent/event-config.h} +141 -366
- package/ReactAndroid/src/main/libraries/fbjni/BUCK +2 -2
- package/ReactAndroid/src/main/libraries/fresco/fresco-react-native/BUCK +26 -26
- package/ReactAndroid/src/main/libraries/soloader/java/com/facebook/soloader/BUCK +5 -5
- package/ReactAndroid/src/main/res/devsupport/values/strings.xml +2 -1
- package/ReactAndroid/src/main/res/views/uimanager/values/strings_unlocalized.xml +4 -8
- package/ReactAndroid/src/main/third-party/android/androidx/BUCK +63 -2
- package/ReactAndroid/src/main/third-party/java/infer-annotations/BUCK +2 -2
- package/ReactAndroid/src/main/third-party/java/okhttp/BUCK +29 -9
- package/ReactAndroid/src/main/third-party/java/okio/BUCK +15 -5
- package/ReactAndroid/src/main/third-party/java/robolectric/{4.4/BUCK → BUCK} +0 -0
- package/ReactAndroid/src/main/third-party/java/testing-support-lib/BUCK +0 -31
- package/ReactAndroid/src/main/third-party/kotlin/BUCK +91 -0
- package/ReactAndroid/src/test/java/com/facebook/react/RootViewTest.java +8 -3
- package/ReactAndroid/src/test/java/com/facebook/react/animated/NativeAnimatedNodeTraversalTest.java +1 -1
- package/ReactAndroid/src/test/java/com/facebook/react/bridge/BUCK +1 -1
- package/ReactAndroid/src/test/java/com/facebook/react/bridge/ReactTestHelper.java +1 -0
- package/ReactAndroid/src/test/java/com/facebook/react/devsupport/JSDebuggerWebSocketClientTest.java +3 -1
- package/ReactAndroid/src/test/java/com/facebook/react/modules/BUCK +1 -0
- package/ReactAndroid/src/test/java/com/facebook/react/modules/deviceinfo/DeviceInfoModuleTest.java +168 -0
- package/ReactAndroid/src/test/java/com/facebook/react/modules/dialog/DialogModuleTest.java +1 -1
- package/ReactAndroid/src/test/java/com/facebook/react/modules/network/NetworkingModuleTest.java +10 -10
- package/ReactAndroid/src/test/java/com/facebook/react/modules/timing/TimingModuleTest.java +1 -1
- package/ReactAndroid/src/test/java/com/facebook/react/uimanager/BaseViewManagerTest.java +32 -0
- package/ReactAndroid/src/test/java/com/facebook/react/views/image/ReactImagePropertyTest.java +8 -0
- package/ReactAndroid/src/test/java/com/facebook/react/views/textinput/ReactTextInputPropertyTest.java +4 -0
- package/ReactCommon/React-Fabric.podspec +58 -14
- package/ReactCommon/ReactCommon.podspec +8 -3
- package/ReactCommon/better/Android.mk +1 -1
- package/ReactCommon/better/BUCK +2 -2
- package/ReactCommon/callinvoker/Android.mk +1 -1
- package/ReactCommon/callinvoker/BUCK +3 -3
- package/ReactCommon/callinvoker/React-callinvoker.podspec +3 -3
- package/ReactCommon/cxxreact/Android.mk +2 -1
- package/ReactCommon/cxxreact/BUCK +2 -4
- package/ReactCommon/cxxreact/CxxNativeModule.cpp +28 -0
- package/ReactCommon/cxxreact/CxxNativeModule.h +9 -0
- package/ReactCommon/cxxreact/Instance.cpp +21 -1
- package/ReactCommon/cxxreact/MethodCall.cpp +2 -2
- package/ReactCommon/cxxreact/ModuleRegistry.cpp +5 -0
- package/ReactCommon/cxxreact/NativeToJsBridge.cpp +0 -21
- package/ReactCommon/cxxreact/NativeToJsBridge.h +0 -6
- package/ReactCommon/cxxreact/React-cxxreact.podspec +5 -4
- package/ReactCommon/cxxreact/ReactNativeVersion.h +1 -1
- package/ReactCommon/hermes/React-hermes.podspec +5 -5
- package/ReactCommon/hermes/executor/Android.mk +4 -4
- package/ReactCommon/hermes/inspector/Android.mk +1 -2
- package/ReactCommon/hermes/inspector/BUCK +8 -5
- package/ReactCommon/hermes/inspector/chrome/Connection.cpp +115 -0
- package/ReactCommon/hermes/inspector/chrome/MessageTypes.cpp +215 -1
- package/ReactCommon/hermes/inspector/chrome/MessageTypes.h +115 -1
- package/ReactCommon/hermes/inspector/chrome/tests/ConnectionTests.cpp +144 -0
- package/ReactCommon/hermes/inspector/tools/message_types.txt +4 -0
- package/ReactCommon/hermes/inspector/tools/msggen/__tests__/CommandTest.js +1 -3
- package/ReactCommon/hermes/inspector/tools/msggen/__tests__/EventTest.js +1 -3
- package/ReactCommon/hermes/inspector/tools/msggen/__tests__/GraphTest.js +1 -3
- package/ReactCommon/hermes/inspector/tools/msggen/__tests__/HeaderWriterTest.js +1 -3
- package/ReactCommon/hermes/inspector/tools/msggen/__tests__/ImplementationWriterTest.js +1 -3
- package/ReactCommon/hermes/inspector/tools/msggen/__tests__/PropertyTest.js +1 -3
- package/ReactCommon/hermes/inspector/tools/msggen/__tests__/TypeTest.js +1 -3
- package/ReactCommon/hermes/inspector/tools/msggen/package.json +8 -5
- package/ReactCommon/hermes/inspector/tools/msggen/src/Command.js +0 -2
- package/ReactCommon/hermes/inspector/tools/msggen/src/Converters.js +0 -2
- package/ReactCommon/hermes/inspector/tools/msggen/src/Event.js +0 -2
- package/ReactCommon/hermes/inspector/tools/msggen/src/Graph.js +0 -2
- package/ReactCommon/hermes/inspector/tools/msggen/src/HeaderWriter.js +0 -2
- package/ReactCommon/hermes/inspector/tools/msggen/src/ImplementationWriter.js +0 -2
- package/ReactCommon/hermes/inspector/tools/msggen/src/Property.js +1 -2
- package/ReactCommon/hermes/inspector/tools/msggen/src/TestHelpers.js +1 -3
- package/ReactCommon/hermes/inspector/tools/msggen/src/Type.js +0 -2
- package/ReactCommon/hermes/inspector/tools/msggen/src/index.js +1 -3
- package/ReactCommon/hermes/inspector/tools/msggen/yarn.lock +2246 -1419
- package/ReactCommon/jsi/Android.mk +1 -1
- package/ReactCommon/jsi/BUCK +1 -3
- package/ReactCommon/jsi/JSCRuntime.cpp +7 -0
- package/ReactCommon/jsi/React-jsi.podspec +4 -4
- package/ReactCommon/jsi/jsi/CMakeLists.txt +1 -1
- package/ReactCommon/jsi/jsi/decorator.h +15 -0
- package/ReactCommon/jsi/jsi/instrumentation.h +13 -0
- package/ReactCommon/jsi/jsi/jsi.cpp +3 -0
- package/ReactCommon/jsi/jsi/jsi.h +31 -2
- package/ReactCommon/jsi/jsi/jsilib-posix.cpp +1 -11
- package/ReactCommon/jsiexecutor/Android.mk +2 -2
- package/ReactCommon/jsiexecutor/React-jsiexecutor.podspec +3 -3
- package/ReactCommon/jsiexecutor/jsireact/JSIExecutor.cpp +36 -3
- package/ReactCommon/jsiexecutor/jsireact/JSINativeModules.cpp +2 -0
- package/ReactCommon/jsinspector/BUCK +2 -0
- package/ReactCommon/jsinspector/React-jsinspector.podspec +1 -1
- package/ReactCommon/logger/Android.mk +23 -0
- package/ReactCommon/logger/BUCK +43 -0
- package/ReactCommon/logger/React-logger.podspec +40 -0
- package/ReactCommon/logger/react_native_log.cpp +52 -0
- package/ReactCommon/logger/react_native_log.h +33 -0
- package/ReactCommon/react/config/Android.mk +1 -1
- package/ReactCommon/react/config/BUCK +1 -1
- package/ReactCommon/react/debug/Android.mk +31 -0
- package/ReactCommon/react/debug/BUCK +69 -0
- package/ReactCommon/react/debug/flags.h +19 -0
- package/ReactCommon/react/debug/react_native_assert.cpp +45 -0
- package/ReactCommon/react/debug/react_native_assert.h +64 -0
- package/ReactCommon/react/nativemodule/core/Android.mk +3 -3
- package/ReactCommon/react/nativemodule/core/BUCK +3 -3
- package/ReactCommon/react/nativemodule/core/ReactCommon/LongLivedObject.cpp +1 -0
- package/ReactCommon/react/nativemodule/core/ReactCommon/LongLivedObject.h +3 -2
- package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModule.cpp +1 -1
- package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleBinding.cpp +46 -1
- package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleBinding.h +10 -0
- package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleUtils.h +55 -1
- package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.cpp +76 -42
- package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.h +11 -1
- package/ReactCommon/react/nativemodule/core/platform/ios/RCTBlockGuard.h +24 -0
- package/ReactCommon/react/nativemodule/core/platform/ios/RCTBlockGuard.mm +28 -0
- package/ReactCommon/react/nativemodule/core/platform/ios/RCTTurboModule.h +7 -16
- package/ReactCommon/react/nativemodule/core/platform/ios/RCTTurboModule.mm +79 -32
- package/ReactCommon/react/nativemodule/core/platform/ios/RCTTurboModuleManager.h +0 -7
- package/ReactCommon/react/nativemodule/core/platform/ios/RCTTurboModuleManager.mm +123 -127
- package/ReactCommon/react/nativemodule/samples/BUCK +4 -5
- package/ReactCommon/react/nativemodule/samples/platform/android/Android.mk +2 -2
- package/ReactCommon/react/nativemodule/samples/platform/ios/RCTSampleTurboCxxModule.mm +12 -0
- package/ReactCommon/react/nativemodule/samples/platform/ios/RCTSampleTurboModule.mm +0 -2
- package/ReactCommon/react/renderer/animations/Android.mk +3 -2
- package/ReactCommon/react/renderer/animations/BUCK +6 -3
- package/ReactCommon/react/renderer/animations/LayoutAnimationCallbackWrapper.h +34 -0
- package/ReactCommon/react/renderer/animations/LayoutAnimationDriver.cpp +11 -66
- package/ReactCommon/react/renderer/animations/LayoutAnimationDriver.h +8 -13
- package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.cpp +1117 -1147
- package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.h +98 -243
- package/ReactCommon/react/renderer/animations/conversions.h +212 -0
- package/ReactCommon/react/renderer/animations/primitives.h +104 -0
- package/ReactCommon/react/renderer/animations/tests/LayoutAnimationTest.cpp +544 -0
- package/ReactCommon/react/renderer/animations/utils.cpp +71 -0
- package/ReactCommon/react/renderer/animations/utils.h +80 -0
- package/ReactCommon/react/renderer/attributedstring/Android.mk +4 -2
- package/ReactCommon/react/renderer/attributedstring/AttributedString.h +0 -1
- package/ReactCommon/react/renderer/attributedstring/AttributedStringBox.cpp +28 -6
- package/ReactCommon/react/renderer/attributedstring/AttributedStringBox.h +2 -2
- package/ReactCommon/react/renderer/attributedstring/BUCK +9 -4
- package/ReactCommon/react/renderer/attributedstring/ParagraphAttributes.cpp +7 -3
- package/ReactCommon/react/renderer/attributedstring/ParagraphAttributes.h +12 -2
- package/ReactCommon/react/renderer/attributedstring/TextAttributes.cpp +7 -2
- package/ReactCommon/react/renderer/attributedstring/TextAttributes.h +3 -1
- package/ReactCommon/react/renderer/attributedstring/conversions.h +718 -305
- package/ReactCommon/react/renderer/attributedstring/primitives.h +34 -1
- package/ReactCommon/react/renderer/attributedstring/tests/AttributedStringBoxTest.cpp +105 -0
- package/ReactCommon/react/renderer/attributedstring/tests/AttributedStringTest.cpp +17 -20
- package/ReactCommon/react/renderer/attributedstring/tests/ParagraphAttributesTest.cpp +7 -12
- package/ReactCommon/react/renderer/attributedstring/tests/TextAttributesTest.cpp +13 -15
- package/ReactCommon/react/renderer/componentregistry/Android.mk +3 -2
- package/ReactCommon/react/renderer/componentregistry/BUCK +5 -4
- package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorProviderRegistry.cpp +2 -2
- package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorProviderRegistry.h +1 -0
- package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorRegistry.cpp +17 -67
- package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorRegistry.h +4 -1
- package/ReactCommon/react/renderer/componentregistry/componentNameByReactViewName.cpp +73 -0
- package/ReactCommon/react/renderer/{components/picker/iospicker/PickerShadowNode.cpp → componentregistry/componentNameByReactViewName.h} +7 -2
- package/ReactCommon/react/renderer/componentregistry/native/Android.mk +29 -0
- package/ReactCommon/react/renderer/componentregistry/native/BUCK +58 -0
- package/ReactCommon/react/renderer/componentregistry/native/NativeComponentRegistryBinding.cpp +68 -0
- package/ReactCommon/react/renderer/componentregistry/native/NativeComponentRegistryBinding.h +61 -0
- package/ReactCommon/react/renderer/components/image/Android.mk +5 -3
- package/ReactCommon/react/renderer/components/image/BUCK +7 -3
- package/ReactCommon/react/renderer/components/image/ImageComponentDescriptor.h +3 -2
- package/ReactCommon/react/renderer/components/image/ImageProps.cpp +28 -9
- package/ReactCommon/react/renderer/components/image/ImageProps.h +5 -1
- package/ReactCommon/react/renderer/components/image/ImageState.h +9 -1
- package/ReactCommon/react/renderer/components/image/conversions.h +29 -18
- package/ReactCommon/react/renderer/components/inputaccessory/BUCK +4 -3
- package/ReactCommon/react/renderer/components/inputaccessory/InputAccessoryComponentDescriptor.h +5 -3
- package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/BUCK +3 -3
- package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropComponentDescriptor.h +1 -1
- package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropComponentDescriptor.mm +17 -4
- package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropViewProps.cpp +5 -10
- package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropViewProps.h +2 -0
- package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/RCTLegacyViewManagerInteropCoordinator.h +1 -1
- package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/RCTLegacyViewManagerInteropCoordinator.mm +69 -12
- package/ReactCommon/react/renderer/components/modal/Android.mk +4 -3
- package/ReactCommon/react/renderer/components/modal/BUCK +6 -2
- package/ReactCommon/react/renderer/components/modal/ModalHostViewComponentDescriptor.h +5 -3
- package/ReactCommon/react/renderer/components/modal/ModalHostViewState.h +6 -0
- package/ReactCommon/react/renderer/components/progressbar/Android.mk +3 -3
- package/ReactCommon/react/renderer/components/progressbar/BUCK +4 -3
- package/ReactCommon/react/renderer/components/progressbar/android/react/renderer/components/progressbar/AndroidProgressBarComponentDescriptor.h +4 -2
- package/ReactCommon/react/renderer/components/root/Android.mk +4 -3
- package/ReactCommon/react/renderer/components/root/BUCK +4 -3
- package/ReactCommon/react/renderer/components/root/RootProps.cpp +12 -2
- package/ReactCommon/react/renderer/components/root/RootProps.h +6 -1
- package/ReactCommon/react/renderer/components/root/RootShadowNode.cpp +7 -1
- package/ReactCommon/react/renderer/components/root/RootShadowNode.h +2 -0
- package/ReactCommon/react/renderer/components/root/tests/RootShadowNodeTest.cpp +35 -3
- package/ReactCommon/react/renderer/components/safeareaview/BUCK +4 -3
- package/ReactCommon/react/renderer/components/safeareaview/SafeAreaViewComponentDescriptor.h +5 -3
- package/ReactCommon/react/renderer/components/scrollview/Android.mk +5 -3
- package/ReactCommon/react/renderer/components/scrollview/BUCK +6 -3
- package/ReactCommon/react/renderer/components/scrollview/ScrollViewProps.cpp +59 -6
- package/ReactCommon/react/renderer/components/scrollview/ScrollViewProps.h +10 -5
- package/ReactCommon/react/renderer/components/scrollview/ScrollViewShadowNode.cpp +23 -2
- package/ReactCommon/react/renderer/components/scrollview/ScrollViewShadowNode.h +1 -0
- package/ReactCommon/react/renderer/components/scrollview/ScrollViewState.cpp +1 -1
- package/ReactCommon/react/renderer/components/scrollview/ScrollViewState.h +12 -2
- package/ReactCommon/react/renderer/components/scrollview/conversions.h +5 -0
- package/ReactCommon/react/renderer/components/slider/Android.mk +4 -3
- package/ReactCommon/react/renderer/components/slider/BUCK +5 -3
- package/ReactCommon/react/renderer/components/slider/SliderComponentDescriptor.h +4 -2
- package/ReactCommon/react/renderer/components/slider/SliderState.h +8 -0
- package/ReactCommon/react/renderer/components/slider/platform/ios/SliderMeasurementsManager.cpp +3 -1
- package/ReactCommon/react/renderer/components/switch/Android.mk +3 -3
- package/ReactCommon/react/renderer/components/switch/BUCK +3 -3
- package/ReactCommon/react/renderer/components/switch/androidswitch/react/renderer/components/androidswitch/AndroidSwitchComponentDescriptor.h +4 -2
- package/ReactCommon/react/renderer/components/text/Android.mk +5 -3
- package/ReactCommon/react/renderer/components/text/BUCK +10 -4
- package/ReactCommon/react/renderer/components/text/BaseTextProps.cpp +32 -0
- package/ReactCommon/react/renderer/components/text/BaseTextProps.h +5 -1
- package/ReactCommon/react/renderer/components/text/BaseTextShadowNode.cpp +2 -3
- package/ReactCommon/react/renderer/components/text/ParagraphComponentDescriptor.h +5 -24
- package/ReactCommon/react/renderer/components/text/ParagraphProps.cpp +15 -6
- package/ReactCommon/react/renderer/components/text/ParagraphProps.h +5 -1
- package/ReactCommon/react/renderer/components/text/ParagraphShadowNode.cpp +9 -16
- package/ReactCommon/react/renderer/components/text/ParagraphShadowNode.h +7 -6
- package/ReactCommon/react/renderer/components/text/ParagraphState.cpp +4 -0
- package/ReactCommon/react/renderer/components/text/ParagraphState.h +8 -3
- package/ReactCommon/react/renderer/components/text/RawTextProps.cpp +3 -2
- package/ReactCommon/react/renderer/components/text/RawTextProps.h +5 -1
- package/ReactCommon/react/renderer/components/text/RawTextShadowNode.h +36 -2
- package/ReactCommon/react/renderer/components/text/TextProps.cpp +6 -3
- package/ReactCommon/react/renderer/components/text/TextProps.h +5 -1
- package/ReactCommon/react/renderer/components/text/TextShadowNode.h +23 -0
- package/ReactCommon/react/renderer/components/text/conversions.h +22 -0
- package/ReactCommon/react/renderer/components/text/tests/ParagraphLocalDataTest.cpp +8 -5
- package/ReactCommon/react/renderer/components/textinput/Android.mk +5 -3
- package/ReactCommon/react/renderer/components/textinput/BUCK +8 -4
- package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputComponentDescriptor.h +8 -5
- package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputProps.cpp +58 -91
- package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputProps.h +10 -6
- package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputShadowNode.cpp +2 -8
- package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputShadowNode.h +5 -5
- package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputState.cpp +0 -3
- package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputState.h +5 -8
- package/ReactCommon/react/renderer/components/textinput/iostextinput/BUCK +5 -4
- package/ReactCommon/react/renderer/components/textinput/iostextinput/TextInputComponentDescriptor.h +4 -2
- package/ReactCommon/react/renderer/components/textinput/iostextinput/TextInputProps.cpp +46 -22
- package/ReactCommon/react/renderer/components/textinput/iostextinput/TextInputProps.h +6 -5
- package/ReactCommon/react/renderer/components/textinput/iostextinput/TextInputShadowNode.cpp +3 -2
- package/ReactCommon/react/renderer/components/textinput/iostextinput/TextInputShadowNode.h +6 -6
- package/ReactCommon/react/renderer/components/textinput/iostextinput/TextInputState.h +2 -0
- package/ReactCommon/react/renderer/components/textinput/iostextinput/conversions.h +19 -7
- package/ReactCommon/react/renderer/components/textinput/iostextinput/primitives.h +6 -0
- package/ReactCommon/react/renderer/components/textinput/iostextinput/propsConversions.h +63 -2
- package/ReactCommon/react/renderer/components/unimplementedview/Android.mk +4 -3
- package/ReactCommon/react/renderer/components/unimplementedview/BUCK +4 -3
- package/ReactCommon/react/renderer/components/unimplementedview/UnimplementedViewComponentDescriptor.cpp +8 -3
- package/ReactCommon/react/renderer/components/unimplementedview/UnimplementedViewComponentDescriptor.h +5 -2
- package/ReactCommon/react/renderer/components/unimplementedview/UnimplementedViewProps.h +1 -0
- package/ReactCommon/react/renderer/components/view/AccessibilityPrimitives.h +28 -0
- package/ReactCommon/react/renderer/components/view/AccessibilityProps.cpp +24 -1
- package/ReactCommon/react/renderer/components/view/AccessibilityProps.h +4 -1
- package/ReactCommon/react/renderer/components/view/Android.mk +6 -4
- package/ReactCommon/react/renderer/components/view/BUCK +5 -3
- package/ReactCommon/react/renderer/components/view/TouchEventEmitter.cpp +19 -5
- package/ReactCommon/react/renderer/components/view/TouchEventEmitter.h +2 -1
- package/ReactCommon/react/renderer/components/view/ViewComponentDescriptor.h +0 -22
- package/ReactCommon/react/renderer/components/view/ViewEventEmitter.cpp +1 -1
- package/ReactCommon/react/renderer/components/view/ViewProps.cpp +62 -14
- package/ReactCommon/react/renderer/components/view/ViewProps.h +7 -1
- package/ReactCommon/react/renderer/components/view/ViewPropsInterpolation.h +5 -8
- package/ReactCommon/react/renderer/components/view/ViewShadowNode.cpp +5 -19
- package/ReactCommon/react/renderer/components/view/ViewShadowNode.h +1 -1
- package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.cpp +147 -78
- package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.h +4 -9
- package/ReactCommon/react/renderer/components/view/YogaStylableProps.cpp +3 -2
- package/ReactCommon/react/renderer/components/view/YogaStylableProps.h +2 -0
- package/ReactCommon/react/renderer/components/view/accessibilityPropsConversions.h +99 -24
- package/ReactCommon/react/renderer/components/view/conversions.h +89 -45
- package/ReactCommon/react/renderer/components/view/primitives.h +5 -4
- package/ReactCommon/react/renderer/components/view/propsConversions.h +163 -28
- package/ReactCommon/react/renderer/components/view/tests/ViewTest.cpp +11 -2
- package/ReactCommon/react/renderer/core/Android.mk +4 -2
- package/ReactCommon/react/renderer/core/BUCK +7 -4
- package/ReactCommon/react/renderer/core/BatchedEventQueue.cpp +2 -34
- package/ReactCommon/react/renderer/core/BatchedEventQueue.h +2 -9
- package/ReactCommon/react/renderer/core/ComponentDescriptor.h +6 -3
- package/ReactCommon/react/renderer/core/ConcreteComponentDescriptor.h +28 -27
- package/ReactCommon/react/renderer/core/ConcreteShadowNode.h +11 -5
- package/ReactCommon/react/renderer/core/ConcreteState.h +7 -3
- package/ReactCommon/react/renderer/core/DynamicPropsUtilities.cpp +35 -0
- package/ReactCommon/react/renderer/{components/picker/iospicker/PickerState.h → core/DynamicPropsUtilities.h} +5 -4
- package/ReactCommon/react/renderer/core/EventDispatcher.cpp +9 -15
- package/ReactCommon/react/renderer/core/EventDispatcher.h +5 -10
- package/ReactCommon/react/renderer/core/EventEmitter.cpp +22 -12
- package/ReactCommon/react/renderer/core/EventEmitter.h +7 -2
- package/ReactCommon/react/renderer/core/EventPipe.h +2 -0
- package/ReactCommon/react/renderer/core/EventPriority.h +1 -1
- package/ReactCommon/react/renderer/core/EventQueue.cpp +39 -36
- package/ReactCommon/react/renderer/core/EventQueue.h +14 -8
- package/ReactCommon/react/renderer/core/EventQueueProcessor.cpp +82 -0
- package/ReactCommon/react/renderer/core/EventQueueProcessor.h +36 -0
- package/ReactCommon/react/renderer/core/EventTarget.cpp +4 -2
- package/ReactCommon/react/renderer/core/LayoutConstraints.h +6 -0
- package/ReactCommon/react/renderer/core/LayoutMetrics.cpp +65 -0
- package/ReactCommon/react/renderer/core/LayoutMetrics.h +35 -2
- package/ReactCommon/react/renderer/core/LayoutPrimitives.h +14 -6
- package/ReactCommon/react/renderer/core/LayoutableShadowNode.cpp +1 -1
- package/ReactCommon/react/renderer/core/LayoutableShadowNode.h +2 -7
- package/ReactCommon/react/renderer/core/Props.cpp +10 -2
- package/ReactCommon/react/renderer/core/Props.h +6 -1
- package/ReactCommon/react/renderer/core/PropsParserContext.h +29 -0
- package/ReactCommon/react/renderer/core/RawEvent.cpp +4 -2
- package/ReactCommon/react/renderer/core/RawEvent.h +40 -3
- package/ReactCommon/react/renderer/core/RawProps.cpp +5 -3
- package/ReactCommon/react/renderer/core/RawProps.h +3 -1
- package/ReactCommon/react/renderer/core/RawPropsKey.cpp +18 -7
- package/ReactCommon/react/renderer/core/RawPropsKeyMap.cpp +8 -6
- package/ReactCommon/react/renderer/core/RawPropsParser.cpp +10 -7
- package/ReactCommon/react/renderer/core/RawPropsParser.h +11 -2
- package/ReactCommon/react/renderer/core/RawValue.h +9 -7
- package/ReactCommon/react/renderer/core/ReactEventPriority.h +43 -0
- package/ReactCommon/react/renderer/core/ReactPrimitives.h +34 -2
- package/ReactCommon/react/renderer/core/Sealable.cpp +4 -3
- package/ReactCommon/react/renderer/core/Sealable.h +5 -1
- package/ReactCommon/react/renderer/core/ShadowNode.cpp +42 -13
- package/ReactCommon/react/renderer/core/ShadowNode.h +14 -4
- package/ReactCommon/react/renderer/core/ShadowNodeFamily.cpp +2 -1
- package/ReactCommon/react/renderer/core/ShadowNodeFamily.h +2 -1
- package/ReactCommon/react/renderer/core/ShadowNodeTraits.h +17 -1
- package/ReactCommon/react/renderer/core/State.h +3 -0
- package/ReactCommon/react/renderer/core/StateData.h +3 -0
- package/ReactCommon/react/renderer/core/propsConversions.h +19 -9
- package/ReactCommon/react/renderer/core/tests/ComponentDescriptorTest.cpp +16 -4
- package/ReactCommon/react/renderer/core/tests/ConcreteShadowNodeTest.cpp +1 -1
- package/ReactCommon/react/renderer/core/tests/DynamicPropsUtilitiesTest.cpp +66 -0
- package/ReactCommon/react/renderer/core/tests/EventQueueProcessorTest.cpp +134 -0
- package/ReactCommon/react/renderer/core/tests/RawPropsTest.cpp +99 -30
- package/ReactCommon/react/renderer/core/tests/TestComponent.h +11 -7
- package/ReactCommon/react/renderer/core/tests/traitCastTest.cpp +31 -0
- package/ReactCommon/react/renderer/debug/Android.mk +1 -1
- package/ReactCommon/react/renderer/debug/BUCK +4 -6
- package/ReactCommon/react/renderer/debug/DebugStringConvertible.h +11 -25
- package/ReactCommon/react/renderer/debug/flags.h +50 -0
- package/ReactCommon/react/renderer/element/BUCK +3 -3
- package/ReactCommon/react/renderer/graphics/Android.mk +7 -3
- package/ReactCommon/react/renderer/graphics/BUCK +16 -4
- package/ReactCommon/react/renderer/graphics/React-graphics.podspec +4 -3
- package/ReactCommon/react/renderer/graphics/Transform.cpp +5 -4
- package/ReactCommon/react/renderer/graphics/Transform.h +1 -1
- package/ReactCommon/react/renderer/graphics/conversions.h +102 -44
- package/ReactCommon/react/renderer/graphics/platform/android/react/renderer/graphics/PlatformColorParser.h +67 -0
- package/ReactCommon/react/renderer/graphics/platform/cxx/react/renderer/graphics/Color.cpp +14 -6
- package/ReactCommon/react/renderer/graphics/platform/cxx/react/renderer/graphics/Color.h +2 -0
- package/ReactCommon/react/renderer/graphics/platform/cxx/react/renderer/graphics/PlatformColorParser.h +29 -0
- package/ReactCommon/react/renderer/graphics/platform/ios/Color.cpp +14 -6
- package/ReactCommon/react/renderer/graphics/platform/ios/Color.h +44 -1
- package/ReactCommon/react/renderer/graphics/platform/ios/PlatformColorParser.h +34 -0
- package/ReactCommon/react/renderer/graphics/platform/ios/RCTPlatformColorUtils.h +12 -0
- package/ReactCommon/react/renderer/graphics/platform/ios/RCTPlatformColorUtils.mm +206 -0
- package/ReactCommon/react/renderer/imagemanager/Android.mk +3 -2
- package/ReactCommon/react/renderer/imagemanager/BUCK +5 -4
- package/ReactCommon/react/renderer/imagemanager/ImageResponseObserverCoordinator.cpp +5 -4
- package/ReactCommon/react/renderer/imagemanager/platform/ios/RCTImagePrimitivesConversions.h +8 -6
- package/ReactCommon/react/renderer/imagemanager/platform/ios/RCTSyncImageManager.mm +1 -1
- package/ReactCommon/react/renderer/leakchecker/Android.mk +29 -0
- package/ReactCommon/react/renderer/{components/picker/iospicker → leakchecker}/BUCK +8 -12
- package/ReactCommon/react/renderer/leakchecker/LeakChecker.cpp +60 -0
- package/ReactCommon/react/renderer/leakchecker/LeakChecker.h +39 -0
- package/ReactCommon/react/renderer/leakchecker/WeakFamilyRegistry.cpp +37 -0
- package/ReactCommon/react/renderer/leakchecker/WeakFamilyRegistry.h +39 -0
- package/ReactCommon/react/renderer/mapbuffer/Android.mk +9 -6
- package/ReactCommon/react/renderer/mapbuffer/BUCK +14 -5
- package/ReactCommon/react/renderer/mapbuffer/MapBuffer.cpp +131 -4
- package/ReactCommon/react/renderer/mapbuffer/MapBuffer.h +40 -4
- package/ReactCommon/react/renderer/mapbuffer/MapBufferBuilder.cpp +226 -0
- package/ReactCommon/react/renderer/mapbuffer/MapBufferBuilder.h +94 -0
- package/ReactCommon/react/renderer/mapbuffer/primitives.h +91 -0
- package/ReactCommon/react/renderer/mapbuffer/tests/MapBufferTest.cpp +141 -5
- package/ReactCommon/react/renderer/mounting/Android.mk +5 -2
- package/ReactCommon/react/renderer/mounting/BUCK +6 -3
- package/ReactCommon/react/renderer/mounting/Differentiator.cpp +794 -620
- package/ReactCommon/react/renderer/mounting/Differentiator.h +31 -4
- package/ReactCommon/react/renderer/mounting/MountingCoordinator.cpp +4 -2
- package/ReactCommon/react/renderer/mounting/MountingCoordinator.h +1 -4
- package/ReactCommon/react/renderer/mounting/MountingOverrideDelegate.h +1 -1
- package/ReactCommon/react/renderer/mounting/MountingTransaction.h +2 -2
- package/ReactCommon/react/renderer/mounting/MountingTransactionMetadata.h +1 -1
- package/ReactCommon/react/renderer/mounting/ShadowTree.cpp +19 -15
- package/ReactCommon/react/renderer/mounting/ShadowTree.h +11 -4
- package/ReactCommon/react/renderer/mounting/ShadowTreeRegistry.cpp +3 -1
- package/ReactCommon/react/renderer/mounting/ShadowTreeRevision.h +1 -1
- package/ReactCommon/react/renderer/mounting/ShadowView.cpp +15 -1
- package/ReactCommon/react/renderer/mounting/ShadowView.h +45 -2
- package/ReactCommon/react/renderer/mounting/ShadowViewMutation.cpp +28 -0
- package/ReactCommon/react/renderer/mounting/ShadowViewMutation.h +17 -0
- package/ReactCommon/react/renderer/mounting/StubView.cpp +21 -2
- package/ReactCommon/react/renderer/mounting/StubView.h +3 -0
- package/ReactCommon/react/renderer/mounting/StubViewTree.cpp +204 -77
- package/ReactCommon/react/renderer/mounting/TelemetryController.cpp +1 -1
- package/ReactCommon/react/renderer/mounting/TelemetryController.h +1 -1
- package/ReactCommon/react/renderer/mounting/stubs.cpp +5 -4
- package/ReactCommon/react/renderer/mounting/tests/MountingTest.cpp +13 -2
- package/ReactCommon/react/renderer/mounting/tests/ShadowTreeLifeCycleTest.cpp +232 -9
- package/ReactCommon/react/renderer/mounting/tests/StateReconciliationTest.cpp +18 -8
- package/ReactCommon/react/renderer/runtimescheduler/Android.mk +28 -0
- package/ReactCommon/react/renderer/runtimescheduler/BUCK +77 -0
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.cpp +118 -0
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.h +105 -0
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerBinding.cpp +171 -0
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerBinding.h +44 -0
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerCallInvoker.cpp +30 -0
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerCallInvoker.h +34 -0
- package/ReactCommon/react/renderer/{components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDropdownPickerComponentDescriptor.h → runtimescheduler/RuntimeSchedulerClock.h} +8 -5
- package/ReactCommon/react/renderer/runtimescheduler/SchedulerPriority.h +65 -0
- package/ReactCommon/react/renderer/runtimescheduler/Task.cpp +37 -0
- package/ReactCommon/react/renderer/runtimescheduler/Task.h +48 -0
- package/ReactCommon/react/renderer/runtimescheduler/primitives.h +41 -0
- package/ReactCommon/react/renderer/runtimescheduler/tests/RuntimeSchedulerTest.cpp +472 -0
- package/ReactCommon/react/renderer/runtimescheduler/tests/SchedulerPriorityTest.cpp +46 -0
- package/ReactCommon/react/renderer/runtimescheduler/tests/StubClock.h +41 -0
- package/ReactCommon/react/renderer/runtimescheduler/tests/StubQueue.h +38 -0
- package/ReactCommon/react/renderer/scheduler/Android.mk +4 -2
- package/ReactCommon/react/renderer/scheduler/AsynchronousEventBeat.cpp +16 -13
- package/ReactCommon/react/renderer/scheduler/AsynchronousEventBeat.h +4 -4
- package/ReactCommon/react/renderer/scheduler/BUCK +5 -3
- package/ReactCommon/react/renderer/{components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDialogPickerShadowNode.cpp → scheduler/InspectorData.h} +10 -2
- package/ReactCommon/react/renderer/scheduler/Scheduler.cpp +81 -132
- package/ReactCommon/react/renderer/scheduler/Scheduler.h +32 -35
- package/ReactCommon/react/renderer/scheduler/SchedulerDelegate.h +12 -10
- package/ReactCommon/react/renderer/scheduler/SchedulerToolbox.h +2 -0
- package/ReactCommon/react/renderer/scheduler/SurfaceHandler.cpp +317 -0
- package/ReactCommon/react/renderer/scheduler/SurfaceHandler.h +209 -0
- package/ReactCommon/react/renderer/scheduler/SurfaceManager.cpp +104 -0
- package/ReactCommon/react/renderer/scheduler/SurfaceManager.h +67 -0
- package/ReactCommon/react/renderer/scheduler/SynchronousEventBeat.cpp +14 -5
- package/ReactCommon/react/renderer/scheduler/SynchronousEventBeat.h +4 -1
- package/ReactCommon/react/renderer/telemetry/Android.mk +31 -0
- package/ReactCommon/react/renderer/telemetry/BUCK +84 -0
- package/ReactCommon/react/renderer/{mounting → telemetry}/SurfaceTelemetry.cpp +5 -0
- package/ReactCommon/react/renderer/{mounting → telemetry}/SurfaceTelemetry.h +3 -1
- package/ReactCommon/react/renderer/telemetry/TransactionTelemetry.cpp +163 -0
- package/ReactCommon/react/renderer/{mounting → telemetry}/TransactionTelemetry.h +11 -0
- package/ReactCommon/react/renderer/telemetry/tests/TransactionTelemetryTest.cpp +176 -0
- package/ReactCommon/react/renderer/templateprocessor/Android.mk +1 -1
- package/ReactCommon/react/renderer/templateprocessor/BUCK +3 -3
- package/ReactCommon/react/renderer/templateprocessor/UITemplateProcessor.cpp +5 -5
- package/ReactCommon/react/renderer/textlayoutmanager/Android.mk +5 -2
- package/ReactCommon/react/renderer/textlayoutmanager/BUCK +5 -3
- package/ReactCommon/react/renderer/textlayoutmanager/TextMeasureCache.cpp +12 -9
- package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.cpp +132 -3
- package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.h +17 -1
- package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/RCTAttributedTextUtils.h +2 -0
- package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/RCTAttributedTextUtils.mm +22 -0
- package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/TextLayoutManager.mm +25 -3
- package/ReactCommon/react/renderer/{components/picker → timeline}/BUCK +14 -28
- package/ReactCommon/react/renderer/timeline/Timeline.cpp +120 -0
- package/ReactCommon/react/renderer/timeline/Timeline.h +63 -0
- package/ReactCommon/react/renderer/timeline/TimelineController.cpp +77 -0
- package/ReactCommon/react/renderer/timeline/TimelineController.h +80 -0
- package/ReactCommon/react/renderer/timeline/TimelineFrame.cpp +25 -0
- package/ReactCommon/react/renderer/timeline/TimelineFrame.h +46 -0
- package/ReactCommon/react/renderer/timeline/TimelineHandler.cpp +97 -0
- package/ReactCommon/react/renderer/timeline/TimelineHandler.h +80 -0
- package/ReactCommon/react/renderer/timeline/TimelineSnapshot.cpp +30 -0
- package/ReactCommon/react/renderer/timeline/TimelineSnapshot.h +36 -0
- package/ReactCommon/react/renderer/uimanager/Android.mk +4 -2
- package/ReactCommon/react/renderer/uimanager/BUCK +5 -3
- package/ReactCommon/react/renderer/uimanager/LayoutAnimationStatusDelegate.h +2 -4
- package/ReactCommon/react/renderer/uimanager/UIManager.cpp +121 -36
- package/ReactCommon/react/renderer/uimanager/UIManager.h +40 -21
- package/ReactCommon/react/renderer/uimanager/UIManagerAnimationDelegate.h +3 -5
- package/ReactCommon/react/renderer/uimanager/UIManagerBinding.cpp +201 -77
- package/ReactCommon/react/renderer/uimanager/UIManagerBinding.h +29 -6
- package/ReactCommon/react/renderer/uimanager/UIManagerCommitHook.h +2 -4
- package/ReactCommon/react/renderer/uimanager/UIManagerDelegate.h +16 -15
- package/ReactCommon/react/renderer/uimanager/primitives.h +57 -9
- package/ReactCommon/react/test_utils/BUCK +57 -0
- package/ReactCommon/react/{renderer/mounting/tests → test_utils}/Entropy.h +4 -0
- package/ReactCommon/react/test_utils/MockClock.h +29 -0
- package/ReactCommon/react/{renderer/components/picker/iospicker/PickerEventEmitter.h → test_utils/MockSurfaceHandler.h} +6 -9
- package/ReactCommon/react/{renderer/mounting/tests → test_utils}/shadowTreeGeneration.h +61 -5
- package/ReactCommon/react/utils/Android.mk +8 -3
- package/ReactCommon/react/utils/BUCK +9 -2
- package/ReactCommon/react/utils/CalledOnceMovableOnlyFunction.h +6 -4
- package/ReactCommon/react/utils/ContextContainer.h +4 -24
- package/ReactCommon/react/utils/LayoutManager.h +56 -0
- package/ReactCommon/react/utils/ManagedObjectWrapper.h +3 -1
- package/ReactCommon/react/utils/RunLoopObserver.cpp +5 -4
- package/ReactCommon/reactperflogger/Android.mk +1 -1
- package/ReactCommon/reactperflogger/BUCK +1 -1
- package/ReactCommon/reactperflogger/React-perflogger.podspec +2 -2
- package/ReactCommon/runtimeexecutor/Android.mk +1 -1
- package/ReactCommon/runtimeexecutor/BUCK +2 -2
- package/ReactCommon/runtimeexecutor/React-runtimeexecutor.podspec +2 -2
- package/ReactCommon/runtimeexecutor/ReactCommon/RuntimeExecutor.h +14 -2
- package/ReactCommon/yoga/Yoga.podspec +1 -1
- package/ReactCommon/yoga/yoga/BitUtils.h +3 -2
- package/ReactCommon/yoga/yoga/Utils.cpp +1 -1
- package/ReactCommon/yoga/yoga/YGNode.cpp +111 -110
- package/ReactCommon/yoga/yoga/YGNode.h +11 -0
- package/ReactCommon/yoga/yoga/YGNodePrint.cpp +7 -4
- package/ReactCommon/yoga/yoga/Yoga-internal.h +4 -5
- package/ReactCommon/yoga/yoga/Yoga.cpp +114 -159
- package/ReactCommon/yoga/yoga/Yoga.h +1 -1
- package/android/com/facebook/react/react-native/0.0.0-268efb102/react-native-0.0.0-268efb102.aar +0 -0
- package/android/com/facebook/react/react-native/0.0.0-268efb102/react-native-0.0.0-268efb102.aar.md5 +1 -0
- package/android/com/facebook/react/react-native/0.0.0-268efb102/react-native-0.0.0-268efb102.aar.sha1 +1 -0
- package/android/com/facebook/react/react-native/0.0.0-268efb102/react-native-0.0.0-268efb102.aar.sha256 +1 -0
- package/android/com/facebook/react/react-native/0.0.0-268efb102/react-native-0.0.0-268efb102.aar.sha512 +1 -0
- package/android/com/facebook/react/react-native/0.0.0-268efb102/react-native-0.0.0-268efb102.module +272 -0
- package/android/com/facebook/react/react-native/0.0.0-268efb102/react-native-0.0.0-268efb102.module.md5 +1 -0
- package/android/com/facebook/react/react-native/0.0.0-268efb102/react-native-0.0.0-268efb102.module.sha1 +1 -0
- package/android/com/facebook/react/react-native/0.0.0-268efb102/react-native-0.0.0-268efb102.module.sha256 +1 -0
- package/android/com/facebook/react/react-native/0.0.0-268efb102/react-native-0.0.0-268efb102.module.sha512 +1 -0
- package/android/com/facebook/react/react-native/{0.0.0-201c10733/react-native-0.0.0-201c10733.pom → 0.0.0-268efb102/react-native-0.0.0-268efb102.pom} +24 -13
- package/android/com/facebook/react/react-native/0.0.0-268efb102/react-native-0.0.0-268efb102.pom.md5 +1 -0
- package/android/com/facebook/react/react-native/0.0.0-268efb102/react-native-0.0.0-268efb102.pom.sha1 +1 -0
- package/android/com/facebook/react/react-native/0.0.0-268efb102/react-native-0.0.0-268efb102.pom.sha256 +1 -0
- package/android/com/facebook/react/react-native/0.0.0-268efb102/react-native-0.0.0-268efb102.pom.sha512 +1 -0
- package/android/com/facebook/react/react-native/maven-metadata.xml +4 -3
- package/android/com/facebook/react/react-native/maven-metadata.xml.md5 +1 -1
- package/android/com/facebook/react/react-native/maven-metadata.xml.sha1 +1 -1
- package/android/com/facebook/react/react-native/maven-metadata.xml.sha256 +1 -0
- package/android/com/facebook/react/react-native/maven-metadata.xml.sha512 +1 -0
- package/flow/HermesInternalType.js +114 -0
- package/flow/global.js +68 -0
- package/flow-typed/npm/react-test-renderer_v16.x.x.js +79 -0
- package/index.js +122 -60
- package/jest/preprocessor.js +75 -7
- package/jest/renderer.js +3 -9
- package/jest/setup.js +21 -15
- package/package.json +61 -21
- package/react.gradle +47 -25
- package/scripts/find-node.sh +39 -0
- package/scripts/generate-specs-cli.js +20 -2
- package/scripts/ios-configure-glog.sh +4 -0
- package/scripts/react-native-xcode.sh +7 -23
- package/scripts/react_native_pods.rb +215 -47
- package/template/_flowconfig +3 -4
- package/template/_gitignore +1 -0
- package/template/android/app/build.gradle +12 -7
- package/template/android/app/src/main/res/values/styles.xml +0 -1
- package/template/android/build.gradle +7 -8
- package/template/android/gradle/wrapper/gradle-wrapper.properties +1 -1
- package/template/android/gradle.properties +1 -1
- package/template/ios/HelloWorld.xcodeproj/project.pbxproj +2 -0
- package/template/ios/Podfile +1 -0
- package/template/package.json +4 -5
- package/third-party-podspecs/DoubleConversion.podspec +1 -1
- package/third-party-podspecs/RCT-Folly.podspec +31 -11
- package/third-party-podspecs/boost.podspec +23 -0
- package/third-party-podspecs/glog.podspec +1 -1
- package/Libraries/BUCK +0 -56
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.android.js +0 -169
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.ios.js +0 -280
- package/Libraries/Components/DatePickerAndroid/DatePickerAndroid.android.js +0 -89
- package/Libraries/Components/DatePickerAndroid/DatePickerAndroid.ios.js +0 -30
- package/Libraries/Components/DatePickerAndroid/DatePickerAndroidTypes.js +0 -30
- package/Libraries/Components/Picker/AndroidDialogPickerNativeComponent.js +0 -82
- package/Libraries/Components/Picker/AndroidDialogPickerViewConfig.js +0 -30
- package/Libraries/Components/Picker/AndroidDropdownPickerNativeComponent.js +0 -69
- package/Libraries/Components/Picker/Picker.js +0 -165
- package/Libraries/Components/Picker/PickerAndroid.android.js +0 -145
- package/Libraries/Components/Picker/PickerIOS.android.js +0 -14
- package/Libraries/Components/Picker/PickerIOS.ios.js +0 -164
- package/Libraries/Components/Picker/RCTPickerNativeComponent.js +0 -72
- package/Libraries/Components/Picker/RCTPickerViewConfig.js +0 -41
- package/Libraries/Components/ScrollResponder.js +0 -797
- package/Libraries/Components/StaticContainer.react.js +0 -51
- package/Libraries/Components/StatusBar/StatusBarIOS.js +0 -35
- package/Libraries/Components/Touchable/ensurePositiveDelayProps.js +0 -26
- package/Libraries/Interaction/InteractionMixin.js +0 -55
- package/Libraries/ReactNative/queryLayoutByID.js +0 -58
- package/Libraries/StyleSheet/StyleSheetValidation.js +0 -100
- package/Libraries/Utilities/registerGeneratedViewConfig.js +0 -36
- package/Libraries/promiseRejectionIsError.js +0 -24
- package/React/Base/RCTJSInvokerModule.h +0 -18
- package/React/Fabric/Mounting/ComponentViews/Picker/RCTPickerComponentView.h +0 -19
- package/React/Fabric/Mounting/ComponentViews/Picker/RCTPickerComponentView.mm +0 -206
- package/React/Views/RCTPicker.h +0 -23
- package/React/Views/RCTPicker.m +0 -122
- package/React/Views/RCTPickerManager.m +0 -68
- package/ReactAndroid/release.gradle +0 -87
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/DatePickerDialogTestCase.java +0 -172
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/ReactPickerTestCase.java +0 -196
- package/ReactAndroid/src/androidTest/js/DatePickerDialogTestModule.js +0 -45
- package/ReactAndroid/src/androidTest/js/PickerAndroidTestModule.js +0 -89
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerImpl.java +0 -82
- package/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/BUCK +0 -27
- package/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/DatePickerDialogFragment.java +0 -137
- package/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/DatePickerDialogModule.java +0 -147
- package/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/DismissableDatePickerDialog.java +0 -117
- package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/AndroidDialogPickerManagerDelegate.java +0 -48
- package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/AndroidDialogPickerManagerInterface.java +0 -23
- package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/AndroidDropdownPickerManagerDelegate.java +0 -48
- package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/AndroidDropdownPickerManagerInterface.java +0 -22
- package/ReactAndroid/src/main/java/com/facebook/react/views/picker/BUCK +0 -30
- package/ReactAndroid/src/main/java/com/facebook/react/views/picker/ReactDialogPickerManager.java +0 -51
- package/ReactAndroid/src/main/java/com/facebook/react/views/picker/ReactDropdownPickerManager.java +0 -50
- package/ReactAndroid/src/main/java/com/facebook/react/views/picker/ReactPicker.java +0 -196
- package/ReactAndroid/src/main/java/com/facebook/react/views/picker/ReactPickerAdapter.java +0 -95
- package/ReactAndroid/src/main/java/com/facebook/react/views/picker/ReactPickerItem.java +0 -43
- package/ReactAndroid/src/main/java/com/facebook/react/views/picker/ReactPickerManager.java +0 -97
- package/ReactAndroid/src/main/java/com/facebook/react/views/picker/events/PickerItemSelectEvent.java +0 -40
- package/ReactCommon/cxxreact/re_worker_requirements +0 -6
- package/ReactCommon/react/renderer/components/picker/Android.mk +0 -37
- package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDialogPickerEventEmitter.cpp +0 -23
- package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDialogPickerEventEmitter.h +0 -27
- package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDialogPickerProps.cpp +0 -28
- package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDialogPickerProps.h +0 -77
- package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDialogPickerShadowNode.h +0 -29
- package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDropdownPickerEventEmitter.cpp +0 -23
- package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDropdownPickerEventEmitter.h +0 -27
- package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDropdownPickerProps.cpp +0 -28
- package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDropdownPickerProps.h +0 -77
- package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDropdownPickerShadowNode.cpp +0 -17
- package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDropdownPickerShadowNode.h +0 -29
- package/ReactCommon/react/renderer/components/picker/iospicker/PickerComponentDescriptor.h +0 -26
- package/ReactCommon/react/renderer/components/picker/iospicker/PickerEventEmitter.cpp +0 -23
- package/ReactCommon/react/renderer/components/picker/iospicker/PickerProps.cpp +0 -46
- package/ReactCommon/react/renderer/components/picker/iospicker/PickerProps.h +0 -36
- package/ReactCommon/react/renderer/components/picker/iospicker/PickerShadowNode.h +0 -33
- package/ReactCommon/react/renderer/components/picker/iospicker/conversions.h +0 -47
- package/ReactCommon/react/renderer/mounting/TransactionTelemetry.cpp +0 -142
- package/ReactCommon/react/renderer/mounting/tests/TransactionTelemetryTest.cpp +0 -125
- package/android/com/facebook/react/react-native/0.0.0-201c10733/react-native-0.0.0-201c10733.aar +0 -0
- package/android/com/facebook/react/react-native/0.0.0-201c10733/react-native-0.0.0-201c10733.aar.md5 +0 -1
- package/android/com/facebook/react/react-native/0.0.0-201c10733/react-native-0.0.0-201c10733.aar.sha1 +0 -1
- package/android/com/facebook/react/react-native/0.0.0-201c10733/react-native-0.0.0-201c10733.pom.md5 +0 -1
- package/android/com/facebook/react/react-native/0.0.0-201c10733/react-native-0.0.0-201c10733.pom.sha1 +0 -1
- package/scripts/generate-specs.sh +0 -91
|
@@ -34,33 +34,31 @@ import com.facebook.common.logging.FLog;
|
|
|
34
34
|
import com.facebook.debug.holder.PrinterHolder;
|
|
35
35
|
import com.facebook.debug.tags.ReactDebugOverlayTags;
|
|
36
36
|
import com.facebook.infer.annotation.ThreadConfined;
|
|
37
|
-
import com.facebook.proguard.annotations.
|
|
38
|
-
import com.facebook.react.
|
|
37
|
+
import com.facebook.proguard.annotations.DoNotStripAny;
|
|
38
|
+
import com.facebook.react.bridge.ColorPropConverter;
|
|
39
39
|
import com.facebook.react.bridge.LifecycleEventListener;
|
|
40
40
|
import com.facebook.react.bridge.NativeArray;
|
|
41
41
|
import com.facebook.react.bridge.NativeMap;
|
|
42
42
|
import com.facebook.react.bridge.ReactApplicationContext;
|
|
43
43
|
import com.facebook.react.bridge.ReactContext;
|
|
44
|
-
import com.facebook.react.bridge.ReactIgnorableMountingException;
|
|
45
44
|
import com.facebook.react.bridge.ReactMarker;
|
|
46
45
|
import com.facebook.react.bridge.ReactMarkerConstants;
|
|
47
|
-
import com.facebook.react.bridge.
|
|
48
|
-
import com.facebook.react.bridge.ReactSoftException;
|
|
46
|
+
import com.facebook.react.bridge.ReactSoftExceptionLogger;
|
|
49
47
|
import com.facebook.react.bridge.ReadableArray;
|
|
50
48
|
import com.facebook.react.bridge.ReadableMap;
|
|
51
|
-
import com.facebook.react.bridge.RetryableMountingLayerException;
|
|
52
49
|
import com.facebook.react.bridge.UIManager;
|
|
53
50
|
import com.facebook.react.bridge.UIManagerListener;
|
|
54
51
|
import com.facebook.react.bridge.UiThreadUtil;
|
|
55
52
|
import com.facebook.react.bridge.WritableMap;
|
|
56
53
|
import com.facebook.react.common.build.ReactBuildConfig;
|
|
54
|
+
import com.facebook.react.common.mapbuffer.ReadableMapBuffer;
|
|
57
55
|
import com.facebook.react.config.ReactFeatureFlags;
|
|
58
56
|
import com.facebook.react.fabric.events.EventBeatManager;
|
|
59
57
|
import com.facebook.react.fabric.events.EventEmitterWrapper;
|
|
60
58
|
import com.facebook.react.fabric.events.FabricEventEmitter;
|
|
59
|
+
import com.facebook.react.fabric.mounting.MountItemDispatcher;
|
|
61
60
|
import com.facebook.react.fabric.mounting.MountingManager;
|
|
62
61
|
import com.facebook.react.fabric.mounting.SurfaceMountingManager;
|
|
63
|
-
import com.facebook.react.fabric.mounting.mountitems.DispatchCommandMountItem;
|
|
64
62
|
import com.facebook.react.fabric.mounting.mountitems.DispatchIntCommandMountItem;
|
|
65
63
|
import com.facebook.react.fabric.mounting.mountitems.DispatchStringCommandMountItem;
|
|
66
64
|
import com.facebook.react.fabric.mounting.mountitems.IntBufferBatchMountItem;
|
|
@@ -73,23 +71,29 @@ import com.facebook.react.uimanager.IllegalViewOperationException;
|
|
|
73
71
|
import com.facebook.react.uimanager.PixelUtil;
|
|
74
72
|
import com.facebook.react.uimanager.ReactRoot;
|
|
75
73
|
import com.facebook.react.uimanager.ReactRootViewTagGenerator;
|
|
74
|
+
import com.facebook.react.uimanager.RootViewUtil;
|
|
76
75
|
import com.facebook.react.uimanager.StateWrapper;
|
|
77
76
|
import com.facebook.react.uimanager.ThemedReactContext;
|
|
78
77
|
import com.facebook.react.uimanager.UIManagerHelper;
|
|
79
78
|
import com.facebook.react.uimanager.ViewManagerPropertyUpdater;
|
|
80
79
|
import com.facebook.react.uimanager.ViewManagerRegistry;
|
|
81
80
|
import com.facebook.react.uimanager.events.EventDispatcher;
|
|
81
|
+
import com.facebook.react.uimanager.events.EventDispatcherImpl;
|
|
82
|
+
import com.facebook.react.uimanager.events.LockFreeEventDispatcherImpl;
|
|
82
83
|
import com.facebook.react.views.text.TextLayoutManager;
|
|
83
|
-
import com.facebook.
|
|
84
|
-
import java.util.ArrayList;
|
|
85
|
-
import java.util.Collection;
|
|
84
|
+
import com.facebook.react.views.text.TextLayoutManagerMapBuffer;
|
|
86
85
|
import java.util.HashMap;
|
|
87
86
|
import java.util.List;
|
|
88
87
|
import java.util.Map;
|
|
89
|
-
import java.util.
|
|
88
|
+
import java.util.Queue;
|
|
90
89
|
import java.util.concurrent.CopyOnWriteArrayList;
|
|
91
90
|
|
|
91
|
+
/**
|
|
92
|
+
* We instruct ProGuard not to strip out any fields or methods, because many of these methods are
|
|
93
|
+
* only called through the JNI from Cxx so it appears that most of this class is "unused".
|
|
94
|
+
*/
|
|
92
95
|
@SuppressLint("MissingNativeLoadLibrary")
|
|
96
|
+
@DoNotStripAny
|
|
93
97
|
public class FabricUIManager implements UIManager, LifecycleEventListener {
|
|
94
98
|
public static final String TAG = FabricUIManager.class.getSimpleName();
|
|
95
99
|
|
|
@@ -100,9 +104,6 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
|
|
|
100
104
|
ReactFeatureFlags.enableFabricLogs
|
|
101
105
|
|| PrinterHolder.getPrinter()
|
|
102
106
|
.shouldDisplayLogMessage(ReactDebugOverlayTags.FABRIC_UI_MANAGER);
|
|
103
|
-
private static final int FRAME_TIME_MS = 16;
|
|
104
|
-
private static final int MAX_TIME_IN_FRAME_FOR_NON_BATCHED_OPERATIONS_MS = 8;
|
|
105
|
-
private static final int PRE_MOUNT_ITEMS_INITIAL_SIZE_ARRAY = 250;
|
|
106
107
|
|
|
107
108
|
static {
|
|
108
109
|
FabricSoLoader.staticInit();
|
|
@@ -112,27 +113,13 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
|
|
|
112
113
|
@NonNull private final ReactApplicationContext mReactApplicationContext;
|
|
113
114
|
@NonNull private final MountingManager mMountingManager;
|
|
114
115
|
@NonNull private final EventDispatcher mEventDispatcher;
|
|
116
|
+
@NonNull private final MountItemDispatcher mMountItemDispatcher;
|
|
115
117
|
|
|
116
118
|
@NonNull private final EventBeatManager mEventBeatManager;
|
|
117
119
|
|
|
118
|
-
private boolean mInDispatch = false;
|
|
119
|
-
private int mReDispatchCounter = 0;
|
|
120
|
-
|
|
121
120
|
@NonNull
|
|
122
121
|
private final CopyOnWriteArrayList<UIManagerListener> mListeners = new CopyOnWriteArrayList<>();
|
|
123
122
|
|
|
124
|
-
@NonNull
|
|
125
|
-
private final ConcurrentLinkedQueue<DispatchCommandMountItem> mViewCommandMountItemsConcurrent =
|
|
126
|
-
new ConcurrentLinkedQueue<>();
|
|
127
|
-
|
|
128
|
-
@NonNull
|
|
129
|
-
private final ConcurrentLinkedQueue<MountItem> mMountItemsConcurrent =
|
|
130
|
-
new ConcurrentLinkedQueue<>();
|
|
131
|
-
|
|
132
|
-
@NonNull
|
|
133
|
-
private final ConcurrentLinkedQueue<PreAllocateViewMountItem> mPreMountItemsConcurrent =
|
|
134
|
-
new ConcurrentLinkedQueue<>();
|
|
135
|
-
|
|
136
123
|
@ThreadConfined(UI)
|
|
137
124
|
@NonNull
|
|
138
125
|
private final DispatchUIFrameCallback mDispatchUIFrameCallback;
|
|
@@ -143,10 +130,11 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
|
|
|
143
130
|
*/
|
|
144
131
|
private volatile boolean mDestroyed = false;
|
|
145
132
|
|
|
133
|
+
// TODO T83943316: Delete this variable once StaticViewConfigs are enabled by default
|
|
134
|
+
private volatile boolean mShouldDeallocateEventDispatcher = false;
|
|
135
|
+
|
|
146
136
|
private boolean mDriveCxxAnimations = false;
|
|
147
137
|
|
|
148
|
-
private long mRunStartTime = 0l;
|
|
149
|
-
private long mBatchedExecutionTime = 0l;
|
|
150
138
|
private long mDispatchViewUpdatesTime = 0l;
|
|
151
139
|
private long mCommitStartTime = 0l;
|
|
152
140
|
private long mLayoutTime = 0l;
|
|
@@ -159,6 +147,19 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
|
|
|
159
147
|
// from C++ to exceed 9,999 and it should be obvious what's going on when analyzing performance.
|
|
160
148
|
private int mCurrentSynchronousCommitNumber = 10000;
|
|
161
149
|
|
|
150
|
+
private MountingManager.MountItemExecutor mMountItemExecutor =
|
|
151
|
+
new MountingManager.MountItemExecutor() {
|
|
152
|
+
@Override
|
|
153
|
+
public void executeItems(Queue<MountItem> items) {
|
|
154
|
+
// This executor can be technically accessed before the dispatcher is created,
|
|
155
|
+
// but if that happens, something is terribly wrong
|
|
156
|
+
mMountItemDispatcher.dispatchMountItems(items);
|
|
157
|
+
}
|
|
158
|
+
};
|
|
159
|
+
|
|
160
|
+
// TODO T83943316: Deprecate and delete this constructor once StaticViewConfigs are enabled by
|
|
161
|
+
// default
|
|
162
|
+
@Deprecated
|
|
162
163
|
public FabricUIManager(
|
|
163
164
|
ReactApplicationContext reactContext,
|
|
164
165
|
ViewManagerRegistry viewManagerRegistry,
|
|
@@ -166,8 +167,29 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
|
|
|
166
167
|
EventBeatManager eventBeatManager) {
|
|
167
168
|
mDispatchUIFrameCallback = new DispatchUIFrameCallback(reactContext);
|
|
168
169
|
mReactApplicationContext = reactContext;
|
|
169
|
-
mMountingManager = new MountingManager(viewManagerRegistry);
|
|
170
|
+
mMountingManager = new MountingManager(viewManagerRegistry, mMountItemExecutor);
|
|
171
|
+
mMountItemDispatcher =
|
|
172
|
+
new MountItemDispatcher(mMountingManager, new MountItemDispatchListener());
|
|
170
173
|
mEventDispatcher = eventDispatcher;
|
|
174
|
+
mShouldDeallocateEventDispatcher = false;
|
|
175
|
+
mEventBeatManager = eventBeatManager;
|
|
176
|
+
mReactApplicationContext.addLifecycleEventListener(this);
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
public FabricUIManager(
|
|
180
|
+
ReactApplicationContext reactContext,
|
|
181
|
+
ViewManagerRegistry viewManagerRegistry,
|
|
182
|
+
EventBeatManager eventBeatManager) {
|
|
183
|
+
mDispatchUIFrameCallback = new DispatchUIFrameCallback(reactContext);
|
|
184
|
+
mReactApplicationContext = reactContext;
|
|
185
|
+
mMountingManager = new MountingManager(viewManagerRegistry, mMountItemExecutor);
|
|
186
|
+
mMountItemDispatcher =
|
|
187
|
+
new MountItemDispatcher(mMountingManager, new MountItemDispatchListener());
|
|
188
|
+
mEventDispatcher =
|
|
189
|
+
ReactFeatureFlags.enableLockFreeEventDispatcher
|
|
190
|
+
? new LockFreeEventDispatcherImpl(reactContext)
|
|
191
|
+
: new EventDispatcherImpl(reactContext);
|
|
192
|
+
mShouldDeallocateEventDispatcher = true;
|
|
171
193
|
mEventBeatManager = eventBeatManager;
|
|
172
194
|
mReactApplicationContext.addLifecycleEventListener(this);
|
|
173
195
|
}
|
|
@@ -179,7 +201,7 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
|
|
|
179
201
|
@Deprecated
|
|
180
202
|
public <T extends View> int addRootView(
|
|
181
203
|
final T rootView, final WritableMap initialProps, final @Nullable String initialUITemplate) {
|
|
182
|
-
|
|
204
|
+
ReactSoftExceptionLogger.logSoftException(
|
|
183
205
|
TAG,
|
|
184
206
|
new IllegalViewOperationException(
|
|
185
207
|
"Do not call addRootView in Fabric; it is unsupported. Call startSurface instead."));
|
|
@@ -202,6 +224,29 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
|
|
|
202
224
|
return rootTag;
|
|
203
225
|
}
|
|
204
226
|
|
|
227
|
+
/**
|
|
228
|
+
* This API returns metadata associated to the React Component that rendered the Android View
|
|
229
|
+
* received as a parameter.
|
|
230
|
+
*
|
|
231
|
+
* @param surfaceId {@link int} that represents the surfaceId for the View received as a
|
|
232
|
+
* parameter. In practice surfaceId can be retrieved calling the {@link View#getId()} method
|
|
233
|
+
* on the {@link ReactRoot} that holds the View received as a second parameter.
|
|
234
|
+
* @param view {@link View} view that will be used to retrieve the React view hierarchy metadata.
|
|
235
|
+
* @return a {@link ReadableMap} that contains metadata associated to the React Component that
|
|
236
|
+
* rendered the Android View received as a parameter. For more details about the keys stored
|
|
237
|
+
* in the {@link ReadableMap} refer to the "getInspectorDataForInstance" method from
|
|
238
|
+
* com/facebook/react/fabric/jni/Binding.cpp file.
|
|
239
|
+
*/
|
|
240
|
+
@UiThread
|
|
241
|
+
@ThreadConfined(UI)
|
|
242
|
+
public ReadableMap getInspectorDataForInstance(final int surfaceId, final View view) {
|
|
243
|
+
UiThreadUtil.assertOnUiThread();
|
|
244
|
+
int reactTag = view.getId();
|
|
245
|
+
|
|
246
|
+
EventEmitterWrapper eventEmitter = mMountingManager.getEventEmitter(surfaceId, reactTag);
|
|
247
|
+
return mBinding.getInspectorDataForInstance(eventEmitter);
|
|
248
|
+
}
|
|
249
|
+
|
|
205
250
|
@Override
|
|
206
251
|
public void preInitializeViewManagers(List<String> viewManagerNames) {
|
|
207
252
|
for (String viewManagerName : viewManagerNames) {
|
|
@@ -232,7 +277,7 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
|
|
|
232
277
|
// ViewportOffset during measurement or onLayout.
|
|
233
278
|
@SuppressLint("WrongThread")
|
|
234
279
|
Point viewportOffset =
|
|
235
|
-
UiThreadUtil.isOnUiThread() ?
|
|
280
|
+
UiThreadUtil.isOnUiThread() ? RootViewUtil.getViewportOffset(rootView) : new Point(0, 0);
|
|
236
281
|
|
|
237
282
|
mBinding.startSurfaceWithConstraints(
|
|
238
283
|
rootTag,
|
|
@@ -249,8 +294,57 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
|
|
|
249
294
|
return rootTag;
|
|
250
295
|
}
|
|
251
296
|
|
|
297
|
+
public void startSurface(final SurfaceHandler surfaceHandler, final @Nullable View rootView) {
|
|
298
|
+
final int rootTag = ReactRootViewTagGenerator.getNextRootViewTag();
|
|
299
|
+
|
|
300
|
+
if (rootView == null) {
|
|
301
|
+
mMountingManager.startSurface(rootTag);
|
|
302
|
+
} else {
|
|
303
|
+
Context context = rootView.getContext();
|
|
304
|
+
ThemedReactContext reactContext =
|
|
305
|
+
new ThemedReactContext(
|
|
306
|
+
mReactApplicationContext, context, surfaceHandler.getModuleName(), rootTag);
|
|
307
|
+
mMountingManager.startSurface(rootTag, rootView, reactContext);
|
|
308
|
+
}
|
|
309
|
+
|
|
310
|
+
surfaceHandler.setSurfaceId(rootTag);
|
|
311
|
+
if (surfaceHandler instanceof SurfaceHandlerBinding) {
|
|
312
|
+
mBinding.registerSurface((SurfaceHandlerBinding) surfaceHandler);
|
|
313
|
+
}
|
|
314
|
+
surfaceHandler.setMountable(rootView != null);
|
|
315
|
+
surfaceHandler.start();
|
|
316
|
+
}
|
|
317
|
+
|
|
318
|
+
public void attachRootView(final SurfaceHandler surfaceHandler, final View rootView) {
|
|
319
|
+
ThemedReactContext reactContext =
|
|
320
|
+
new ThemedReactContext(
|
|
321
|
+
mReactApplicationContext,
|
|
322
|
+
rootView.getContext(),
|
|
323
|
+
surfaceHandler.getModuleName(),
|
|
324
|
+
surfaceHandler.getSurfaceId());
|
|
325
|
+
mMountingManager.attachRootView(surfaceHandler.getSurfaceId(), rootView, reactContext);
|
|
326
|
+
|
|
327
|
+
surfaceHandler.setMountable(true);
|
|
328
|
+
}
|
|
329
|
+
|
|
330
|
+
public void stopSurface(final SurfaceHandler surfaceHandler) {
|
|
331
|
+
if (!surfaceHandler.isRunning()) {
|
|
332
|
+
ReactSoftExceptionLogger.logSoftException(
|
|
333
|
+
FabricUIManager.TAG,
|
|
334
|
+
new IllegalStateException("Trying to stop surface that hasn't started yet"));
|
|
335
|
+
return;
|
|
336
|
+
}
|
|
337
|
+
|
|
338
|
+
mMountingManager.stopSurface(surfaceHandler.getSurfaceId());
|
|
339
|
+
|
|
340
|
+
surfaceHandler.stop();
|
|
341
|
+
|
|
342
|
+
if (surfaceHandler instanceof SurfaceHandlerBinding) {
|
|
343
|
+
mBinding.unregisterSurface((SurfaceHandlerBinding) surfaceHandler);
|
|
344
|
+
}
|
|
345
|
+
}
|
|
346
|
+
|
|
252
347
|
/** Method called when an event has been dispatched on the C++ side. */
|
|
253
|
-
@DoNotStrip
|
|
254
348
|
@SuppressWarnings("unused")
|
|
255
349
|
public void onRequestEventBeat() {
|
|
256
350
|
mEventDispatcher.dispatchAllEvents();
|
|
@@ -260,8 +354,13 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
|
|
|
260
354
|
@ThreadConfined(ANY)
|
|
261
355
|
@Override
|
|
262
356
|
public void stopSurface(final int surfaceID) {
|
|
263
|
-
|
|
357
|
+
// Mark surfaceId as dead, stop executing mounting instructions
|
|
264
358
|
mMountingManager.stopSurface(surfaceID);
|
|
359
|
+
|
|
360
|
+
// Communicate stopSurface to Cxx - causes an empty ShadowTree to be committed,
|
|
361
|
+
// but all mounting instructions will be ignored because stopSurface was called
|
|
362
|
+
// on the MountingManager
|
|
363
|
+
mBinding.stopSurface(surfaceID);
|
|
265
364
|
}
|
|
266
365
|
|
|
267
366
|
@Override
|
|
@@ -278,7 +377,7 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
|
|
|
278
377
|
FLog.i(TAG, "FabricUIManager.onCatalystInstanceDestroy");
|
|
279
378
|
|
|
280
379
|
if (mDestroyed) {
|
|
281
|
-
|
|
380
|
+
ReactSoftExceptionLogger.logSoftException(
|
|
282
381
|
FabricUIManager.TAG, new IllegalStateException("Cannot double-destroy FabricUIManager"));
|
|
283
382
|
return;
|
|
284
383
|
}
|
|
@@ -308,40 +407,15 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
|
|
|
308
407
|
mBinding = null;
|
|
309
408
|
|
|
310
409
|
ViewManagerPropertyUpdater.clear();
|
|
311
|
-
}
|
|
312
|
-
|
|
313
|
-
@DoNotStrip
|
|
314
|
-
@SuppressWarnings("unused")
|
|
315
|
-
@AnyThread
|
|
316
|
-
@ThreadConfined(ANY)
|
|
317
|
-
private void preallocateView(
|
|
318
|
-
int rootTag,
|
|
319
|
-
int reactTag,
|
|
320
|
-
final String componentName,
|
|
321
|
-
@Nullable ReadableMap props,
|
|
322
|
-
@Nullable Object stateWrapper,
|
|
323
|
-
boolean isLayoutable) {
|
|
324
410
|
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
(StateWrapper) stateWrapper,
|
|
332
|
-
isLayoutable));
|
|
333
|
-
}
|
|
334
|
-
|
|
335
|
-
@DoNotStrip
|
|
336
|
-
@SuppressWarnings("unused")
|
|
337
|
-
@AnyThread
|
|
338
|
-
@ThreadConfined(ANY)
|
|
339
|
-
private MountItem createIntBufferBatchMountItem(
|
|
340
|
-
int rootTag, int[] intBuffer, Object[] objBuffer, int commitNumber) {
|
|
341
|
-
return new IntBufferBatchMountItem(rootTag, intBuffer, objBuffer, commitNumber);
|
|
411
|
+
// When using ReactFeatureFlags.enableExperimentalStaticViewConfigs enabled, FabriUIManager is
|
|
412
|
+
// responsible for initializing and deallocating EventDispatcher.
|
|
413
|
+
// TODO T83943316: Remove this IF once StaticViewConfigs are enabled by default
|
|
414
|
+
if (mShouldDeallocateEventDispatcher) {
|
|
415
|
+
mEventDispatcher.onCatalystInstanceDestroyed();
|
|
416
|
+
}
|
|
342
417
|
}
|
|
343
418
|
|
|
344
|
-
@DoNotStrip
|
|
345
419
|
@SuppressWarnings("unused")
|
|
346
420
|
private NativeArray measureLines(
|
|
347
421
|
ReadableMap attributedString, ReadableMap paragraphAttributes, float width, float height) {
|
|
@@ -353,7 +427,20 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
|
|
|
353
427
|
PixelUtil.toPixelFromDIP(width));
|
|
354
428
|
}
|
|
355
429
|
|
|
356
|
-
@
|
|
430
|
+
@SuppressWarnings("unused")
|
|
431
|
+
private NativeArray measureLinesMapBuffer(
|
|
432
|
+
ReadableMapBuffer attributedString,
|
|
433
|
+
ReadableMapBuffer paragraphAttributes,
|
|
434
|
+
float width,
|
|
435
|
+
float height) {
|
|
436
|
+
return (NativeArray)
|
|
437
|
+
TextLayoutManagerMapBuffer.measureLines(
|
|
438
|
+
mReactApplicationContext,
|
|
439
|
+
attributedString,
|
|
440
|
+
paragraphAttributes,
|
|
441
|
+
PixelUtil.toPixelFromDIP(width));
|
|
442
|
+
}
|
|
443
|
+
|
|
357
444
|
@SuppressWarnings("unused")
|
|
358
445
|
private long measure(
|
|
359
446
|
int rootTag,
|
|
@@ -378,7 +465,14 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
|
|
|
378
465
|
null);
|
|
379
466
|
}
|
|
380
467
|
|
|
381
|
-
@
|
|
468
|
+
@SuppressWarnings("unused")
|
|
469
|
+
public int getColor(int surfaceId, ReadableMap platformColor) {
|
|
470
|
+
ThemedReactContext context =
|
|
471
|
+
mMountingManager.getSurfaceManagerEnforced(surfaceId, "getColor").getContext();
|
|
472
|
+
Integer color = ColorPropConverter.getColor(platformColor, context);
|
|
473
|
+
return color != null ? color : 0;
|
|
474
|
+
}
|
|
475
|
+
|
|
382
476
|
@SuppressWarnings("unused")
|
|
383
477
|
private long measure(
|
|
384
478
|
int surfaceId,
|
|
@@ -417,13 +511,49 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
|
|
|
417
511
|
attachmentsPositions);
|
|
418
512
|
}
|
|
419
513
|
|
|
514
|
+
@SuppressWarnings("unused")
|
|
515
|
+
private long measureMapBuffer(
|
|
516
|
+
int surfaceId,
|
|
517
|
+
String componentName,
|
|
518
|
+
ReadableMapBuffer attributedString,
|
|
519
|
+
ReadableMapBuffer paragraphAttributes,
|
|
520
|
+
float minWidth,
|
|
521
|
+
float maxWidth,
|
|
522
|
+
float minHeight,
|
|
523
|
+
float maxHeight,
|
|
524
|
+
@Nullable float[] attachmentsPositions) {
|
|
525
|
+
|
|
526
|
+
ReactContext context;
|
|
527
|
+
if (surfaceId > 0) {
|
|
528
|
+
SurfaceMountingManager surfaceMountingManager =
|
|
529
|
+
mMountingManager.getSurfaceManagerEnforced(surfaceId, "measure");
|
|
530
|
+
if (surfaceMountingManager.isStopped()) {
|
|
531
|
+
return 0;
|
|
532
|
+
}
|
|
533
|
+
context = surfaceMountingManager.getContext();
|
|
534
|
+
} else {
|
|
535
|
+
context = mReactApplicationContext;
|
|
536
|
+
}
|
|
537
|
+
|
|
538
|
+
// TODO: replace ReadableNativeMap -> ReadableMapBuffer
|
|
539
|
+
return mMountingManager.measureTextMapBuffer(
|
|
540
|
+
context,
|
|
541
|
+
componentName,
|
|
542
|
+
attributedString,
|
|
543
|
+
paragraphAttributes,
|
|
544
|
+
getYogaSize(minWidth, maxWidth),
|
|
545
|
+
getYogaMeasureMode(minWidth, maxWidth),
|
|
546
|
+
getYogaSize(minHeight, maxHeight),
|
|
547
|
+
getYogaMeasureMode(minHeight, maxHeight),
|
|
548
|
+
attachmentsPositions);
|
|
549
|
+
}
|
|
550
|
+
|
|
420
551
|
/**
|
|
421
552
|
* @param surfaceId {@link int} surface ID
|
|
422
553
|
* @param defaultTextInputPadding {@link float[]} output parameter will contain the default theme
|
|
423
554
|
* padding used by RN Android TextInput.
|
|
424
555
|
* @return if theme data is available in the output parameters.
|
|
425
556
|
*/
|
|
426
|
-
@DoNotStrip
|
|
427
557
|
public boolean getThemeData(int surfaceId, float[] defaultTextInputPadding) {
|
|
428
558
|
SurfaceMountingManager surfaceMountingManager =
|
|
429
559
|
mMountingManager.getSurfaceManagerEnforced(surfaceId, "getThemeData");
|
|
@@ -437,6 +567,14 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
|
|
|
437
567
|
return true;
|
|
438
568
|
}
|
|
439
569
|
|
|
570
|
+
public void addUIManagerEventListener(UIManagerListener listener) {
|
|
571
|
+
mListeners.add(listener);
|
|
572
|
+
}
|
|
573
|
+
|
|
574
|
+
public void removeUIManagerEventListener(UIManagerListener listener) {
|
|
575
|
+
mListeners.remove(listener);
|
|
576
|
+
}
|
|
577
|
+
|
|
440
578
|
@Override
|
|
441
579
|
@UiThread
|
|
442
580
|
@ThreadConfined(UI)
|
|
@@ -476,11 +614,12 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
|
|
|
476
614
|
try {
|
|
477
615
|
mountingManager.updateProps(reactTag, props);
|
|
478
616
|
} catch (Exception ex) {
|
|
479
|
-
// TODO T42943890: Fix animations in Fabric and remove this try/catch
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
617
|
+
// TODO T42943890: Fix animations in Fabric and remove this try/catch?
|
|
618
|
+
// There might always be race conditions between surface teardown and
|
|
619
|
+
// animations/other operations, so it may not be feasible to remove this.
|
|
620
|
+
// Practically 100% of reported errors from this point are because the
|
|
621
|
+
// surface has stopped by this point, but the MountItem was queued before
|
|
622
|
+
// the surface was stopped. It's likely not feasible to prevent all such races.
|
|
484
623
|
}
|
|
485
624
|
}
|
|
486
625
|
|
|
@@ -493,7 +632,7 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
|
|
|
493
632
|
// If the reactTag exists, we assume that it might at the end of the next
|
|
494
633
|
// batch of MountItems. Otherwise, we try to execute immediately.
|
|
495
634
|
if (!mMountingManager.getViewExists(reactTag)) {
|
|
496
|
-
addMountItem(synchronousMountItem);
|
|
635
|
+
mMountItemDispatcher.addMountItem(synchronousMountItem);
|
|
497
636
|
return;
|
|
498
637
|
}
|
|
499
638
|
|
|
@@ -514,20 +653,42 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
|
|
|
514
653
|
ReactMarkerConstants.FABRIC_UPDATE_UI_MAIN_THREAD_END, null, commitNumber);
|
|
515
654
|
}
|
|
516
655
|
|
|
517
|
-
|
|
518
|
-
|
|
656
|
+
@SuppressWarnings("unused")
|
|
657
|
+
@AnyThread
|
|
658
|
+
@ThreadConfined(ANY)
|
|
659
|
+
private void preallocateView(
|
|
660
|
+
int rootTag,
|
|
661
|
+
int reactTag,
|
|
662
|
+
final String componentName,
|
|
663
|
+
@Nullable ReadableMap props,
|
|
664
|
+
@Nullable Object stateWrapper,
|
|
665
|
+
@Nullable Object eventEmitterWrapper,
|
|
666
|
+
boolean isLayoutable) {
|
|
667
|
+
|
|
668
|
+
mMountItemDispatcher.addPreAllocateMountItem(
|
|
669
|
+
new PreAllocateViewMountItem(
|
|
670
|
+
rootTag,
|
|
671
|
+
reactTag,
|
|
672
|
+
getFabricComponentName(componentName),
|
|
673
|
+
props,
|
|
674
|
+
(StateWrapper) stateWrapper,
|
|
675
|
+
(EventEmitterWrapper) eventEmitterWrapper,
|
|
676
|
+
isLayoutable));
|
|
519
677
|
}
|
|
520
678
|
|
|
521
|
-
|
|
522
|
-
|
|
679
|
+
@SuppressWarnings("unused")
|
|
680
|
+
@AnyThread
|
|
681
|
+
@ThreadConfined(ANY)
|
|
682
|
+
private MountItem createIntBufferBatchMountItem(
|
|
683
|
+
int rootTag, int[] intBuffer, Object[] objBuffer, int commitNumber) {
|
|
684
|
+
return new IntBufferBatchMountItem(rootTag, intBuffer, objBuffer, commitNumber);
|
|
523
685
|
}
|
|
524
686
|
|
|
525
687
|
/**
|
|
526
688
|
* This method enqueues UI operations directly to the UI thread. This might change in the future
|
|
527
|
-
* to enforce execution order using {@link ReactChoreographer
|
|
689
|
+
* to enforce execution order using {@link ReactChoreographer.CallbackType}. This method should
|
|
528
690
|
* only be called as the result of a new tree being committed.
|
|
529
691
|
*/
|
|
530
|
-
@DoNotStrip
|
|
531
692
|
@SuppressWarnings("unused")
|
|
532
693
|
@AnyThread
|
|
533
694
|
@ThreadConfined(ANY)
|
|
@@ -564,10 +725,10 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
|
|
|
564
725
|
}
|
|
565
726
|
|
|
566
727
|
if (shouldSchedule) {
|
|
567
|
-
addMountItem(mountItem);
|
|
728
|
+
mMountItemDispatcher.addMountItem(mountItem);
|
|
568
729
|
if (UiThreadUtil.isOnUiThread()) {
|
|
569
730
|
// We only read these flags on the UI thread.
|
|
570
|
-
tryDispatchMountItems();
|
|
731
|
+
mMountItemDispatcher.tryDispatchMountItems();
|
|
571
732
|
}
|
|
572
733
|
}
|
|
573
734
|
|
|
@@ -597,265 +758,6 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
|
|
|
597
758
|
}
|
|
598
759
|
}
|
|
599
760
|
|
|
600
|
-
/**
|
|
601
|
-
* Try to dispatch MountItems. Returns true if any items were dispatched, false otherwise. A
|
|
602
|
-
* `false` return value doesn't indicate errors, it may just indicate there was no work to be
|
|
603
|
-
* done.
|
|
604
|
-
*
|
|
605
|
-
* @return
|
|
606
|
-
*/
|
|
607
|
-
@UiThread
|
|
608
|
-
@ThreadConfined(UI)
|
|
609
|
-
private boolean tryDispatchMountItems() {
|
|
610
|
-
// If we're already dispatching, don't reenter.
|
|
611
|
-
// Reentrance can potentially happen a lot on Android in Fabric because
|
|
612
|
-
// `updateState` from the
|
|
613
|
-
// mounting layer causes mount items to be dispatched synchronously. We want to 1) make sure
|
|
614
|
-
// we don't reenter in those cases, but 2) still execute those queued instructions
|
|
615
|
-
// synchronously.
|
|
616
|
-
// This is a pretty blunt tool, but we might not have better options since we really don't want
|
|
617
|
-
// to execute anything out-of-order.
|
|
618
|
-
if (mInDispatch) {
|
|
619
|
-
return false;
|
|
620
|
-
}
|
|
621
|
-
|
|
622
|
-
final boolean didDispatchItems;
|
|
623
|
-
try {
|
|
624
|
-
didDispatchItems = dispatchMountItems();
|
|
625
|
-
} catch (Throwable e) {
|
|
626
|
-
mReDispatchCounter = 0;
|
|
627
|
-
throw e;
|
|
628
|
-
} finally {
|
|
629
|
-
// Clean up after running dispatchMountItems - even if an exception was thrown
|
|
630
|
-
mInDispatch = false;
|
|
631
|
-
}
|
|
632
|
-
|
|
633
|
-
for (UIManagerListener listener : mListeners) {
|
|
634
|
-
listener.didDispatchMountItems(this);
|
|
635
|
-
}
|
|
636
|
-
|
|
637
|
-
// Decide if we want to try reentering
|
|
638
|
-
if (mReDispatchCounter < 10 && didDispatchItems) {
|
|
639
|
-
// Executing twice in a row is normal. Only log after that point.
|
|
640
|
-
if (mReDispatchCounter > 2) {
|
|
641
|
-
ReactSoftException.logSoftException(
|
|
642
|
-
TAG,
|
|
643
|
-
new ReactNoCrashSoftException(
|
|
644
|
-
"Re-dispatched "
|
|
645
|
-
+ mReDispatchCounter
|
|
646
|
-
+ " times. This indicates setState (?) is likely being called too many times during mounting."));
|
|
647
|
-
}
|
|
648
|
-
|
|
649
|
-
mReDispatchCounter++;
|
|
650
|
-
tryDispatchMountItems();
|
|
651
|
-
}
|
|
652
|
-
mReDispatchCounter = 0;
|
|
653
|
-
return didDispatchItems;
|
|
654
|
-
}
|
|
655
|
-
|
|
656
|
-
@Nullable
|
|
657
|
-
private <E extends MountItem> List<E> drainConcurrentItemQueue(ConcurrentLinkedQueue<E> queue) {
|
|
658
|
-
List<E> result = new ArrayList<>();
|
|
659
|
-
while (!queue.isEmpty()) {
|
|
660
|
-
E item = queue.poll();
|
|
661
|
-
if (item != null) {
|
|
662
|
-
result.add(item);
|
|
663
|
-
}
|
|
664
|
-
}
|
|
665
|
-
if (result.size() == 0) {
|
|
666
|
-
return null;
|
|
667
|
-
}
|
|
668
|
-
return result;
|
|
669
|
-
}
|
|
670
|
-
|
|
671
|
-
@UiThread
|
|
672
|
-
@ThreadConfined(UI)
|
|
673
|
-
private List<DispatchCommandMountItem> getAndResetViewCommandMountItems() {
|
|
674
|
-
return drainConcurrentItemQueue(mViewCommandMountItemsConcurrent);
|
|
675
|
-
}
|
|
676
|
-
|
|
677
|
-
@UiThread
|
|
678
|
-
@ThreadConfined(UI)
|
|
679
|
-
private List<MountItem> getAndResetMountItems() {
|
|
680
|
-
return drainConcurrentItemQueue(mMountItemsConcurrent);
|
|
681
|
-
}
|
|
682
|
-
|
|
683
|
-
private Collection<PreAllocateViewMountItem> getAndResetPreMountItems() {
|
|
684
|
-
return drainConcurrentItemQueue(mPreMountItemsConcurrent);
|
|
685
|
-
}
|
|
686
|
-
|
|
687
|
-
private static void printMountItem(MountItem mountItem, String prefix) {
|
|
688
|
-
// If a MountItem description is split across multiple lines, it's because it's a
|
|
689
|
-
// compound MountItem. Log each line separately.
|
|
690
|
-
String[] mountItemLines = mountItem.toString().split("\n");
|
|
691
|
-
for (String m : mountItemLines) {
|
|
692
|
-
FLog.e(TAG, prefix + ": " + m);
|
|
693
|
-
}
|
|
694
|
-
}
|
|
695
|
-
|
|
696
|
-
@UiThread
|
|
697
|
-
@ThreadConfined(UI)
|
|
698
|
-
/** Nothing should call this directly except for `tryDispatchMountItems`. */
|
|
699
|
-
private boolean dispatchMountItems() {
|
|
700
|
-
if (mReDispatchCounter == 0) {
|
|
701
|
-
mBatchedExecutionTime = 0;
|
|
702
|
-
}
|
|
703
|
-
|
|
704
|
-
mRunStartTime = SystemClock.uptimeMillis();
|
|
705
|
-
|
|
706
|
-
List<DispatchCommandMountItem> viewCommandMountItemsToDispatch =
|
|
707
|
-
getAndResetViewCommandMountItems();
|
|
708
|
-
List<MountItem> mountItemsToDispatch = getAndResetMountItems();
|
|
709
|
-
|
|
710
|
-
if (mountItemsToDispatch == null && viewCommandMountItemsToDispatch == null) {
|
|
711
|
-
return false;
|
|
712
|
-
}
|
|
713
|
-
|
|
714
|
-
// As an optimization, execute all ViewCommands first
|
|
715
|
-
// This should be:
|
|
716
|
-
// 1) Performant: ViewCommands are often a replacement for SetNativeProps, which we've always
|
|
717
|
-
// wanted to be as "synchronous" as possible.
|
|
718
|
-
// 2) Safer: ViewCommands are inherently disconnected from the tree commit/diff/mount process.
|
|
719
|
-
// JS imperatively queues these commands.
|
|
720
|
-
// If JS has queued a command, it's reasonable to assume that the more time passes, the more
|
|
721
|
-
// likely it is that the view disappears.
|
|
722
|
-
// Thus, by executing ViewCommands early, we should actually avoid a category of
|
|
723
|
-
// errors/glitches.
|
|
724
|
-
if (viewCommandMountItemsToDispatch != null) {
|
|
725
|
-
Systrace.beginSection(
|
|
726
|
-
Systrace.TRACE_TAG_REACT_JAVA_BRIDGE,
|
|
727
|
-
"FabricUIManager::mountViews viewCommandMountItems to execute: "
|
|
728
|
-
+ viewCommandMountItemsToDispatch.size());
|
|
729
|
-
for (DispatchCommandMountItem command : viewCommandMountItemsToDispatch) {
|
|
730
|
-
if (ENABLE_FABRIC_LOGS) {
|
|
731
|
-
printMountItem(command, "dispatchMountItems: Executing viewCommandMountItem");
|
|
732
|
-
}
|
|
733
|
-
try {
|
|
734
|
-
command.execute(mMountingManager);
|
|
735
|
-
} catch (RetryableMountingLayerException e) {
|
|
736
|
-
// If the exception is marked as Retryable, we retry the viewcommand exactly once, after
|
|
737
|
-
// the current batch of mount items has finished executing.
|
|
738
|
-
if (command.getRetries() == 0) {
|
|
739
|
-
command.incrementRetries();
|
|
740
|
-
dispatchCommandMountItem(command);
|
|
741
|
-
} else {
|
|
742
|
-
// It's very common for commands to be executed on views that no longer exist - for
|
|
743
|
-
// example, a blur event on TextInput being fired because of a navigation event away
|
|
744
|
-
// from the current screen. If the exception is marked as Retryable, we log a soft
|
|
745
|
-
// exception but never crash in debug.
|
|
746
|
-
// It's not clear that logging this is even useful, because these events are very
|
|
747
|
-
// common, mundane, and there's not much we can do about them currently.
|
|
748
|
-
ReactSoftException.logSoftException(
|
|
749
|
-
TAG,
|
|
750
|
-
new ReactNoCrashSoftException(
|
|
751
|
-
"Caught exception executing ViewCommand: " + command.toString(), e));
|
|
752
|
-
}
|
|
753
|
-
} catch (Throwable e) {
|
|
754
|
-
// Non-Retryable exceptions are logged as soft exceptions in prod, but crash in Debug.
|
|
755
|
-
ReactSoftException.logSoftException(
|
|
756
|
-
TAG,
|
|
757
|
-
new RuntimeException(
|
|
758
|
-
"Caught exception executing ViewCommand: " + command.toString(), e));
|
|
759
|
-
}
|
|
760
|
-
}
|
|
761
|
-
|
|
762
|
-
Systrace.endSection(Systrace.TRACE_TAG_REACT_JAVA_BRIDGE);
|
|
763
|
-
}
|
|
764
|
-
|
|
765
|
-
// If there are MountItems to dispatch, we make sure all the "pre mount items" are executed
|
|
766
|
-
// first
|
|
767
|
-
Collection<PreAllocateViewMountItem> preMountItemsToDispatch = getAndResetPreMountItems();
|
|
768
|
-
|
|
769
|
-
if (preMountItemsToDispatch != null) {
|
|
770
|
-
Systrace.beginSection(
|
|
771
|
-
Systrace.TRACE_TAG_REACT_JAVA_BRIDGE,
|
|
772
|
-
"FabricUIManager::mountViews preMountItems to execute: "
|
|
773
|
-
+ preMountItemsToDispatch.size());
|
|
774
|
-
|
|
775
|
-
for (PreAllocateViewMountItem preMountItem : preMountItemsToDispatch) {
|
|
776
|
-
preMountItem.execute(mMountingManager);
|
|
777
|
-
}
|
|
778
|
-
|
|
779
|
-
Systrace.endSection(Systrace.TRACE_TAG_REACT_JAVA_BRIDGE);
|
|
780
|
-
}
|
|
781
|
-
|
|
782
|
-
if (mountItemsToDispatch != null) {
|
|
783
|
-
Systrace.beginSection(
|
|
784
|
-
Systrace.TRACE_TAG_REACT_JAVA_BRIDGE,
|
|
785
|
-
"FabricUIManager::mountViews mountItems to execute: " + mountItemsToDispatch.size());
|
|
786
|
-
|
|
787
|
-
long batchedExecutionStartTime = SystemClock.uptimeMillis();
|
|
788
|
-
|
|
789
|
-
for (MountItem mountItem : mountItemsToDispatch) {
|
|
790
|
-
if (ENABLE_FABRIC_LOGS) {
|
|
791
|
-
printMountItem(mountItem, "dispatchMountItems: Executing mountItem");
|
|
792
|
-
}
|
|
793
|
-
|
|
794
|
-
try {
|
|
795
|
-
mountItem.execute(mMountingManager);
|
|
796
|
-
} catch (Throwable e) {
|
|
797
|
-
// If there's an exception, we want to log diagnostics in prod and rethrow.
|
|
798
|
-
FLog.e(TAG, "dispatchMountItems: caught exception, displaying all MountItems", e);
|
|
799
|
-
for (MountItem m : mountItemsToDispatch) {
|
|
800
|
-
printMountItem(m, "dispatchMountItems: mountItem");
|
|
801
|
-
}
|
|
802
|
-
|
|
803
|
-
if (ReactIgnorableMountingException.isIgnorable(e)) {
|
|
804
|
-
ReactSoftException.logSoftException(TAG, e);
|
|
805
|
-
} else {
|
|
806
|
-
throw e;
|
|
807
|
-
}
|
|
808
|
-
}
|
|
809
|
-
}
|
|
810
|
-
mBatchedExecutionTime += SystemClock.uptimeMillis() - batchedExecutionStartTime;
|
|
811
|
-
}
|
|
812
|
-
Systrace.endSection(Systrace.TRACE_TAG_REACT_JAVA_BRIDGE);
|
|
813
|
-
|
|
814
|
-
return true;
|
|
815
|
-
}
|
|
816
|
-
|
|
817
|
-
/**
|
|
818
|
-
* Detect if we still have processing time left in this frame.
|
|
819
|
-
*
|
|
820
|
-
* @param frameTimeNanos
|
|
821
|
-
* @return
|
|
822
|
-
*/
|
|
823
|
-
private boolean haveExceededNonBatchedFrameTime(long frameTimeNanos) {
|
|
824
|
-
long timeLeftInFrame = FRAME_TIME_MS - ((System.nanoTime() - frameTimeNanos) / 1000000);
|
|
825
|
-
return timeLeftInFrame < MAX_TIME_IN_FRAME_FOR_NON_BATCHED_OPERATIONS_MS;
|
|
826
|
-
}
|
|
827
|
-
|
|
828
|
-
@UiThread
|
|
829
|
-
@ThreadConfined(UI)
|
|
830
|
-
private void dispatchPreMountItems(long frameTimeNanos) {
|
|
831
|
-
Systrace.beginSection(Systrace.TRACE_TAG_REACT_JAVA_BRIDGE, "FabricUIManager::premountViews");
|
|
832
|
-
|
|
833
|
-
// dispatchPreMountItems cannot be reentrant, but we want to prevent dispatchMountItems from
|
|
834
|
-
// reentering during dispatchPreMountItems
|
|
835
|
-
mInDispatch = true;
|
|
836
|
-
|
|
837
|
-
try {
|
|
838
|
-
while (true) {
|
|
839
|
-
if (haveExceededNonBatchedFrameTime(frameTimeNanos)) {
|
|
840
|
-
break;
|
|
841
|
-
}
|
|
842
|
-
|
|
843
|
-
PreAllocateViewMountItem preMountItemToDispatch = mPreMountItemsConcurrent.poll();
|
|
844
|
-
|
|
845
|
-
// If list is empty, `poll` will return null, or var will never be set
|
|
846
|
-
if (preMountItemToDispatch == null) {
|
|
847
|
-
break;
|
|
848
|
-
}
|
|
849
|
-
|
|
850
|
-
preMountItemToDispatch.execute(mMountingManager);
|
|
851
|
-
}
|
|
852
|
-
} finally {
|
|
853
|
-
mInDispatch = false;
|
|
854
|
-
}
|
|
855
|
-
|
|
856
|
-
Systrace.endSection(Systrace.TRACE_TAG_REACT_JAVA_BRIDGE);
|
|
857
|
-
}
|
|
858
|
-
|
|
859
761
|
public void setBinding(Binding binding) {
|
|
860
762
|
mBinding = binding;
|
|
861
763
|
}
|
|
@@ -881,7 +783,7 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
|
|
|
881
783
|
|
|
882
784
|
// TODO T83615646: make this a hard-crash in the future.
|
|
883
785
|
if (surfaceMountingManager == null) {
|
|
884
|
-
|
|
786
|
+
ReactSoftExceptionLogger.logSoftException(
|
|
885
787
|
TAG,
|
|
886
788
|
new IllegalViewOperationException(
|
|
887
789
|
"Cannot updateRootLayoutSpecs on surfaceId that does not exist: " + surfaceId));
|
|
@@ -908,6 +810,14 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
|
|
|
908
810
|
doLeftAndRightSwapInRTL);
|
|
909
811
|
}
|
|
910
812
|
|
|
813
|
+
@Override
|
|
814
|
+
public View resolveView(int reactTag) {
|
|
815
|
+
UiThreadUtil.assertOnUiThread();
|
|
816
|
+
|
|
817
|
+
SurfaceMountingManager surfaceManager = mMountingManager.getSurfaceManagerForView(reactTag);
|
|
818
|
+
return surfaceManager == null ? null : surfaceManager.getView(reactTag);
|
|
819
|
+
}
|
|
820
|
+
|
|
911
821
|
@Override
|
|
912
822
|
public void receiveEvent(int reactTag, String eventName, @Nullable WritableMap params) {
|
|
913
823
|
receiveEvent(View.NO_ID, reactTag, eventName, params);
|
|
@@ -916,10 +826,39 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
|
|
|
916
826
|
@Override
|
|
917
827
|
public void receiveEvent(
|
|
918
828
|
int surfaceId, int reactTag, String eventName, @Nullable WritableMap params) {
|
|
829
|
+
receiveEvent(surfaceId, reactTag, eventName, false, 0, params);
|
|
830
|
+
}
|
|
831
|
+
|
|
832
|
+
/**
|
|
833
|
+
* receiveEvent API that emits an event to C++. If `canCoalesceEvent` is true, that signals that
|
|
834
|
+
* C++ may coalesce the event optionally. Otherwise, coalescing can happen in Java before
|
|
835
|
+
* emitting.
|
|
836
|
+
*
|
|
837
|
+
* <p>`customCoalesceKey` is currently unused.
|
|
838
|
+
*
|
|
839
|
+
* @param surfaceId
|
|
840
|
+
* @param reactTag
|
|
841
|
+
* @param eventName
|
|
842
|
+
* @param canCoalesceEvent
|
|
843
|
+
* @param customCoalesceKey
|
|
844
|
+
* @param params
|
|
845
|
+
*/
|
|
846
|
+
public void receiveEvent(
|
|
847
|
+
int surfaceId,
|
|
848
|
+
int reactTag,
|
|
849
|
+
String eventName,
|
|
850
|
+
boolean canCoalesceEvent,
|
|
851
|
+
int customCoalesceKey,
|
|
852
|
+
@Nullable WritableMap params) {
|
|
919
853
|
if (ReactBuildConfig.DEBUG && surfaceId == View.NO_ID) {
|
|
920
854
|
FLog.d(TAG, "Emitted event without surfaceId: [%d] %s", reactTag, eventName);
|
|
921
855
|
}
|
|
922
856
|
|
|
857
|
+
if (mDestroyed) {
|
|
858
|
+
FLog.e(TAG, "Attempted to receiveEvent after destruction");
|
|
859
|
+
return;
|
|
860
|
+
}
|
|
861
|
+
|
|
923
862
|
EventEmitterWrapper eventEmitter = mMountingManager.getEventEmitter(surfaceId, reactTag);
|
|
924
863
|
|
|
925
864
|
if (eventEmitter == null) {
|
|
@@ -928,7 +867,11 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
|
|
|
928
867
|
return;
|
|
929
868
|
}
|
|
930
869
|
|
|
931
|
-
|
|
870
|
+
if (canCoalesceEvent) {
|
|
871
|
+
eventEmitter.invokeUnique(eventName, params, customCoalesceKey);
|
|
872
|
+
} else {
|
|
873
|
+
eventEmitter.invoke(eventName, params);
|
|
874
|
+
}
|
|
932
875
|
}
|
|
933
876
|
|
|
934
877
|
@Override
|
|
@@ -981,11 +924,10 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
|
|
|
981
924
|
final int reactTag,
|
|
982
925
|
final int commandId,
|
|
983
926
|
@Nullable final ReadableArray commandArgs) {
|
|
984
|
-
dispatchCommandMountItem(
|
|
927
|
+
mMountItemDispatcher.dispatchCommandMountItem(
|
|
985
928
|
new DispatchIntCommandMountItem(surfaceId, reactTag, commandId, commandArgs));
|
|
986
929
|
}
|
|
987
930
|
|
|
988
|
-
@DoNotStrip
|
|
989
931
|
@AnyThread
|
|
990
932
|
@ThreadConfined(ANY)
|
|
991
933
|
public void dispatchCommand(
|
|
@@ -993,26 +935,19 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
|
|
|
993
935
|
final int reactTag,
|
|
994
936
|
final String commandId,
|
|
995
937
|
@Nullable final ReadableArray commandArgs) {
|
|
996
|
-
dispatchCommandMountItem(
|
|
938
|
+
mMountItemDispatcher.dispatchCommandMountItem(
|
|
997
939
|
new DispatchStringCommandMountItem(surfaceId, reactTag, commandId, commandArgs));
|
|
998
940
|
}
|
|
999
941
|
|
|
1000
|
-
@AnyThread
|
|
1001
|
-
@ThreadConfined(ANY)
|
|
1002
|
-
private void dispatchCommandMountItem(DispatchCommandMountItem command) {
|
|
1003
|
-
addViewCommandMountItem(command);
|
|
1004
|
-
}
|
|
1005
|
-
|
|
1006
942
|
@Override
|
|
1007
943
|
@AnyThread
|
|
1008
944
|
@ThreadConfined(ANY)
|
|
1009
945
|
public void sendAccessibilityEvent(int reactTag, int eventType) {
|
|
1010
946
|
// Can be called from native, not just JS - we need to migrate the native callsites
|
|
1011
947
|
// before removing this entirely.
|
|
1012
|
-
addMountItem(new SendAccessibilityEvent(View.NO_ID, reactTag, eventType));
|
|
948
|
+
mMountItemDispatcher.addMountItem(new SendAccessibilityEvent(View.NO_ID, reactTag, eventType));
|
|
1013
949
|
}
|
|
1014
950
|
|
|
1015
|
-
@DoNotStrip
|
|
1016
951
|
@AnyThread
|
|
1017
952
|
@ThreadConfined(ANY)
|
|
1018
953
|
public void sendAccessibilityEventFromJS(int surfaceId, int reactTag, String eventTypeJS) {
|
|
@@ -1027,7 +962,7 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
|
|
|
1027
962
|
throw new IllegalArgumentException(
|
|
1028
963
|
"sendAccessibilityEventFromJS: invalid eventType " + eventTypeJS);
|
|
1029
964
|
}
|
|
1030
|
-
addMountItem(new SendAccessibilityEvent(surfaceId, reactTag, eventType));
|
|
965
|
+
mMountItemDispatcher.addMountItem(new SendAccessibilityEvent(surfaceId, reactTag, eventType));
|
|
1031
966
|
}
|
|
1032
967
|
|
|
1033
968
|
/**
|
|
@@ -1037,18 +972,24 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
|
|
|
1037
972
|
* @param initialReactTag React tag of the JS view that initiated the touch operation
|
|
1038
973
|
* @param blockNativeResponder If native responder should be blocked or not
|
|
1039
974
|
*/
|
|
1040
|
-
@DoNotStrip
|
|
1041
975
|
public void setJSResponder(
|
|
1042
976
|
final int surfaceId,
|
|
1043
977
|
final int reactTag,
|
|
1044
978
|
final int initialReactTag,
|
|
1045
979
|
final boolean blockNativeResponder) {
|
|
1046
|
-
addMountItem(
|
|
980
|
+
mMountItemDispatcher.addMountItem(
|
|
1047
981
|
new MountItem() {
|
|
1048
982
|
@Override
|
|
1049
983
|
public void execute(MountingManager mountingManager) {
|
|
1050
|
-
|
|
1051
|
-
surfaceId
|
|
984
|
+
SurfaceMountingManager surfaceMountingManager =
|
|
985
|
+
mountingManager.getSurfaceManager(surfaceId);
|
|
986
|
+
if (surfaceMountingManager != null) {
|
|
987
|
+
surfaceMountingManager.setJSResponder(
|
|
988
|
+
reactTag, initialReactTag, blockNativeResponder);
|
|
989
|
+
} else {
|
|
990
|
+
FLog.e(
|
|
991
|
+
TAG, "setJSResponder skipped, surface no longer available [" + surfaceId + "]");
|
|
992
|
+
}
|
|
1052
993
|
}
|
|
1053
994
|
|
|
1054
995
|
@Override
|
|
@@ -1059,12 +1000,11 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
|
|
|
1059
1000
|
}
|
|
1060
1001
|
|
|
1061
1002
|
/**
|
|
1062
|
-
* Clears the JS Responder specified by {@link #setJSResponder
|
|
1063
|
-
*
|
|
1003
|
+
* Clears the JS Responder specified by {@link #setJSResponder}. After this method is called, all
|
|
1004
|
+
* the touch events are going to be handled by JS.
|
|
1064
1005
|
*/
|
|
1065
|
-
@DoNotStrip
|
|
1066
1006
|
public void clearJSResponder() {
|
|
1067
|
-
addMountItem(
|
|
1007
|
+
mMountItemDispatcher.addMountItem(
|
|
1068
1008
|
new MountItem() {
|
|
1069
1009
|
@Override
|
|
1070
1010
|
public void execute(MountingManager mountingManager) {
|
|
@@ -1090,21 +1030,19 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
|
|
|
1090
1030
|
if (eventName == null) {
|
|
1091
1031
|
return null;
|
|
1092
1032
|
}
|
|
1093
|
-
if (eventName.
|
|
1033
|
+
if (eventName.startsWith("top")) {
|
|
1094
1034
|
return "on" + eventName.substring(3);
|
|
1095
1035
|
}
|
|
1096
1036
|
return eventName;
|
|
1097
1037
|
}
|
|
1098
1038
|
|
|
1099
1039
|
// Called from Binding.cpp
|
|
1100
|
-
@DoNotStrip
|
|
1101
1040
|
@AnyThread
|
|
1102
1041
|
public void onAnimationStarted() {
|
|
1103
1042
|
mDriveCxxAnimations = true;
|
|
1104
1043
|
}
|
|
1105
1044
|
|
|
1106
1045
|
// Called from Binding.cpp
|
|
1107
|
-
@DoNotStrip
|
|
1108
1046
|
@AnyThread
|
|
1109
1047
|
public void onAllAnimationsComplete() {
|
|
1110
1048
|
mDriveCxxAnimations = false;
|
|
@@ -1116,36 +1054,22 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
|
|
|
1116
1054
|
performanceCounters.put("CommitStartTime", mCommitStartTime);
|
|
1117
1055
|
performanceCounters.put("LayoutTime", mLayoutTime);
|
|
1118
1056
|
performanceCounters.put("DispatchViewUpdatesTime", mDispatchViewUpdatesTime);
|
|
1119
|
-
performanceCounters.put("RunStartTime",
|
|
1120
|
-
performanceCounters.put("BatchedExecutionTime",
|
|
1057
|
+
performanceCounters.put("RunStartTime", mMountItemDispatcher.getRunStartTime());
|
|
1058
|
+
performanceCounters.put("BatchedExecutionTime", mMountItemDispatcher.getBatchedExecutionTime());
|
|
1121
1059
|
performanceCounters.put("FinishFabricTransactionTime", mFinishTransactionTime);
|
|
1122
1060
|
performanceCounters.put("FinishFabricTransactionCPPTime", mFinishTransactionCPPTime);
|
|
1123
1061
|
return performanceCounters;
|
|
1124
1062
|
}
|
|
1125
1063
|
|
|
1126
|
-
private
|
|
1127
|
-
|
|
1128
|
-
|
|
1129
|
-
|
|
1130
|
-
|
|
1131
|
-
|
|
1132
|
-
// MountItem - because PreAllocateViewMountItem is not batched, and is relatively more expensive
|
|
1133
|
-
// both to queue, to drain, and to execute.
|
|
1134
|
-
if (!mMountingManager.surfaceIsStopped(mountItem.getSurfaceId())) {
|
|
1135
|
-
mPreMountItemsConcurrent.add(mountItem);
|
|
1136
|
-
} else if (IS_DEVELOPMENT_ENVIRONMENT) {
|
|
1137
|
-
FLog.e(
|
|
1138
|
-
TAG,
|
|
1139
|
-
"Not queueing PreAllocateMountItem: surfaceId stopped: [%d] - %s",
|
|
1140
|
-
mountItem.getSurfaceId(),
|
|
1141
|
-
mountItem.toString());
|
|
1064
|
+
private class MountItemDispatchListener implements MountItemDispatcher.ItemDispatchListener {
|
|
1065
|
+
@Override
|
|
1066
|
+
public void didDispatchMountItems() {
|
|
1067
|
+
for (UIManagerListener listener : mListeners) {
|
|
1068
|
+
listener.didDispatchMountItems(FabricUIManager.this);
|
|
1069
|
+
}
|
|
1142
1070
|
}
|
|
1143
1071
|
}
|
|
1144
1072
|
|
|
1145
|
-
private void addViewCommandMountItem(DispatchCommandMountItem mountItem) {
|
|
1146
|
-
mViewCommandMountItemsConcurrent.add(mountItem);
|
|
1147
|
-
}
|
|
1148
|
-
|
|
1149
1073
|
private class DispatchUIFrameCallback extends GuardedFrameCallback {
|
|
1150
1074
|
|
|
1151
1075
|
private volatile boolean mIsMountingEnabled = true;
|
|
@@ -1177,8 +1101,8 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
|
|
|
1177
1101
|
}
|
|
1178
1102
|
|
|
1179
1103
|
try {
|
|
1180
|
-
dispatchPreMountItems(frameTimeNanos);
|
|
1181
|
-
tryDispatchMountItems();
|
|
1104
|
+
mMountItemDispatcher.dispatchPreMountItems(frameTimeNanos);
|
|
1105
|
+
mMountItemDispatcher.tryDispatchMountItems();
|
|
1182
1106
|
} catch (Exception ex) {
|
|
1183
1107
|
FLog.e(TAG, "Exception thrown when executing UIFrameGuarded", ex);
|
|
1184
1108
|
stop();
|