react-native-tvos 0.64.2-2 → 0.66.3-0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Libraries/ActionSheetIOS/ActionSheetIOS.js +0 -2
- package/Libraries/ActionSheetIOS/NativeActionSheetManager.js +0 -2
- package/Libraries/ActionSheetIOS/React-RCTActionSheet.podspec +2 -2
- 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 +4 -3
- 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 +9 -6
- 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 +3 -5
- package/Libraries/Animated/components/AnimatedScrollView.js +3 -5
- package/Libraries/Animated/components/AnimatedSectionList.js +1 -3
- package/Libraries/Animated/components/AnimatedText.js +3 -5
- package/Libraries/Animated/components/AnimatedView.js +3 -3
- package/Libraries/Animated/createAnimatedComponent.js +48 -29
- 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 +116 -132
- 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 +10 -12
- package/Libraries/Blob/RCTBlobPlugins.mm +4 -3
- package/Libraries/Blob/RCTFileReaderModule.mm +3 -9
- package/Libraries/Blob/React-RCTBlob.podspec +3 -3
- package/Libraries/Blob/URL.js +17 -19
- 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 +22 -21
- package/Libraries/Components/ActivityIndicator/ActivityIndicatorViewNativeComponent.js +0 -2
- package/Libraries/Components/AppleTV/TVFocusGuideView.js +24 -1
- package/Libraries/Components/Button.js +42 -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 +48 -9
- package/Libraries/Components/DatePicker/RCTDatePickerNativeComponent.js +1 -2
- package/Libraries/Components/DatePickerAndroid/DatePickerAndroid.android.js +0 -2
- package/Libraries/Components/DatePickerAndroid/NativeDatePickerAndroid.js +0 -2
- package/Libraries/Components/DrawerAndroid/AndroidDrawerLayoutNativeComponent.js +0 -2
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +0 -2
- package/Libraries/Components/Keyboard/Keyboard.js +52 -57
- 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 +22 -8
- package/Libraries/Components/Pressable/useAndroidRippleForView.js +18 -17
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.android.js +15 -13
- 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 +2 -12
- package/Libraries/Components/RefreshControl/PullToRefreshViewNativeComponent.js +9 -3
- package/Libraries/Components/RefreshControl/RefreshControl.js +7 -26
- 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 +9 -26
- package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +31 -45
- package/Libraries/Components/ScrollView/ScrollContentViewNativeComponent.js +12 -26
- package/Libraries/Components/ScrollView/ScrollView.js +786 -232
- package/Libraries/Components/ScrollView/ScrollViewContext.js +3 -3
- package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +75 -21
- package/Libraries/Components/ScrollView/ScrollViewNativeComponentType.js +5 -12
- package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +256 -242
- package/Libraries/Components/ScrollView/ScrollViewViewConfig.js +13 -5
- 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 +20 -9
- 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 +102 -122
- package/Libraries/Components/Switch/SwitchNativeComponent.js +0 -2
- package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +14 -20
- package/Libraries/Components/TextInput/AndroidTextInputViewConfig.js +7 -5
- 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 +289 -227
- 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 +30 -59
- package/Libraries/Components/Touchable/TouchableBounce.js +0 -2
- package/Libraries/Components/Touchable/TouchableHighlight.js +23 -7
- 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/Touchable/ensurePositiveDelayProps.js +1 -2
- 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 +13 -11
- package/Libraries/Components/View/View.js +2 -4
- package/Libraries/Components/View/ViewAccessibility.js +3 -0
- package/Libraries/Components/View/ViewNativeComponent.js +17 -62
- 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 +48 -40
- 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 +2 -2
- package/Libraries/Core/ReactNativeVersionCheck.js +0 -2
- package/Libraries/Core/SegmentFetcher/NativeSegmentFetcher.js +0 -2
- package/Libraries/Core/Timers/JSTimers.js +41 -58
- 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/setUpDeveloperTools.js +53 -58
- package/Libraries/Core/setUpReactDevTools.js +18 -1
- package/Libraries/Core/setUpReactRefresh.js +3 -1
- package/Libraries/Core/setUpRegeneratorRuntime.js +25 -8
- package/Libraries/Core/setUpTimers.js +64 -5
- 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 -47
- package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +9 -70
- package/Libraries/EventEmitter/RCTEventEmitter.js +5 -1
- package/Libraries/EventEmitter/RCTNativeAppEventEmitter.js +0 -2
- package/Libraries/EventEmitter/__mocks__/NativeEventEmitter.js +31 -8
- package/Libraries/FBLazyVector/BUCK +5 -1
- package/Libraries/FBLazyVector/FBLazyVector.podspec +2 -2
- package/Libraries/HeapCapture/HeapCapture.js +0 -2
- package/Libraries/HeapCapture/NativeJSCHeapCapture.js +0 -2
- package/Libraries/Image/AssetSourceResolver.js +8 -16
- package/Libraries/Image/AssetUtils.js +48 -0
- package/Libraries/Image/Image.android.js +43 -132
- package/Libraries/Image/Image.ios.js +58 -29
- package/Libraries/Image/ImageAnalyticsTagContext.js +4 -2
- package/Libraries/Image/ImageBackground.js +2 -2
- package/Libraries/Image/ImageInjection.js +28 -0
- package/Libraries/Image/ImagePickerIOS.js +0 -2
- package/Libraries/Image/ImageSource.js +57 -14
- package/Libraries/Image/ImageViewNativeComponent.js +70 -27
- package/Libraries/Image/NativeImageEditor.js +0 -2
- package/Libraries/Image/NativeImageLoaderAndroid.js +0 -2
- package/Libraries/Image/NativeImageLoaderIOS.js +6 -2
- package/Libraries/Image/NativeImagePickerIOS.js +0 -2
- package/Libraries/Image/NativeImageStoreAndroid.js +0 -2
- package/Libraries/Image/NativeImageStoreIOS.js +0 -2
- package/Libraries/Image/RCTAnimatedImage.m +6 -3
- package/Libraries/Image/RCTGIFImageDecoder.mm +6 -0
- package/Libraries/Image/RCTImageBlurUtils.m +17 -11
- package/Libraries/Image/RCTImageEditingManager.mm +4 -4
- package/Libraries/Image/RCTImageLoader.h +2 -2
- package/Libraries/Image/RCTImageLoader.mm +31 -30
- package/Libraries/Image/RCTImageLoaderWithAttributionProtocol.h +0 -5
- package/Libraries/Image/RCTImagePlugins.mm +4 -3
- package/Libraries/Image/RCTImageStoreManager.mm +5 -5
- package/Libraries/Image/RCTImageURLLoaderWithAttribution.h +1 -0
- 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/Image/resolveAssetSource.js +2 -1
- 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 +7 -6
- package/Libraries/Interaction/InteractionMixin.js +1 -2
- package/Libraries/Interaction/PanResponder.js +1 -1
- package/Libraries/LayoutAnimation/LayoutAnimation.js +53 -17
- package/Libraries/Linking/Linking.js +19 -10
- 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 +80 -52
- 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 +190 -132
- package/Libraries/Lists/VirtualizedListContext.js +3 -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/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 +46 -21
- package/Libraries/{Components/Picker/PickerIOS.android.js → Modal/ModalInjection.js} +5 -4
- package/Libraries/Modal/NativeModalManager.js +0 -2
- package/Libraries/Modal/RCTModalHostViewNativeComponent.js +8 -4
- package/Libraries/NativeAnimation/RCTAnimationPlugins.mm +4 -3
- package/Libraries/NativeAnimation/RCTNativeAnimatedModule.mm +7 -2
- package/Libraries/NativeAnimation/RCTNativeAnimatedNodesManager.h +1 -1
- package/Libraries/NativeAnimation/RCTNativeAnimatedNodesManager.m +1 -1
- package/Libraries/NativeAnimation/RCTNativeAnimatedTurboModule.h +2 -1
- package/Libraries/NativeAnimation/RCTNativeAnimatedTurboModule.mm +31 -23
- package/Libraries/NativeAnimation/React-RCTAnimation.podspec +4 -4
- package/Libraries/NativeComponent/NativeComponentRegistry.js +157 -0
- package/Libraries/NativeComponent/ViewConfig.js +50 -0
- 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 +27 -9
- package/Libraries/Network/RCTNetworkPlugins.mm +4 -3
- package/Libraries/Network/RCTNetworking.android.js +8 -4
- package/Libraries/Network/RCTNetworking.h +1 -1
- package/Libraries/Network/RCTNetworking.ios.js +63 -20
- package/Libraries/Network/RCTNetworking.mm +13 -3
- package/Libraries/Network/React-RCTNetwork.podspec +3 -3
- 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 +7 -4
- package/Libraries/NewAppScreen/components/LearnMoreLinks.js +0 -1
- package/Libraries/NewAppScreen/index.js +0 -2
- package/Libraries/Performance/NativeJSCSamplingProfiler.js +0 -2
- package/Libraries/Performance/QuickPerformanceLogger.js +4 -4
- package/Libraries/Performance/Systrace.js +3 -5
- 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 +24 -22
- package/Libraries/Pressability/PressabilityDebug.js +9 -4
- package/Libraries/Pressability/PressabilityPerformanceEventEmitter.js +47 -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 +43 -4
- package/Libraries/PushNotificationIOS/RCTPushNotificationManager.mm +13 -0
- 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 +9 -1
- 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 +69 -42
- package/Libraries/ReactNative/RootTag.js +6 -4
- package/Libraries/ReactNative/UIManager.js +7 -4
- package/Libraries/{Text/TextInjection.js → ReactNative/UIManagerInjection.js} +2 -6
- package/Libraries/ReactNative/UIManagerProperties.js +1 -0
- package/Libraries/ReactNative/getCachedComponentWithDebugName.js +32 -0
- package/Libraries/ReactNative/getNativeComponentAttributes.js +2 -1
- package/Libraries/ReactNative/renderApplication.js +24 -6
- package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +8 -4
- package/Libraries/Reliability/UserFlow.js +26 -4
- package/Libraries/Renderer/REVISION +1 -1
- package/Libraries/Renderer/implementations/ReactFabric-dev.fb.js +8933 -7603
- package/Libraries/Renderer/implementations/ReactFabric-dev.js +5810 -4905
- package/Libraries/Renderer/implementations/ReactFabric-prod.fb.js +2893 -2551
- package/Libraries/Renderer/implementations/ReactFabric-prod.js +2114 -1953
- package/Libraries/Renderer/implementations/ReactFabric-profiling.fb.js +3309 -2815
- package/Libraries/Renderer/implementations/ReactFabric-profiling.js +2576 -2266
- package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.fb.js +9064 -7879
- package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +5675 -4840
- package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.fb.js +2701 -2490
- package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +2279 -2138
- package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.fb.js +3068 -2709
- package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +2574 -2282
- 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 +104 -63
- package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +8 -11
- package/Libraries/Renderer/shims/createReactNativeComponentClass.js +5 -3
- package/Libraries/Settings/NativeSettingsManager.js +0 -2
- package/Libraries/Settings/RCTSettingsManager.mm +2 -2
- package/Libraries/Settings/RCTSettingsPlugins.mm +4 -3
- package/Libraries/Settings/React-RCTSettings.podspec +3 -3
- 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 +68 -49
- package/Libraries/Storage/NativeAsyncLocalStorage.js +10 -9
- package/Libraries/Storage/NativeAsyncSQLiteDBStorage.js +10 -9
- 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/StyleSheetTypes.js +5 -0
- package/Libraries/StyleSheet/flattenStyle.js +5 -7
- package/Libraries/StyleSheet/normalizeColor.js +0 -2
- package/Libraries/StyleSheet/processColorArray.js +16 -6
- package/Libraries/StyleSheet/processTransform.js +6 -6
- package/Libraries/StyleSheet/splitLayoutProps.js +50 -48
- 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/TextAncestor.js +7 -1
- package/Libraries/Text/TextInput/Multiline/RCTUITextView.h +0 -2
- package/Libraries/Text/TextInput/Multiline/RCTUITextView.m +12 -2
- package/Libraries/Text/TextInput/RCTBaseTextInputView.m +8 -0
- package/Libraries/Text/TextNativeComponent.js +4 -3
- package/Libraries/Text/TextProps.js +6 -0
- package/Libraries/TurboModule/RCTExport.js +1 -1
- package/Libraries/TurboModule/TurboModuleRegistry.js +4 -27
- package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +2 -2
- package/Libraries/TypeSafety/RCTTypeSafety.podspec +3 -3
- package/Libraries/Types/CodegenTypes.js +2 -1
- package/Libraries/Types/CoreEventTypes.js +1 -3
- package/Libraries/{Components/Picker/PickerAndroid.ios.js → Types/RootTagTypes.js} +2 -3
- package/Libraries/UTFSequence.js +1 -1
- package/Libraries/Utilities/Appearance.js +22 -8
- package/Libraries/Utilities/BackHandler.android.js +0 -2
- package/Libraries/Utilities/DebugEnvironment.js +1 -3
- package/Libraries/Utilities/DevSettings.js +51 -56
- package/Libraries/Utilities/DeviceInfo.js +0 -2
- package/Libraries/Utilities/Dimensions.js +21 -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 +11 -4
- package/Libraries/Utilities/Platform.android.js +6 -5
- package/Libraries/Utilities/Platform.ios.js +1 -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 +3 -5
- 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 +22 -28
- package/Libraries/Vibration/NativeVibration.js +0 -2
- package/Libraries/Vibration/RCTVibrationPlugins.mm +4 -3
- package/Libraries/Vibration/React-RCTVibration.podspec +3 -3
- package/Libraries/Vibration/Vibration.js +0 -2
- package/Libraries/WebSocket/NativeWebSocketModule.js +0 -2
- package/Libraries/WebSocket/WebSocket.js +27 -14
- 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 +37 -4
- package/Libraries/vendor/emitter/EventSubscription.js +19 -0
- package/Libraries/vendor/emitter/_EmitterSubscription.js +16 -15
- package/Libraries/vendor/emitter/_EventEmitter.js +51 -41
- package/Libraries/vendor/emitter/_EventSubscription.js +11 -7
- package/Libraries/vendor/emitter/_EventSubscriptionVendor.js +21 -14
- package/Libraries/vendor/emitter/__flowtests__/EventEmitter-flowtest.js +125 -0
- package/README.md +7 -1
- package/React/AccessibilityResources/en.lproj/Localizable.strings +1 -1
- package/React/Base/RCTAssert.h +35 -18
- package/React/Base/RCTAssert.m +52 -0
- package/React/Base/RCTBridge.h +15 -3
- package/React/Base/RCTBridge.m +14 -5
- package/React/Base/RCTBridgeModule.h +104 -0
- package/React/Base/RCTBundleManager.m +78 -0
- package/React/Base/RCTBundleURLProvider.h +35 -9
- package/React/Base/RCTBundleURLProvider.mm +87 -24
- package/React/Base/RCTCallableJSModules.m +47 -0
- package/React/Base/RCTConstants.h +9 -10
- package/React/Base/RCTConstants.m +18 -18
- package/React/Base/RCTConvert.m +31 -7
- package/React/Base/RCTCxxConvert.h +1 -1
- package/React/Base/RCTDefines.h +10 -0
- package/React/Base/RCTEventDispatcherProtocol.h +1 -2
- package/React/{Views/RCTPickerManager.h → Base/RCTInitializing.h} +4 -2
- package/React/Base/RCTJavaScriptLoader.mm +1 -0
- package/React/Base/RCTModuleData.h +20 -3
- package/React/Base/RCTModuleData.mm +121 -3
- package/React/Base/RCTModuleRegistry.m +48 -0
- package/React/Base/RCTMultipartStreamReader.m +0 -2
- package/React/Base/RCTRootView.h +10 -1
- package/React/Base/RCTRootView.m +15 -37
- package/React/Base/RCTTVRemoteHandler.h +5 -2
- package/React/Base/RCTTVRemoteHandler.m +173 -70
- package/React/Base/RCTTouchHandler.m +12 -1
- package/React/Base/RCTUtils.m +6 -2
- package/React/Base/RCTVersion.m +2 -2
- package/React/Base/RCTViewRegistry.m +45 -0
- package/React/Base/Surface/RCTSurfaceStage.h +6 -11
- package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingProxyRootView.h +1 -0
- package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingProxyRootView.mm +11 -1
- package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingView.mm +3 -0
- package/React/CoreModules/BUCK +6 -5
- package/React/CoreModules/CoreModulesPlugins.mm +4 -3
- package/React/CoreModules/RCTAccessibilityManager.mm +17 -10
- package/React/CoreModules/RCTActionSheetManager.mm +17 -13
- package/React/CoreModules/RCTAlertController.h +2 -1
- package/React/CoreModules/RCTAlertController.m +5 -0
- package/React/CoreModules/RCTAlertManager.mm +3 -0
- package/React/CoreModules/RCTAppearance.mm +3 -1
- package/React/CoreModules/RCTAsyncLocalStorage.mm +4 -0
- package/React/CoreModules/RCTDevLoadingView.mm +20 -23
- package/React/CoreModules/RCTDevMenu.h +0 -5
- package/React/CoreModules/RCTDevMenu.mm +43 -71
- package/React/CoreModules/RCTDevSettings.h +12 -2
- package/React/CoreModules/RCTDevSettings.mm +100 -56
- package/React/CoreModules/RCTDevSplitBundleLoader.mm +2 -7
- package/React/CoreModules/RCTDeviceInfo.mm +26 -22
- package/React/CoreModules/RCTEventDispatcher.h +2 -1
- package/React/CoreModules/RCTEventDispatcher.mm +18 -25
- package/React/CoreModules/RCTExceptionsManager.mm +7 -23
- package/React/CoreModules/RCTKeyboardObserver.mm +1 -1
- package/React/CoreModules/RCTLogBox.mm +15 -10
- package/React/CoreModules/RCTPerfMonitor.mm +11 -5
- package/React/CoreModules/RCTRedBox.mm +5 -8
- package/React/CoreModules/RCTSourceCode.mm +2 -1
- package/React/CoreModules/RCTTVNavigationEventEmitter.h +7 -0
- 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 +99 -8
- package/React/CxxModule/RCTNativeModule.mm +3 -1
- package/React/DevSupport/RCTPackagerConnection.mm +12 -5
- package/React/FBReactNativeSpec/FBReactNativeSpec/FBReactNativeSpec-generated.mm +21 -0
- package/React/FBReactNativeSpec/FBReactNativeSpec/FBReactNativeSpec.h +12 -1
- package/React/FBReactNativeSpec/FBReactNativeSpec.podspec +3 -3
- package/React/Fabric/Mounting/ComponentViews/Image/RCTImageComponentView.h +2 -1
- package/React/Fabric/Mounting/ComponentViews/Image/RCTImageComponentView.mm +28 -36
- package/React/Fabric/Mounting/ComponentViews/InputAccessory/RCTInputAccessoryComponentView.mm +8 -7
- package/React/Fabric/Mounting/ComponentViews/LegacyViewManagerInterop/RCTLegacyViewManagerInteropComponentView.mm +13 -9
- 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 +71 -26
- package/React/Fabric/Mounting/ComponentViews/RCTFabricComponentsPlugins.h +0 -1
- package/React/Fabric/Mounting/ComponentViews/RCTFabricComponentsPlugins.mm +0 -1
- package/React/Fabric/Mounting/ComponentViews/SafeAreaView/RCTSafeAreaViewComponentView.mm +34 -19
- package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTEnhancedScrollView.h +6 -0
- package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTEnhancedScrollView.mm +24 -3
- package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +186 -99
- 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 +118 -30
- package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +109 -28
- package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputUtils.mm +48 -2
- package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +143 -19
- 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 -1
- package/React/Fabric/Mounting/RCTMountingManager.h +28 -1
- package/React/Fabric/Mounting/RCTMountingManager.mm +71 -3
- package/React/Fabric/Mounting/UIView+ComponentViewProtocol.h +4 -0
- package/React/Fabric/Mounting/UIView+ComponentViewProtocol.mm +30 -4
- package/React/Fabric/RCTConversions.h +20 -16
- package/React/Fabric/RCTScheduler.h +11 -16
- package/React/Fabric/RCTScheduler.mm +29 -46
- package/React/Fabric/RCTSurfacePresenter.h +8 -16
- package/React/Fabric/RCTSurfacePresenter.mm +62 -165
- package/React/Fabric/RCTSurfacePresenterBridgeAdapter.h +4 -2
- package/React/Fabric/RCTSurfacePresenterBridgeAdapter.mm +1 -1
- package/React/Fabric/RCTSurfaceRegistry.h +1 -1
- package/React/Fabric/RCTSurfaceTouchHandler.mm +39 -7
- package/React/Fabric/Surface/RCTFabricSurface.h +9 -6
- package/React/Fabric/Surface/RCTFabricSurface.mm +139 -127
- package/React/Modules/RCTEventEmitter.h +3 -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/RCTTVMenuBridge.m +3 -0
- package/React/Modules/RCTUIManager.m +19 -9
- package/React/Profiler/RCTProfile.m +9 -8
- 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 +72 -0
- package/React/Views/RCTBorderDrawing.m +28 -25
- package/React/Views/RCTComponentData.h +10 -1
- package/React/Views/RCTComponentData.m +23 -8
- package/React/Views/RCTConvert+CoreLocation.m +2 -2
- package/React/Views/RCTDatePickerManager.m +33 -0
- package/React/Views/RCTLayout.m +25 -21
- package/React/Views/RCTModalHostView.h +4 -1
- package/React/Views/RCTModalHostView.m +58 -31
- package/React/Views/RCTModalHostViewManager.m +4 -3
- package/React/Views/RCTShadowView+Layout.m +15 -12
- package/React/Views/RCTShadowView.m +3 -2
- package/React/Views/RCTTVFocusGuideView.m +1 -1
- package/React/Views/RCTView.h +7 -7
- package/React/Views/RCTView.m +31 -43
- package/React/Views/RCTViewManager.m +19 -2
- package/React/Views/RCTWeakViewHolder.h +19 -0
- package/React/Views/RefreshControl/RCTRefreshControl.m +22 -1
- package/React/Views/RefreshControl/RCTRefreshControlManager.m +1 -0
- package/React/Views/ScrollView/RCTScrollContentView.m +1 -1
- package/React/Views/ScrollView/RCTScrollView.h +1 -7
- package/React/Views/ScrollView/RCTScrollView.m +17 -63
- package/React/Views/ScrollView/RCTScrollViewManager.m +3 -0
- package/React/third-party.xcconfig +1 -1
- package/React-Core.podspec +4 -15
- package/React.podspec +2 -2
- package/ReactAndroid/Android-prebuilt.mk +82 -3
- package/ReactAndroid/README.md +2 -2
- package/ReactAndroid/build.gradle +145 -34
- package/ReactAndroid/gradle.properties +7 -5
- package/ReactAndroid/proguard-rules.pro +1 -7
- package/ReactAndroid/src/androidTest/buck-runner/BUCK +1 -0
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/BUCK +2 -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 +2 -1
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/idledetection/ReactIdleDetectionUtil.java +1 -1
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/network/BUCK +1 -0
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/rule/BUCK +6 -5
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/BUCK +1 -1
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/TextInputTestCase.java +1 -2
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/core/BUCK +6 -5
- package/ReactAndroid/src/androidTest/js/BUCK +26 -0
- package/ReactAndroid/src/androidTest/js/TestBundle.js +0 -5
- package/ReactAndroid/src/androidTest/js/UIManagerTestModule.js +7 -6
- package/ReactAndroid/src/main/java/com/facebook/BUCK +1 -0
- package/ReactAndroid/src/main/java/com/facebook/debug/debugoverlay/model/BUCK +1 -0
- package/ReactAndroid/src/main/java/com/facebook/debug/holder/BUCK +1 -0
- package/ReactAndroid/src/main/java/com/facebook/debug/tags/BUCK +1 -0
- package/ReactAndroid/src/main/java/com/facebook/hermes/instrumentation/Android.mk +2 -2
- package/ReactAndroid/src/main/java/com/facebook/hermes/instrumentation/BUCK +2 -0
- package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/Android.mk +4 -4
- package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/BUCK +2 -0
- 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/hermes/unicode/BUCK +1 -0
- package/ReactAndroid/src/main/java/com/facebook/perftest/BUCK +1 -0
- package/ReactAndroid/src/main/java/com/facebook/proguard/annotations/BUCK +3 -2
- package/ReactAndroid/src/main/java/com/facebook/proguard/annotations/proguard_annotations.pro +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/CoreModulesPackage.java +3 -2
- package/ReactAndroid/src/main/java/com/facebook/react/ReactActivity.java +8 -0
- package/ReactAndroid/src/main/java/com/facebook/react/ReactActivityDelegate.java +10 -3
- package/ReactAndroid/src/main/java/com/facebook/react/ReactFragment.java +6 -2
- package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +145 -67
- package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManagerBuilder.java +9 -1
- package/ReactAndroid/src/main/java/com/facebook/react/ReactNativeHost.java +8 -1
- package/ReactAndroid/src/main/java/com/facebook/react/{turbomodule/core/ReactPackageTurboModuleManagerDelegate.java → ReactPackageTurboModuleManagerDelegate.java} +18 -6
- package/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java +92 -42
- package/ReactAndroid/src/main/java/com/facebook/react/animated/BUCK +2 -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 +66 -33
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/Arguments.java +4 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/BUCK +2 -0
- 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/CatalystInstanceImpl.java +7 -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/ReactMarkerConstants.java +13 -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/ReadableNativeMap.java +52 -2
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/SoftAssertions.java +8 -7
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/UIManager.java +37 -2
- package/ReactAndroid/src/main/java/com/facebook/react/common/BUCK +3 -0
- package/ReactAndroid/src/main/java/com/facebook/react/common/build/ReactBuildConfig.java +1 -0
- 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/common/network/BUCK +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/config/BUCK +3 -1
- package/ReactAndroid/src/main/java/com/facebook/react/config/ReactFeatureFlags.java +50 -38
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BUCK +3 -1
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BridgeDevSupportManager.java +275 -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 +17 -60
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.java +176 -344
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerFactory.java +8 -8
- 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/devsupport/interfaces/BundleLoadCallback.java +12 -0
- 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 +2 -1
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/Binding.java +10 -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 +17 -71
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +466 -616
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/StateWrapperImpl.java +37 -24
- 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 +27 -7
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Android.mk +4 -5
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/BUCK +4 -5
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Binding.cpp +300 -615
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Binding.h +34 -13
- 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 +15 -28
- 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 +406 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountingManager.java +271 -658
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.java +1008 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/DispatchIntCommandMountItem.java +9 -2
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/DispatchStringCommandMountItem.java +9 -2
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/IntBufferBatchMountItem.java +39 -34
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/MountItem.java +4 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/PreAllocateViewMountItem.java +21 -23
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/SendAccessibilityEvent.java +11 -4
- package/ReactAndroid/src/main/java/com/facebook/react/jscexecutor/Android.mk +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/jscexecutor/BUCK +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/jstasks/BUCK +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/jstasks/HeadlessJsTaskContext.java +3 -3
- package/ReactAndroid/src/main/java/com/facebook/react/module/annotations/BUCK +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/module/model/BUCK +1 -0
- 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 +2 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/appearance/AppearanceModule.java +10 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/appearance/BUCK +2 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/appregistry/BUCK +1 -0
- 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 +2 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BUCK +2 -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/blob/jni/BlobCollector.cpp +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/bundleloader/BUCK +2 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/camera/BUCK +2 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/clipboard/BUCK +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/common/BUCK +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/BUCK +2 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ReactAndroidHWInputDeviceHelper.java +138 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/TimingModule.java +5 -2
- package/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/BUCK +2 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/DatePickerDialogModule.java +19 -13
- 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 +3 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/deviceinfo/BUCK +2 -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 +2 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/dialog/DialogModule.java +12 -4
- package/ReactAndroid/src/main/java/com/facebook/react/modules/fabric/BUCK +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/BUCK +1 -0
- 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 +3 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/i18nmanager/I18nManagerModule.java +12 -12
- package/ReactAndroid/src/main/java/com/facebook/react/modules/image/BUCK +2 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/intent/BUCK +2 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/network/BUCK +2 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkingModule.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/network/OkHttpClientProvider.java +1 -18
- package/ReactAndroid/src/main/java/com/facebook/react/modules/permissions/BUCK +2 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/share/BUCK +2 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/sound/BUCK +2 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/statusbar/BUCK +2 -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 +2 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/BUCK +4 -2
- package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/modules/toast/BUCK +2 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/vibration/BUCK +2 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/websocket/BUCK +2 -1
- package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/BUCK +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/ReconnectingWebSocket.java +3 -1
- package/ReactAndroid/src/main/java/com/facebook/react/reactperflogger/BUCK +1 -0
- 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/runtimescheduler/BUCK +20 -0
- package/ReactAndroid/src/main/java/com/facebook/react/runtimescheduler/RuntimeSchedulerManager.java +39 -0
- package/ReactAndroid/src/main/java/com/facebook/react/runtimescheduler/jni/Android.mk +34 -0
- package/ReactAndroid/src/main/java/com/facebook/react/runtimescheduler/jni/BUCK +35 -0
- package/ReactAndroid/src/main/java/com/facebook/react/runtimescheduler/jni/OnLoad.cpp +15 -0
- package/ReactAndroid/src/main/java/com/facebook/react/runtimescheduler/jni/RuntimeSchedulerManager.cpp +46 -0
- package/ReactAndroid/src/main/java/com/facebook/react/runtimescheduler/jni/RuntimeSchedulerManager.h +40 -0
- package/ReactAndroid/src/main/java/com/facebook/react/shell/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/shell/MainReactPackage.java +0 -4
- package/ReactAndroid/src/main/java/com/facebook/react/surface/BUCK +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/touch/BUCK +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/BUCK +2 -1
- package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/TurboModuleManager.java +11 -10
- package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/TurboModuleManagerDelegate.java +3 -0
- package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/TurboModulePerfLogger.java +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/interfaces/BUCK +1 -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 +4 -4
- package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/BUCK +3 -2
- package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/ReactCommon/TurboModuleManager.cpp +115 -86
- package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/ReactCommon/TurboModuleManager.h +14 -5
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BUCK +6 -1
- 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 +5 -19
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSTouchDispatcher.java +27 -0
- 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 -49
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactOverflowView.java +25 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactRoot.java +14 -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 +24 -4
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ThemedReactContext.java +35 -7
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TouchTargetHelper.java +101 -68
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIImplementation.java +46 -5
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIImplementationProvider.java +35 -13
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerHelper.java +69 -17
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java +55 -54
- 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 +15 -13
- 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/annotations/BUCK +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/common/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/BlackHoleEventDispatcher.java +3 -0
- 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 +134 -6
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcher.java +3 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcherImpl.java +8 -3
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/LockFreeEventDispatcherImpl.java +236 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTEventEmitter.java +10 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTModernEventEmitter.java +32 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/ReactEventEmitter.java +80 -25
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchEvent.java +66 -5
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchesHelper.java +7 -4
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/interfaces/BUCK +21 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/{BaseViewManagerDelegate.java → interfaces/BaseViewManagerDelegate.java} +0 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/{BaseViewManagerInterface.java → interfaces/BaseViewManagerInterface.java} +0 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/{FloatUtil.java → interfaces/FloatUtil.java} +0 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/{Spacing.java → interfaces/Spacing.java} +0 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/{ViewManagerDelegate.java → interfaces/ViewManagerDelegate.java} +0 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/{ViewProps.java → 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/uimanager/util/BUCK +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/util/BUCK +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/BUCK +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/common/BUCK +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/BUCK +3 -2
- package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/ReactDrawerLayoutManager.java +17 -8
- 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/BUCK +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/image/ImageLoadEvent.java +45 -19
- package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactCallerContextFactory.java +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageManager.java +12 -7
- package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageView.java +75 -26
- package/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/BUCK +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/ImageSource.java +17 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/modal/BUCK +5 -2
- package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostManager.java +13 -3
- package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.java +56 -20
- 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 +3 -2
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/BUCK +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollContainerView.java +15 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +185 -28
- 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 +110 -16
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewHelper.java +20 -3
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewManager.java +10 -5
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ScrollEvent.java +41 -14
- package/ReactAndroid/src/main/java/com/facebook/react/views/slider/BUCK +3 -2
- 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 +22 -27
- 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 +3 -2
- 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 +14 -11
- package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/BUCK +3 -2
- 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 +2 -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/ReactBaseTextShadowNode.java +6 -9
- 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/ReactTextShadowNode.java +16 -4
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextView.java +11 -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 +213 -141
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.java +33 -51
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManagerMapBuffer.java +596 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/TypefaceStyle.java +72 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/BUCK +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/BUCK +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactContentSizeChangedEvent.java +10 -7
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java +34 -20
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditTextInputConnectionWrapper.java +5 -6
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextChangedEvent.java +9 -7
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputBlurEvent.java +9 -7
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputEndEditingEvent.java +9 -7
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputEvent.java +10 -7
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputFocusEvent.java +14 -12
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputKeyPressEvent.java +15 -14
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.java +154 -70
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputSelectionEvent.java +10 -7
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputSubmitEditingEvent.java +14 -12
- package/ReactAndroid/src/main/java/com/facebook/react/views/unimplementedview/BUCK +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/BUCK +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactDrawableHelper.java +1 -5
- 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 +63 -65
- 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/systrace/BUCK +1 -0
- 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/fb/include/fb/RefPtr.h +1 -1
- package/ReactAndroid/src/main/jni/first-party/fb/include/fb/StaticInitialized.h +1 -1
- package/ReactAndroid/src/main/jni/first-party/yogajni/jni/YGJNIVanilla.cpp +2 -7
- package/ReactAndroid/src/main/jni/first-party/yogajni/jni/YGJTypesVanilla.h +8 -4
- package/ReactAndroid/src/main/jni/react/jni/Android.mk +5 -7
- package/ReactAndroid/src/main/jni/react/jni/BUCK +3 -2
- package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.cpp +56 -1
- package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.h +4 -0
- package/ReactAndroid/src/main/jni/react/jni/JReactSoftExceptionLogger.cpp +21 -0
- package/ReactAndroid/src/main/jni/react/jni/JReactSoftExceptionLogger.h +28 -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/react/jni/ReadableNativeMap.cpp +7 -6
- 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/fbcore/src/main/java/com/facebook/common/logging/BUCK +1 -0
- package/ReactAndroid/src/main/libraries/fbjni/BUCK +2 -2
- package/ReactAndroid/src/main/libraries/fresco/fresco-react-native/BUCK +93 -14
- 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 +61 -0
- package/ReactAndroid/src/main/third-party/java/asm/BUCK +1 -0
- package/ReactAndroid/src/main/third-party/java/fest/BUCK +1 -0
- package/ReactAndroid/src/main/third-party/java/infer-annotations/BUCK +2 -2
- package/ReactAndroid/src/main/third-party/java/junit/BUCK +1 -0
- package/ReactAndroid/src/main/third-party/java/mockito/BUCK +1 -0
- package/ReactAndroid/src/main/third-party/java/mockito2/BUCK +1 -0
- 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} +1 -0
- package/ReactAndroid/src/main/third-party/java/sqlite/BUCK +1 -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/common/logging/BUCK +1 -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 +2 -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/uimanager/SimpleViewPropertyTest.java +8 -2
- 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/ReactAndroid/src/test/java/org/mockito/configuration/BUCK +1 -0
- package/ReactCommon/React-Fabric.podspec +50 -15
- package/ReactCommon/ReactCommon.podspec +9 -4
- package/ReactCommon/better/Android.mk +1 -1
- package/ReactCommon/better/BUCK +2 -2
- package/ReactCommon/callinvoker/Android.mk +1 -1
- package/ReactCommon/callinvoker/BUCK +1 -1
- 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 +33 -1
- package/ReactCommon/cxxreact/Instance.h +1 -0
- package/ReactCommon/cxxreact/JSBundleType.cpp +5 -0
- package/ReactCommon/cxxreact/JSBundleType.h +1 -0
- package/ReactCommon/cxxreact/JsArgumentHelpers-inl.h +3 -3
- package/ReactCommon/cxxreact/JsArgumentHelpers.h +2 -2
- 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 +6 -5
- package/ReactCommon/cxxreact/ReactNativeVersion.h +2 -2
- package/ReactCommon/cxxreact/SystraceSection.h +2 -2
- package/ReactCommon/hermes/React-hermes.podspec +53 -0
- 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/Inspector.cpp +2 -3
- package/ReactCommon/hermes/inspector/Inspector.h +6 -5
- package/ReactCommon/hermes/inspector/InspectorState.cpp +8 -6
- 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/cli/main.cpp +6 -5
- 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 +1 -1
- 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 +2218 -1389
- package/ReactCommon/jsi/Android.mk +4 -4
- package/ReactCommon/jsi/BUCK +1 -5
- package/ReactCommon/jsi/JSCRuntime.cpp +7 -0
- package/ReactCommon/jsi/React-jsi.podspec +5 -5
- 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 +32 -3
- package/ReactCommon/jsi/jsi/jsilib-posix.cpp +1 -11
- package/ReactCommon/jsi/jsi/test/testlib.cpp +1 -0
- package/ReactCommon/jsiexecutor/Android.mk +2 -2
- package/ReactCommon/jsiexecutor/React-jsiexecutor.podspec +4 -4
- 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 +2 -2
- package/ReactCommon/libraries/fbcore/src/test/java/com/facebook/powermock/BUCK +2 -0
- 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 +4 -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/TurboModule.h +2 -2
- package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleBinding.cpp +49 -8
- package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleBinding.h +11 -3
- package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleUtils.h +55 -1
- package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.cpp +119 -109
- package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.h +12 -8
- 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 -15
- package/ReactCommon/react/nativemodule/core/platform/ios/RCTTurboModule.mm +97 -48
- package/ReactCommon/react/nativemodule/core/platform/ios/RCTTurboModuleManager.h +0 -6
- package/ReactCommon/react/nativemodule/core/platform/ios/RCTTurboModuleManager.mm +147 -70
- package/ReactCommon/react/nativemodule/samples/BUCK +6 -6
- package/ReactCommon/react/nativemodule/samples/platform/android/Android.mk +2 -2
- package/ReactCommon/react/nativemodule/samples/platform/android/NativeSampleTurboModuleSpec.java +3 -0
- package/ReactCommon/react/nativemodule/samples/platform/android/SampleTurboModule.java +10 -0
- package/ReactCommon/react/nativemodule/samples/platform/ios/RCTNativeSampleTurboModuleSpec.h +1 -0
- package/ReactCommon/react/nativemodule/samples/platform/ios/RCTNativeSampleTurboModuleSpec.mm +11 -0
- package/ReactCommon/react/nativemodule/samples/platform/ios/RCTSampleTurboCxxModule.mm +12 -0
- package/ReactCommon/react/nativemodule/samples/platform/ios/RCTSampleTurboModule.mm +5 -3
- package/ReactCommon/react/nativemodule/samples/platform/ios/SampleTurboCxxModuleLegacyImpl.cpp +11 -0
- package/ReactCommon/react/nativemodule/samples/platform/ios/SampleTurboCxxModuleLegacyImpl.h +1 -0
- package/ReactCommon/react/renderer/animations/Android.mk +3 -2
- package/ReactCommon/react/renderer/animations/BUCK +5 -3
- package/ReactCommon/react/renderer/animations/LayoutAnimationDriver.cpp +19 -130
- package/ReactCommon/react/renderer/animations/LayoutAnimationDriver.h +1 -4
- package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.cpp +675 -391
- package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.h +75 -58
- package/ReactCommon/react/renderer/animations/tests/LayoutAnimationTest.cpp +544 -0
- package/ReactCommon/react/renderer/attributedstring/Android.mk +4 -2
- 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/TextAttributes.cpp +7 -2
- package/ReactCommon/react/renderer/attributedstring/TextAttributes.h +2 -0
- package/ReactCommon/react/renderer/attributedstring/conversions.h +666 -308
- package/ReactCommon/react/renderer/attributedstring/primitives.h +16 -0
- 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/ComponentDescriptorProvider.h +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 +20 -70
- package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorRegistry.h +4 -1
- package/ReactCommon/react/renderer/componentregistry/componentNameByReactViewName.cpp +73 -0
- package/ReactCommon/react/renderer/{components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDialogPickerShadowNode.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/ImageShadowNode.cpp +5 -5
- 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 +6 -1
- 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 +74 -15
- 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 +9 -2
- 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/{ReactAndroid/src/main/java/com/facebook/react/viewmanagers/jni → ReactCommon}/react/renderer/components/rncore/ComponentDescriptors.h +1 -0
- package/ReactCommon/react/renderer/components/rncore/ComponentDescriptors.h.bak +32 -0
- package/{ReactAndroid/src/main/java/com/facebook/react/viewmanagers/jni → ReactCommon}/react/renderer/components/rncore/EventEmitters.cpp +1 -0
- package/ReactCommon/react/renderer/components/rncore/EventEmitters.cpp.bak +149 -0
- package/{ReactAndroid/src/main/java/com/facebook/react/viewmanagers/jni → ReactCommon}/react/renderer/components/rncore/EventEmitters.h +8 -0
- package/ReactCommon/react/renderer/components/rncore/EventEmitters.h.bak +237 -0
- package/ReactCommon/react/renderer/components/rncore/Props.cpp +218 -0
- package/ReactCommon/react/renderer/components/rncore/Props.cpp.bak +218 -0
- package/{ReactAndroid/src/main/java/com/facebook/react/viewmanagers/jni → ReactCommon}/react/renderer/components/rncore/Props.h +74 -27
- package/ReactCommon/react/renderer/components/rncore/Props.h.bak +576 -0
- package/ReactCommon/react/renderer/components/rncore/RCTComponentViewHelpers.h +273 -0
- package/ReactCommon/react/renderer/components/rncore/RCTComponentViewHelpers.h.bak +273 -0
- package/{ReactAndroid/src/main/java/com/facebook/react/viewmanagers/jni → ReactCommon}/react/renderer/components/rncore/ShadowNodes.cpp +1 -0
- package/ReactCommon/react/renderer/components/rncore/ShadowNodes.cpp.bak +29 -0
- package/{ReactAndroid/src/main/java/com/facebook/react/viewmanagers/jni → ReactCommon}/react/renderer/components/rncore/ShadowNodes.h +9 -0
- package/ReactCommon/react/renderer/components/rncore/ShadowNodes.h.bak +126 -0
- 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/safeareaview/SafeAreaViewShadowNode.h +7 -0
- package/ReactCommon/react/renderer/components/safeareaview/SafeAreaViewState.h +1 -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/RCTComponentViewHelpers.h +38 -0
- 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 +15 -4
- 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/SliderShadowNode.h +9 -8
- 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 +6 -9
- 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 +13 -19
- 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 +13 -18
- 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 -4
- 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 +7 -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 +5 -3
- package/ReactCommon/react/renderer/components/view/BUCK +5 -3
- package/ReactCommon/react/renderer/components/view/Touch.h +32 -1
- package/ReactCommon/react/renderer/components/view/TouchEvent.h +0 -2
- package/ReactCommon/react/renderer/components/view/TouchEventEmitter.cpp +31 -9
- package/ReactCommon/react/renderer/components/view/TouchEventEmitter.h +2 -1
- package/ReactCommon/react/renderer/components/view/ViewComponentDescriptor.h +10 -1
- package/ReactCommon/react/renderer/components/view/ViewEventEmitter.cpp +62 -20
- package/ReactCommon/react/renderer/components/view/ViewEventEmitter.h +28 -4
- 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 -7
- package/ReactCommon/react/renderer/components/view/ViewShadowNode.cpp +4 -17
- package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.cpp +177 -87
- 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 +95 -24
- package/ReactCommon/react/renderer/components/view/conversions.h +96 -50
- 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 +15 -5
- package/ReactCommon/react/renderer/core/Android.mk +4 -2
- package/ReactCommon/react/renderer/core/BUCK +7 -4
- package/ReactCommon/react/renderer/core/BatchedEventQueue.cpp +5 -21
- package/ReactCommon/react/renderer/core/BatchedEventQueue.h +4 -8
- package/ReactCommon/react/renderer/core/ComponentDescriptor.h +6 -3
- package/ReactCommon/react/renderer/core/ConcreteComponentDescriptor.h +23 -22
- package/ReactCommon/react/renderer/core/ConcreteShadowNode.h +10 -7
- package/ReactCommon/react/renderer/core/ConcreteState.h +16 -49
- package/ReactCommon/react/renderer/core/Constants.cpp +24 -0
- package/ReactCommon/react/renderer/{components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDialogPickerComponentDescriptor.h → core/Constants.h} +8 -6
- 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 -40
- package/ReactCommon/react/renderer/core/EventQueue.h +15 -9
- 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 +9 -2
- package/ReactCommon/react/renderer/core/LayoutMetrics.cpp +65 -0
- package/ReactCommon/react/renderer/core/LayoutMetrics.h +38 -4
- package/ReactCommon/react/renderer/core/LayoutPrimitives.h +14 -6
- package/ReactCommon/react/renderer/core/LayoutableShadowNode.cpp +1 -8
- package/ReactCommon/react/renderer/core/LayoutableShadowNode.h +2 -22
- package/ReactCommon/react/renderer/core/Props.cpp +10 -2
- package/ReactCommon/react/renderer/core/Props.h +5 -1
- package/ReactCommon/react/renderer/core/PropsParserContext.h +28 -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 +10 -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 +13 -4
- 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 -0
- 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 +45 -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 +1 -1
- package/ReactCommon/react/renderer/core/ShadowNodeTraits.h +31 -6
- package/ReactCommon/react/renderer/core/State.h +4 -3
- package/ReactCommon/react/renderer/core/StateData.h +3 -0
- package/ReactCommon/react/renderer/core/StateUpdate.h +0 -2
- package/ReactCommon/react/renderer/core/UnbatchedEventQueue.cpp +0 -2
- package/ReactCommon/react/renderer/core/conversions.h +11 -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/LayoutableShadowNodeTest.cpp +21 -12
- 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/SystraceSection.h +2 -2
- package/ReactCommon/react/renderer/debug/flags.h +50 -0
- package/ReactCommon/react/renderer/element/BUCK +3 -3
- package/ReactCommon/react/renderer/element/ComponentBuilder.cpp +4 -3
- package/ReactCommon/react/renderer/graphics/Android.mk +6 -2
- package/ReactCommon/react/renderer/graphics/BUCK +16 -4
- package/ReactCommon/react/renderer/graphics/React-graphics.podspec +5 -4
- package/ReactCommon/react/renderer/graphics/Rect.h +4 -3
- package/ReactCommon/react/renderer/graphics/RectangleCorners.h +2 -2
- package/ReactCommon/react/renderer/graphics/RectangleEdges.h +16 -13
- package/ReactCommon/react/renderer/graphics/Transform.cpp +4 -3
- 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 +19 -10
- 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 +19 -10
- 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/graphics/rounding.h +9 -6
- package/ReactCommon/react/renderer/graphics/tests/TransformTest.cpp +1 -0
- package/ReactCommon/react/renderer/imagemanager/Android.mk +3 -2
- package/ReactCommon/react/renderer/imagemanager/BUCK +5 -4
- package/ReactCommon/react/renderer/imagemanager/ImageRequest.h +1 -3
- package/ReactCommon/react/renderer/imagemanager/ImageResponseObserverCoordinator.cpp +5 -4
- package/ReactCommon/react/renderer/imagemanager/ImageTelemetry.cpp +0 -6
- package/ReactCommon/react/renderer/imagemanager/ImageTelemetry.h +5 -10
- package/ReactCommon/react/renderer/imagemanager/platform/ios/ImageRequest.cpp +6 -1
- package/ReactCommon/react/renderer/imagemanager/platform/ios/RCTImageManager.mm +0 -1
- 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 +16 -6
- package/ReactCommon/react/renderer/mapbuffer/MapBuffer.cpp +133 -2
- package/ReactCommon/react/renderer/mapbuffer/MapBuffer.h +41 -3
- 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 +144 -2
- package/ReactCommon/react/renderer/mounting/Android.mk +4 -2
- package/ReactCommon/react/renderer/mounting/BUCK +6 -3
- package/ReactCommon/react/renderer/mounting/Differentiator.cpp +809 -998
- package/ReactCommon/react/renderer/mounting/Differentiator.h +38 -12
- package/ReactCommon/react/renderer/mounting/MountingCoordinator.cpp +17 -15
- package/ReactCommon/react/renderer/mounting/MountingCoordinator.h +7 -11
- 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 +70 -27
- package/ReactCommon/react/renderer/mounting/ShadowTree.h +38 -15
- package/ReactCommon/react/renderer/mounting/ShadowTreeDelegate.h +11 -0
- 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 +19 -1
- package/ReactCommon/react/renderer/mounting/ShadowView.h +46 -2
- package/ReactCommon/react/renderer/mounting/ShadowViewMutation.cpp +19 -5
- package/ReactCommon/react/renderer/mounting/ShadowViewMutation.h +10 -4
- package/ReactCommon/react/renderer/mounting/StubView.cpp +38 -4
- package/ReactCommon/react/renderer/mounting/StubView.h +6 -0
- package/ReactCommon/react/renderer/mounting/StubViewTree.cpp +219 -91
- package/ReactCommon/react/renderer/mounting/StubViewTree.h +15 -3
- 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 +49 -11
- package/ReactCommon/react/renderer/mounting/stubs.h +13 -1
- package/ReactCommon/react/renderer/mounting/tests/MountingTest.cpp +99 -96
- package/ReactCommon/react/renderer/mounting/tests/ShadowTreeLifeCycleTest.cpp +242 -40
- package/ReactCommon/react/renderer/mounting/tests/StackingContextTest.cpp +787 -0
- package/ReactCommon/react/renderer/mounting/tests/StateReconciliationTest.cpp +34 -23
- package/ReactCommon/react/renderer/runtimescheduler/Android.mk +27 -0
- package/ReactCommon/react/renderer/runtimescheduler/BUCK +77 -0
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.cpp +116 -0
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.h +103 -0
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerBinding.cpp +170 -0
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerBinding.h +42 -0
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerClock.h +22 -0
- package/ReactCommon/react/renderer/runtimescheduler/SchedulerPriority.h +64 -0
- package/ReactCommon/react/renderer/runtimescheduler/Task.cpp +35 -0
- package/ReactCommon/react/renderer/runtimescheduler/Task.h +46 -0
- package/ReactCommon/react/renderer/runtimescheduler/primitives.h +39 -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/AndroidDropdownPickerShadowNode.cpp → scheduler/InspectorData.h} +10 -3
- package/ReactCommon/react/renderer/scheduler/Scheduler.cpp +108 -148
- package/ReactCommon/react/renderer/scheduler/Scheduler.h +37 -39
- package/ReactCommon/react/renderer/scheduler/SchedulerDelegate.h +16 -10
- package/ReactCommon/react/renderer/scheduler/SchedulerToolbox.h +10 -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/templateprocessor/tests/UITemplateProcessorTest.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 +145 -83
- package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.h +17 -1
- package/ReactCommon/react/renderer/textlayoutmanager/platform/cxx/TextLayoutManager.cpp +16 -2
- package/ReactCommon/react/renderer/textlayoutmanager/platform/cxx/TextLayoutManager.h +10 -7
- package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/RCTAttributedTextUtils.mm +16 -11
- package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/RCTTextLayoutManager.mm +14 -11
- package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/TextLayoutManager.mm +25 -3
- package/ReactCommon/react/renderer/{components/picker → timeline}/BUCK +20 -34
- 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 +172 -81
- package/ReactCommon/react/renderer/uimanager/UIManager.h +63 -29
- package/ReactCommon/react/renderer/uimanager/UIManagerAnimationDelegate.h +2 -4
- package/ReactCommon/react/renderer/uimanager/UIManagerBinding.cpp +298 -135
- package/ReactCommon/react/renderer/uimanager/UIManagerBinding.h +35 -6
- package/ReactCommon/react/renderer/uimanager/UIManagerCommitHook.h +43 -0
- package/ReactCommon/react/renderer/uimanager/UIManagerDelegate.h +23 -13
- package/ReactCommon/react/renderer/uimanager/primitives.h +57 -9
- package/ReactCommon/react/test_utils/BUCK +54 -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/mounting/tests → test_utils}/shadowTreeGeneration.h +64 -7
- 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 +14 -7
- package/ReactCommon/react/utils/LayoutManager.h +150 -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 +3 -3
- package/ReactCommon/runtimeexecutor/Android.mk +1 -1
- package/ReactCommon/runtimeexecutor/BUCK +2 -2
- package/ReactCommon/runtimeexecutor/React-runtimeexecutor.podspec +3 -3
- package/ReactCommon/runtimeexecutor/ReactCommon/RuntimeExecutor.h +14 -2
- package/ReactCommon/yoga/Yoga.podspec +2 -2
- package/ReactCommon/yoga/yoga/BitUtils.h +3 -2
- package/ReactCommon/yoga/yoga/CompactValue.h +2 -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 +116 -161
- package/ReactCommon/yoga/yoga/Yoga.h +1 -1
- package/android/com/facebook/react/react-native/{0.64.2-2/react-native-0.64.2-2.aar → 0.66.3-0/react-native-0.66.3-0.aar} +0 -0
- package/android/com/facebook/react/react-native/0.66.3-0/react-native-0.66.3-0.aar.md5 +1 -0
- package/android/com/facebook/react/react-native/0.66.3-0/react-native-0.66.3-0.aar.sha1 +1 -0
- package/android/com/facebook/react/react-native/0.66.3-0/react-native-0.66.3-0.aar.sha256 +1 -0
- package/android/com/facebook/react/react-native/0.66.3-0/react-native-0.66.3-0.aar.sha512 +1 -0
- package/android/com/facebook/react/react-native/0.66.3-0/react-native-0.66.3-0.module +273 -0
- package/android/com/facebook/react/react-native/0.66.3-0/react-native-0.66.3-0.module.md5 +1 -0
- package/android/com/facebook/react/react-native/0.66.3-0/react-native-0.66.3-0.module.sha1 +1 -0
- package/android/com/facebook/react/react-native/0.66.3-0/react-native-0.66.3-0.module.sha256 +1 -0
- package/android/com/facebook/react/react-native/0.66.3-0/react-native-0.66.3-0.module.sha512 +1 -0
- package/android/com/facebook/react/react-native/{0.64.2-2/react-native-0.64.2-2.pom → 0.66.3-0/react-native-0.66.3-0.pom} +28 -11
- package/android/com/facebook/react/react-native/0.66.3-0/react-native-0.66.3-0.pom.md5 +1 -0
- package/android/com/facebook/react/react-native/0.66.3-0/react-native-0.66.3-0.pom.sha1 +1 -0
- package/android/com/facebook/react/react-native/0.66.3-0/react-native-0.66.3-0.pom.sha256 +1 -0
- package/android/com/facebook/react/react-native/0.66.3-0/react-native-0.66.3-0.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 +23 -0
- package/flow-typed/npm/promise_v8.x.x.js +3 -3
- package/flow-typed/npm/react-test-renderer_v16.x.x.js +79 -0
- package/index.js +107 -50
- package/interface.js +0 -8
- package/jest/mockNativeComponent.js +36 -0
- package/jest/preprocessor.js +3 -2
- package/jest/renderer.js +3 -9
- package/jest/setup.js +35 -39
- package/local-cli/cli.js +0 -0
- package/package.json +62 -22
- package/react.gradle +32 -17
- package/readme.diff +305 -0
- package/scripts/find-node.sh +8 -6
- package/scripts/generate-specs-cli.js +20 -13
- package/scripts/generate-specs.sh +31 -23
- package/scripts/ios-configure-glog.sh +1 -1
- package/scripts/launchPackager.bat +12 -12
- package/scripts/react-native-xcode.sh +12 -2
- package/scripts/react_native_pods.rb +75 -126
- 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 -7
- package/template/android/gradle/wrapper/gradle-wrapper.properties +1 -1
- package/template/android/gradle.properties +1 -1
- package/template/ios/HelloWorld/AppDelegate.m +5 -6
- package/template/ios/Podfile +3 -4
- package/template/package.json +4 -4
- package/third-party-podspecs/DoubleConversion.podspec +3 -1
- package/third-party-podspecs/RCT-Folly.podspec +30 -11
- package/third-party-podspecs/boost.podspec +23 -0
- package/third-party-podspecs/fmt.podspec +24 -0
- package/third-party-podspecs/glog.podspec +1 -1
- package/Libraries/.npmignore +0 -1
- package/Libraries/BUCK +0 -36
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.android.js +0 -158
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.ios.js +0 -273
- 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.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 -796
- package/Libraries/Components/StatusBar/StatusBarIOS.js +0 -21
- package/Libraries/Image/ImageViewViewConfig.js +0 -68
- package/Libraries/StyleSheet/StyleSheetValidation.js +0 -100
- package/Libraries/Utilities/registerGeneratedViewConfig.js +0 -83
- 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 -205
- package/React/Views/RCTPicker.h +0 -23
- package/React/Views/RCTPicker.m +0 -121
- package/React/Views/RCTPickerManager.m +0 -68
- package/ReactAndroid/.npmignore +0 -3
- package/ReactAndroid/build.gradle.orig +0 -479
- package/ReactAndroid/release.gradle +0 -142
- package/ReactAndroid/src/androidTest/assets/AndroidTestBundle.js +0 -107023
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/ReactPickerTestCase.java +0 -196
- package/ReactAndroid/src/androidTest/js/PickerAndroidTestModule.js +0 -89
- package/ReactAndroid/src/main/java/com/facebook/react/ReactAndroidHWInputDeviceHelper.java +0 -98
- package/ReactAndroid/src/main/java/com/facebook/react/ReactFragmentActivity.java +0 -15
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerImpl.java +0 -82
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/BatchMountItem.java +0 -117
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/CreateMountItem.java +0 -68
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/InsertMountItem.java +0 -47
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/RemoveDeleteMultiMountItem.java +0 -90
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/UpdateEventEmitterMountItem.java +0 -33
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/UpdateLayoutMountItem.java +0 -90
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/UpdatePaddingMountItem.java +0 -53
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/UpdatePropsMountItem.java +0 -42
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/UpdateStateMountItem.java +0 -43
- package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/ActivityIndicatorViewManagerDelegate.java +0 -42
- package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/ActivityIndicatorViewManagerInterface.java +0 -20
- 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/AndroidDrawerLayoutManagerDelegate.java +0 -61
- package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/AndroidDrawerLayoutManagerInterface.java +0 -24
- 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/viewmanagers/AndroidProgressBarManagerDelegate.java +0 -51
- package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/AndroidProgressBarManagerInterface.java +0 -23
- package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/AndroidSwipeRefreshLayoutManagerDelegate.java +0 -58
- package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/AndroidSwipeRefreshLayoutManagerInterface.java +0 -24
- package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/AndroidSwitchManagerDelegate.java +0 -67
- package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/AndroidSwitchManagerInterface.java +0 -26
- package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/MaskedViewManagerDelegate.java +0 -26
- package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/MaskedViewManagerInterface.java +0 -16
- package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/ModalHostViewManagerDelegate.java +0 -54
- package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/ModalHostViewManagerInterface.java +0 -25
- package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/ProgressViewManagerDelegate.java +0 -49
- package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/ProgressViewManagerInterface.java +0 -23
- package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/SafeAreaViewManagerDelegate.java +0 -32
- package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/SafeAreaViewManagerInterface.java +0 -16
- package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/SegmentedControlManagerDelegate.java +0 -52
- package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/SegmentedControlManagerInterface.java +0 -24
- package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/SliderManagerDelegate.java +0 -73
- package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/SliderManagerInterface.java +0 -31
- package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/UnimplementedNativeViewManagerDelegate.java +0 -32
- package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/UnimplementedNativeViewManagerInterface.java +0 -17
- package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/jni/Android.mk +0 -29
- package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/jni/react/renderer/components/rncore/Props.cpp +0 -191
- package/ReactAndroid/src/main/java/com/facebook/react/views/picker/BUCK +0 -29
- 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/ReactAndroid/src/main/jni/first-party/fbjni/.gitignore +0 -2
- package/ReactAndroid/src/main/jni/prebuilt/lib/arm64-v8a/libc++_shared.so +0 -0
- package/ReactAndroid/src/main/jni/prebuilt/lib/arm64-v8a/libfb.so +0 -0
- package/ReactAndroid/src/main/jni/prebuilt/lib/arm64-v8a/libfbjni.so +0 -0
- package/ReactAndroid/src/main/jni/prebuilt/lib/arm64-v8a/libfolly_futures.so +0 -0
- package/ReactAndroid/src/main/jni/prebuilt/lib/arm64-v8a/libfolly_json.so +0 -0
- package/ReactAndroid/src/main/jni/prebuilt/lib/arm64-v8a/libglog.so +0 -0
- package/ReactAndroid/src/main/jni/prebuilt/lib/arm64-v8a/libglog_init.so +0 -0
- package/ReactAndroid/src/main/jni/prebuilt/lib/arm64-v8a/libhermes-executor-common-debug.so +0 -0
- package/ReactAndroid/src/main/jni/prebuilt/lib/arm64-v8a/libhermes-executor-common-release.so +0 -0
- package/ReactAndroid/src/main/jni/prebuilt/lib/arm64-v8a/libhermes-executor-debug.so +0 -0
- package/ReactAndroid/src/main/jni/prebuilt/lib/arm64-v8a/libhermes-executor-release.so +0 -0
- package/ReactAndroid/src/main/jni/prebuilt/lib/arm64-v8a/libhermes-inspector.so +0 -0
- package/ReactAndroid/src/main/jni/prebuilt/lib/arm64-v8a/libjscexecutor.so +0 -0
- package/ReactAndroid/src/main/jni/prebuilt/lib/arm64-v8a/libjsijniprofiler.so +0 -0
- package/ReactAndroid/src/main/jni/prebuilt/lib/arm64-v8a/libjsinspector.so +0 -0
- package/ReactAndroid/src/main/jni/prebuilt/lib/arm64-v8a/libreact_codegen_reactandroidspec.so +0 -0
- package/ReactAndroid/src/main/jni/prebuilt/lib/arm64-v8a/libreact_nativemodule_core.so +0 -0
- package/ReactAndroid/src/main/jni/prebuilt/lib/arm64-v8a/libreactnativeblob.so +0 -0
- package/ReactAndroid/src/main/jni/prebuilt/lib/arm64-v8a/libreactnativejni.so +0 -0
- package/ReactAndroid/src/main/jni/prebuilt/lib/arm64-v8a/libreactnativeutilsjni.so +0 -0
- package/ReactAndroid/src/main/jni/prebuilt/lib/arm64-v8a/libreactperfloggerjni.so +0 -0
- package/ReactAndroid/src/main/jni/prebuilt/lib/arm64-v8a/libturbomodulejsijni.so +0 -0
- package/ReactAndroid/src/main/jni/prebuilt/lib/arm64-v8a/libyoga.so +0 -0
- package/ReactAndroid/src/main/jni/prebuilt/lib/armeabi-v7a/libc++_shared.so +0 -0
- package/ReactAndroid/src/main/jni/prebuilt/lib/armeabi-v7a/libfb.so +0 -0
- package/ReactAndroid/src/main/jni/prebuilt/lib/armeabi-v7a/libfbjni.so +0 -0
- package/ReactAndroid/src/main/jni/prebuilt/lib/armeabi-v7a/libfolly_futures.so +0 -0
- package/ReactAndroid/src/main/jni/prebuilt/lib/armeabi-v7a/libfolly_json.so +0 -0
- package/ReactAndroid/src/main/jni/prebuilt/lib/armeabi-v7a/libglog.so +0 -0
- package/ReactAndroid/src/main/jni/prebuilt/lib/armeabi-v7a/libglog_init.so +0 -0
- package/ReactAndroid/src/main/jni/prebuilt/lib/armeabi-v7a/libhermes-executor-common-debug.so +0 -0
- package/ReactAndroid/src/main/jni/prebuilt/lib/armeabi-v7a/libhermes-executor-common-release.so +0 -0
- package/ReactAndroid/src/main/jni/prebuilt/lib/armeabi-v7a/libhermes-executor-debug.so +0 -0
- package/ReactAndroid/src/main/jni/prebuilt/lib/armeabi-v7a/libhermes-executor-release.so +0 -0
- package/ReactAndroid/src/main/jni/prebuilt/lib/armeabi-v7a/libhermes-inspector.so +0 -0
- package/ReactAndroid/src/main/jni/prebuilt/lib/armeabi-v7a/libjscexecutor.so +0 -0
- package/ReactAndroid/src/main/jni/prebuilt/lib/armeabi-v7a/libjsijniprofiler.so +0 -0
- package/ReactAndroid/src/main/jni/prebuilt/lib/armeabi-v7a/libjsinspector.so +0 -0
- package/ReactAndroid/src/main/jni/prebuilt/lib/armeabi-v7a/libreact_codegen_reactandroidspec.so +0 -0
- package/ReactAndroid/src/main/jni/prebuilt/lib/armeabi-v7a/libreact_nativemodule_core.so +0 -0
- package/ReactAndroid/src/main/jni/prebuilt/lib/armeabi-v7a/libreactnativeblob.so +0 -0
- package/ReactAndroid/src/main/jni/prebuilt/lib/armeabi-v7a/libreactnativejni.so +0 -0
- package/ReactAndroid/src/main/jni/prebuilt/lib/armeabi-v7a/libreactnativeutilsjni.so +0 -0
- package/ReactAndroid/src/main/jni/prebuilt/lib/armeabi-v7a/libreactperfloggerjni.so +0 -0
- package/ReactAndroid/src/main/jni/prebuilt/lib/armeabi-v7a/libturbomodulejsijni.so +0 -0
- package/ReactAndroid/src/main/jni/prebuilt/lib/armeabi-v7a/libyoga.so +0 -0
- package/ReactAndroid/src/main/jni/prebuilt/lib/x86/libc++_shared.so +0 -0
- package/ReactAndroid/src/main/jni/prebuilt/lib/x86/libfb.so +0 -0
- package/ReactAndroid/src/main/jni/prebuilt/lib/x86/libfbjni.so +0 -0
- package/ReactAndroid/src/main/jni/prebuilt/lib/x86/libfolly_futures.so +0 -0
- package/ReactAndroid/src/main/jni/prebuilt/lib/x86/libfolly_json.so +0 -0
- package/ReactAndroid/src/main/jni/prebuilt/lib/x86/libglog.so +0 -0
- package/ReactAndroid/src/main/jni/prebuilt/lib/x86/libglog_init.so +0 -0
- package/ReactAndroid/src/main/jni/prebuilt/lib/x86/libhermes-executor-common-debug.so +0 -0
- package/ReactAndroid/src/main/jni/prebuilt/lib/x86/libhermes-executor-common-release.so +0 -0
- package/ReactAndroid/src/main/jni/prebuilt/lib/x86/libhermes-executor-debug.so +0 -0
- package/ReactAndroid/src/main/jni/prebuilt/lib/x86/libhermes-executor-release.so +0 -0
- package/ReactAndroid/src/main/jni/prebuilt/lib/x86/libhermes-inspector.so +0 -0
- package/ReactAndroid/src/main/jni/prebuilt/lib/x86/libjscexecutor.so +0 -0
- package/ReactAndroid/src/main/jni/prebuilt/lib/x86/libjsijniprofiler.so +0 -0
- package/ReactAndroid/src/main/jni/prebuilt/lib/x86/libjsinspector.so +0 -0
- package/ReactAndroid/src/main/jni/prebuilt/lib/x86/libreact_codegen_reactandroidspec.so +0 -0
- package/ReactAndroid/src/main/jni/prebuilt/lib/x86/libreact_nativemodule_core.so +0 -0
- package/ReactAndroid/src/main/jni/prebuilt/lib/x86/libreactnativeblob.so +0 -0
- package/ReactAndroid/src/main/jni/prebuilt/lib/x86/libreactnativejni.so +0 -0
- package/ReactAndroid/src/main/jni/prebuilt/lib/x86/libreactnativeutilsjni.so +0 -0
- package/ReactAndroid/src/main/jni/prebuilt/lib/x86/libreactperfloggerjni.so +0 -0
- package/ReactAndroid/src/main/jni/prebuilt/lib/x86/libturbomodulejsijni.so +0 -0
- package/ReactAndroid/src/main/jni/prebuilt/lib/x86/libyoga.so +0 -0
- package/ReactAndroid/src/main/jni/prebuilt/lib/x86_64/libc++_shared.so +0 -0
- package/ReactAndroid/src/main/jni/prebuilt/lib/x86_64/libfb.so +0 -0
- package/ReactAndroid/src/main/jni/prebuilt/lib/x86_64/libfbjni.so +0 -0
- package/ReactAndroid/src/main/jni/prebuilt/lib/x86_64/libfolly_futures.so +0 -0
- package/ReactAndroid/src/main/jni/prebuilt/lib/x86_64/libfolly_json.so +0 -0
- package/ReactAndroid/src/main/jni/prebuilt/lib/x86_64/libglog.so +0 -0
- package/ReactAndroid/src/main/jni/prebuilt/lib/x86_64/libglog_init.so +0 -0
- package/ReactAndroid/src/main/jni/prebuilt/lib/x86_64/libhermes-executor-common-debug.so +0 -0
- package/ReactAndroid/src/main/jni/prebuilt/lib/x86_64/libhermes-executor-common-release.so +0 -0
- package/ReactAndroid/src/main/jni/prebuilt/lib/x86_64/libhermes-executor-debug.so +0 -0
- package/ReactAndroid/src/main/jni/prebuilt/lib/x86_64/libhermes-executor-release.so +0 -0
- package/ReactAndroid/src/main/jni/prebuilt/lib/x86_64/libhermes-inspector.so +0 -0
- package/ReactAndroid/src/main/jni/prebuilt/lib/x86_64/libjscexecutor.so +0 -0
- package/ReactAndroid/src/main/jni/prebuilt/lib/x86_64/libjsijniprofiler.so +0 -0
- package/ReactAndroid/src/main/jni/prebuilt/lib/x86_64/libjsinspector.so +0 -0
- package/ReactAndroid/src/main/jni/prebuilt/lib/x86_64/libreact_codegen_reactandroidspec.so +0 -0
- package/ReactAndroid/src/main/jni/prebuilt/lib/x86_64/libreact_nativemodule_core.so +0 -0
- package/ReactAndroid/src/main/jni/prebuilt/lib/x86_64/libreactnativeblob.so +0 -0
- package/ReactAndroid/src/main/jni/prebuilt/lib/x86_64/libreactnativejni.so +0 -0
- package/ReactAndroid/src/main/jni/prebuilt/lib/x86_64/libreactnativeutilsjni.so +0 -0
- package/ReactAndroid/src/main/jni/prebuilt/lib/x86_64/libreactperfloggerjni.so +0 -0
- package/ReactAndroid/src/main/jni/prebuilt/lib/x86_64/libturbomodulejsijni.so +0 -0
- package/ReactAndroid/src/main/jni/prebuilt/lib/x86_64/libyoga.so +0 -0
- package/ReactAndroid/src/main/third-party/android/support/v4/BUCK +0 -685
- package/ReactAndroid/src/main/third-party/android/support/v7/appcompat/BUCK +0 -62
- package/ReactAndroid/src/main/third-party/android/support/v7/appcompat/aar-unpacker.py +0 -20
- package/ReactCommon/cxxreact/re_worker_requirements +0 -6
- package/ReactCommon/hermes/inspector/tools/msggen/.gitignore +0 -3
- 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/AndroidDropdownPickerComponentDescriptor.h +0 -21
- package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDropdownPickerEventEmitter.cpp +0 -23
- package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDropdownPickerEventEmitter.h +0 -27
- package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDropdownPickerProps.cpp +0 -28
- package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDropdownPickerProps.h +0 -77
- package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDropdownPickerShadowNode.h +0 -29
- package/ReactCommon/react/renderer/components/picker/iospicker/PickerComponentDescriptor.h +0 -26
- package/ReactCommon/react/renderer/components/picker/iospicker/PickerEventEmitter.cpp +0 -23
- package/ReactCommon/react/renderer/components/picker/iospicker/PickerEventEmitter.h +0 -28
- package/ReactCommon/react/renderer/components/picker/iospicker/PickerProps.cpp +0 -46
- package/ReactCommon/react/renderer/components/picker/iospicker/PickerProps.h +0 -36
- package/ReactCommon/react/renderer/components/picker/iospicker/PickerShadowNode.cpp +0 -16
- package/ReactCommon/react/renderer/components/picker/iospicker/PickerShadowNode.h +0 -33
- package/ReactCommon/react/renderer/components/picker/iospicker/conversions.h +0 -47
- package/ReactCommon/react/renderer/components/picker/iospicker/primitives.h +0 -29
- package/ReactCommon/react/renderer/core/ConcreteStateTeller.h +0 -152
- 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.64.2-2/react-native-0.64.2-2-sources.jar +0 -0
- package/android/com/facebook/react/react-native/0.64.2-2/react-native-0.64.2-2-sources.jar.md5 +0 -1
- package/android/com/facebook/react/react-native/0.64.2-2/react-native-0.64.2-2-sources.jar.sha1 +0 -1
- package/android/com/facebook/react/react-native/0.64.2-2/react-native-0.64.2-2.aar.md5 +0 -1
- package/android/com/facebook/react/react-native/0.64.2-2/react-native-0.64.2-2.aar.sha1 +0 -1
- package/android/com/facebook/react/react-native/0.64.2-2/react-native-0.64.2-2.pom.md5 +0 -1
- package/android/com/facebook/react/react-native/0.64.2-2/react-native-0.64.2-2.pom.sha1 +0 -1
- package/template/ios/HelloWorld.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
- package/template/ios/HelloWorld.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
|
@@ -25,8 +25,8 @@ import android.content.Context;
|
|
|
25
25
|
import android.graphics.Point;
|
|
26
26
|
import android.os.SystemClock;
|
|
27
27
|
import android.view.View;
|
|
28
|
+
import android.view.accessibility.AccessibilityEvent;
|
|
28
29
|
import androidx.annotation.AnyThread;
|
|
29
|
-
import androidx.annotation.GuardedBy;
|
|
30
30
|
import androidx.annotation.NonNull;
|
|
31
31
|
import androidx.annotation.Nullable;
|
|
32
32
|
import androidx.annotation.UiThread;
|
|
@@ -34,81 +34,76 @@ 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;
|
|
53
|
+
import com.facebook.react.common.build.ReactBuildConfig;
|
|
54
|
+
import com.facebook.react.common.mapbuffer.ReadableMapBuffer;
|
|
56
55
|
import com.facebook.react.config.ReactFeatureFlags;
|
|
57
56
|
import com.facebook.react.fabric.events.EventBeatManager;
|
|
58
57
|
import com.facebook.react.fabric.events.EventEmitterWrapper;
|
|
59
58
|
import com.facebook.react.fabric.events.FabricEventEmitter;
|
|
59
|
+
import com.facebook.react.fabric.mounting.MountItemDispatcher;
|
|
60
60
|
import com.facebook.react.fabric.mounting.MountingManager;
|
|
61
|
-
import com.facebook.react.fabric.mounting.
|
|
62
|
-
import com.facebook.react.fabric.mounting.mountitems.CreateMountItem;
|
|
63
|
-
import com.facebook.react.fabric.mounting.mountitems.DispatchCommandMountItem;
|
|
61
|
+
import com.facebook.react.fabric.mounting.SurfaceMountingManager;
|
|
64
62
|
import com.facebook.react.fabric.mounting.mountitems.DispatchIntCommandMountItem;
|
|
65
63
|
import com.facebook.react.fabric.mounting.mountitems.DispatchStringCommandMountItem;
|
|
66
|
-
import com.facebook.react.fabric.mounting.mountitems.InsertMountItem;
|
|
67
64
|
import com.facebook.react.fabric.mounting.mountitems.IntBufferBatchMountItem;
|
|
68
65
|
import com.facebook.react.fabric.mounting.mountitems.MountItem;
|
|
69
66
|
import com.facebook.react.fabric.mounting.mountitems.PreAllocateViewMountItem;
|
|
70
|
-
import com.facebook.react.fabric.mounting.mountitems.RemoveDeleteMultiMountItem;
|
|
71
67
|
import com.facebook.react.fabric.mounting.mountitems.SendAccessibilityEvent;
|
|
72
|
-
import com.facebook.react.fabric.mounting.mountitems.UpdateEventEmitterMountItem;
|
|
73
|
-
import com.facebook.react.fabric.mounting.mountitems.UpdateLayoutMountItem;
|
|
74
|
-
import com.facebook.react.fabric.mounting.mountitems.UpdatePaddingMountItem;
|
|
75
|
-
import com.facebook.react.fabric.mounting.mountitems.UpdatePropsMountItem;
|
|
76
|
-
import com.facebook.react.fabric.mounting.mountitems.UpdateStateMountItem;
|
|
77
68
|
import com.facebook.react.modules.core.ReactChoreographer;
|
|
78
69
|
import com.facebook.react.modules.i18nmanager.I18nUtil;
|
|
70
|
+
import com.facebook.react.uimanager.IllegalViewOperationException;
|
|
79
71
|
import com.facebook.react.uimanager.PixelUtil;
|
|
80
72
|
import com.facebook.react.uimanager.ReactRoot;
|
|
81
73
|
import com.facebook.react.uimanager.ReactRootViewTagGenerator;
|
|
74
|
+
import com.facebook.react.uimanager.RootViewUtil;
|
|
82
75
|
import com.facebook.react.uimanager.StateWrapper;
|
|
83
76
|
import com.facebook.react.uimanager.ThemedReactContext;
|
|
84
77
|
import com.facebook.react.uimanager.UIManagerHelper;
|
|
85
78
|
import com.facebook.react.uimanager.ViewManagerPropertyUpdater;
|
|
86
79
|
import com.facebook.react.uimanager.ViewManagerRegistry;
|
|
87
80
|
import com.facebook.react.uimanager.events.EventDispatcher;
|
|
81
|
+
import com.facebook.react.uimanager.events.EventDispatcherImpl;
|
|
82
|
+
import com.facebook.react.uimanager.events.LockFreeEventDispatcherImpl;
|
|
88
83
|
import com.facebook.react.views.text.TextLayoutManager;
|
|
89
|
-
import com.facebook.
|
|
90
|
-
import java.util.ArrayDeque;
|
|
91
|
-
import java.util.ArrayList;
|
|
84
|
+
import com.facebook.react.views.text.TextLayoutManagerMapBuffer;
|
|
92
85
|
import java.util.HashMap;
|
|
93
86
|
import java.util.List;
|
|
94
87
|
import java.util.Map;
|
|
95
|
-
import java.util.
|
|
88
|
+
import java.util.Queue;
|
|
96
89
|
import java.util.concurrent.CopyOnWriteArrayList;
|
|
97
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
|
+
*/
|
|
98
95
|
@SuppressLint("MissingNativeLoadLibrary")
|
|
96
|
+
@DoNotStripAny
|
|
99
97
|
public class FabricUIManager implements UIManager, LifecycleEventListener {
|
|
98
|
+
public static final String TAG = FabricUIManager.class.getSimpleName();
|
|
100
99
|
|
|
101
|
-
public static final String TAG = "FabricUIManager";
|
|
102
100
|
// The IS_DEVELOPMENT_ENVIRONMENT variable is used to log extra data when running fabric in a
|
|
103
101
|
// development environment. DO NOT ENABLE THIS ON PRODUCTION OR YOU WILL BE FIRED!
|
|
104
|
-
public static final boolean IS_DEVELOPMENT_ENVIRONMENT = false;
|
|
102
|
+
public static final boolean IS_DEVELOPMENT_ENVIRONMENT = false && ReactBuildConfig.DEBUG;
|
|
105
103
|
public static final boolean ENABLE_FABRIC_LOGS =
|
|
106
104
|
ReactFeatureFlags.enableFabricLogs
|
|
107
105
|
|| PrinterHolder.getPrinter()
|
|
108
106
|
.shouldDisplayLogMessage(ReactDebugOverlayTags.FABRIC_UI_MANAGER);
|
|
109
|
-
private static final int FRAME_TIME_MS = 16;
|
|
110
|
-
private static final int MAX_TIME_IN_FRAME_FOR_NON_BATCHED_OPERATIONS_MS = 8;
|
|
111
|
-
private static final int PRE_MOUNT_ITEMS_INITIAL_SIZE_ARRAY = 250;
|
|
112
107
|
|
|
113
108
|
static {
|
|
114
109
|
FabricSoLoader.staticInit();
|
|
@@ -118,55 +113,28 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
|
|
|
118
113
|
@NonNull private final ReactApplicationContext mReactApplicationContext;
|
|
119
114
|
@NonNull private final MountingManager mMountingManager;
|
|
120
115
|
@NonNull private final EventDispatcher mEventDispatcher;
|
|
121
|
-
|
|
122
|
-
@NonNull
|
|
123
|
-
private final ConcurrentHashMap<Integer, ThemedReactContext> mReactContextForRootTag =
|
|
124
|
-
new ConcurrentHashMap<>();
|
|
116
|
+
@NonNull private final MountItemDispatcher mMountItemDispatcher;
|
|
125
117
|
|
|
126
118
|
@NonNull private final EventBeatManager mEventBeatManager;
|
|
127
|
-
@NonNull private final Object mViewCommandMountItemsLock = new Object();
|
|
128
|
-
@NonNull private final Object mMountItemsLock = new Object();
|
|
129
|
-
@NonNull private final Object mPreMountItemsLock = new Object();
|
|
130
|
-
|
|
131
|
-
private boolean mInDispatch = false;
|
|
132
|
-
private int mReDispatchCounter = 0;
|
|
133
|
-
|
|
134
|
-
@GuardedBy("mViewCommandMountItemsLock")
|
|
135
|
-
@NonNull
|
|
136
|
-
private List<DispatchCommandMountItem> mViewCommandMountItems = new ArrayList<>();
|
|
137
119
|
|
|
138
120
|
@NonNull
|
|
139
121
|
private final CopyOnWriteArrayList<UIManagerListener> mListeners = new CopyOnWriteArrayList<>();
|
|
140
122
|
|
|
141
|
-
@GuardedBy("mMountItemsLock")
|
|
142
|
-
@NonNull
|
|
143
|
-
private List<MountItem> mMountItems = new ArrayList<>();
|
|
144
|
-
|
|
145
|
-
@GuardedBy("mPreMountItemsLock")
|
|
146
|
-
@NonNull
|
|
147
|
-
private ArrayDeque<PreAllocateViewMountItem> mPreMountItems =
|
|
148
|
-
new ArrayDeque<>(PRE_MOUNT_ITEMS_INITIAL_SIZE_ARRAY);
|
|
149
|
-
|
|
150
123
|
@ThreadConfined(UI)
|
|
151
124
|
@NonNull
|
|
152
125
|
private final DispatchUIFrameCallback mDispatchUIFrameCallback;
|
|
153
126
|
|
|
154
|
-
@ThreadConfined(UI)
|
|
155
|
-
private int mLastExecutedMountItemSurfaceId = -1;
|
|
156
|
-
|
|
157
|
-
@ThreadConfined(UI)
|
|
158
|
-
private boolean mLastExecutedMountItemSurfaceIdActive = false;
|
|
159
|
-
|
|
160
127
|
/**
|
|
161
128
|
* This is used to keep track of whether or not the FabricUIManager has been destroyed. Once the
|
|
162
129
|
* Catalyst instance is being destroyed, we should cease all operation here.
|
|
163
130
|
*/
|
|
164
131
|
private volatile boolean mDestroyed = false;
|
|
165
132
|
|
|
133
|
+
// TODO T83943316: Delete this variable once StaticViewConfigs are enabled by default
|
|
134
|
+
private volatile boolean mShouldDeallocateEventDispatcher = false;
|
|
135
|
+
|
|
166
136
|
private boolean mDriveCxxAnimations = false;
|
|
167
137
|
|
|
168
|
-
private long mRunStartTime = 0l;
|
|
169
|
-
private long mBatchedExecutionTime = 0l;
|
|
170
138
|
private long mDispatchViewUpdatesTime = 0l;
|
|
171
139
|
private long mCommitStartTime = 0l;
|
|
172
140
|
private long mLayoutTime = 0l;
|
|
@@ -179,6 +147,19 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
|
|
|
179
147
|
// from C++ to exceed 9,999 and it should be obvious what's going on when analyzing performance.
|
|
180
148
|
private int mCurrentSynchronousCommitNumber = 10000;
|
|
181
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
|
|
182
163
|
public FabricUIManager(
|
|
183
164
|
ReactApplicationContext reactContext,
|
|
184
165
|
ViewManagerRegistry viewManagerRegistry,
|
|
@@ -186,8 +167,29 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
|
|
|
186
167
|
EventBeatManager eventBeatManager) {
|
|
187
168
|
mDispatchUIFrameCallback = new DispatchUIFrameCallback(reactContext);
|
|
188
169
|
mReactApplicationContext = reactContext;
|
|
189
|
-
mMountingManager = new MountingManager(viewManagerRegistry);
|
|
170
|
+
mMountingManager = new MountingManager(viewManagerRegistry, mMountItemExecutor);
|
|
171
|
+
mMountItemDispatcher =
|
|
172
|
+
new MountItemDispatcher(mMountingManager, new MountItemDispatchListener());
|
|
190
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;
|
|
191
193
|
mEventBeatManager = eventBeatManager;
|
|
192
194
|
mReactApplicationContext.addLifecycleEventListener(this);
|
|
193
195
|
}
|
|
@@ -196,18 +198,22 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
|
|
|
196
198
|
@Override
|
|
197
199
|
@UiThread
|
|
198
200
|
@ThreadConfined(UI)
|
|
201
|
+
@Deprecated
|
|
199
202
|
public <T extends View> int addRootView(
|
|
200
203
|
final T rootView, final WritableMap initialProps, final @Nullable String initialUITemplate) {
|
|
204
|
+
ReactSoftExceptionLogger.logSoftException(
|
|
205
|
+
TAG,
|
|
206
|
+
new IllegalViewOperationException(
|
|
207
|
+
"Do not call addRootView in Fabric; it is unsupported. Call startSurface instead."));
|
|
208
|
+
|
|
201
209
|
final int rootTag = ReactRootViewTagGenerator.getNextRootViewTag();
|
|
202
210
|
ReactRoot reactRootView = (ReactRoot) rootView;
|
|
203
211
|
|
|
204
|
-
// TODO T31905686: Combine with startSurface below
|
|
205
212
|
ThemedReactContext reactContext =
|
|
206
213
|
new ThemedReactContext(
|
|
207
|
-
mReactApplicationContext, rootView.getContext(), reactRootView.getSurfaceID());
|
|
208
|
-
mMountingManager.
|
|
214
|
+
mReactApplicationContext, rootView.getContext(), reactRootView.getSurfaceID(), rootTag);
|
|
215
|
+
mMountingManager.startSurface(rootTag, rootView, reactContext);
|
|
209
216
|
String moduleName = reactRootView.getJSModuleName();
|
|
210
|
-
mReactContextForRootTag.put(rootTag, reactContext);
|
|
211
217
|
if (ENABLE_FABRIC_LOGS) {
|
|
212
218
|
FLog.d(TAG, "Starting surface for module: %s and reactTag: %d", moduleName, rootTag);
|
|
213
219
|
}
|
|
@@ -218,6 +224,36 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
|
|
|
218
224
|
return rootTag;
|
|
219
225
|
}
|
|
220
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
|
+
|
|
250
|
+
@Override
|
|
251
|
+
public void preInitializeViewManagers(List<String> viewManagerNames) {
|
|
252
|
+
for (String viewManagerName : viewManagerNames) {
|
|
253
|
+
mMountingManager.initializeViewManager(viewManagerName);
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
|
|
221
257
|
@Override
|
|
222
258
|
@AnyThread
|
|
223
259
|
@ThreadConfined(ANY)
|
|
@@ -230,14 +266,18 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
|
|
|
230
266
|
final int rootTag = ReactRootViewTagGenerator.getNextRootViewTag();
|
|
231
267
|
Context context = rootView.getContext();
|
|
232
268
|
ThemedReactContext reactContext =
|
|
233
|
-
new ThemedReactContext(mReactApplicationContext, context, moduleName);
|
|
269
|
+
new ThemedReactContext(mReactApplicationContext, context, moduleName, rootTag);
|
|
234
270
|
if (ENABLE_FABRIC_LOGS) {
|
|
235
271
|
FLog.d(TAG, "Starting surface for module: %s and reactTag: %d", moduleName, rootTag);
|
|
236
272
|
}
|
|
237
|
-
mMountingManager.
|
|
238
|
-
mReactContextForRootTag.put(rootTag, reactContext);
|
|
273
|
+
mMountingManager.startSurface(rootTag, rootView, reactContext);
|
|
239
274
|
|
|
240
|
-
|
|
275
|
+
// If startSurface is executed in the UIThread then, it uses the ViewportOffset from the View,
|
|
276
|
+
// Otherwise Fabric relies on calling {@link Binding#setConstraints} method to update the
|
|
277
|
+
// ViewportOffset during measurement or onLayout.
|
|
278
|
+
@SuppressLint("WrongThread")
|
|
279
|
+
Point viewportOffset =
|
|
280
|
+
UiThreadUtil.isOnUiThread() ? RootViewUtil.getViewportOffset(rootView) : new Point(0, 0);
|
|
241
281
|
|
|
242
282
|
mBinding.startSurfaceWithConstraints(
|
|
243
283
|
rootTag,
|
|
@@ -254,8 +294,57 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
|
|
|
254
294
|
return rootTag;
|
|
255
295
|
}
|
|
256
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
|
+
|
|
257
347
|
/** Method called when an event has been dispatched on the C++ side. */
|
|
258
|
-
@DoNotStrip
|
|
259
348
|
@SuppressWarnings("unused")
|
|
260
349
|
public void onRequestEventBeat() {
|
|
261
350
|
mEventDispatcher.dispatchAllEvents();
|
|
@@ -265,15 +354,13 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
|
|
|
265
354
|
@ThreadConfined(ANY)
|
|
266
355
|
@Override
|
|
267
356
|
public void stopSurface(final int surfaceID) {
|
|
268
|
-
|
|
357
|
+
// Mark surfaceId as dead, stop executing mounting instructions
|
|
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
|
|
269
363
|
mBinding.stopSurface(surfaceID);
|
|
270
|
-
UiThreadUtil.runOnUiThread(
|
|
271
|
-
new Runnable() {
|
|
272
|
-
@Override
|
|
273
|
-
public void run() {
|
|
274
|
-
mMountingManager.deleteRootView(surfaceID);
|
|
275
|
-
}
|
|
276
|
-
});
|
|
277
364
|
}
|
|
278
365
|
|
|
279
366
|
@Override
|
|
@@ -290,7 +377,7 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
|
|
|
290
377
|
FLog.i(TAG, "FabricUIManager.onCatalystInstanceDestroy");
|
|
291
378
|
|
|
292
379
|
if (mDestroyed) {
|
|
293
|
-
|
|
380
|
+
ReactSoftExceptionLogger.logSoftException(
|
|
294
381
|
FabricUIManager.TAG, new IllegalStateException("Cannot double-destroy FabricUIManager"));
|
|
295
382
|
return;
|
|
296
383
|
}
|
|
@@ -320,148 +407,15 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
|
|
|
320
407
|
mBinding = null;
|
|
321
408
|
|
|
322
409
|
ViewManagerPropertyUpdater.clear();
|
|
323
|
-
}
|
|
324
|
-
|
|
325
|
-
@DoNotStrip
|
|
326
|
-
@SuppressWarnings("unused")
|
|
327
|
-
@AnyThread
|
|
328
|
-
@ThreadConfined(ANY)
|
|
329
|
-
private void preallocateView(
|
|
330
|
-
int rootTag,
|
|
331
|
-
int reactTag,
|
|
332
|
-
final String componentName,
|
|
333
|
-
@Nullable ReadableMap props,
|
|
334
|
-
@Nullable Object stateWrapper,
|
|
335
|
-
boolean isLayoutable) {
|
|
336
410
|
|
|
337
|
-
//
|
|
338
|
-
//
|
|
339
|
-
//
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
String component = getFabricComponentName(componentName);
|
|
343
|
-
synchronized (mPreMountItemsLock) {
|
|
344
|
-
mPreMountItems.add(
|
|
345
|
-
new PreAllocateViewMountItem(
|
|
346
|
-
context,
|
|
347
|
-
rootTag,
|
|
348
|
-
reactTag,
|
|
349
|
-
component,
|
|
350
|
-
props,
|
|
351
|
-
(StateWrapper) stateWrapper,
|
|
352
|
-
isLayoutable));
|
|
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();
|
|
353
416
|
}
|
|
354
417
|
}
|
|
355
418
|
|
|
356
|
-
@DoNotStrip
|
|
357
|
-
@SuppressWarnings("unused")
|
|
358
|
-
@AnyThread
|
|
359
|
-
@ThreadConfined(ANY)
|
|
360
|
-
private MountItem createMountItem(
|
|
361
|
-
String componentName,
|
|
362
|
-
@Nullable ReadableMap props,
|
|
363
|
-
@Nullable Object stateWrapper,
|
|
364
|
-
int reactRootTag,
|
|
365
|
-
int reactTag,
|
|
366
|
-
boolean isLayoutable) {
|
|
367
|
-
String component = getFabricComponentName(componentName);
|
|
368
|
-
|
|
369
|
-
// This could be null if teardown/navigation away from a surface on the main thread happens
|
|
370
|
-
// while a commit is being processed in a different thread. By contract we expect this to be
|
|
371
|
-
// possible at teardown, but this race should *never* happen at startup.
|
|
372
|
-
@Nullable ThemedReactContext reactContext = mReactContextForRootTag.get(reactRootTag);
|
|
373
|
-
|
|
374
|
-
return new CreateMountItem(
|
|
375
|
-
reactContext,
|
|
376
|
-
reactRootTag,
|
|
377
|
-
reactTag,
|
|
378
|
-
component,
|
|
379
|
-
props,
|
|
380
|
-
(StateWrapper) stateWrapper,
|
|
381
|
-
isLayoutable);
|
|
382
|
-
}
|
|
383
|
-
|
|
384
|
-
@DoNotStrip
|
|
385
|
-
@SuppressWarnings("unused")
|
|
386
|
-
@AnyThread
|
|
387
|
-
@ThreadConfined(ANY)
|
|
388
|
-
private MountItem insertMountItem(int reactTag, int parentReactTag, int index) {
|
|
389
|
-
return new InsertMountItem(reactTag, parentReactTag, index);
|
|
390
|
-
}
|
|
391
|
-
|
|
392
|
-
@DoNotStrip
|
|
393
|
-
@SuppressWarnings("unused")
|
|
394
|
-
@AnyThread
|
|
395
|
-
@ThreadConfined(ANY)
|
|
396
|
-
private MountItem removeDeleteMultiMountItem(int[] metadata) {
|
|
397
|
-
return new RemoveDeleteMultiMountItem(metadata);
|
|
398
|
-
}
|
|
399
|
-
|
|
400
|
-
@DoNotStrip
|
|
401
|
-
@SuppressWarnings("unused")
|
|
402
|
-
@AnyThread
|
|
403
|
-
@ThreadConfined(ANY)
|
|
404
|
-
private MountItem updateLayoutMountItem(
|
|
405
|
-
int reactTag, int x, int y, int width, int height, int layoutDirection) {
|
|
406
|
-
return new UpdateLayoutMountItem(reactTag, x, y, width, height, layoutDirection);
|
|
407
|
-
}
|
|
408
|
-
|
|
409
|
-
@DoNotStrip
|
|
410
|
-
@SuppressWarnings("unused")
|
|
411
|
-
@AnyThread
|
|
412
|
-
@ThreadConfined(ANY)
|
|
413
|
-
private MountItem updatePaddingMountItem(int reactTag, int left, int top, int right, int bottom) {
|
|
414
|
-
return new UpdatePaddingMountItem(reactTag, left, top, right, bottom);
|
|
415
|
-
}
|
|
416
|
-
|
|
417
|
-
@DoNotStrip
|
|
418
|
-
@SuppressWarnings("unused")
|
|
419
|
-
@AnyThread
|
|
420
|
-
@ThreadConfined(ANY)
|
|
421
|
-
private MountItem updatePropsMountItem(int reactTag, ReadableMap map) {
|
|
422
|
-
return new UpdatePropsMountItem(reactTag, map);
|
|
423
|
-
}
|
|
424
|
-
|
|
425
|
-
@DoNotStrip
|
|
426
|
-
@SuppressWarnings("unused")
|
|
427
|
-
@AnyThread
|
|
428
|
-
@ThreadConfined(ANY)
|
|
429
|
-
private MountItem updateStateMountItem(int reactTag, @Nullable Object stateWrapper) {
|
|
430
|
-
return new UpdateStateMountItem(reactTag, (StateWrapper) stateWrapper);
|
|
431
|
-
}
|
|
432
|
-
|
|
433
|
-
@DoNotStrip
|
|
434
|
-
@SuppressWarnings("unused")
|
|
435
|
-
@AnyThread
|
|
436
|
-
@ThreadConfined(ANY)
|
|
437
|
-
private MountItem updateEventEmitterMountItem(int reactTag, Object eventEmitter) {
|
|
438
|
-
return new UpdateEventEmitterMountItem(reactTag, (EventEmitterWrapper) eventEmitter);
|
|
439
|
-
}
|
|
440
|
-
|
|
441
|
-
@DoNotStrip
|
|
442
|
-
@SuppressWarnings("unused")
|
|
443
|
-
@AnyThread
|
|
444
|
-
@ThreadConfined(ANY)
|
|
445
|
-
private MountItem createBatchMountItem(
|
|
446
|
-
int rootTag, MountItem[] items, int size, int commitNumber) {
|
|
447
|
-
return new BatchMountItem(rootTag, items, size, commitNumber);
|
|
448
|
-
}
|
|
449
|
-
|
|
450
|
-
@DoNotStrip
|
|
451
|
-
@SuppressWarnings("unused")
|
|
452
|
-
@AnyThread
|
|
453
|
-
@ThreadConfined(ANY)
|
|
454
|
-
private MountItem createIntBufferBatchMountItem(
|
|
455
|
-
int rootTag, int[] intBuffer, Object[] objBuffer, int commitNumber) {
|
|
456
|
-
// This could be null if teardown/navigation away from a surface on the main thread happens
|
|
457
|
-
// while a commit is being processed in a different thread. By contract we expect this to be
|
|
458
|
-
// possible at teardown, but this race should *never* happen at startup.
|
|
459
|
-
@Nullable ThemedReactContext reactContext = mReactContextForRootTag.get(rootTag);
|
|
460
|
-
|
|
461
|
-
return new IntBufferBatchMountItem(rootTag, reactContext, intBuffer, objBuffer, commitNumber);
|
|
462
|
-
}
|
|
463
|
-
|
|
464
|
-
@DoNotStrip
|
|
465
419
|
@SuppressWarnings("unused")
|
|
466
420
|
private NativeArray measureLines(
|
|
467
421
|
ReadableMap attributedString, ReadableMap paragraphAttributes, float width, float height) {
|
|
@@ -473,7 +427,20 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
|
|
|
473
427
|
PixelUtil.toPixelFromDIP(width));
|
|
474
428
|
}
|
|
475
429
|
|
|
476
|
-
@
|
|
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
|
+
|
|
477
444
|
@SuppressWarnings("unused")
|
|
478
445
|
private long measure(
|
|
479
446
|
int rootTag,
|
|
@@ -498,10 +465,17 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
|
|
|
498
465
|
null);
|
|
499
466
|
}
|
|
500
467
|
|
|
501
|
-
@
|
|
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
|
+
|
|
502
476
|
@SuppressWarnings("unused")
|
|
503
477
|
private long measure(
|
|
504
|
-
int
|
|
478
|
+
int surfaceId,
|
|
505
479
|
String componentName,
|
|
506
480
|
ReadableMap localData,
|
|
507
481
|
ReadableMap props,
|
|
@@ -512,16 +486,16 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
|
|
|
512
486
|
float maxHeight,
|
|
513
487
|
@Nullable float[] attachmentsPositions) {
|
|
514
488
|
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
489
|
+
ReactContext context;
|
|
490
|
+
if (surfaceId > 0) {
|
|
491
|
+
SurfaceMountingManager surfaceMountingManager =
|
|
492
|
+
mMountingManager.getSurfaceManagerEnforced(surfaceId, "measure");
|
|
493
|
+
if (surfaceMountingManager.isStopped()) {
|
|
494
|
+
return 0;
|
|
495
|
+
}
|
|
496
|
+
context = surfaceMountingManager.getContext();
|
|
497
|
+
} else {
|
|
498
|
+
context = mReactApplicationContext;
|
|
525
499
|
}
|
|
526
500
|
|
|
527
501
|
return mMountingManager.measure(
|
|
@@ -537,23 +511,53 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
|
|
|
537
511
|
attachmentsPositions);
|
|
538
512
|
}
|
|
539
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
|
+
|
|
540
551
|
/**
|
|
541
|
-
* @param
|
|
552
|
+
* @param surfaceId {@link int} surface ID
|
|
542
553
|
* @param defaultTextInputPadding {@link float[]} output parameter will contain the default theme
|
|
543
554
|
* padding used by RN Android TextInput.
|
|
544
555
|
* @return if theme data is available in the output parameters.
|
|
545
556
|
*/
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
// TODO T68526882: Review if this should cause a crash instead.
|
|
551
|
-
ReactSoftException.logSoftException(
|
|
552
|
-
TAG,
|
|
553
|
-
new ReactNoCrashSoftException(
|
|
554
|
-
"Unable to find ThemedReactContext associated to surfaceID: " + surfaceID));
|
|
555
|
-
return false;
|
|
556
|
-
}
|
|
557
|
+
public boolean getThemeData(int surfaceId, float[] defaultTextInputPadding) {
|
|
558
|
+
SurfaceMountingManager surfaceMountingManager =
|
|
559
|
+
mMountingManager.getSurfaceManagerEnforced(surfaceId, "getThemeData");
|
|
560
|
+
ThemedReactContext themedReactContext = surfaceMountingManager.getContext();
|
|
557
561
|
float[] defaultTextInputPaddingForTheme =
|
|
558
562
|
UIManagerHelper.getDefaultTextInputPadding(themedReactContext);
|
|
559
563
|
defaultTextInputPadding[0] = defaultTextInputPaddingForTheme[PADDING_START_INDEX];
|
|
@@ -563,6 +567,14 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
|
|
|
563
567
|
return true;
|
|
564
568
|
}
|
|
565
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
|
+
|
|
566
578
|
@Override
|
|
567
579
|
@UiThread
|
|
568
580
|
@ThreadConfined(UI)
|
|
@@ -572,11 +584,11 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
|
|
|
572
584
|
|
|
573
585
|
int commitNumber = mCurrentSynchronousCommitNumber++;
|
|
574
586
|
|
|
575
|
-
// We are on the UI thread so
|
|
576
|
-
//
|
|
577
|
-
// here?
|
|
587
|
+
// We are on the UI thread so it would otherwise be safe to call `tryDispatchMountItems` here to
|
|
588
|
+
// flush previously-queued mountitems, *BUT* we don't know where we are on the callstack.
|
|
589
|
+
// Why isn't it safe, and why do we have additional safeguards here?
|
|
578
590
|
//
|
|
579
|
-
// A tangible example where
|
|
591
|
+
// A tangible example where it would cause a crash, and did in the past:
|
|
580
592
|
// 1. There are queued "delete" mutations
|
|
581
593
|
// 2. We're called by this stack trace:
|
|
582
594
|
// FabricUIManager.synchronouslyUpdateViewOnUIThread(FabricUIManager.java:574)
|
|
@@ -593,32 +605,34 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
|
|
|
593
605
|
// android.widget.ScrollView.overScrollBy(ScrollView.java:2040)
|
|
594
606
|
// android.widget.ScrollView.computeScroll(ScrollView.java:1481)
|
|
595
607
|
// android.view.View.updateDisplayListIfDirty(View.java:20466)
|
|
596
|
-
|
|
597
|
-
tryDispatchMountItems();
|
|
598
|
-
}
|
|
608
|
+
// 3. A view is deleted while its parent is being drawn, causing a crash.
|
|
599
609
|
|
|
600
610
|
MountItem synchronousMountItem =
|
|
601
611
|
new MountItem() {
|
|
602
612
|
@Override
|
|
603
613
|
public void execute(@NonNull MountingManager mountingManager) {
|
|
604
614
|
try {
|
|
605
|
-
|
|
615
|
+
mountingManager.updateProps(reactTag, props);
|
|
606
616
|
} catch (Exception ex) {
|
|
607
|
-
// TODO T42943890: Fix animations in Fabric and remove this try/catch
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
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.
|
|
612
623
|
}
|
|
613
624
|
}
|
|
625
|
+
|
|
626
|
+
@Override
|
|
627
|
+
public int getSurfaceId() {
|
|
628
|
+
return View.NO_ID;
|
|
629
|
+
}
|
|
614
630
|
};
|
|
615
631
|
|
|
616
632
|
// If the reactTag exists, we assume that it might at the end of the next
|
|
617
633
|
// batch of MountItems. Otherwise, we try to execute immediately.
|
|
618
634
|
if (!mMountingManager.getViewExists(reactTag)) {
|
|
619
|
-
|
|
620
|
-
mMountItems.add(synchronousMountItem);
|
|
621
|
-
}
|
|
635
|
+
mMountItemDispatcher.addMountItem(synchronousMountItem);
|
|
622
636
|
return;
|
|
623
637
|
}
|
|
624
638
|
|
|
@@ -639,20 +653,42 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
|
|
|
639
653
|
ReactMarkerConstants.FABRIC_UPDATE_UI_MAIN_THREAD_END, null, commitNumber);
|
|
640
654
|
}
|
|
641
655
|
|
|
642
|
-
|
|
643
|
-
|
|
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));
|
|
644
677
|
}
|
|
645
678
|
|
|
646
|
-
|
|
647
|
-
|
|
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);
|
|
648
685
|
}
|
|
649
686
|
|
|
650
687
|
/**
|
|
651
688
|
* This method enqueues UI operations directly to the UI thread. This might change in the future
|
|
652
|
-
* to enforce execution order using {@link ReactChoreographer
|
|
689
|
+
* to enforce execution order using {@link ReactChoreographer.CallbackType}. This method should
|
|
653
690
|
* only be called as the result of a new tree being committed.
|
|
654
691
|
*/
|
|
655
|
-
@DoNotStrip
|
|
656
692
|
@SuppressWarnings("unused")
|
|
657
693
|
@AnyThread
|
|
658
694
|
@ThreadConfined(ANY)
|
|
@@ -669,12 +705,9 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
|
|
|
669
705
|
// When Binding.cpp calls scheduleMountItems during a commit phase, it always calls with
|
|
670
706
|
// a BatchMountItem. No other sites call into this with a BatchMountItem, and Binding.cpp only
|
|
671
707
|
// calls scheduleMountItems with a BatchMountItem.
|
|
672
|
-
boolean
|
|
673
|
-
boolean isIntBufferMountItem = mountItem instanceof IntBufferBatchMountItem;
|
|
674
|
-
boolean isBatchMountItem = isClassicBatchMountItem || isIntBufferMountItem;
|
|
708
|
+
boolean isBatchMountItem = mountItem instanceof IntBufferBatchMountItem;
|
|
675
709
|
boolean shouldSchedule =
|
|
676
|
-
(
|
|
677
|
-
|| (isIntBufferMountItem && ((IntBufferBatchMountItem) mountItem).shouldSchedule())
|
|
710
|
+
(isBatchMountItem && ((IntBufferBatchMountItem) mountItem).shouldSchedule())
|
|
678
711
|
|| (!isBatchMountItem && mountItem != null);
|
|
679
712
|
|
|
680
713
|
// In case of sync rendering, this could be called on the UI thread. Otherwise,
|
|
@@ -691,13 +724,11 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
|
|
|
691
724
|
mDispatchViewUpdatesTime = SystemClock.uptimeMillis();
|
|
692
725
|
}
|
|
693
726
|
|
|
694
|
-
if (shouldSchedule
|
|
695
|
-
|
|
696
|
-
mMountItems.add(mountItem);
|
|
697
|
-
}
|
|
727
|
+
if (shouldSchedule) {
|
|
728
|
+
mMountItemDispatcher.addMountItem(mountItem);
|
|
698
729
|
if (UiThreadUtil.isOnUiThread()) {
|
|
699
730
|
// We only read these flags on the UI thread.
|
|
700
|
-
tryDispatchMountItems();
|
|
731
|
+
mMountItemDispatcher.tryDispatchMountItems();
|
|
701
732
|
}
|
|
702
733
|
}
|
|
703
734
|
|
|
@@ -727,306 +758,6 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
|
|
|
727
758
|
}
|
|
728
759
|
}
|
|
729
760
|
|
|
730
|
-
@UiThread
|
|
731
|
-
@ThreadConfined(UI)
|
|
732
|
-
private void tryDispatchMountItems() {
|
|
733
|
-
// If we're already dispatching, don't reenter.
|
|
734
|
-
// Reentrance can potentially happen a lot on Android in Fabric because
|
|
735
|
-
// `updateState` from the
|
|
736
|
-
// mounting layer causes mount items to be dispatched synchronously. We want to 1) make sure
|
|
737
|
-
// we don't reenter in those cases, but 2) still execute those queued instructions
|
|
738
|
-
// synchronously.
|
|
739
|
-
// This is a pretty blunt tool, but we might not have better options since we really don't want
|
|
740
|
-
// to execute anything out-of-order.
|
|
741
|
-
if (mInDispatch) {
|
|
742
|
-
return;
|
|
743
|
-
}
|
|
744
|
-
|
|
745
|
-
final boolean didDispatchItems;
|
|
746
|
-
try {
|
|
747
|
-
didDispatchItems = dispatchMountItems();
|
|
748
|
-
} catch (Throwable e) {
|
|
749
|
-
mReDispatchCounter = 0;
|
|
750
|
-
mLastExecutedMountItemSurfaceId = -1;
|
|
751
|
-
throw e;
|
|
752
|
-
} finally {
|
|
753
|
-
// Clean up after running dispatchMountItems - even if an exception was thrown
|
|
754
|
-
mInDispatch = false;
|
|
755
|
-
}
|
|
756
|
-
|
|
757
|
-
for (UIManagerListener listener : mListeners) {
|
|
758
|
-
listener.didDispatchMountItems(this);
|
|
759
|
-
}
|
|
760
|
-
|
|
761
|
-
// Decide if we want to try reentering
|
|
762
|
-
if (mReDispatchCounter < 10 && didDispatchItems) {
|
|
763
|
-
// Executing twice in a row is normal. Only log after that point.
|
|
764
|
-
if (mReDispatchCounter > 2) {
|
|
765
|
-
ReactSoftException.logSoftException(
|
|
766
|
-
TAG,
|
|
767
|
-
new ReactNoCrashSoftException(
|
|
768
|
-
"Re-dispatched "
|
|
769
|
-
+ mReDispatchCounter
|
|
770
|
-
+ " times. This indicates setState (?) is likely being called too many times during mounting."));
|
|
771
|
-
}
|
|
772
|
-
|
|
773
|
-
mReDispatchCounter++;
|
|
774
|
-
tryDispatchMountItems();
|
|
775
|
-
}
|
|
776
|
-
mReDispatchCounter = 0;
|
|
777
|
-
mLastExecutedMountItemSurfaceId = -1;
|
|
778
|
-
}
|
|
779
|
-
|
|
780
|
-
@UiThread
|
|
781
|
-
@ThreadConfined(UI)
|
|
782
|
-
private List<DispatchCommandMountItem> getAndResetViewCommandMountItems() {
|
|
783
|
-
synchronized (mViewCommandMountItemsLock) {
|
|
784
|
-
List<DispatchCommandMountItem> result = mViewCommandMountItems;
|
|
785
|
-
if (result.isEmpty()) {
|
|
786
|
-
return null;
|
|
787
|
-
}
|
|
788
|
-
mViewCommandMountItems = new ArrayList<>();
|
|
789
|
-
return result;
|
|
790
|
-
}
|
|
791
|
-
}
|
|
792
|
-
|
|
793
|
-
@UiThread
|
|
794
|
-
@ThreadConfined(UI)
|
|
795
|
-
private List<MountItem> getAndResetMountItems() {
|
|
796
|
-
synchronized (mMountItemsLock) {
|
|
797
|
-
List<MountItem> result = mMountItems;
|
|
798
|
-
if (result.isEmpty()) {
|
|
799
|
-
return null;
|
|
800
|
-
}
|
|
801
|
-
mMountItems = new ArrayList<>();
|
|
802
|
-
return result;
|
|
803
|
-
}
|
|
804
|
-
}
|
|
805
|
-
|
|
806
|
-
private ArrayDeque<PreAllocateViewMountItem> getAndResetPreMountItems() {
|
|
807
|
-
synchronized (mPreMountItemsLock) {
|
|
808
|
-
ArrayDeque<PreAllocateViewMountItem> result = mPreMountItems;
|
|
809
|
-
if (result.isEmpty()) {
|
|
810
|
-
return null;
|
|
811
|
-
}
|
|
812
|
-
mPreMountItems = new ArrayDeque<>(PRE_MOUNT_ITEMS_INITIAL_SIZE_ARRAY);
|
|
813
|
-
return result;
|
|
814
|
-
}
|
|
815
|
-
}
|
|
816
|
-
|
|
817
|
-
/**
|
|
818
|
-
* Check if a surfaceId is active and ready for MountItems to be executed against it. It is safe
|
|
819
|
-
* and cheap to call this repeatedly because we expect many operations to be batched with the same
|
|
820
|
-
* surfaceId in a row and we memoize the parameters and results.
|
|
821
|
-
*
|
|
822
|
-
* @param surfaceId
|
|
823
|
-
* @param context
|
|
824
|
-
* @return
|
|
825
|
-
*/
|
|
826
|
-
@UiThread
|
|
827
|
-
@ThreadConfined(UI)
|
|
828
|
-
private boolean surfaceActiveForExecution(int surfaceId, String context) {
|
|
829
|
-
if (mLastExecutedMountItemSurfaceId != surfaceId) {
|
|
830
|
-
mLastExecutedMountItemSurfaceId = surfaceId;
|
|
831
|
-
mLastExecutedMountItemSurfaceIdActive = mReactContextForRootTag.get(surfaceId) != null;
|
|
832
|
-
|
|
833
|
-
// If there are many MountItems with the same SurfaceId, we only
|
|
834
|
-
// log a warning for the first one that is skipped.
|
|
835
|
-
if (!mLastExecutedMountItemSurfaceIdActive) {
|
|
836
|
-
ReactSoftException.logSoftException(
|
|
837
|
-
TAG,
|
|
838
|
-
new ReactNoCrashSoftException(
|
|
839
|
-
"dispatchMountItems: skipping "
|
|
840
|
-
+ context
|
|
841
|
-
+ ", because surface not available: "
|
|
842
|
-
+ surfaceId));
|
|
843
|
-
}
|
|
844
|
-
}
|
|
845
|
-
|
|
846
|
-
return mLastExecutedMountItemSurfaceIdActive;
|
|
847
|
-
}
|
|
848
|
-
|
|
849
|
-
private static void printMountItem(MountItem mountItem, String prefix) {
|
|
850
|
-
// If a MountItem description is split across multiple lines, it's because it's a
|
|
851
|
-
// compound MountItem. Log each line separately.
|
|
852
|
-
String[] mountItemLines = mountItem.toString().split("\n");
|
|
853
|
-
for (String m : mountItemLines) {
|
|
854
|
-
FLog.e(TAG, prefix + ": " + m);
|
|
855
|
-
}
|
|
856
|
-
}
|
|
857
|
-
|
|
858
|
-
@UiThread
|
|
859
|
-
@ThreadConfined(UI)
|
|
860
|
-
/** Nothing should call this directly except for `tryDispatchMountItems`. */
|
|
861
|
-
private boolean dispatchMountItems() {
|
|
862
|
-
if (mReDispatchCounter == 0) {
|
|
863
|
-
mBatchedExecutionTime = 0;
|
|
864
|
-
}
|
|
865
|
-
|
|
866
|
-
mRunStartTime = SystemClock.uptimeMillis();
|
|
867
|
-
|
|
868
|
-
List<DispatchCommandMountItem> viewCommandMountItemsToDispatch =
|
|
869
|
-
getAndResetViewCommandMountItems();
|
|
870
|
-
List<MountItem> mountItemsToDispatch = getAndResetMountItems();
|
|
871
|
-
|
|
872
|
-
if (mountItemsToDispatch == null && viewCommandMountItemsToDispatch == null) {
|
|
873
|
-
return false;
|
|
874
|
-
}
|
|
875
|
-
|
|
876
|
-
// As an optimization, execute all ViewCommands first
|
|
877
|
-
// This should be:
|
|
878
|
-
// 1) Performant: ViewCommands are often a replacement for SetNativeProps, which we've always
|
|
879
|
-
// wanted to be as "synchronous" as possible.
|
|
880
|
-
// 2) Safer: ViewCommands are inherently disconnected from the tree commit/diff/mount process.
|
|
881
|
-
// JS imperatively queues these commands.
|
|
882
|
-
// If JS has queued a command, it's reasonable to assume that the more time passes, the more
|
|
883
|
-
// likely it is that the view disappears.
|
|
884
|
-
// Thus, by executing ViewCommands early, we should actually avoid a category of
|
|
885
|
-
// errors/glitches.
|
|
886
|
-
if (viewCommandMountItemsToDispatch != null) {
|
|
887
|
-
Systrace.beginSection(
|
|
888
|
-
Systrace.TRACE_TAG_REACT_JAVA_BRIDGE,
|
|
889
|
-
"FabricUIManager::mountViews viewCommandMountItems to execute: "
|
|
890
|
-
+ viewCommandMountItemsToDispatch.size());
|
|
891
|
-
for (DispatchCommandMountItem command : viewCommandMountItemsToDispatch) {
|
|
892
|
-
if (ENABLE_FABRIC_LOGS) {
|
|
893
|
-
printMountItem(command, "dispatchMountItems: Executing viewCommandMountItem");
|
|
894
|
-
}
|
|
895
|
-
try {
|
|
896
|
-
command.execute(mMountingManager);
|
|
897
|
-
} catch (RetryableMountingLayerException e) {
|
|
898
|
-
// If the exception is marked as Retryable, we retry the viewcommand exactly once, after
|
|
899
|
-
// the current batch of mount items has finished executing.
|
|
900
|
-
if (command.getRetries() == 0) {
|
|
901
|
-
command.incrementRetries();
|
|
902
|
-
dispatchCommandMountItem(command);
|
|
903
|
-
} else {
|
|
904
|
-
// It's very common for commands to be executed on views that no longer exist - for
|
|
905
|
-
// example, a blur event on TextInput being fired because of a navigation event away
|
|
906
|
-
// from the current screen. If the exception is marked as Retryable, we log a soft
|
|
907
|
-
// exception but never crash in debug.
|
|
908
|
-
// It's not clear that logging this is even useful, because these events are very
|
|
909
|
-
// common, mundane, and there's not much we can do about them currently.
|
|
910
|
-
ReactSoftException.logSoftException(
|
|
911
|
-
TAG,
|
|
912
|
-
new ReactNoCrashSoftException(
|
|
913
|
-
"Caught exception executing ViewCommand: " + command.toString(), e));
|
|
914
|
-
}
|
|
915
|
-
} catch (Throwable e) {
|
|
916
|
-
// Non-Retryable exceptions are logged as soft exceptions in prod, but crash in Debug.
|
|
917
|
-
ReactSoftException.logSoftException(
|
|
918
|
-
TAG,
|
|
919
|
-
new RuntimeException(
|
|
920
|
-
"Caught exception executing ViewCommand: " + command.toString(), e));
|
|
921
|
-
}
|
|
922
|
-
}
|
|
923
|
-
|
|
924
|
-
Systrace.endSection(Systrace.TRACE_TAG_REACT_JAVA_BRIDGE);
|
|
925
|
-
}
|
|
926
|
-
|
|
927
|
-
// If there are MountItems to dispatch, we make sure all the "pre mount items" are executed
|
|
928
|
-
// first
|
|
929
|
-
ArrayDeque<PreAllocateViewMountItem> mPreMountItemsToDispatch = getAndResetPreMountItems();
|
|
930
|
-
|
|
931
|
-
if (mPreMountItemsToDispatch != null) {
|
|
932
|
-
Systrace.beginSection(
|
|
933
|
-
Systrace.TRACE_TAG_REACT_JAVA_BRIDGE,
|
|
934
|
-
"FabricUIManager::mountViews preMountItems to execute: "
|
|
935
|
-
+ mPreMountItemsToDispatch.size());
|
|
936
|
-
|
|
937
|
-
while (!mPreMountItemsToDispatch.isEmpty()) {
|
|
938
|
-
PreAllocateViewMountItem mountItem = mPreMountItemsToDispatch.pollFirst();
|
|
939
|
-
if (surfaceActiveForExecution(
|
|
940
|
-
mountItem.getRootTag(), "dispatchMountItems PreAllocateViewMountItem")) {
|
|
941
|
-
mountItem.execute(mMountingManager);
|
|
942
|
-
}
|
|
943
|
-
}
|
|
944
|
-
|
|
945
|
-
Systrace.endSection(Systrace.TRACE_TAG_REACT_JAVA_BRIDGE);
|
|
946
|
-
}
|
|
947
|
-
|
|
948
|
-
if (mountItemsToDispatch != null) {
|
|
949
|
-
Systrace.beginSection(
|
|
950
|
-
Systrace.TRACE_TAG_REACT_JAVA_BRIDGE,
|
|
951
|
-
"FabricUIManager::mountViews mountItems to execute: " + mountItemsToDispatch.size());
|
|
952
|
-
|
|
953
|
-
long batchedExecutionStartTime = SystemClock.uptimeMillis();
|
|
954
|
-
|
|
955
|
-
for (MountItem mountItem : mountItemsToDispatch) {
|
|
956
|
-
if (ENABLE_FABRIC_LOGS) {
|
|
957
|
-
printMountItem(mountItem, "dispatchMountItems: Executing mountItem");
|
|
958
|
-
}
|
|
959
|
-
|
|
960
|
-
try {
|
|
961
|
-
// Make sure surface associated with this MountItem has been started, and not stopped.
|
|
962
|
-
// TODO T68118357: clean up this logic and simplify this method overall
|
|
963
|
-
if (mountItem instanceof BatchMountItem) {
|
|
964
|
-
BatchMountItem batchMountItem = (BatchMountItem) mountItem;
|
|
965
|
-
if (!surfaceActiveForExecution(
|
|
966
|
-
batchMountItem.getRootTag(), "dispatchMountItems BatchMountItem")) {
|
|
967
|
-
continue;
|
|
968
|
-
}
|
|
969
|
-
}
|
|
970
|
-
|
|
971
|
-
mountItem.execute(mMountingManager);
|
|
972
|
-
} catch (Throwable e) {
|
|
973
|
-
// If there's an exception, we want to log diagnostics in prod and rethrow.
|
|
974
|
-
FLog.e(TAG, "dispatchMountItems: caught exception, displaying all MountItems", e);
|
|
975
|
-
for (MountItem m : mountItemsToDispatch) {
|
|
976
|
-
printMountItem(m, "dispatchMountItems: mountItem");
|
|
977
|
-
}
|
|
978
|
-
|
|
979
|
-
if (ReactIgnorableMountingException.isIgnorable(e)) {
|
|
980
|
-
ReactSoftException.logSoftException(TAG, e);
|
|
981
|
-
} else {
|
|
982
|
-
throw e;
|
|
983
|
-
}
|
|
984
|
-
}
|
|
985
|
-
}
|
|
986
|
-
mBatchedExecutionTime += SystemClock.uptimeMillis() - batchedExecutionStartTime;
|
|
987
|
-
}
|
|
988
|
-
Systrace.endSection(Systrace.TRACE_TAG_REACT_JAVA_BRIDGE);
|
|
989
|
-
|
|
990
|
-
return true;
|
|
991
|
-
}
|
|
992
|
-
|
|
993
|
-
@UiThread
|
|
994
|
-
@ThreadConfined(UI)
|
|
995
|
-
private void dispatchPreMountItems(long frameTimeNanos) {
|
|
996
|
-
Systrace.beginSection(Systrace.TRACE_TAG_REACT_JAVA_BRIDGE, "FabricUIManager::premountViews");
|
|
997
|
-
|
|
998
|
-
// dispatchPreMountItems cannot be reentrant, but we want to prevent dispatchMountItems from
|
|
999
|
-
// reentering during dispatchPreMountItems
|
|
1000
|
-
mInDispatch = true;
|
|
1001
|
-
|
|
1002
|
-
try {
|
|
1003
|
-
while (true) {
|
|
1004
|
-
long timeLeftInFrame = FRAME_TIME_MS - ((System.nanoTime() - frameTimeNanos) / 1000000);
|
|
1005
|
-
if (timeLeftInFrame < MAX_TIME_IN_FRAME_FOR_NON_BATCHED_OPERATIONS_MS) {
|
|
1006
|
-
break;
|
|
1007
|
-
}
|
|
1008
|
-
|
|
1009
|
-
PreAllocateViewMountItem preMountItemToDispatch;
|
|
1010
|
-
synchronized (mPreMountItemsLock) {
|
|
1011
|
-
if (mPreMountItems.isEmpty()) {
|
|
1012
|
-
break;
|
|
1013
|
-
}
|
|
1014
|
-
preMountItemToDispatch = mPreMountItems.pollFirst();
|
|
1015
|
-
}
|
|
1016
|
-
|
|
1017
|
-
if (surfaceActiveForExecution(
|
|
1018
|
-
preMountItemToDispatch.getRootTag(), "dispatchPreMountItems")) {
|
|
1019
|
-
preMountItemToDispatch.execute(mMountingManager);
|
|
1020
|
-
}
|
|
1021
|
-
}
|
|
1022
|
-
} finally {
|
|
1023
|
-
mInDispatch = false;
|
|
1024
|
-
mLastExecutedMountItemSurfaceId = -1;
|
|
1025
|
-
}
|
|
1026
|
-
|
|
1027
|
-
Systrace.endSection(Systrace.TRACE_TAG_REACT_JAVA_BRIDGE);
|
|
1028
|
-
}
|
|
1029
|
-
|
|
1030
761
|
public void setBinding(Binding binding) {
|
|
1031
762
|
mBinding = binding;
|
|
1032
763
|
}
|
|
@@ -1038,17 +769,28 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
|
|
|
1038
769
|
@UiThread
|
|
1039
770
|
@ThreadConfined(UI)
|
|
1040
771
|
public void updateRootLayoutSpecs(
|
|
1041
|
-
final int
|
|
772
|
+
final int surfaceId,
|
|
1042
773
|
final int widthMeasureSpec,
|
|
1043
774
|
final int heightMeasureSpec,
|
|
1044
775
|
final int offsetX,
|
|
1045
776
|
final int offsetY) {
|
|
1046
777
|
|
|
1047
778
|
if (ENABLE_FABRIC_LOGS) {
|
|
1048
|
-
FLog.d(TAG, "Updating Root Layout Specs");
|
|
779
|
+
FLog.d(TAG, "Updating Root Layout Specs for [%d]", surfaceId);
|
|
780
|
+
}
|
|
781
|
+
|
|
782
|
+
SurfaceMountingManager surfaceMountingManager = mMountingManager.getSurfaceManager(surfaceId);
|
|
783
|
+
|
|
784
|
+
// TODO T83615646: make this a hard-crash in the future.
|
|
785
|
+
if (surfaceMountingManager == null) {
|
|
786
|
+
ReactSoftExceptionLogger.logSoftException(
|
|
787
|
+
TAG,
|
|
788
|
+
new IllegalViewOperationException(
|
|
789
|
+
"Cannot updateRootLayoutSpecs on surfaceId that does not exist: " + surfaceId));
|
|
790
|
+
return;
|
|
1049
791
|
}
|
|
1050
792
|
|
|
1051
|
-
ThemedReactContext reactContext =
|
|
793
|
+
ThemedReactContext reactContext = surfaceMountingManager.getContext();
|
|
1052
794
|
boolean isRTL = false;
|
|
1053
795
|
boolean doLeftAndRightSwapInRTL = false;
|
|
1054
796
|
if (reactContext != null) {
|
|
@@ -1057,7 +799,7 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
|
|
|
1057
799
|
}
|
|
1058
800
|
|
|
1059
801
|
mBinding.setConstraints(
|
|
1060
|
-
|
|
802
|
+
surfaceId,
|
|
1061
803
|
getMinSize(widthMeasureSpec),
|
|
1062
804
|
getMaxSize(widthMeasureSpec),
|
|
1063
805
|
getMinSize(heightMeasureSpec),
|
|
@@ -1068,16 +810,68 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
|
|
|
1068
810
|
doLeftAndRightSwapInRTL);
|
|
1069
811
|
}
|
|
1070
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
|
+
|
|
1071
821
|
@Override
|
|
1072
822
|
public void receiveEvent(int reactTag, String eventName, @Nullable WritableMap params) {
|
|
1073
|
-
|
|
823
|
+
receiveEvent(View.NO_ID, reactTag, eventName, params);
|
|
824
|
+
}
|
|
825
|
+
|
|
826
|
+
@Override
|
|
827
|
+
public void receiveEvent(
|
|
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) {
|
|
853
|
+
if (ReactBuildConfig.DEBUG && surfaceId == View.NO_ID) {
|
|
854
|
+
FLog.d(TAG, "Emitted event without surfaceId: [%d] %s", reactTag, eventName);
|
|
855
|
+
}
|
|
856
|
+
|
|
857
|
+
if (mDestroyed) {
|
|
858
|
+
FLog.e(TAG, "Attempted to receiveEvent after destruction");
|
|
859
|
+
return;
|
|
860
|
+
}
|
|
861
|
+
|
|
862
|
+
EventEmitterWrapper eventEmitter = mMountingManager.getEventEmitter(surfaceId, reactTag);
|
|
863
|
+
|
|
1074
864
|
if (eventEmitter == null) {
|
|
1075
865
|
// This can happen if the view has disappeared from the screen (because of async events)
|
|
1076
866
|
FLog.d(TAG, "Unable to invoke event: " + eventName + " for reactTag: " + reactTag);
|
|
1077
867
|
return;
|
|
1078
868
|
}
|
|
1079
869
|
|
|
1080
|
-
|
|
870
|
+
if (canCoalesceEvent) {
|
|
871
|
+
eventEmitter.invokeUnique(eventName, params, customCoalesceKey);
|
|
872
|
+
} else {
|
|
873
|
+
eventEmitter.invoke(eventName, params);
|
|
874
|
+
}
|
|
1081
875
|
}
|
|
1082
876
|
|
|
1083
877
|
@Override
|
|
@@ -1102,38 +896,73 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
|
|
|
1102
896
|
@Override
|
|
1103
897
|
public void onHostDestroy() {}
|
|
1104
898
|
|
|
1105
|
-
@Deprecated
|
|
1106
899
|
@Override
|
|
900
|
+
@Deprecated
|
|
1107
901
|
@AnyThread
|
|
1108
902
|
@ThreadConfined(ANY)
|
|
1109
903
|
public void dispatchCommand(
|
|
1110
904
|
final int reactTag, final int commandId, @Nullable final ReadableArray commandArgs) {
|
|
1111
|
-
|
|
905
|
+
throw new UnsupportedOperationException(
|
|
906
|
+
"dispatchCommand called without surfaceId - Fabric dispatchCommand must be called through Fabric JSI API");
|
|
1112
907
|
}
|
|
1113
908
|
|
|
1114
909
|
@Override
|
|
910
|
+
@Deprecated
|
|
1115
911
|
@AnyThread
|
|
1116
912
|
@ThreadConfined(ANY)
|
|
1117
913
|
public void dispatchCommand(
|
|
1118
914
|
final int reactTag, final String commandId, @Nullable final ReadableArray commandArgs) {
|
|
1119
|
-
|
|
915
|
+
throw new UnsupportedOperationException(
|
|
916
|
+
"dispatchCommand called without surfaceId - Fabric dispatchCommand must be called through Fabric JSI API");
|
|
1120
917
|
}
|
|
1121
918
|
|
|
919
|
+
@Deprecated
|
|
1122
920
|
@AnyThread
|
|
1123
921
|
@ThreadConfined(ANY)
|
|
1124
|
-
|
|
1125
|
-
|
|
1126
|
-
|
|
1127
|
-
|
|
922
|
+
public void dispatchCommand(
|
|
923
|
+
final int surfaceId,
|
|
924
|
+
final int reactTag,
|
|
925
|
+
final int commandId,
|
|
926
|
+
@Nullable final ReadableArray commandArgs) {
|
|
927
|
+
mMountItemDispatcher.dispatchCommandMountItem(
|
|
928
|
+
new DispatchIntCommandMountItem(surfaceId, reactTag, commandId, commandArgs));
|
|
929
|
+
}
|
|
930
|
+
|
|
931
|
+
@AnyThread
|
|
932
|
+
@ThreadConfined(ANY)
|
|
933
|
+
public void dispatchCommand(
|
|
934
|
+
final int surfaceId,
|
|
935
|
+
final int reactTag,
|
|
936
|
+
final String commandId,
|
|
937
|
+
@Nullable final ReadableArray commandArgs) {
|
|
938
|
+
mMountItemDispatcher.dispatchCommandMountItem(
|
|
939
|
+
new DispatchStringCommandMountItem(surfaceId, reactTag, commandId, commandArgs));
|
|
1128
940
|
}
|
|
1129
941
|
|
|
1130
942
|
@Override
|
|
1131
943
|
@AnyThread
|
|
1132
944
|
@ThreadConfined(ANY)
|
|
1133
945
|
public void sendAccessibilityEvent(int reactTag, int eventType) {
|
|
1134
|
-
|
|
1135
|
-
|
|
946
|
+
// Can be called from native, not just JS - we need to migrate the native callsites
|
|
947
|
+
// before removing this entirely.
|
|
948
|
+
mMountItemDispatcher.addMountItem(new SendAccessibilityEvent(View.NO_ID, reactTag, eventType));
|
|
949
|
+
}
|
|
950
|
+
|
|
951
|
+
@AnyThread
|
|
952
|
+
@ThreadConfined(ANY)
|
|
953
|
+
public void sendAccessibilityEventFromJS(int surfaceId, int reactTag, String eventTypeJS) {
|
|
954
|
+
int eventType;
|
|
955
|
+
if ("focus".equals(eventTypeJS)) {
|
|
956
|
+
eventType = AccessibilityEvent.TYPE_VIEW_FOCUSED;
|
|
957
|
+
} else if ("windowStateChange".equals(eventTypeJS)) {
|
|
958
|
+
eventType = AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED;
|
|
959
|
+
} else if ("click".equals(eventTypeJS)) {
|
|
960
|
+
eventType = AccessibilityEvent.TYPE_VIEW_CLICKED;
|
|
961
|
+
} else {
|
|
962
|
+
throw new IllegalArgumentException(
|
|
963
|
+
"sendAccessibilityEventFromJS: invalid eventType " + eventTypeJS);
|
|
1136
964
|
}
|
|
965
|
+
mMountItemDispatcher.addMountItem(new SendAccessibilityEvent(surfaceId, reactTag, eventType));
|
|
1137
966
|
}
|
|
1138
967
|
|
|
1139
968
|
/**
|
|
@@ -1143,35 +972,50 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
|
|
|
1143
972
|
* @param initialReactTag React tag of the JS view that initiated the touch operation
|
|
1144
973
|
* @param blockNativeResponder If native responder should be blocked or not
|
|
1145
974
|
*/
|
|
1146
|
-
@DoNotStrip
|
|
1147
975
|
public void setJSResponder(
|
|
1148
|
-
final int
|
|
1149
|
-
|
|
1150
|
-
|
|
1151
|
-
|
|
1152
|
-
|
|
1153
|
-
|
|
1154
|
-
|
|
976
|
+
final int surfaceId,
|
|
977
|
+
final int reactTag,
|
|
978
|
+
final int initialReactTag,
|
|
979
|
+
final boolean blockNativeResponder) {
|
|
980
|
+
mMountItemDispatcher.addMountItem(
|
|
981
|
+
new MountItem() {
|
|
982
|
+
@Override
|
|
983
|
+
public void execute(MountingManager mountingManager) {
|
|
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 + "]");
|
|
1155
992
|
}
|
|
1156
|
-
}
|
|
1157
|
-
|
|
993
|
+
}
|
|
994
|
+
|
|
995
|
+
@Override
|
|
996
|
+
public int getSurfaceId() {
|
|
997
|
+
return surfaceId;
|
|
998
|
+
}
|
|
999
|
+
});
|
|
1158
1000
|
}
|
|
1159
1001
|
|
|
1160
1002
|
/**
|
|
1161
|
-
* Clears the JS Responder specified by {@link #setJSResponder
|
|
1162
|
-
*
|
|
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.
|
|
1163
1005
|
*/
|
|
1164
|
-
@DoNotStrip
|
|
1165
1006
|
public void clearJSResponder() {
|
|
1166
|
-
|
|
1167
|
-
|
|
1168
|
-
|
|
1169
|
-
|
|
1170
|
-
|
|
1171
|
-
|
|
1172
|
-
|
|
1173
|
-
|
|
1174
|
-
|
|
1007
|
+
mMountItemDispatcher.addMountItem(
|
|
1008
|
+
new MountItem() {
|
|
1009
|
+
@Override
|
|
1010
|
+
public void execute(MountingManager mountingManager) {
|
|
1011
|
+
mountingManager.clearJSResponder();
|
|
1012
|
+
}
|
|
1013
|
+
|
|
1014
|
+
@Override
|
|
1015
|
+
public int getSurfaceId() {
|
|
1016
|
+
return View.NO_ID;
|
|
1017
|
+
}
|
|
1018
|
+
});
|
|
1175
1019
|
}
|
|
1176
1020
|
|
|
1177
1021
|
@Override
|
|
@@ -1186,21 +1030,19 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
|
|
|
1186
1030
|
if (eventName == null) {
|
|
1187
1031
|
return null;
|
|
1188
1032
|
}
|
|
1189
|
-
if (eventName.
|
|
1033
|
+
if (eventName.startsWith("top")) {
|
|
1190
1034
|
return "on" + eventName.substring(3);
|
|
1191
1035
|
}
|
|
1192
1036
|
return eventName;
|
|
1193
1037
|
}
|
|
1194
1038
|
|
|
1195
1039
|
// Called from Binding.cpp
|
|
1196
|
-
@DoNotStrip
|
|
1197
1040
|
@AnyThread
|
|
1198
1041
|
public void onAnimationStarted() {
|
|
1199
1042
|
mDriveCxxAnimations = true;
|
|
1200
1043
|
}
|
|
1201
1044
|
|
|
1202
1045
|
// Called from Binding.cpp
|
|
1203
|
-
@DoNotStrip
|
|
1204
1046
|
@AnyThread
|
|
1205
1047
|
public void onAllAnimationsComplete() {
|
|
1206
1048
|
mDriveCxxAnimations = false;
|
|
@@ -1212,13 +1054,22 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
|
|
|
1212
1054
|
performanceCounters.put("CommitStartTime", mCommitStartTime);
|
|
1213
1055
|
performanceCounters.put("LayoutTime", mLayoutTime);
|
|
1214
1056
|
performanceCounters.put("DispatchViewUpdatesTime", mDispatchViewUpdatesTime);
|
|
1215
|
-
performanceCounters.put("RunStartTime",
|
|
1216
|
-
performanceCounters.put("BatchedExecutionTime",
|
|
1057
|
+
performanceCounters.put("RunStartTime", mMountItemDispatcher.getRunStartTime());
|
|
1058
|
+
performanceCounters.put("BatchedExecutionTime", mMountItemDispatcher.getBatchedExecutionTime());
|
|
1217
1059
|
performanceCounters.put("FinishFabricTransactionTime", mFinishTransactionTime);
|
|
1218
1060
|
performanceCounters.put("FinishFabricTransactionCPPTime", mFinishTransactionCPPTime);
|
|
1219
1061
|
return performanceCounters;
|
|
1220
1062
|
}
|
|
1221
1063
|
|
|
1064
|
+
private class MountItemDispatchListener implements MountItemDispatcher.ItemDispatchListener {
|
|
1065
|
+
@Override
|
|
1066
|
+
public void didDispatchMountItems() {
|
|
1067
|
+
for (UIManagerListener listener : mListeners) {
|
|
1068
|
+
listener.didDispatchMountItems(FabricUIManager.this);
|
|
1069
|
+
}
|
|
1070
|
+
}
|
|
1071
|
+
}
|
|
1072
|
+
|
|
1222
1073
|
private class DispatchUIFrameCallback extends GuardedFrameCallback {
|
|
1223
1074
|
|
|
1224
1075
|
private volatile boolean mIsMountingEnabled = true;
|
|
@@ -1250,9 +1101,8 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
|
|
|
1250
1101
|
}
|
|
1251
1102
|
|
|
1252
1103
|
try {
|
|
1253
|
-
dispatchPreMountItems(frameTimeNanos);
|
|
1254
|
-
|
|
1255
|
-
tryDispatchMountItems();
|
|
1104
|
+
mMountItemDispatcher.dispatchPreMountItems(frameTimeNanos);
|
|
1105
|
+
mMountItemDispatcher.tryDispatchMountItems();
|
|
1256
1106
|
} catch (Exception ex) {
|
|
1257
1107
|
FLog.e(TAG, "Exception thrown when executing UIFrameGuarded", ex);
|
|
1258
1108
|
stop();
|