react-native 0.69.3 → 0.70.0-rc.2
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/CHANGELOG.md +243 -0
- package/Libraries/Alert/Alert.js +18 -4
- package/Libraries/Alert/NativeAlertManager.js +1 -0
- package/Libraries/Animated/Animated.js +2 -2
- package/Libraries/Animated/AnimatedEvent.js +7 -4
- package/Libraries/Animated/AnimatedImplementation.js +17 -3
- package/Libraries/Animated/AnimatedMock.js +7 -2
- package/Libraries/Animated/NativeAnimatedHelper.js +220 -95
- package/Libraries/Animated/NativeAnimatedModule.js +3 -0
- package/Libraries/Animated/NativeAnimatedTurboModule.js +3 -0
- package/Libraries/Animated/animations/SpringAnimation.js +3 -3
- package/Libraries/Animated/animations/TimingAnimation.js +3 -3
- package/Libraries/Animated/createAnimatedComponent.js +8 -1
- package/Libraries/Animated/nodes/AnimatedAddition.js +3 -1
- package/Libraries/Animated/nodes/AnimatedColor.js +50 -29
- package/Libraries/Animated/nodes/AnimatedDiffClamp.js +3 -1
- package/Libraries/Animated/nodes/AnimatedDivision.js +3 -1
- package/Libraries/Animated/nodes/AnimatedInterpolation.js +22 -21
- package/Libraries/Animated/nodes/AnimatedModulo.js +3 -1
- package/Libraries/Animated/nodes/AnimatedMultiplication.js +3 -2
- package/Libraries/Animated/nodes/AnimatedProps.js +20 -12
- package/Libraries/Animated/nodes/AnimatedStyle.js +19 -16
- package/Libraries/Animated/nodes/AnimatedSubtraction.js +3 -1
- package/Libraries/Animated/nodes/AnimatedTransform.js +5 -5
- package/Libraries/Animated/nodes/AnimatedValue.js +14 -5
- package/Libraries/Animated/nodes/AnimatedValueXY.js +28 -1
- package/Libraries/Animated/useAnimatedProps.js +1 -0
- package/Libraries/AppState/AppState.js +0 -32
- package/Libraries/BatchedBridge/MessageQueue.js +21 -15
- package/Libraries/BatchedBridge/NativeModules.js +3 -4
- package/Libraries/Blob/FileReader.js +0 -6
- package/Libraries/Blob/React-RCTBlob.podspec +1 -1
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +0 -20
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +4 -0
- package/Libraries/Components/Keyboard/Keyboard.js +0 -11
- package/Libraries/Components/Pressable/Pressable.js +2 -0
- package/Libraries/Components/SafeAreaView/RCTSafeAreaViewNativeComponent.js +1 -3
- package/Libraries/Components/SafeAreaView/SafeAreaView.js +3 -30
- package/Libraries/Components/ScrollView/ScrollView.js +13 -11
- package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +5 -3
- package/Libraries/Components/StatusBar/StatusBar.js +10 -7
- package/Libraries/Components/TextInput/InputAccessoryView.js +14 -13
- package/Libraries/Components/TextInput/TextInput.js +12 -2
- package/Libraries/Components/Touchable/PooledClass.js +16 -4
- package/Libraries/Components/Touchable/Touchable.js +50 -1
- package/Libraries/Components/Touchable/TouchableNativeFeedback.js +6 -2
- package/Libraries/Components/View/ReactNativeStyleAttributes.js +0 -7
- package/Libraries/Components/View/ViewPropTypes.js +3 -8
- package/Libraries/Core/ExceptionsManager.js +2 -0
- package/Libraries/Core/ReactNativeVersion.js +3 -3
- package/Libraries/Core/Timers/JSTimers.js +2 -2
- package/Libraries/Core/polyfillPromise.js +0 -32
- package/Libraries/Core/setUpBatchedBridge.js +5 -1
- package/Libraries/Core/setUpPerformance.js +1 -1
- package/Libraries/EventEmitter/NativeEventEmitter.js +0 -13
- package/Libraries/Image/AssetSourceResolver.js +2 -2
- package/Libraries/Image/Image.android.js +5 -3
- package/Libraries/Image/Image.ios.js +6 -3
- package/Libraries/Image/ImageSource.js +7 -5
- package/Libraries/Image/RCTDisplayWeakRefreshable.h +1 -0
- package/Libraries/Image/RCTImageLoader.mm +13 -0
- package/Libraries/Image/RCTImageView.mm +1 -1
- package/Libraries/Image/React-RCTImage.podspec +1 -1
- package/Libraries/Inspector/ElementBox.js +2 -2
- package/Libraries/Inspector/NetworkOverlay.js +13 -8
- package/Libraries/Interaction/PanResponder.js +16 -14
- package/Libraries/Linking/Linking.js +0 -11
- package/Libraries/LinkingIOS/React-RCTLinking.podspec +1 -1
- package/Libraries/Lists/FlatList.js +3 -2
- package/Libraries/Lists/SectionList.js +2 -0
- package/Libraries/Lists/ViewabilityHelper.js +7 -3
- package/Libraries/Lists/VirtualizeUtils.js +33 -20
- package/Libraries/Lists/VirtualizedList.js +93 -47
- package/Libraries/Lists/VirtualizedListContext.js +1 -0
- package/Libraries/Lists/VirtualizedSectionList.js +14 -9
- package/Libraries/LogBox/Data/LogBoxData.js +1 -1
- package/Libraries/LogBox/Data/parseLogBoxLog.js +1 -1
- package/Libraries/LogBox/LogBox.js +3 -1
- package/Libraries/LogBox/UI/AnsiHighlight.js +2 -0
- package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.js +3 -0
- package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +0 -3
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +8 -3
- package/Libraries/NativeAnimation/RCTNativeAnimatedModule.mm +5 -0
- package/Libraries/NativeAnimation/RCTNativeAnimatedTurboModule.mm +5 -0
- package/Libraries/NativeAnimation/React-RCTAnimation.podspec +1 -1
- package/Libraries/NativeComponent/BaseViewConfig.android.js +9 -18
- package/Libraries/NativeComponent/BaseViewConfig.ios.js +26 -12
- package/Libraries/Network/RCTNetworking.mm +34 -28
- package/Libraries/Network/React-RCTNetwork.podspec +1 -1
- package/Libraries/Network/XMLHttpRequest.js +9 -11
- package/Libraries/Performance/PureComponentDebug.js +1 -0
- package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +9 -1
- package/Libraries/PermissionsAndroid/PermissionsAndroid.js +16 -0
- package/Libraries/Pressability/Pressability.js +26 -16
- package/Libraries/Promise.js +0 -1
- package/Libraries/PushNotificationIOS/React-RCTPushNotification.podspec +1 -1
- package/Libraries/ReactNative/AppRegistry.js +16 -13
- package/Libraries/ReactNative/BridgelessUIManager.js +2 -0
- package/Libraries/ReactNative/PaperUIManager.js +9 -9
- package/Libraries/ReactNative/ReactNativeFeatureFlags.js +12 -0
- package/Libraries/ReactNative/ReactNativeRuntimeDiagnostics.js +68 -0
- package/Libraries/ReactNative/getNativeComponentAttributes.js +6 -7
- package/Libraries/ReactNative/renderApplication.js +1 -1
- package/Libraries/Renderer/README.md +22 -0
- package/Libraries/Renderer/REVISION +1 -1
- package/Libraries/Renderer/implementations/ReactFabric-dev.js +4443 -3615
- package/Libraries/Renderer/implementations/ReactFabric-prod.js +1496 -1170
- package/Libraries/Renderer/implementations/ReactFabric-profiling.js +1694 -1356
- package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +4439 -3588
- package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +1583 -1249
- package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +1719 -1372
- package/Libraries/Settings/React-RCTSettings.podspec +1 -1
- package/Libraries/Storage/AsyncStorage.js +7 -1
- package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +8 -0
- package/Libraries/StyleSheet/flattenStyle.js +1 -1
- package/Libraries/StyleSheet/processTransform.js +2 -0
- package/Libraries/StyleSheet/splitLayoutProps.js +2 -0
- package/Libraries/Text/Text.js +15 -7
- package/Libraries/Types/CoreEventTypes.js +137 -11
- package/Libraries/Utilities/Dimensions.js +0 -13
- package/Libraries/Utilities/HMRClient.js +3 -3
- package/Libraries/Utilities/Platform.ios.js +0 -7
- package/Libraries/Utilities/ReactNativeTestTools.js +3 -1
- package/Libraries/Utilities/codegenNativeCommands.js +11 -2
- package/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js +2 -0
- package/Libraries/Utilities/stringifySafe.js +3 -1
- package/Libraries/Utilities/truncate.js +1 -1
- package/Libraries/Utilities/verifyComponentAttributeEquivalence.js +2 -2
- package/Libraries/Vibration/React-RCTVibration.podspec +1 -1
- package/Libraries/Vibration/Vibration.js +1 -1
- package/Libraries/WebSocket/WebSocket.js +1 -0
- package/Libraries/vendor/emitter/EventEmitter.js +105 -12
- package/Libraries/vendor/emitter/__flowtests__/EventEmitter-flowtest.js +73 -117
- package/README.md +1 -1
- package/React/Base/RCTAssert.h +12 -6
- package/React/Base/RCTAssert.m +46 -31
- package/React/Base/RCTConstants.h +3 -3
- package/React/Base/RCTConstants.m +6 -6
- package/React/Base/RCTDefines.h +2 -2
- package/React/Base/RCTEventDispatcherProtocol.h +5 -0
- package/React/Base/RCTMultipartStreamReader.m +1 -0
- package/React/Base/RCTUtils.h +2 -0
- package/React/Base/RCTUtils.m +5 -0
- package/React/Base/RCTVersion.m +3 -3
- package/React/Base/Surface/RCTSurface.mm +1 -1
- package/React/CoreModules/RCTAlertManager.mm +23 -0
- package/React/CoreModules/RCTAppState.mm +2 -2
- package/React/CoreModules/RCTDeviceInfo.mm +28 -11
- package/React/CoreModules/RCTEventDispatcher.mm +6 -1
- package/React/CoreModules/RCTExceptionsManager.h +1 -1
- package/React/CoreModules/RCTExceptionsManager.mm +1 -1
- package/React/CoreModules/RCTLogBox.mm +2 -2
- package/React/CoreModules/RCTLogBoxView.mm +1 -1
- package/React/CoreModules/React-CoreModules.podspec +1 -1
- package/React/CxxBridge/RCTJSIExecutorRuntimeInstaller.mm +1 -3
- package/React/CxxUtils/RCTFollyConvert.mm +11 -4
- package/React/FBReactNativeSpec/FBReactNativeSpec.podspec +1 -1
- package/React/Fabric/Mounting/ComponentViews/LegacyViewManagerInterop/RCTLegacyViewManagerInteropComponentView.mm +0 -8
- package/React/Fabric/Mounting/ComponentViews/SafeAreaView/RCTSafeAreaViewComponentView.mm +1 -10
- package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTPullToRefreshViewComponentView.mm +1 -1
- package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +1 -1
- package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +1 -1
- package/React/Fabric/Mounting/RCTComponentViewFactory.mm +10 -1
- package/React/Fabric/Mounting/RCTComponentViewProtocol.h +1 -1
- package/React/Fabric/Mounting/RCTMountingManager.h +1 -1
- package/React/Fabric/Mounting/RCTMountingManager.mm +10 -5
- package/React/Fabric/Mounting/UIView+ComponentViewProtocol.h +1 -1
- package/React/Fabric/Mounting/UIView+ComponentViewProtocol.mm +1 -1
- package/React/Fabric/RCTSurfacePresenter.mm +3 -6
- package/React/Fabric/RCTSurfaceTouchHandler.mm +248 -33
- package/React/Modules/RCTEventEmitter.h +2 -0
- package/React/Modules/RCTEventEmitter.m +15 -0
- package/React/Modules/RCTUIManager.m +1 -1
- package/React/React-RCTFabric.podspec +1 -1
- package/React/Views/RCTDatePickerManager.m +4 -0
- package/React/Views/RCTMaskedViewManager.m +4 -0
- package/React/Views/RCTProgressViewManager.m +4 -0
- package/React/Views/RCTSegmentedControlManager.m +4 -0
- package/React/Views/RCTView.h +5 -3
- package/React/Views/RCTViewManager.m +5 -3
- package/React/Views/RCTWrapperViewController.m +9 -10
- package/React/Views/SafeAreaView/RCTSafeAreaView.h +0 -2
- package/React/Views/SafeAreaView/RCTSafeAreaView.m +2 -70
- package/React/Views/SafeAreaView/RCTSafeAreaViewManager.m +0 -2
- package/React/third-party.xcconfig +1 -1
- package/React-Core.podspec +8 -2
- package/ReactAndroid/.npmignore +3 -0
- package/ReactAndroid/README.md +3 -2
- package/ReactAndroid/build.gradle +21 -17
- package/ReactAndroid/cmake-utils/Android-prebuilt.cmake +231 -0
- package/ReactAndroid/cmake-utils/ReactNative-application.cmake +56 -0
- package/ReactAndroid/gradle.properties +20 -10
- package/ReactAndroid/hermes-engine/build.gradle +0 -1
- 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/BUCK +2 -0
- package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/BUCK +2 -0
- 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 +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/BUCK +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/CompositeReactPackage.java +4 -3
- package/ReactAndroid/src/main/java/com/facebook/react/CompositeReactPackageTurboModuleManagerDelegate.java +67 -0
- package/ReactAndroid/src/main/java/com/facebook/react/CoreModulesPackage.java +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/JSInterpreter.java +18 -0
- package/ReactAndroid/src/main/java/com/facebook/react/LazyReactPackage.java +1 -3
- package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +14 -16
- package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManagerBuilder.java +55 -36
- package/ReactAndroid/src/main/java/com/facebook/react/ReactNativeHost.java +11 -0
- package/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/ViewManagerOnDemandReactPackage.java +2 -3
- package/ReactAndroid/src/main/java/com/facebook/react/animated/BUCK +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedModule.java +246 -11
- package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedNodesManager.java +70 -28
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/AssertionException.java +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/BUCK +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/BackgroundExecutor.java +19 -2
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstanceImpl.java +8 -8
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ColorPropConverter.java +28 -21
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/{DefaultNativeModuleCallExceptionHandler.java → DefaultJSExceptionHandler.java} +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/GuardedAsyncTask.java +3 -4
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/GuardedResultAsyncTask.java +3 -4
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/GuardedRunnable.java +3 -4
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/{NativeModuleCallExceptionHandler.java → JSExceptionHandler.java} +5 -5
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ModuleSpec.java +2 -9
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeModuleRegistry.java +1 -3
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java +14 -14
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/SoftAssertions.java +3 -3
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/UiThreadUtil.java +17 -4
- package/ReactAndroid/src/main/java/com/facebook/react/common/BUCK +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/common/network/BUCK +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/config/BUCK +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/config/ReactFeatureFlags.java +44 -18
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BUCK +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.java +4 -4
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DisabledDevSupportManager.java +4 -4
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevSupportManager.java +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/BUCK +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/DevToolsReactPerfLogger.java +85 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricComponents.java +0 -1
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricJSIModuleProvider.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +105 -32
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/GuardedFrameCallback.java +3 -3
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Binding.cpp +32 -25
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Binding.h +4 -7
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/CMakeLists.txt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/FabricMountItem.cpp +7 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/FabricMountItem.h +7 -1
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/FabricMountingManager.cpp +37 -17
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/JBackgroundExecutor.cpp +9 -14
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/JBackgroundExecutor.h +1 -8
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/viewPropConversions.h +13 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/LayoutMetricsConversions.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountItemDispatcher.java +10 -8
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountingManager.java +11 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.java +449 -2
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/DispatchStringCommandMountItem.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/IntBufferBatchMountItem.java +12 -12
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/PreAllocateViewMountItem.java +1 -1
- 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/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/module/processing/BUCK +0 -2
- package/ReactAndroid/src/main/java/com/facebook/react/module/processing/ReactModuleSpecProcessor.java +4 -5
- package/ReactAndroid/src/main/java/com/facebook/react/modules/accessibilityinfo/BUCK +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/appearance/BUCK +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/appregistry/BUCK +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/appstate/BUCK +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BUCK +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/bundleloader/BUCK +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/camera/BUCK +1 -0
- 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 +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/BUCK +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/deviceinfo/BUCK +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/dialog/BUCK +1 -0
- 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/i18nmanager/BUCK +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/image/BUCK +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/intent/BUCK +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/network/BUCK +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ForwardingCookieHandler.java +2 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/network/RequestBodyUtil.java +14 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/permissions/BUCK +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/share/BUCK +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/sound/BUCK +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/statusbar/BUCK +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/storage/BUCK +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/BUCK +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java +3 -3
- package/ReactAndroid/src/main/java/com/facebook/react/modules/toast/BUCK +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/vibration/BUCK +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/websocket/BUCK +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/BUCK +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/processing/ReactPropertyProcessor.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/reactperflogger/BUCK +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/shell/BUCK +1 -0
- 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 -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/jni/BUCK +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/CMakeLists.txt +2 -1
- package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/ReactCommon/CompositeTurboModuleManagerDelegate.cpp +59 -0
- package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/ReactCommon/CompositeTurboModuleManagerDelegate.h +49 -0
- package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/ReactCommon/OnLoad.cpp +3 -0
- package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/ReactCommon/TurboModuleManager.cpp +18 -6
- package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/ReactCommon/TurboModuleManagerDelegate.h +3 -3
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BUCK +3 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java +119 -10
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManagerAdapter.java +8 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManagerDelegate.java +6 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManagerInterface.java +4 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/GuardedFrameCallback.java +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSPointerDispatcher.java +239 -79
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactAccessibilityDelegate.java +20 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TouchTargetHelper.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIImplementation.java +42 -12
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModuleConstants.java +0 -3
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModuleConstantsHelper.java +2 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManager.java +109 -3
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagerRegistry.java +51 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagerResolver.java +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewProps.java +2 -0
- 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 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/Event.java +11 -2
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/PointerEvent.java +79 -23
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/PointerEventHelper.java +101 -4
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/ReactEventEmitter.java +1 -1
- 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/views/common/BUCK +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/BUCK +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/image/BUCK +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/BUCK +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/modal/BUCK +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostManager.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/BUCK +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/BUCK +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +16 -20
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollViewManager.java +12 -5
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +30 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewAccessibilityDelegate.java +154 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewManager.java +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/slider/BUCK +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/BUCK +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/BUCK +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactFontManager.java +10 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextAnchorViewManager.java +18 -17
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextView.java +87 -9
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManager.java +27 -6
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManagerMapBuffer.java +17 -10
- 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 +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java +11 -5
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.java +37 -49
- 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/ReactMapBufferPropSetter.kt +12 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewBackgroundDrawable.java +20 -5
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewBackgroundManager.java +6 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.java +66 -11
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManager.java +17 -0
- package/ReactAndroid/src/main/java/com/facebook/systrace/BUCK +1 -0
- package/ReactAndroid/src/main/jni/CMakeLists.txt +6 -2
- package/ReactAndroid/src/main/jni/react/jni/BUCK +0 -1
- package/ReactAndroid/src/main/jni/react/jni/CMakeLists.txt +0 -29
- package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.cpp +0 -3
- package/ReactAndroid/src/main/jni/react/jni/JMessageQueueThread.cpp +5 -7
- package/ReactAndroid/src/main/libraries/fbcore/src/main/java/com/facebook/common/logging/BUCK +1 -0
- package/ReactAndroid/src/main/libraries/fresco/fresco-react-native/BUCK +7 -6
- package/ReactAndroid/src/main/libraries/soloader/java/com/facebook/soloader/BUCK +4 -4
- package/ReactAndroid/src/main/res/views/uimanager/values/ids.xml +10 -1
- package/ReactCommon/React-Fabric.podspec +1 -1
- package/ReactCommon/React-bridging.podspec +1 -1
- package/ReactCommon/ReactCommon.podspec +1 -1
- package/ReactCommon/butter/BUCK +1 -1
- package/ReactCommon/callinvoker/React-callinvoker.podspec +1 -1
- package/ReactCommon/cxxreact/BUCK +3 -4
- package/ReactCommon/cxxreact/JSBigString.h +2 -2
- package/ReactCommon/cxxreact/JSExecutor.h +2 -1
- package/ReactCommon/cxxreact/NativeToJsBridge.cpp +2 -2
- package/ReactCommon/cxxreact/React-cxxreact.podspec +1 -1
- package/ReactCommon/cxxreact/ReactNativeVersion.h +3 -3
- package/ReactCommon/cxxreact/tests/BUCK +6 -48
- package/ReactCommon/cxxreact/tests/jsarg_helpers.cpp +3 -4
- package/ReactCommon/cxxreact/tests/jsbigstring.cpp +0 -43
- package/{ReactAndroid/src/androidTest/java/com/facebook/react/testing/idledetection/IdleWaiter.java → ReactCommon/cxxreact/tests/main.cpp} +6 -5
- package/ReactCommon/cxxreact/tests/methodcall.cpp +1 -2
- package/ReactCommon/hermes/React-hermes.podspec +1 -1
- package/ReactCommon/hermes/executor/HermesExecutorFactory.cpp +1 -1
- package/ReactCommon/hermes/inspector/BUCK +2 -1
- package/ReactCommon/hermes/inspector/RuntimeAdapter.h +1 -1
- package/ReactCommon/hermes/inspector/chrome/ConnectionDemux.cpp +1 -1
- package/ReactCommon/hermes/inspector/chrome/ConnectionDemux.h +1 -1
- package/ReactCommon/hermes/inspector/chrome/Registration.cpp +1 -1
- package/ReactCommon/hermes/inspector/chrome/Registration.h +1 -1
- package/ReactCommon/hermes/inspector/tools/msggen/src/HeaderWriter.js +1 -1
- package/ReactCommon/hermes/inspector/tools/msggen/src/index.js +2 -2
- package/ReactCommon/jsi/JSCRuntime.cpp +12 -0
- package/ReactCommon/jsi/React-jsi.podspec +1 -1
- package/ReactCommon/jsi/jsi/decorator.h +6 -0
- package/ReactCommon/jsi/jsi/jsi-inl.h +8 -2
- package/ReactCommon/jsi/jsi/jsi.cpp +26 -8
- package/ReactCommon/jsi/jsi/jsi.h +50 -0
- package/ReactCommon/jsiexecutor/React-jsiexecutor.podspec +1 -1
- package/ReactCommon/jsinspector/BUCK +2 -1
- package/ReactCommon/libraries/fbcore/src/test/java/com/facebook/powermock/BUCK +2 -0
- package/ReactCommon/logger/React-logger.podspec +1 -1
- package/ReactCommon/react/bridging/BUCK +1 -1
- package/ReactCommon/react/bridging/Class.h +21 -0
- package/ReactCommon/react/bridging/Convert.h +9 -0
- package/ReactCommon/react/bridging/tests/BridgingTest.h +1 -1
- package/ReactCommon/react/config/BUCK +1 -1
- package/ReactCommon/react/debug/BUCK +1 -1
- package/ReactCommon/react/nativemodule/core/BUCK +3 -3
- package/ReactCommon/react/nativemodule/core/ReactCommon/TurboCxxModule.cpp +35 -18
- package/ReactCommon/react/nativemodule/core/ReactCommon/TurboCxxModule.h +4 -2
- package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModule.cpp +23 -4
- package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModule.h +37 -19
- package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleBinding.cpp +46 -61
- package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleBinding.h +11 -12
- package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.cpp +91 -145
- package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.h +5 -22
- package/ReactCommon/react/nativemodule/core/platform/ios/RCTTurboModuleManager.mm +4 -2
- package/ReactCommon/react/nativemodule/samples/BUCK +1 -0
- package/ReactCommon/react/nativemodule/samples/platform/android/CMakeLists.txt +19 -0
- package/ReactCommon/react/nativemodule/samples/platform/android/ReactCommon/SampleTurboModuleSpec.cpp +39 -12
- package/ReactCommon/react/nativemodule/samples/platform/android/ReactCommon/SampleTurboModuleSpec.h +1 -1
- package/ReactCommon/react/renderer/animations/BUCK +1 -1
- package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.cpp +19 -0
- package/ReactCommon/react/renderer/animations/tests/LayoutAnimationTest.cpp +3 -4
- package/ReactCommon/react/renderer/attributedstring/BUCK +1 -1
- package/ReactCommon/react/renderer/componentregistry/BUCK +1 -1
- package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorRegistry.cpp +1 -1
- package/ReactCommon/react/renderer/componentregistry/native/BUCK +1 -1
- package/ReactCommon/react/renderer/components/image/BUCK +1 -1
- package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/BUCK +1 -1
- package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropComponentDescriptor.mm +0 -3
- package/ReactCommon/react/renderer/components/modal/BUCK +1 -1
- package/ReactCommon/react/renderer/components/progressbar/BUCK +1 -1
- package/ReactCommon/react/renderer/components/progressbar/CMakeLists.txt +1 -1
- package/ReactCommon/react/renderer/components/root/BUCK +1 -1
- package/ReactCommon/react/renderer/components/scrollview/BUCK +1 -1
- package/ReactCommon/react/renderer/components/scrollview/ScrollViewProps.cpp +321 -198
- package/ReactCommon/react/renderer/components/scrollview/ScrollViewProps.h +6 -0
- package/ReactCommon/react/renderer/components/slider/BUCK +1 -1
- package/ReactCommon/react/renderer/components/slider/CMakeLists.txt +1 -1
- package/ReactCommon/react/renderer/components/switch/BUCK +1 -1
- package/ReactCommon/react/renderer/components/switch/CMakeLists.txt +1 -1
- package/ReactCommon/react/renderer/components/text/BUCK +1 -1
- package/ReactCommon/react/renderer/components/text/BaseTextProps.cpp +132 -18
- package/ReactCommon/react/renderer/components/text/BaseTextProps.h +8 -0
- package/ReactCommon/react/renderer/components/text/ParagraphProps.cpp +19 -0
- package/ReactCommon/react/renderer/components/text/ParagraphProps.h +6 -0
- package/ReactCommon/react/renderer/components/text/TextProps.cpp +9 -0
- package/ReactCommon/react/renderer/components/text/TextProps.h +6 -0
- package/ReactCommon/react/renderer/components/textinput/BUCK +1 -1
- package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputProps.cpp +9 -0
- package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputProps.h +6 -0
- package/ReactCommon/react/renderer/components/textinput/iostextinput/BUCK +1 -1
- package/ReactCommon/react/renderer/components/textinput/iostextinput/TextInputProps.cpp +9 -0
- package/ReactCommon/react/renderer/components/textinput/iostextinput/TextInputProps.h +6 -0
- package/ReactCommon/react/renderer/components/unimplementedview/BUCK +1 -1
- package/ReactCommon/react/renderer/components/view/AccessibilityProps.cpp +208 -115
- package/ReactCommon/react/renderer/components/view/AccessibilityProps.h +9 -1
- package/ReactCommon/react/renderer/components/view/BUCK +1 -1
- package/ReactCommon/react/renderer/components/view/PointerEvent.cpp +11 -2
- package/ReactCommon/react/renderer/components/view/PointerEvent.h +46 -6
- package/ReactCommon/react/renderer/components/view/TouchEventEmitter.cpp +41 -8
- package/ReactCommon/react/renderer/components/view/TouchEventEmitter.h +5 -3
- package/ReactCommon/react/renderer/components/view/ViewProps.cpp +318 -157
- package/ReactCommon/react/renderer/components/view/ViewProps.h +6 -0
- package/ReactCommon/react/renderer/components/view/ViewPropsInterpolation.h +3 -3
- package/ReactCommon/react/renderer/components/view/ViewShadowNode.cpp +1 -2
- package/ReactCommon/react/renderer/components/view/YogaStylableProps.cpp +98 -1
- package/ReactCommon/react/renderer/components/view/YogaStylableProps.h +6 -0
- package/ReactCommon/react/renderer/components/view/conversions.h +5 -2
- package/ReactCommon/react/renderer/components/view/primitives.h +7 -0
- package/ReactCommon/react/renderer/components/view/propsConversions.h +37 -1
- package/ReactCommon/react/renderer/core/BUCK +1 -1
- package/ReactCommon/react/renderer/core/ComponentDescriptor.h +5 -5
- package/ReactCommon/react/renderer/core/ConcreteComponentDescriptor.h +22 -8
- package/ReactCommon/react/renderer/core/ConcreteShadowNode.h +4 -3
- package/ReactCommon/react/renderer/core/Props.cpp +24 -7
- package/ReactCommon/react/renderer/core/Props.h +19 -4
- package/ReactCommon/react/renderer/core/PropsMacros.h +94 -0
- package/ReactCommon/react/renderer/core/RawProps.cpp +7 -0
- package/ReactCommon/react/renderer/core/RawProps.h +9 -0
- package/ReactCommon/react/renderer/core/RawPropsParser.cpp +63 -0
- package/ReactCommon/react/renderer/core/RawPropsParser.h +9 -0
- package/ReactCommon/react/renderer/core/RawPropsPrimitives.h +2 -0
- package/ReactCommon/react/renderer/core/RawValue.h +2 -0
- package/ReactCommon/react/renderer/core/ShadowNode.cpp +8 -8
- package/ReactCommon/react/renderer/core/ShadowNode.h +12 -21
- package/ReactCommon/react/renderer/core/propsConversions.h +29 -0
- package/ReactCommon/react/renderer/core/tests/ComponentDescriptorTest.cpp +9 -9
- package/ReactCommon/react/renderer/core/tests/ShadowNodeTest.cpp +4 -4
- package/ReactCommon/react/renderer/debug/BUCK +1 -1
- package/ReactCommon/react/renderer/graphics/BUCK +1 -1
- package/ReactCommon/react/renderer/graphics/React-graphics.podspec +1 -1
- package/ReactCommon/react/renderer/graphics/RectangleEdges.h +5 -0
- package/ReactCommon/react/renderer/graphics/platform/android/react/renderer/graphics/PlatformColorParser.h +11 -23
- package/ReactCommon/react/renderer/imagemanager/BUCK +12 -28
- package/ReactCommon/react/renderer/mapbuffer/BUCK +1 -1
- package/ReactCommon/react/renderer/mounting/BUCK +1 -1
- package/ReactCommon/react/renderer/mounting/Differentiator.cpp +35 -5
- package/ReactCommon/react/renderer/mounting/ShadowTree.cpp +2 -2
- package/ReactCommon/react/renderer/mounting/ShadowViewMutation.cpp +32 -4
- package/ReactCommon/react/renderer/mounting/ShadowViewMutation.h +35 -3
- package/ReactCommon/react/renderer/mounting/StubView.h +1 -1
- package/ReactCommon/react/renderer/mounting/StubViewTree.cpp +5 -0
- package/ReactCommon/react/renderer/mounting/tests/MountingTest.cpp +129 -119
- package/ReactCommon/react/renderer/mounting/tests/ShadowTreeLifeCycleTest.cpp +4 -4
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.cpp +7 -17
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.h +0 -10
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerBinding.cpp +18 -3
- package/ReactCommon/react/renderer/runtimescheduler/tests/RuntimeSchedulerTest.cpp +1 -20
- package/ReactCommon/react/renderer/scheduler/BUCK +1 -1
- package/ReactCommon/react/renderer/scheduler/Scheduler.cpp +2 -2
- package/ReactCommon/react/renderer/telemetry/BUCK +1 -1
- package/ReactCommon/react/renderer/templateprocessor/BUCK +1 -1
- package/ReactCommon/react/renderer/templateprocessor/UITemplateProcessor.cpp +6 -6
- package/ReactCommon/react/renderer/templateprocessor/UITemplateProcessor.h +1 -1
- package/ReactCommon/react/renderer/textlayoutmanager/BUCK +1 -1
- package/ReactCommon/react/renderer/textlayoutmanager/CMakeLists.txt +1 -1
- package/ReactCommon/react/renderer/timeline/BUCK +1 -1
- package/ReactCommon/react/renderer/uimanager/BUCK +1 -1
- package/ReactCommon/react/renderer/uimanager/LayoutAnimationStatusDelegate.h +2 -0
- package/ReactCommon/react/renderer/uimanager/SurfaceRegistryBinding.cpp +66 -24
- package/ReactCommon/react/renderer/uimanager/UIManager.cpp +4 -4
- package/ReactCommon/react/renderer/uimanager/UIManager.h +2 -2
- package/ReactCommon/react/renderer/uimanager/UIManagerBinding.cpp +2 -2
- package/ReactCommon/react/renderer/uimanager/primitives.h +7 -7
- package/ReactCommon/react/test_utils/shadowTreeGeneration.h +1 -1
- package/ReactCommon/react/utils/BUCK +1 -1
- package/ReactCommon/reactperflogger/BUCK +2 -2
- package/ReactCommon/reactperflogger/React-perflogger.podspec +1 -1
- package/ReactCommon/runtimeexecutor/React-runtimeexecutor.podspec +1 -1
- package/android/com/facebook/react/hermes-engine/{0.69.3/hermes-engine-0.69.3-debug-sources.jar → 0.70.0-rc.2/hermes-engine-0.70.0-rc.2-debug-sources.jar} +0 -0
- package/android/com/facebook/react/hermes-engine/{0.69.3/hermes-engine-0.69.3-debug-sources.jar.md5 → 0.70.0-rc.2/hermes-engine-0.70.0-rc.2-debug-sources.jar.md5} +0 -0
- package/android/com/facebook/react/hermes-engine/{0.69.3/hermes-engine-0.69.3-debug-sources.jar.sha1 → 0.70.0-rc.2/hermes-engine-0.70.0-rc.2-debug-sources.jar.sha1} +0 -0
- package/android/com/facebook/react/hermes-engine/{0.69.3/hermes-engine-0.69.3-debug-sources.jar.sha256 → 0.70.0-rc.2/hermes-engine-0.70.0-rc.2-debug-sources.jar.sha256} +0 -0
- package/android/com/facebook/react/hermes-engine/{0.69.3/hermes-engine-0.69.3-debug-sources.jar.sha512 → 0.70.0-rc.2/hermes-engine-0.70.0-rc.2-debug-sources.jar.sha512} +0 -0
- package/android/com/facebook/react/hermes-engine/0.70.0-rc.2/hermes-engine-0.70.0-rc.2-debug.aar +0 -0
- package/android/com/facebook/react/hermes-engine/0.70.0-rc.2/hermes-engine-0.70.0-rc.2-debug.aar.md5 +1 -0
- package/android/com/facebook/react/hermes-engine/0.70.0-rc.2/hermes-engine-0.70.0-rc.2-debug.aar.sha1 +1 -0
- package/android/com/facebook/react/hermes-engine/0.70.0-rc.2/hermes-engine-0.70.0-rc.2-debug.aar.sha256 +1 -0
- package/android/com/facebook/react/hermes-engine/0.70.0-rc.2/hermes-engine-0.70.0-rc.2-debug.aar.sha512 +1 -0
- package/android/com/facebook/react/hermes-engine/{0.69.3/hermes-engine-0.69.3-release-sources.jar → 0.70.0-rc.2/hermes-engine-0.70.0-rc.2-release-sources.jar} +0 -0
- package/android/com/facebook/react/hermes-engine/{0.69.3/hermes-engine-0.69.3-release-sources.jar.md5 → 0.70.0-rc.2/hermes-engine-0.70.0-rc.2-release-sources.jar.md5} +0 -0
- package/android/com/facebook/react/hermes-engine/{0.69.3/hermes-engine-0.69.3-release-sources.jar.sha1 → 0.70.0-rc.2/hermes-engine-0.70.0-rc.2-release-sources.jar.sha1} +0 -0
- package/android/com/facebook/react/hermes-engine/{0.69.3/hermes-engine-0.69.3-release-sources.jar.sha256 → 0.70.0-rc.2/hermes-engine-0.70.0-rc.2-release-sources.jar.sha256} +0 -0
- package/android/com/facebook/react/hermes-engine/{0.69.3/hermes-engine-0.69.3-release-sources.jar.sha512 → 0.70.0-rc.2/hermes-engine-0.70.0-rc.2-release-sources.jar.sha512} +0 -0
- package/android/com/facebook/react/hermes-engine/0.70.0-rc.2/hermes-engine-0.70.0-rc.2-release.aar +0 -0
- package/android/com/facebook/react/hermes-engine/0.70.0-rc.2/hermes-engine-0.70.0-rc.2-release.aar.md5 +1 -0
- package/android/com/facebook/react/hermes-engine/0.70.0-rc.2/hermes-engine-0.70.0-rc.2-release.aar.sha1 +1 -0
- package/android/com/facebook/react/hermes-engine/0.70.0-rc.2/hermes-engine-0.70.0-rc.2-release.aar.sha256 +1 -0
- package/android/com/facebook/react/hermes-engine/0.70.0-rc.2/hermes-engine-0.70.0-rc.2-release.aar.sha512 +1 -0
- package/android/com/facebook/react/hermes-engine/{0.69.3/hermes-engine-0.69.3.module → 0.70.0-rc.2/hermes-engine-0.70.0-rc.2.module} +34 -76
- package/android/com/facebook/react/hermes-engine/0.70.0-rc.2/hermes-engine-0.70.0-rc.2.module.md5 +1 -0
- package/android/com/facebook/react/hermes-engine/0.70.0-rc.2/hermes-engine-0.70.0-rc.2.module.sha1 +1 -0
- package/android/com/facebook/react/hermes-engine/0.70.0-rc.2/hermes-engine-0.70.0-rc.2.module.sha256 +1 -0
- package/android/com/facebook/react/hermes-engine/0.70.0-rc.2/hermes-engine-0.70.0-rc.2.module.sha512 +1 -0
- package/android/com/facebook/react/hermes-engine/{0.69.3/hermes-engine-0.69.3.pom → 0.70.0-rc.2/hermes-engine-0.70.0-rc.2.pom} +1 -1
- package/android/com/facebook/react/hermes-engine/0.70.0-rc.2/hermes-engine-0.70.0-rc.2.pom.md5 +1 -0
- package/android/com/facebook/react/hermes-engine/0.70.0-rc.2/hermes-engine-0.70.0-rc.2.pom.sha1 +1 -0
- package/android/com/facebook/react/hermes-engine/0.70.0-rc.2/hermes-engine-0.70.0-rc.2.pom.sha256 +1 -0
- package/android/com/facebook/react/hermes-engine/0.70.0-rc.2/hermes-engine-0.70.0-rc.2.pom.sha512 +1 -0
- package/android/com/facebook/react/hermes-engine/maven-metadata.xml +4 -4
- package/android/com/facebook/react/hermes-engine/maven-metadata.xml.md5 +1 -1
- package/android/com/facebook/react/hermes-engine/maven-metadata.xml.sha1 +1 -1
- package/android/com/facebook/react/hermes-engine/maven-metadata.xml.sha256 +1 -1
- package/android/com/facebook/react/hermes-engine/maven-metadata.xml.sha512 +1 -1
- package/android/com/facebook/react/react-native/{0.69.3/react-native-0.69.3-debug-sources.jar → 0.70.0-rc.2/react-native-0.70.0-rc.2-debug-sources.jar} +0 -0
- package/android/com/facebook/react/react-native/0.70.0-rc.2/react-native-0.70.0-rc.2-debug-sources.jar.md5 +1 -0
- package/android/com/facebook/react/react-native/0.70.0-rc.2/react-native-0.70.0-rc.2-debug-sources.jar.sha1 +1 -0
- package/android/com/facebook/react/react-native/0.70.0-rc.2/react-native-0.70.0-rc.2-debug-sources.jar.sha256 +1 -0
- package/android/com/facebook/react/react-native/0.70.0-rc.2/react-native-0.70.0-rc.2-debug-sources.jar.sha512 +1 -0
- package/android/com/facebook/react/react-native/{0.69.3/react-native-0.69.3-debug.aar → 0.70.0-rc.2/react-native-0.70.0-rc.2-debug.aar} +0 -0
- package/android/com/facebook/react/react-native/0.70.0-rc.2/react-native-0.70.0-rc.2-debug.aar.md5 +1 -0
- package/android/com/facebook/react/react-native/0.70.0-rc.2/react-native-0.70.0-rc.2-debug.aar.sha1 +1 -0
- package/android/com/facebook/react/react-native/0.70.0-rc.2/react-native-0.70.0-rc.2-debug.aar.sha256 +1 -0
- package/android/com/facebook/react/react-native/0.70.0-rc.2/react-native-0.70.0-rc.2-debug.aar.sha512 +1 -0
- package/android/com/facebook/react/react-native/{0.69.3/react-native-0.69.3-release-sources.jar → 0.70.0-rc.2/react-native-0.70.0-rc.2-release-sources.jar} +0 -0
- package/android/com/facebook/react/react-native/0.70.0-rc.2/react-native-0.70.0-rc.2-release-sources.jar.md5 +1 -0
- package/android/com/facebook/react/react-native/0.70.0-rc.2/react-native-0.70.0-rc.2-release-sources.jar.sha1 +1 -0
- package/android/com/facebook/react/react-native/0.70.0-rc.2/react-native-0.70.0-rc.2-release-sources.jar.sha256 +1 -0
- package/android/com/facebook/react/react-native/0.70.0-rc.2/react-native-0.70.0-rc.2-release-sources.jar.sha512 +1 -0
- package/android/com/facebook/react/react-native/{0.69.3/react-native-0.69.3-release.aar → 0.70.0-rc.2/react-native-0.70.0-rc.2-release.aar} +0 -0
- package/android/com/facebook/react/react-native/0.70.0-rc.2/react-native-0.70.0-rc.2-release.aar.md5 +1 -0
- package/android/com/facebook/react/react-native/0.70.0-rc.2/react-native-0.70.0-rc.2-release.aar.sha1 +1 -0
- package/android/com/facebook/react/react-native/0.70.0-rc.2/react-native-0.70.0-rc.2-release.aar.sha256 +1 -0
- package/android/com/facebook/react/react-native/0.70.0-rc.2/react-native-0.70.0-rc.2-release.aar.sha512 +1 -0
- package/android/com/facebook/react/react-native/{0.69.3/react-native-0.69.3.module → 0.70.0-rc.2/react-native-0.70.0-rc.2.module} +160 -202
- package/android/com/facebook/react/react-native/0.70.0-rc.2/react-native-0.70.0-rc.2.module.md5 +1 -0
- package/android/com/facebook/react/react-native/0.70.0-rc.2/react-native-0.70.0-rc.2.module.sha1 +1 -0
- package/android/com/facebook/react/react-native/0.70.0-rc.2/react-native-0.70.0-rc.2.module.sha256 +1 -0
- package/android/com/facebook/react/react-native/0.70.0-rc.2/react-native-0.70.0-rc.2.module.sha512 +1 -0
- package/android/com/facebook/react/react-native/{0.69.3/react-native-0.69.3.pom → 0.70.0-rc.2/react-native-0.70.0-rc.2.pom} +30 -30
- package/android/com/facebook/react/react-native/0.70.0-rc.2/react-native-0.70.0-rc.2.pom.md5 +1 -0
- package/android/com/facebook/react/react-native/0.70.0-rc.2/react-native-0.70.0-rc.2.pom.sha1 +1 -0
- package/android/com/facebook/react/react-native/0.70.0-rc.2/react-native-0.70.0-rc.2.pom.sha256 +1 -0
- package/android/com/facebook/react/react-native/0.70.0-rc.2/react-native-0.70.0-rc.2.pom.sha512 +1 -0
- package/android/com/facebook/react/react-native/maven-metadata.xml +4 -4
- package/android/com/facebook/react/react-native/maven-metadata.xml.md5 +1 -1
- package/android/com/facebook/react/react-native/maven-metadata.xml.sha1 +1 -1
- package/android/com/facebook/react/react-native/maven-metadata.xml.sha256 +1 -1
- package/android/com/facebook/react/react-native/maven-metadata.xml.sha512 +1 -1
- package/flow/JSITimerInternalType.js +30 -0
- package/jest/setup.js +4 -0
- package/package.json +24 -22
- package/scripts/cocoapods/codegen.rb +102 -0
- package/scripts/cocoapods/codegen_script_phase_extractor.rb +13 -0
- package/scripts/cocoapods/codegen_utils.rb +286 -0
- package/scripts/cocoapods/fabric.rb +19 -0
- package/scripts/cocoapods/flipper.rb +118 -0
- package/scripts/cocoapods/helpers.rb +28 -0
- package/scripts/cocoapods/hermes.rb +20 -0
- package/scripts/cocoapods/local_podspec_patch.rb +51 -0
- package/scripts/cocoapods/new_architecture.rb +59 -0
- package/scripts/cocoapods/utils.rb +154 -0
- package/scripts/codegen/codegen-utils.js +37 -0
- package/scripts/codegen/generate-artifacts-executor.js +481 -0
- package/scripts/codegen/generate-specs-cli-executor.js +127 -0
- package/scripts/generate-artifacts.js +11 -257
- package/scripts/generate-specs-cli.js +3 -88
- package/scripts/hermes/hermes-utils.js +21 -28
- package/scripts/hermes/prepare-hermes-for-build.js +3 -5
- package/scripts/ios-configure-glog.sh +3 -2
- package/scripts/launchPackager.command +4 -0
- package/scripts/react-native-xcode.sh +9 -16
- package/scripts/react_native_pods.rb +90 -561
- package/scripts/react_native_pods_utils/script_phases.sh +4 -4
- package/sdks/.hermesversion +1 -1
- package/sdks/hermes-engine/hermes-engine.podspec +5 -2
- package/sdks/hermes-engine/utils/build-apple-framework.sh +5 -0
- package/sdks/hermesc/linux64-bin/hermesc +0 -0
- package/sdks/hermesc/osx-bin/hermesc +0 -0
- package/sdks/hermesc/win64-bin/hermesc.exe +0 -0
- package/template/App.js +6 -1
- package/template/_flowconfig +1 -1
- package/template/_node-version +1 -0
- package/template/android/app/build.gradle +6 -1
- package/template/android/app/src/main/jni/Android.mk +16 -11
- package/template/android/app/src/main/jni/MainApplicationModuleProvider.cpp +9 -1
- package/template/android/app/src/main/jni/MainApplicationModuleProvider.h +1 -1
- package/template/android/app/src/main/jni/MainApplicationTurboModuleManagerDelegate.cpp +4 -4
- package/template/android/app/src/main/jni/MainApplicationTurboModuleManagerDelegate.h +4 -4
- package/template/android/app/src/main/jni/MainComponentsRegistry.cpp +4 -0
- package/template/android/build.gradle +1 -3
- package/template/android/gradle/wrapper/gradle-wrapper.jar +0 -0
- package/template/android/gradle/wrapper/gradle-wrapper.properties +1 -1
- package/template/ios/Podfile +14 -6
- package/template/package.json +4 -4
- package/third-party-podspecs/RCT-Folly.podspec +2 -2
- package/Libraries/vendor/emitter/EventSubscription.js +0 -19
- package/Libraries/vendor/emitter/_EmitterSubscription.js +0 -62
- package/Libraries/vendor/emitter/_EventEmitter.js +0 -184
- package/Libraries/vendor/emitter/_EventSubscription.js +0 -45
- package/Libraries/vendor/emitter/_EventSubscriptionVendor.js +0 -108
- package/ReactAndroid/src/androidTest/AndroidManifest.xml +0 -20
- package/ReactAndroid/src/androidTest/assets/BUCK +0 -7
- package/ReactAndroid/src/androidTest/buck-runner/AndroidManifest.xml +0 -28
- package/ReactAndroid/src/androidTest/buck-runner/BUCK +0 -24
- package/ReactAndroid/src/androidTest/java/com/facebook/react/bridge/ArgumentsTest.java +0 -93
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/AbstractScrollViewTestCase.java +0 -108
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/AssertModule.java +0 -53
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/BUCK +0 -46
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/FabricUIManagerFactory.java +0 -19
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/FakeAsyncLocalStorage.java +0 -56
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/FakeWebSocketModule.java +0 -44
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/InstanceSpecForTestPackage.java +0 -38
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/IntRecordingModule.java +0 -54
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/JSIntegrationTestChecker.java +0 -55
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/MultipleFailureException.java +0 -46
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactAppInstrumentationTestCase.java +0 -152
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactAppTestActivity.java +0 -378
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactInstanceSpecForTest.java +0 -127
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactInstrumentationTest.java +0 -125
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactIntegrationTestCase.java +0 -209
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactSettingsForTests.java +0 -59
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactTestAppShell.java +0 -38
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactTestApplicationImpl.java +0 -22
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactTestFactory.java +0 -27
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactTestHelper.java +0 -217
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ScreenshotingFrameLayout.java +0 -77
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/SingleTouchGestureGenerator.java +0 -150
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/StringRecordingModule.java +0 -42
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/idledetection/BUCK +0 -16
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/idledetection/ReactBridgeIdleSignaler.java +0 -65
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/idledetection/ReactIdleDetectionUtil.java +0 -121
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/network/BUCK +0 -25
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/network/NetworkRecordingModuleMock.java +0 -147
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/rule/BUCK +0 -43
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/rule/ReactNativeTestRule.java +0 -184
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/AnimatedTransformTest.java +0 -49
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/BUCK +0 -43
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/CatalystMeasureLayoutTest.java +0 -138
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/CatalystMultitouchHandlingTestCase.java +0 -681
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/CatalystNativeJSToJavaParametersTestCase.java +0 -837
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/CatalystNativeJavaToJSArgumentsTestCase.java +0 -385
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/CatalystNativeJavaToJSReturnValuesTestCase.java +0 -162
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/CatalystSubviewsClippingTestCase.java +0 -301
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/CatalystTouchBubblingTestCase.java +0 -155
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/CatalystUIManagerTestCase.java +0 -256
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/ImageErrorTestCase.java +0 -47
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/ImageOverlayColorTestCase.java +0 -25
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/InitialPropsTestCase.java +0 -120
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/JSLocaleTest.java +0 -102
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/JSResponderTestCase.java +0 -62
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/LayoutEventsTestCase.java +0 -37
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/NativeIdTestCase.java +0 -89
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/ProgressBarTestCase.java +0 -123
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/ReactHorizontalScrollViewTestCase.java +0 -125
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/ReactScrollViewTestCase.java +0 -127
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/ReactSwipeRefreshLayoutTestCase.java +0 -97
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/ShareTestCase.java +0 -92
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/TestIdTestCase.java +0 -46
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/TextInputTestCase.java +0 -327
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/ViewRenderingTestCase.java +0 -154
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/core/BUCK +0 -33
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/core/ReactInstanceManagerTest.java +0 -96
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/core/ReactRootViewTest.java +0 -203
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/core/WritableNativeMapTest.java +0 -130
- package/ReactAndroid/src/androidTest/js/AnimatedTransformTestModule.js +0 -85
- package/ReactAndroid/src/androidTest/js/Asserts.js +0 -38
- package/ReactAndroid/src/androidTest/js/BUCK +0 -29
- package/ReactAndroid/src/androidTest/js/CatalystRootViewTestModule.js +0 -62
- package/ReactAndroid/src/androidTest/js/ImageErrorTestApp.js +0 -56
- package/ReactAndroid/src/androidTest/js/ImageOverlayColorTestApp.js +0 -29
- package/ReactAndroid/src/androidTest/js/InitialPropsTestApp.js +0 -25
- package/ReactAndroid/src/androidTest/js/JSResponderTestApp.js +0 -66
- package/ReactAndroid/src/androidTest/js/LayoutEventsTestApp.js +0 -89
- package/ReactAndroid/src/androidTest/js/MeasureLayoutTestModule.js +0 -214
- package/ReactAndroid/src/androidTest/js/MultitouchHandlingTestAppModule.js +0 -78
- package/ReactAndroid/src/androidTest/js/NativeIdTestModule.js +0 -76
- package/ReactAndroid/src/androidTest/js/ProgressBarTestModule.js +0 -59
- package/ReactAndroid/src/androidTest/js/ScrollViewTestModule.js +0 -183
- package/ReactAndroid/src/androidTest/js/ShareTestModule.js +0 -36
- package/ReactAndroid/src/androidTest/js/SubviewsClippingTestModule.js +0 -369
- package/ReactAndroid/src/androidTest/js/SwipeRefreshLayoutTestModule.js +0 -101
- package/ReactAndroid/src/androidTest/js/TestBundle.js +0 -113
- package/ReactAndroid/src/androidTest/js/TestIdTestModule.js +0 -86
- package/ReactAndroid/src/androidTest/js/TestJSLocaleModule.js +0 -28
- package/ReactAndroid/src/androidTest/js/TestJSToJavaParametersModule.js +0 -125
- package/ReactAndroid/src/androidTest/js/TestJavaToJSArgumentsModule.js +0 -114
- package/ReactAndroid/src/androidTest/js/TestJavaToJSReturnValuesModule.js +0 -39
- package/ReactAndroid/src/androidTest/js/TextInputTestModule.js +0 -185
- package/ReactAndroid/src/androidTest/js/TouchBubblingTestAppModule.js +0 -84
- package/ReactAndroid/src/androidTest/js/UIManagerTestModule.js +0 -268
- package/ReactAndroid/src/androidTest/js/ViewRenderingTestModule.js +0 -109
- package/ReactAndroid/src/main/java/com/facebook/hermes/instrumentation/Android.mk +0 -31
- package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/Android.mk +0 -55
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/NativeRunnable.java +0 -25
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/Android.mk +0 -49
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Android.mk +0 -105
- package/ReactAndroid/src/main/java/com/facebook/react/jscexecutor/Android.mk +0 -27
- package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/jni/Android.mk +0 -27
- package/ReactAndroid/src/main/java/com/facebook/react/reactperflogger/jni/Android.mk +0 -32
- package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/Android.mk +0 -63
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/jni/Android.mk +0 -45
- package/ReactAndroid/src/main/jni/Application.mk +0 -34
- package/ReactAndroid/src/main/jni/first-party/fb/Android.mk +0 -30
- package/ReactAndroid/src/main/jni/first-party/fbgloginit/Android.mk +0 -23
- package/ReactAndroid/src/main/jni/first-party/yogajni/Android.mk +0 -27
- package/ReactAndroid/src/main/jni/react/jni/Android.mk +0 -176
- package/ReactAndroid/src/main/jni/react/jni/JNativeRunnable.h +0 -52
- package/ReactAndroid/src/main/jni/third-party/boost/Android.mk +0 -15
- package/ReactAndroid/src/main/jni/third-party/double-conversion/Android.mk +0 -22
- package/ReactAndroid/src/main/jni/third-party/fmt/Android.mk +0 -15
- package/ReactAndroid/src/main/jni/third-party/folly/Android.mk +0 -128
- package/ReactAndroid/src/main/jni/third-party/glog/Android.mk +0 -32
- package/ReactAndroid/src/main/jni/third-party/jsc/Android.mk +0 -6
- package/ReactAndroid/src/main/jni/third-party/libevent/Android.mk +0 -36
- package/ReactAndroid/src/test/java/com/facebook/common/logging/BUCK +0 -17
- package/ReactAndroid/src/test/java/com/facebook/common/logging/FakeLoggingDelegate.java +0 -138
- package/ReactAndroid/src/test/java/com/facebook/react/BUCK +0 -28
- package/ReactAndroid/src/test/java/com/facebook/react/CompositeReactPackageTest.java +0 -156
- package/ReactAndroid/src/test/java/com/facebook/react/ReactActivityDelegateTest.kt +0 -62
- package/ReactAndroid/src/test/java/com/facebook/react/RootViewTest.java +0 -255
- package/ReactAndroid/src/test/java/com/facebook/react/animated/BUCK +0 -22
- package/ReactAndroid/src/test/java/com/facebook/react/animated/NativeAnimatedInterpolationTest.java +0 -123
- package/ReactAndroid/src/test/java/com/facebook/react/animated/NativeAnimatedNodeTraversalTest.java +0 -1294
- package/ReactAndroid/src/test/java/com/facebook/react/bridge/BUCK +0 -44
- package/ReactAndroid/src/test/java/com/facebook/react/bridge/BaseJavaModuleTest.java +0 -103
- package/ReactAndroid/src/test/java/com/facebook/react/bridge/FallbackJSBundleLoaderTest.java +0 -176
- package/ReactAndroid/src/test/java/com/facebook/react/bridge/InstanceHandleHelper.java +0 -19
- package/ReactAndroid/src/test/java/com/facebook/react/bridge/JavaOnlyArrayTest.java +0 -37
- package/ReactAndroid/src/test/java/com/facebook/react/bridge/JavaScriptModuleRegistryTest.java +0 -35
- package/ReactAndroid/src/test/java/com/facebook/react/bridge/ReactTestHelper.java +0 -59
- package/ReactAndroid/src/test/java/com/facebook/react/devsupport/BUCK +0 -23
- package/ReactAndroid/src/test/java/com/facebook/react/devsupport/JSDebuggerWebSocketClientTest.java +0 -139
- package/ReactAndroid/src/test/java/com/facebook/react/devsupport/MultipartStreamReaderTest.java +0 -151
- package/ReactAndroid/src/test/java/com/facebook/react/devsupport/StackTraceHelperTest.java +0 -65
- package/ReactAndroid/src/test/java/com/facebook/react/fabric/events/BUCK +0 -16
- package/ReactAndroid/src/test/java/com/facebook/react/fabric/events/TouchEventDispatchTest.java +0 -616
- package/ReactAndroid/src/test/java/com/facebook/react/modules/BUCK +0 -45
- package/ReactAndroid/src/test/java/com/facebook/react/modules/blob/BlobModuleTest.java +0 -156
- package/ReactAndroid/src/test/java/com/facebook/react/modules/camera/ImageStoreManagerTest.java +0 -81
- package/ReactAndroid/src/test/java/com/facebook/react/modules/clipboard/ClipboardModuleTest.java +0 -57
- package/ReactAndroid/src/test/java/com/facebook/react/modules/deviceinfo/DeviceInfoModuleTest.java +0 -168
- package/ReactAndroid/src/test/java/com/facebook/react/modules/dialog/DialogModuleTest.java +0 -165
- package/ReactAndroid/src/test/java/com/facebook/react/modules/network/HeaderUtilTest.java +0 -73
- package/ReactAndroid/src/test/java/com/facebook/react/modules/network/NetworkingModuleTest.java +0 -647
- package/ReactAndroid/src/test/java/com/facebook/react/modules/network/ProgressiveStringDecoderTest.java +0 -138
- package/ReactAndroid/src/test/java/com/facebook/react/modules/network/ReactCookieJarContainerTest.java +0 -71
- package/ReactAndroid/src/test/java/com/facebook/react/modules/share/ShareModuleTest.java +0 -230
- package/ReactAndroid/src/test/java/com/facebook/react/modules/storage/AsyncStorageModuleTest.java +0 -345
- package/ReactAndroid/src/test/java/com/facebook/react/modules/timing/TimingModuleTest.java +0 -306
- package/ReactAndroid/src/test/java/com/facebook/react/packagerconnection/BUCK +0 -18
- package/ReactAndroid/src/test/java/com/facebook/react/packagerconnection/JSPackagerClientTest.java +0 -144
- package/ReactAndroid/src/test/java/com/facebook/react/uimanager/BUCK +0 -40
- package/ReactAndroid/src/test/java/com/facebook/react/uimanager/BaseViewManagerTest.java +0 -79
- package/ReactAndroid/src/test/java/com/facebook/react/uimanager/LayoutPropertyApplicatorTest.java +0 -470
- package/ReactAndroid/src/test/java/com/facebook/react/uimanager/MatrixMathHelperTest.java +0 -173
- package/ReactAndroid/src/test/java/com/facebook/react/uimanager/ReactPropAnnotationSetterSpecTest.java +0 -125
- package/ReactAndroid/src/test/java/com/facebook/react/uimanager/ReactPropAnnotationSetterTest.java +0 -499
- package/ReactAndroid/src/test/java/com/facebook/react/uimanager/ReactPropConstantsTest.java +0 -163
- package/ReactAndroid/src/test/java/com/facebook/react/uimanager/ReactPropForShadowNodeSetterTest.java +0 -160
- package/ReactAndroid/src/test/java/com/facebook/react/uimanager/ReactPropForShadowNodeSpecTest.java +0 -122
- package/ReactAndroid/src/test/java/com/facebook/react/uimanager/SimpleViewPropertyTest.java +0 -116
- package/ReactAndroid/src/test/java/com/facebook/react/uimanager/UIManagerModuleConstantsTest.java +0 -173
- package/ReactAndroid/src/test/java/com/facebook/react/uimanager/UIManagerModuleTest.java +0 -721
- package/ReactAndroid/src/test/java/com/facebook/react/uimanager/layoutanimation/BUCK +0 -16
- package/ReactAndroid/src/test/java/com/facebook/react/uimanager/layoutanimation/InterpolatorTypeTest.java +0 -49
- package/ReactAndroid/src/test/java/com/facebook/react/util/BUCK +0 -17
- package/ReactAndroid/src/test/java/com/facebook/react/util/JSStackTraceTest.java +0 -96
- package/ReactAndroid/src/test/java/com/facebook/react/views/BUCK +0 -41
- package/ReactAndroid/src/test/java/com/facebook/react/views/image/ImageResizeModeTest.java +0 -42
- package/ReactAndroid/src/test/java/com/facebook/react/views/image/ReactImagePropertyTest.java +0 -143
- package/ReactAndroid/src/test/java/com/facebook/react/views/slider/ReactSliderPropertyTest.java +0 -100
- package/ReactAndroid/src/test/java/com/facebook/react/views/text/CustomLineHeightSpanTest.java +0 -113
- package/ReactAndroid/src/test/java/com/facebook/react/views/text/ReactTextTest.java +0 -516
- package/ReactAndroid/src/test/java/com/facebook/react/views/textinput/ReactTextInputPropertyTest.java +0 -400
- package/ReactAndroid/src/test/java/com/facebook/react/views/textinput/TextInputTest.java +0 -174
- package/ReactAndroid/src/test/java/com/facebook/react/views/view/ColorUtilTest.java +0 -56
- package/ReactAndroid/src/test/java/org/mockito/configuration/BUCK +0 -13
- package/ReactAndroid/src/test/java/org/mockito/configuration/MockitoConfiguration.java +0 -24
- package/ReactAndroid/src/test/resources/BUCK +0 -18
- package/ReactAndroid/src/test/resources/robolectric.properties +0 -2
- package/ReactCommon/butter/Android.mk +0 -27
- package/ReactCommon/callinvoker/Android.mk +0 -25
- package/ReactCommon/cxxreact/Android.mk +0 -51
- package/ReactCommon/hermes/executor/Android.mk +0 -41
- package/ReactCommon/hermes/inspector/Android.mk +0 -36
- package/ReactCommon/jsi/Android.mk +0 -41
- package/ReactCommon/jsiexecutor/Android.mk +0 -23
- package/ReactCommon/jsinspector/Android.mk +0 -20
- package/ReactCommon/logger/Android.mk +0 -24
- package/ReactCommon/microprofiler/.clang-tidy +0 -5
- package/ReactCommon/microprofiler/BUCK +0 -30
- package/ReactCommon/microprofiler/MicroProfiler.cpp +0 -252
- package/ReactCommon/microprofiler/MicroProfiler.h +0 -89
- package/ReactCommon/react/bridging/Android.mk +0 -27
- package/ReactCommon/react/config/Android.mk +0 -26
- package/ReactCommon/react/debug/Android.mk +0 -30
- package/ReactCommon/react/nativemodule/core/Android.mk +0 -40
- package/ReactCommon/react/nativemodule/samples/platform/android/Android.mk +0 -23
- package/ReactCommon/react/renderer/animations/Android.mk +0 -58
- package/ReactCommon/react/renderer/attributedstring/Android.mk +0 -53
- package/ReactCommon/react/renderer/componentregistry/Android.mk +0 -42
- package/ReactCommon/react/renderer/componentregistry/native/Android.mk +0 -37
- package/ReactCommon/react/renderer/components/image/Android.mk +0 -51
- package/ReactCommon/react/renderer/components/modal/Android.mk +0 -55
- package/ReactCommon/react/renderer/components/progressbar/Android.mk +0 -53
- package/ReactCommon/react/renderer/components/root/Android.mk +0 -46
- package/ReactCommon/react/renderer/components/scrollview/Android.mk +0 -49
- package/ReactCommon/react/renderer/components/slider/Android.mk +0 -59
- package/ReactCommon/react/renderer/components/switch/Android.mk +0 -53
- package/ReactCommon/react/renderer/components/text/Android.mk +0 -59
- package/ReactCommon/react/renderer/components/textinput/Android.mk +0 -67
- package/ReactCommon/react/renderer/components/unimplementedview/Android.mk +0 -47
- package/ReactCommon/react/renderer/components/view/Android.mk +0 -47
- package/ReactCommon/react/renderer/core/Android.mk +0 -41
- package/ReactCommon/react/renderer/debug/Android.mk +0 -28
- package/ReactCommon/react/renderer/graphics/Android.mk +0 -39
- package/ReactCommon/react/renderer/imagemanager/Android.mk +0 -44
- package/ReactCommon/react/renderer/leakchecker/Android.mk +0 -33
- package/ReactCommon/react/renderer/mapbuffer/Android.mk +0 -34
- package/ReactCommon/react/renderer/mounting/Android.mk +0 -55
- package/ReactCommon/react/renderer/runtimescheduler/Android.mk +0 -34
- package/ReactCommon/react/renderer/scheduler/Android.mk +0 -62
- package/ReactCommon/react/renderer/telemetry/Android.mk +0 -43
- package/ReactCommon/react/renderer/templateprocessor/Android.mk +0 -46
- package/ReactCommon/react/renderer/textlayoutmanager/Android.mk +0 -63
- package/ReactCommon/react/renderer/uimanager/Android.mk +0 -58
- package/ReactCommon/react/utils/Android.mk +0 -33
- package/ReactCommon/reactperflogger/Android.mk +0 -26
- package/ReactCommon/runtimeexecutor/Android.mk +0 -19
- package/ReactCommon/yoga/Android.mk +0 -21
- package/android/com/facebook/react/hermes-engine/0.69.3/hermes-engine-0.69.3-debug-javadoc.jar +0 -0
- package/android/com/facebook/react/hermes-engine/0.69.3/hermes-engine-0.69.3-debug-javadoc.jar.md5 +0 -1
- package/android/com/facebook/react/hermes-engine/0.69.3/hermes-engine-0.69.3-debug-javadoc.jar.sha1 +0 -1
- package/android/com/facebook/react/hermes-engine/0.69.3/hermes-engine-0.69.3-debug-javadoc.jar.sha256 +0 -1
- package/android/com/facebook/react/hermes-engine/0.69.3/hermes-engine-0.69.3-debug-javadoc.jar.sha512 +0 -1
- package/android/com/facebook/react/hermes-engine/0.69.3/hermes-engine-0.69.3-debug.aar +0 -0
- package/android/com/facebook/react/hermes-engine/0.69.3/hermes-engine-0.69.3-debug.aar.md5 +0 -1
- package/android/com/facebook/react/hermes-engine/0.69.3/hermes-engine-0.69.3-debug.aar.sha1 +0 -1
- package/android/com/facebook/react/hermes-engine/0.69.3/hermes-engine-0.69.3-debug.aar.sha256 +0 -1
- package/android/com/facebook/react/hermes-engine/0.69.3/hermes-engine-0.69.3-debug.aar.sha512 +0 -1
- package/android/com/facebook/react/hermes-engine/0.69.3/hermes-engine-0.69.3-release-javadoc.jar +0 -0
- package/android/com/facebook/react/hermes-engine/0.69.3/hermes-engine-0.69.3-release-javadoc.jar.md5 +0 -1
- package/android/com/facebook/react/hermes-engine/0.69.3/hermes-engine-0.69.3-release-javadoc.jar.sha1 +0 -1
- package/android/com/facebook/react/hermes-engine/0.69.3/hermes-engine-0.69.3-release-javadoc.jar.sha256 +0 -1
- package/android/com/facebook/react/hermes-engine/0.69.3/hermes-engine-0.69.3-release-javadoc.jar.sha512 +0 -1
- package/android/com/facebook/react/hermes-engine/0.69.3/hermes-engine-0.69.3-release.aar +0 -0
- package/android/com/facebook/react/hermes-engine/0.69.3/hermes-engine-0.69.3-release.aar.md5 +0 -1
- package/android/com/facebook/react/hermes-engine/0.69.3/hermes-engine-0.69.3-release.aar.sha1 +0 -1
- package/android/com/facebook/react/hermes-engine/0.69.3/hermes-engine-0.69.3-release.aar.sha256 +0 -1
- package/android/com/facebook/react/hermes-engine/0.69.3/hermes-engine-0.69.3-release.aar.sha512 +0 -1
- package/android/com/facebook/react/hermes-engine/0.69.3/hermes-engine-0.69.3.module.md5 +0 -1
- package/android/com/facebook/react/hermes-engine/0.69.3/hermes-engine-0.69.3.module.sha1 +0 -1
- package/android/com/facebook/react/hermes-engine/0.69.3/hermes-engine-0.69.3.module.sha256 +0 -1
- package/android/com/facebook/react/hermes-engine/0.69.3/hermes-engine-0.69.3.module.sha512 +0 -1
- package/android/com/facebook/react/hermes-engine/0.69.3/hermes-engine-0.69.3.pom.md5 +0 -1
- package/android/com/facebook/react/hermes-engine/0.69.3/hermes-engine-0.69.3.pom.sha1 +0 -1
- package/android/com/facebook/react/hermes-engine/0.69.3/hermes-engine-0.69.3.pom.sha256 +0 -1
- package/android/com/facebook/react/hermes-engine/0.69.3/hermes-engine-0.69.3.pom.sha512 +0 -1
- package/android/com/facebook/react/react-native/0.69.3/react-native-0.69.3-debug-javadoc.jar +0 -0
- package/android/com/facebook/react/react-native/0.69.3/react-native-0.69.3-debug-javadoc.jar.md5 +0 -1
- package/android/com/facebook/react/react-native/0.69.3/react-native-0.69.3-debug-javadoc.jar.sha1 +0 -1
- package/android/com/facebook/react/react-native/0.69.3/react-native-0.69.3-debug-javadoc.jar.sha256 +0 -1
- package/android/com/facebook/react/react-native/0.69.3/react-native-0.69.3-debug-javadoc.jar.sha512 +0 -1
- package/android/com/facebook/react/react-native/0.69.3/react-native-0.69.3-debug-sources.jar.md5 +0 -1
- package/android/com/facebook/react/react-native/0.69.3/react-native-0.69.3-debug-sources.jar.sha1 +0 -1
- package/android/com/facebook/react/react-native/0.69.3/react-native-0.69.3-debug-sources.jar.sha256 +0 -1
- package/android/com/facebook/react/react-native/0.69.3/react-native-0.69.3-debug-sources.jar.sha512 +0 -1
- package/android/com/facebook/react/react-native/0.69.3/react-native-0.69.3-debug.aar.md5 +0 -1
- package/android/com/facebook/react/react-native/0.69.3/react-native-0.69.3-debug.aar.sha1 +0 -1
- package/android/com/facebook/react/react-native/0.69.3/react-native-0.69.3-debug.aar.sha256 +0 -1
- package/android/com/facebook/react/react-native/0.69.3/react-native-0.69.3-debug.aar.sha512 +0 -1
- package/android/com/facebook/react/react-native/0.69.3/react-native-0.69.3-release-javadoc.jar +0 -0
- package/android/com/facebook/react/react-native/0.69.3/react-native-0.69.3-release-javadoc.jar.md5 +0 -1
- package/android/com/facebook/react/react-native/0.69.3/react-native-0.69.3-release-javadoc.jar.sha1 +0 -1
- package/android/com/facebook/react/react-native/0.69.3/react-native-0.69.3-release-javadoc.jar.sha256 +0 -1
- package/android/com/facebook/react/react-native/0.69.3/react-native-0.69.3-release-javadoc.jar.sha512 +0 -1
- package/android/com/facebook/react/react-native/0.69.3/react-native-0.69.3-release-sources.jar.md5 +0 -1
- package/android/com/facebook/react/react-native/0.69.3/react-native-0.69.3-release-sources.jar.sha1 +0 -1
- package/android/com/facebook/react/react-native/0.69.3/react-native-0.69.3-release-sources.jar.sha256 +0 -1
- package/android/com/facebook/react/react-native/0.69.3/react-native-0.69.3-release-sources.jar.sha512 +0 -1
- package/android/com/facebook/react/react-native/0.69.3/react-native-0.69.3-release.aar.md5 +0 -1
- package/android/com/facebook/react/react-native/0.69.3/react-native-0.69.3-release.aar.sha1 +0 -1
- package/android/com/facebook/react/react-native/0.69.3/react-native-0.69.3-release.aar.sha256 +0 -1
- package/android/com/facebook/react/react-native/0.69.3/react-native-0.69.3-release.aar.sha512 +0 -1
- package/android/com/facebook/react/react-native/0.69.3/react-native-0.69.3.module.md5 +0 -1
- package/android/com/facebook/react/react-native/0.69.3/react-native-0.69.3.module.sha1 +0 -1
- package/android/com/facebook/react/react-native/0.69.3/react-native-0.69.3.module.sha256 +0 -1
- package/android/com/facebook/react/react-native/0.69.3/react-native-0.69.3.module.sha512 +0 -1
- package/android/com/facebook/react/react-native/0.69.3/react-native-0.69.3.pom.md5 +0 -1
- package/android/com/facebook/react/react-native/0.69.3/react-native-0.69.3.pom.sha1 +0 -1
- package/android/com/facebook/react/react-native/0.69.3/react-native-0.69.3.pom.sha256 +0 -1
- package/android/com/facebook/react/react-native/0.69.3/react-native-0.69.3.pom.sha512 +0 -1
- package/jest/preprocessor.js +0 -40
- package/jest/preprocessor_DO_NOT_USE.js +0 -122
- package/scripts/cocoapods/FlipperConfiguration.rb +0 -31
package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountItemDispatcher.java
CHANGED
|
@@ -126,6 +126,8 @@ public class MountItemDispatcher {
|
|
|
126
126
|
mInDispatch = false;
|
|
127
127
|
}
|
|
128
128
|
|
|
129
|
+
// We call didDispatchMountItems regardless of whether we actually dispatched anything, since
|
|
130
|
+
// NativeAnimatedModule relies on this for executing any animations that may have been scheduled
|
|
129
131
|
mItemDispatchListener.didDispatchMountItems();
|
|
130
132
|
|
|
131
133
|
// Decide if we want to try reentering
|
|
@@ -204,8 +206,7 @@ public class MountItemDispatcher {
|
|
|
204
206
|
if (viewCommandMountItemsToDispatch != null) {
|
|
205
207
|
Systrace.beginSection(
|
|
206
208
|
Systrace.TRACE_TAG_REACT_JAVA_BRIDGE,
|
|
207
|
-
"FabricUIManager::mountViews viewCommandMountItems
|
|
208
|
-
+ viewCommandMountItemsToDispatch.size());
|
|
209
|
+
"FabricUIManager::mountViews viewCommandMountItems");
|
|
209
210
|
for (DispatchCommandMountItem command : viewCommandMountItemsToDispatch) {
|
|
210
211
|
if (ENABLE_FABRIC_LOGS) {
|
|
211
212
|
printMountItem(command, "dispatchMountItems: Executing viewCommandMountItem");
|
|
@@ -248,9 +249,7 @@ public class MountItemDispatcher {
|
|
|
248
249
|
|
|
249
250
|
if (preMountItemsToDispatch != null) {
|
|
250
251
|
Systrace.beginSection(
|
|
251
|
-
Systrace.TRACE_TAG_REACT_JAVA_BRIDGE,
|
|
252
|
-
"FabricUIManager::mountViews preMountItems to execute: "
|
|
253
|
-
+ preMountItemsToDispatch.size());
|
|
252
|
+
Systrace.TRACE_TAG_REACT_JAVA_BRIDGE, "FabricUIManager::mountViews preMountItems");
|
|
254
253
|
|
|
255
254
|
for (PreAllocateViewMountItem preMountItem : preMountItemsToDispatch) {
|
|
256
255
|
executeOrEnqueue(preMountItem);
|
|
@@ -262,7 +261,7 @@ public class MountItemDispatcher {
|
|
|
262
261
|
if (mountItemsToDispatch != null) {
|
|
263
262
|
Systrace.beginSection(
|
|
264
263
|
Systrace.TRACE_TAG_REACT_JAVA_BRIDGE,
|
|
265
|
-
"FabricUIManager::mountViews mountItems to execute
|
|
264
|
+
"FabricUIManager::mountViews mountItems to execute");
|
|
266
265
|
|
|
267
266
|
long batchedExecutionStartTime = SystemClock.uptimeMillis();
|
|
268
267
|
|
|
@@ -356,13 +355,16 @@ public class MountItemDispatcher {
|
|
|
356
355
|
@Nullable
|
|
357
356
|
private static <E extends MountItem> List<E> drainConcurrentItemQueue(
|
|
358
357
|
ConcurrentLinkedQueue<E> queue) {
|
|
358
|
+
if (queue.isEmpty()) {
|
|
359
|
+
return null;
|
|
360
|
+
}
|
|
359
361
|
List<E> result = new ArrayList<>();
|
|
360
|
-
|
|
362
|
+
do {
|
|
361
363
|
E item = queue.poll();
|
|
362
364
|
if (item != null) {
|
|
363
365
|
result.add(item);
|
|
364
366
|
}
|
|
365
|
-
}
|
|
367
|
+
} while (!queue.isEmpty());
|
|
366
368
|
if (result.size() == 0) {
|
|
367
369
|
return null;
|
|
368
370
|
}
|
|
@@ -26,6 +26,7 @@ import com.facebook.react.bridge.UiThreadUtil;
|
|
|
26
26
|
import com.facebook.react.common.mapbuffer.MapBuffer;
|
|
27
27
|
import com.facebook.react.fabric.FabricUIManager;
|
|
28
28
|
import com.facebook.react.fabric.events.EventEmitterWrapper;
|
|
29
|
+
import com.facebook.react.fabric.mounting.SurfaceMountingManager.ViewEvent;
|
|
29
30
|
import com.facebook.react.fabric.mounting.mountitems.MountItem;
|
|
30
31
|
import com.facebook.react.touch.JSResponderHandler;
|
|
31
32
|
import com.facebook.react.uimanager.RootViewManager;
|
|
@@ -422,4 +423,14 @@ public class MountingManager {
|
|
|
422
423
|
public void initializeViewManager(String componentName) {
|
|
423
424
|
mViewManagerRegistry.get(componentName);
|
|
424
425
|
}
|
|
426
|
+
|
|
427
|
+
public void enqueuePendingEvent(int reactTag, ViewEvent viewEvent) {
|
|
428
|
+
@Nullable SurfaceMountingManager smm = getSurfaceManagerForView(reactTag);
|
|
429
|
+
if (smm == null) {
|
|
430
|
+
// Cannot queue event without valid surface mountng manager. Do nothing here.
|
|
431
|
+
return;
|
|
432
|
+
}
|
|
433
|
+
|
|
434
|
+
smm.enqueuePendingEvent(reactTag, viewEvent);
|
|
435
|
+
}
|
|
425
436
|
}
|
package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.java
CHANGED
|
@@ -19,18 +19,22 @@ import androidx.annotation.UiThread;
|
|
|
19
19
|
import com.facebook.common.logging.FLog;
|
|
20
20
|
import com.facebook.infer.annotation.Assertions;
|
|
21
21
|
import com.facebook.infer.annotation.ThreadConfined;
|
|
22
|
+
import com.facebook.react.bridge.ReactContext;
|
|
22
23
|
import com.facebook.react.bridge.ReactSoftExceptionLogger;
|
|
23
24
|
import com.facebook.react.bridge.ReadableArray;
|
|
24
25
|
import com.facebook.react.bridge.ReadableMap;
|
|
25
26
|
import com.facebook.react.bridge.RetryableMountingLayerException;
|
|
26
27
|
import com.facebook.react.bridge.SoftAssertions;
|
|
27
28
|
import com.facebook.react.bridge.UiThreadUtil;
|
|
29
|
+
import com.facebook.react.bridge.WritableMap;
|
|
28
30
|
import com.facebook.react.common.build.ReactBuildConfig;
|
|
29
31
|
import com.facebook.react.common.mapbuffer.ReadableMapBuffer;
|
|
30
32
|
import com.facebook.react.config.ReactFeatureFlags;
|
|
33
|
+
import com.facebook.react.fabric.GuardedFrameCallback;
|
|
31
34
|
import com.facebook.react.fabric.events.EventEmitterWrapper;
|
|
32
35
|
import com.facebook.react.fabric.mounting.MountingManager.MountItemExecutor;
|
|
33
36
|
import com.facebook.react.fabric.mounting.mountitems.MountItem;
|
|
37
|
+
import com.facebook.react.modules.core.ReactChoreographer;
|
|
34
38
|
import com.facebook.react.touch.JSResponderHandler;
|
|
35
39
|
import com.facebook.react.uimanager.IllegalViewOperationException;
|
|
36
40
|
import com.facebook.react.uimanager.ReactOverflowViewWithInset;
|
|
@@ -43,10 +47,14 @@ import com.facebook.react.uimanager.ThemedReactContext;
|
|
|
43
47
|
import com.facebook.react.uimanager.ViewGroupManager;
|
|
44
48
|
import com.facebook.react.uimanager.ViewManager;
|
|
45
49
|
import com.facebook.react.uimanager.ViewManagerRegistry;
|
|
50
|
+
import com.facebook.react.uimanager.events.EventCategoryDef;
|
|
46
51
|
import com.facebook.react.views.view.ReactMapBufferViewManager;
|
|
47
52
|
import com.facebook.react.views.view.ReactViewManagerWrapper;
|
|
48
53
|
import java.util.HashSet;
|
|
54
|
+
import java.util.LinkedList;
|
|
55
|
+
import java.util.Queue;
|
|
49
56
|
import java.util.Set;
|
|
57
|
+
import java.util.Stack;
|
|
50
58
|
import java.util.concurrent.ConcurrentHashMap;
|
|
51
59
|
import java.util.concurrent.ConcurrentLinkedQueue;
|
|
52
60
|
import javax.annotation.Nullable;
|
|
@@ -70,6 +78,18 @@ public class SurfaceMountingManager {
|
|
|
70
78
|
private RootViewManager mRootViewManager;
|
|
71
79
|
private MountItemExecutor mMountItemExecutor;
|
|
72
80
|
|
|
81
|
+
// Stack of deferred-removal tags for Views that can be
|
|
82
|
+
// removed asynchronously. Guaranteed to be disconnected
|
|
83
|
+
// from the viewport and these tags will not be reused in the future.
|
|
84
|
+
@ThreadConfined(UI)
|
|
85
|
+
private final Stack<Integer> mReactTagsToRemove = new Stack<>();
|
|
86
|
+
|
|
87
|
+
@ThreadConfined(UI)
|
|
88
|
+
private final Set<Integer> mErroneouslyReaddedReactTags = new HashSet<>();
|
|
89
|
+
|
|
90
|
+
@ThreadConfined(UI)
|
|
91
|
+
private RemoveDeleteTreeUIFrameCallback mRemoveDeleteTreeUIFrameCallback;
|
|
92
|
+
|
|
73
93
|
// This is null *until* StopSurface is called.
|
|
74
94
|
private Set<Integer> mTagSetForStoppedSurface;
|
|
75
95
|
|
|
@@ -300,6 +320,10 @@ public class SurfaceMountingManager {
|
|
|
300
320
|
mRootViewManager = null;
|
|
301
321
|
mMountItemExecutor = null;
|
|
302
322
|
mOnViewAttachItems.clear();
|
|
323
|
+
|
|
324
|
+
if (ReactFeatureFlags.enableViewRecycling) {
|
|
325
|
+
mViewManagerRegistry.onSurfaceStopped(mSurfaceId);
|
|
326
|
+
}
|
|
303
327
|
}
|
|
304
328
|
};
|
|
305
329
|
|
|
@@ -357,7 +381,29 @@ public class SurfaceMountingManager {
|
|
|
357
381
|
+ "]: View already has a parent: ["
|
|
358
382
|
+ actualParentId
|
|
359
383
|
+ "] "
|
|
360
|
-
+
|
|
384
|
+
+ " Parent: "
|
|
385
|
+
+ viewParent.getClass().getSimpleName()
|
|
386
|
+
+ " View: "
|
|
387
|
+
+ view.getClass().getSimpleName()));
|
|
388
|
+
|
|
389
|
+
// We've hit an error case, and `addView` will crash below
|
|
390
|
+
// if we don't take evasive action (it is an error to add a View
|
|
391
|
+
// to the hierarchy if it already has a parent).
|
|
392
|
+
// We don't know /why/ this happens yet, but it does happen
|
|
393
|
+
// very infrequently in production.
|
|
394
|
+
// Thus, we do three things here:
|
|
395
|
+
// (1) We logged a SoftException above, so if there's a crash later
|
|
396
|
+
// on, we might have some hints about what caused it.
|
|
397
|
+
// (2) We remove the View from its parent.
|
|
398
|
+
// (3) In case the View was removed from the hierarchy with the
|
|
399
|
+
// RemoveDeleteTree instruction, and is now being readded - which
|
|
400
|
+
// should be impossible - we mark this as a "readded" View and
|
|
401
|
+
// thus prevent the RemoveDeleteTree worker from deleting this
|
|
402
|
+
// View in the future.
|
|
403
|
+
if (viewParent instanceof ViewGroup) {
|
|
404
|
+
((ViewGroup) viewParent).removeView(view);
|
|
405
|
+
}
|
|
406
|
+
mErroneouslyReaddedReactTags.add(tag);
|
|
361
407
|
}
|
|
362
408
|
|
|
363
409
|
try {
|
|
@@ -400,6 +446,17 @@ public class SurfaceMountingManager {
|
|
|
400
446
|
return;
|
|
401
447
|
}
|
|
402
448
|
|
|
449
|
+
// This is "impossible". See comments above.
|
|
450
|
+
if (mErroneouslyReaddedReactTags.contains(tag)) {
|
|
451
|
+
ReactSoftExceptionLogger.logSoftException(
|
|
452
|
+
TAG,
|
|
453
|
+
new IllegalViewOperationException(
|
|
454
|
+
"removeViewAt tried to remove a React View that was actually reused. This indicates a bug in the Differ (specifically instruction ordering). ["
|
|
455
|
+
+ tag
|
|
456
|
+
+ "]"));
|
|
457
|
+
return;
|
|
458
|
+
}
|
|
459
|
+
|
|
403
460
|
UiThreadUtil.assertOnUiThread();
|
|
404
461
|
ViewState parentViewState = getNullableViewState(parentTag);
|
|
405
462
|
|
|
@@ -553,6 +610,189 @@ public class SurfaceMountingManager {
|
|
|
553
610
|
}
|
|
554
611
|
}
|
|
555
612
|
|
|
613
|
+
@UiThread
|
|
614
|
+
public void removeDeleteTreeAt(final int tag, final int parentTag, int index) {
|
|
615
|
+
if (isStopped()) {
|
|
616
|
+
return;
|
|
617
|
+
}
|
|
618
|
+
|
|
619
|
+
UiThreadUtil.assertOnUiThread();
|
|
620
|
+
ViewState parentViewState = getNullableViewState(parentTag);
|
|
621
|
+
|
|
622
|
+
// TODO: throw exception here?
|
|
623
|
+
if (parentViewState == null) {
|
|
624
|
+
ReactSoftExceptionLogger.logSoftException(
|
|
625
|
+
MountingManager.TAG,
|
|
626
|
+
new IllegalStateException(
|
|
627
|
+
"Unable to find viewState for tag: [" + parentTag + "] for removeDeleteTreeAt"));
|
|
628
|
+
return;
|
|
629
|
+
}
|
|
630
|
+
|
|
631
|
+
if (!(parentViewState.mView instanceof ViewGroup)) {
|
|
632
|
+
String message =
|
|
633
|
+
"Unable to remove+delete a view from a view that is not a ViewGroup. ParentTag: "
|
|
634
|
+
+ parentTag
|
|
635
|
+
+ " - Tag: "
|
|
636
|
+
+ tag
|
|
637
|
+
+ " - Index: "
|
|
638
|
+
+ index;
|
|
639
|
+
FLog.e(TAG, message);
|
|
640
|
+
throw new IllegalStateException(message);
|
|
641
|
+
}
|
|
642
|
+
|
|
643
|
+
final ViewGroup parentView = (ViewGroup) parentViewState.mView;
|
|
644
|
+
|
|
645
|
+
if (parentView == null) {
|
|
646
|
+
throw new IllegalStateException("Unable to find view for tag [" + parentTag + "]");
|
|
647
|
+
}
|
|
648
|
+
|
|
649
|
+
if (SHOW_CHANGED_VIEW_HIERARCHIES) {
|
|
650
|
+
// Display children before deleting any
|
|
651
|
+
FLog.e(
|
|
652
|
+
TAG,
|
|
653
|
+
"removeDeleteTreeAt: [" + tag + "] -> [" + parentTag + "] idx: " + index + " BEFORE");
|
|
654
|
+
logViewHierarchy(parentView, false);
|
|
655
|
+
}
|
|
656
|
+
|
|
657
|
+
ViewGroupManager<ViewGroup> viewGroupManager = getViewGroupManager(parentViewState);
|
|
658
|
+
|
|
659
|
+
// Verify that the view we're about to remove has the same tag we expect
|
|
660
|
+
View view = viewGroupManager.getChildAt(parentView, index);
|
|
661
|
+
int actualTag = (view != null ? view.getId() : -1);
|
|
662
|
+
if (actualTag != tag) {
|
|
663
|
+
int tagActualIndex = -1;
|
|
664
|
+
int parentChildrenCount = parentView.getChildCount();
|
|
665
|
+
for (int i = 0; i < parentChildrenCount; i++) {
|
|
666
|
+
if (parentView.getChildAt(i).getId() == tag) {
|
|
667
|
+
tagActualIndex = i;
|
|
668
|
+
break;
|
|
669
|
+
}
|
|
670
|
+
}
|
|
671
|
+
|
|
672
|
+
// TODO T74425739: previously, we did not do this check and `removeViewAt` would be executed
|
|
673
|
+
// below, sometimes crashing there. *However*, interestingly enough, `removeViewAt` would not
|
|
674
|
+
// complain if you removed views from an already-empty parent. This seems necessary currently
|
|
675
|
+
// for certain ViewManagers that remove their own children - like BottomSheet?
|
|
676
|
+
// This workaround seems not-great, but for now, we just return here for
|
|
677
|
+
// backwards-compatibility. Essentially, if a view has already been removed from the
|
|
678
|
+
// hierarchy, we treat it as a noop.
|
|
679
|
+
if (tagActualIndex == -1) {
|
|
680
|
+
FLog.e(
|
|
681
|
+
TAG,
|
|
682
|
+
"removeDeleteTreeAt: ["
|
|
683
|
+
+ tag
|
|
684
|
+
+ "] -> ["
|
|
685
|
+
+ parentTag
|
|
686
|
+
+ "] @"
|
|
687
|
+
+ index
|
|
688
|
+
+ ": view already removed from parent! Children in parent: "
|
|
689
|
+
+ parentChildrenCount);
|
|
690
|
+
return;
|
|
691
|
+
}
|
|
692
|
+
|
|
693
|
+
// Here we are guaranteed that the view is still in the View hierarchy, just
|
|
694
|
+
// at a different index. In debug mode we'll crash here; in production, we'll remove
|
|
695
|
+
// the child from the parent and move on.
|
|
696
|
+
// This is an issue that is safely recoverable 95% of the time. If this allows corruption
|
|
697
|
+
// of the view hierarchy and causes bugs or a crash after this point, there will be logs
|
|
698
|
+
// indicating that this happened.
|
|
699
|
+
// This is likely *only* necessary because of Fabric's LayoutAnimations implementation.
|
|
700
|
+
// If we can fix the bug there, or remove the need for LayoutAnimation index adjustment
|
|
701
|
+
// entirely, we can just throw this exception without regression user experience.
|
|
702
|
+
logViewHierarchy(parentView, true);
|
|
703
|
+
ReactSoftExceptionLogger.logSoftException(
|
|
704
|
+
TAG,
|
|
705
|
+
new IllegalStateException(
|
|
706
|
+
"Tried to remove+delete view ["
|
|
707
|
+
+ tag
|
|
708
|
+
+ "] of parent ["
|
|
709
|
+
+ parentTag
|
|
710
|
+
+ "] at index "
|
|
711
|
+
+ index
|
|
712
|
+
+ ", but got view tag "
|
|
713
|
+
+ actualTag
|
|
714
|
+
+ " - actual index of view: "
|
|
715
|
+
+ tagActualIndex));
|
|
716
|
+
index = tagActualIndex;
|
|
717
|
+
}
|
|
718
|
+
|
|
719
|
+
try {
|
|
720
|
+
viewGroupManager.removeViewAt(parentView, index);
|
|
721
|
+
} catch (RuntimeException e) {
|
|
722
|
+
// Note: `getChildCount` may not always be accurate!
|
|
723
|
+
// We don't currently have a good explanation other than, in situations where you
|
|
724
|
+
// would empirically expect to see childCount > 0, the childCount is reported as 0.
|
|
725
|
+
// This is likely due to a ViewManager overriding getChildCount or some other methods
|
|
726
|
+
// in a way that is strictly incorrect, but potentially only visible here.
|
|
727
|
+
// The failure mode is actually that in `removeViewAt`, a NullPointerException is
|
|
728
|
+
// thrown when we try to perform an operation on a View that doesn't exist, and
|
|
729
|
+
// is therefore null.
|
|
730
|
+
// We try to add some extra diagnostics here, but we always try to remove the View
|
|
731
|
+
// from the hierarchy first because detecting by looking at childCount will not work.
|
|
732
|
+
//
|
|
733
|
+
// Note that the lesson here is that `getChildCount` is not /required/ to adhere to
|
|
734
|
+
// any invariants. If you add 9 children to a parent, the `getChildCount` of the parent
|
|
735
|
+
// may not be equal to 9. This apparently causes no issues with Android and is common
|
|
736
|
+
// enough that we shouldn't try to change this invariant, without a lot of thought.
|
|
737
|
+
int childCount = viewGroupManager.getChildCount(parentView);
|
|
738
|
+
|
|
739
|
+
logViewHierarchy(parentView, true);
|
|
740
|
+
|
|
741
|
+
throw new IllegalStateException(
|
|
742
|
+
"Cannot remove child at index "
|
|
743
|
+
+ index
|
|
744
|
+
+ " from parent ViewGroup ["
|
|
745
|
+
+ parentView.getId()
|
|
746
|
+
+ "], only "
|
|
747
|
+
+ childCount
|
|
748
|
+
+ " children in parent. Warning: childCount may be incorrect!",
|
|
749
|
+
e);
|
|
750
|
+
}
|
|
751
|
+
|
|
752
|
+
// Display children after deleting any
|
|
753
|
+
if (SHOW_CHANGED_VIEW_HIERARCHIES) {
|
|
754
|
+
final int finalIndex = index;
|
|
755
|
+
UiThreadUtil.runOnUiThread(
|
|
756
|
+
new Runnable() {
|
|
757
|
+
@Override
|
|
758
|
+
public void run() {
|
|
759
|
+
FLog.e(
|
|
760
|
+
TAG,
|
|
761
|
+
"removeViewAt: ["
|
|
762
|
+
+ tag
|
|
763
|
+
+ "] -> ["
|
|
764
|
+
+ parentTag
|
|
765
|
+
+ "] idx: "
|
|
766
|
+
+ finalIndex
|
|
767
|
+
+ " AFTER");
|
|
768
|
+
logViewHierarchy(parentView, false);
|
|
769
|
+
}
|
|
770
|
+
});
|
|
771
|
+
}
|
|
772
|
+
|
|
773
|
+
// The View has been removed from the View hierarchy; now it
|
|
774
|
+
// and all of its children, if any, need to be deleted, recursively.
|
|
775
|
+
// We want to maintain the legacy ordering: delete (and call onViewStateDeleted)
|
|
776
|
+
// for leaf nodes, and then parents, recursively.
|
|
777
|
+
// Schedule the Runnable first, to detect if we need to schedule a Runnable at all.
|
|
778
|
+
// Since this current function and the Runnable both run on the UI thread, there is
|
|
779
|
+
// no race condition here.
|
|
780
|
+
runDeferredTagRemovalAndDeletion();
|
|
781
|
+
mReactTagsToRemove.push(tag);
|
|
782
|
+
}
|
|
783
|
+
|
|
784
|
+
@UiThread
|
|
785
|
+
private void runDeferredTagRemovalAndDeletion() {
|
|
786
|
+
if (mReactTagsToRemove.empty()) {
|
|
787
|
+
if (mRemoveDeleteTreeUIFrameCallback == null) {
|
|
788
|
+
mRemoveDeleteTreeUIFrameCallback = new RemoveDeleteTreeUIFrameCallback(mThemedReactContext);
|
|
789
|
+
}
|
|
790
|
+
ReactChoreographer.getInstance()
|
|
791
|
+
.postFrameCallback(
|
|
792
|
+
ReactChoreographer.CallbackType.IDLE_EVENT, mRemoveDeleteTreeUIFrameCallback);
|
|
793
|
+
}
|
|
794
|
+
}
|
|
795
|
+
|
|
556
796
|
@UiThread
|
|
557
797
|
public void createView(
|
|
558
798
|
@NonNull String componentName,
|
|
@@ -849,6 +1089,7 @@ public class SurfaceMountingManager {
|
|
|
849
1089
|
}
|
|
850
1090
|
}
|
|
851
1091
|
|
|
1092
|
+
/** We update the event emitter from the main thread when the view is mounted. */
|
|
852
1093
|
@UiThread
|
|
853
1094
|
public void updateEventEmitter(int reactTag, @NonNull EventEmitterWrapper eventEmitter) {
|
|
854
1095
|
UiThreadUtil.assertOnUiThread();
|
|
@@ -870,6 +1111,20 @@ public class SurfaceMountingManager {
|
|
|
870
1111
|
if (previousEventEmitterWrapper != eventEmitter && previousEventEmitterWrapper != null) {
|
|
871
1112
|
previousEventEmitterWrapper.destroy();
|
|
872
1113
|
}
|
|
1114
|
+
|
|
1115
|
+
if (viewState.mPendingEventQueue != null) {
|
|
1116
|
+
// Invoke pending event queued to the view state
|
|
1117
|
+
for (ViewEvent viewEvent : viewState.mPendingEventQueue) {
|
|
1118
|
+
if (viewEvent.canCoalesceEvent()) {
|
|
1119
|
+
eventEmitter.invokeUnique(
|
|
1120
|
+
viewEvent.getEventName(), viewEvent.getParams(), viewEvent.getCustomCoalesceKey());
|
|
1121
|
+
} else {
|
|
1122
|
+
eventEmitter.invoke(
|
|
1123
|
+
viewEvent.getEventName(), viewEvent.getParams(), viewEvent.getEventCategory());
|
|
1124
|
+
}
|
|
1125
|
+
}
|
|
1126
|
+
viewState.mPendingEventQueue = null;
|
|
1127
|
+
}
|
|
873
1128
|
}
|
|
874
1129
|
|
|
875
1130
|
@UiThread
|
|
@@ -1017,7 +1272,8 @@ public class SurfaceMountingManager {
|
|
|
1017
1272
|
private @NonNull ViewState getViewState(int tag) {
|
|
1018
1273
|
ViewState viewState = mTagToViewState.get(tag);
|
|
1019
1274
|
if (viewState == null) {
|
|
1020
|
-
throw new RetryableMountingLayerException(
|
|
1275
|
+
throw new RetryableMountingLayerException(
|
|
1276
|
+
"Unable to find viewState for tag " + tag + ". Surface stopped: " + isStopped());
|
|
1021
1277
|
}
|
|
1022
1278
|
if (ReactFeatureFlags.enableDelayedViewStateDeletion) {
|
|
1023
1279
|
mScheduledForDeletionViewStateTags.remove(tag);
|
|
@@ -1064,6 +1320,31 @@ public class SurfaceMountingManager {
|
|
|
1064
1320
|
}
|
|
1065
1321
|
}
|
|
1066
1322
|
|
|
1323
|
+
@UiThread
|
|
1324
|
+
public void enqueuePendingEvent(int reactTag, ViewEvent viewEvent) {
|
|
1325
|
+
UiThreadUtil.assertOnUiThread();
|
|
1326
|
+
|
|
1327
|
+
// When the surface stopped we will reset the view state map. We are not going to enqueue
|
|
1328
|
+
// pending events as they are not expected to be dispatched anyways.
|
|
1329
|
+
if (mTagToViewState == null) {
|
|
1330
|
+
return;
|
|
1331
|
+
}
|
|
1332
|
+
|
|
1333
|
+
ViewState viewState = mTagToViewState.get(reactTag);
|
|
1334
|
+
if (viewState == null) {
|
|
1335
|
+
// Cannot queue event without view state. Do nothing here.
|
|
1336
|
+
return;
|
|
1337
|
+
}
|
|
1338
|
+
Assertions.assertCondition(
|
|
1339
|
+
viewState.mEventEmitter == null,
|
|
1340
|
+
"Only queue pending events when event emitter is null for the given view state");
|
|
1341
|
+
|
|
1342
|
+
if (viewState.mPendingEventQueue == null) {
|
|
1343
|
+
viewState.mPendingEventQueue = new LinkedList<>();
|
|
1344
|
+
}
|
|
1345
|
+
viewState.mPendingEventQueue.add(viewEvent);
|
|
1346
|
+
}
|
|
1347
|
+
|
|
1067
1348
|
/**
|
|
1068
1349
|
* This class holds view state for react tags. Objects of this class are stored into the {@link
|
|
1069
1350
|
* #mTagToViewState}, and they should be updated in the same thread.
|
|
@@ -1077,6 +1358,7 @@ public class SurfaceMountingManager {
|
|
|
1077
1358
|
@Nullable public ReadableMap mCurrentLocalData = null;
|
|
1078
1359
|
@Nullable public StateWrapper mStateWrapper = null;
|
|
1079
1360
|
@Nullable public EventEmitterWrapper mEventEmitter = null;
|
|
1361
|
+
@Nullable public Queue<ViewEvent> mPendingEventQueue = null;
|
|
1080
1362
|
|
|
1081
1363
|
private ViewState(
|
|
1082
1364
|
int reactTag, @Nullable View view, @Nullable ReactViewManagerWrapper viewManager) {
|
|
@@ -1111,4 +1393,169 @@ public class SurfaceMountingManager {
|
|
|
1111
1393
|
+ isLayoutOnly;
|
|
1112
1394
|
}
|
|
1113
1395
|
}
|
|
1396
|
+
|
|
1397
|
+
public static class ViewEvent {
|
|
1398
|
+
private final String mEventName;
|
|
1399
|
+
private final boolean mCanCoalesceEvent;
|
|
1400
|
+
private final int mCustomCoalesceKey;
|
|
1401
|
+
private final @EventCategoryDef int mEventCategory;
|
|
1402
|
+
private @Nullable WritableMap mParams;
|
|
1403
|
+
|
|
1404
|
+
public ViewEvent(
|
|
1405
|
+
String eventName,
|
|
1406
|
+
@Nullable WritableMap params,
|
|
1407
|
+
@EventCategoryDef int eventCategory,
|
|
1408
|
+
boolean canCoalesceEvent,
|
|
1409
|
+
int customCoalesceKey) {
|
|
1410
|
+
mEventName = eventName;
|
|
1411
|
+
mParams = params;
|
|
1412
|
+
mEventCategory = eventCategory;
|
|
1413
|
+
mCanCoalesceEvent = canCoalesceEvent;
|
|
1414
|
+
mCustomCoalesceKey = customCoalesceKey;
|
|
1415
|
+
}
|
|
1416
|
+
|
|
1417
|
+
public String getEventName() {
|
|
1418
|
+
return mEventName;
|
|
1419
|
+
}
|
|
1420
|
+
|
|
1421
|
+
public boolean canCoalesceEvent() {
|
|
1422
|
+
return mCanCoalesceEvent;
|
|
1423
|
+
}
|
|
1424
|
+
|
|
1425
|
+
public int getCustomCoalesceKey() {
|
|
1426
|
+
return mCustomCoalesceKey;
|
|
1427
|
+
}
|
|
1428
|
+
|
|
1429
|
+
public @EventCategoryDef int getEventCategory() {
|
|
1430
|
+
return mEventCategory;
|
|
1431
|
+
}
|
|
1432
|
+
|
|
1433
|
+
public @Nullable WritableMap getParams() {
|
|
1434
|
+
return mParams;
|
|
1435
|
+
}
|
|
1436
|
+
}
|
|
1437
|
+
|
|
1438
|
+
private class RemoveDeleteTreeUIFrameCallback extends GuardedFrameCallback {
|
|
1439
|
+
private static final long FRAME_TIME_MS = 16;
|
|
1440
|
+
private static final long MAX_TIME_IN_FRAME = 9;
|
|
1441
|
+
|
|
1442
|
+
private RemoveDeleteTreeUIFrameCallback(@NonNull ReactContext reactContext) {
|
|
1443
|
+
super(reactContext);
|
|
1444
|
+
}
|
|
1445
|
+
|
|
1446
|
+
/**
|
|
1447
|
+
* Detect if we still have processing time left in this frame. Technically, it should be fine
|
|
1448
|
+
* for this to take up to 15ms since it executes after all other important UI work.
|
|
1449
|
+
*/
|
|
1450
|
+
private boolean haveExceededNonBatchedFrameTime(long frameTimeNanos) {
|
|
1451
|
+
long timeLeftInFrame = FRAME_TIME_MS - ((System.nanoTime() - frameTimeNanos) / 1000000);
|
|
1452
|
+
return timeLeftInFrame < MAX_TIME_IN_FRAME;
|
|
1453
|
+
}
|
|
1454
|
+
|
|
1455
|
+
@Override
|
|
1456
|
+
@UiThread
|
|
1457
|
+
@ThreadConfined(UI)
|
|
1458
|
+
public void doFrameGuarded(long frameTimeNanos) {
|
|
1459
|
+
int deletedViews = 0;
|
|
1460
|
+
Stack<Integer> localChildren = new Stack<>();
|
|
1461
|
+
try {
|
|
1462
|
+
while (!mReactTagsToRemove.empty()) {
|
|
1463
|
+
int reactTag = mReactTagsToRemove.pop();
|
|
1464
|
+
deletedViews++;
|
|
1465
|
+
|
|
1466
|
+
// This is "impossible". See comments above.
|
|
1467
|
+
if (mErroneouslyReaddedReactTags.contains(reactTag)) {
|
|
1468
|
+
ReactSoftExceptionLogger.logSoftException(
|
|
1469
|
+
TAG,
|
|
1470
|
+
new IllegalViewOperationException(
|
|
1471
|
+
"RemoveDeleteTree recursively tried to remove a React View that was actually reused. This indicates a bug in the Differ. ["
|
|
1472
|
+
+ reactTag
|
|
1473
|
+
+ "]"));
|
|
1474
|
+
continue;
|
|
1475
|
+
}
|
|
1476
|
+
|
|
1477
|
+
localChildren.clear();
|
|
1478
|
+
|
|
1479
|
+
ViewState thisViewState = getNullableViewState(reactTag);
|
|
1480
|
+
if (thisViewState != null) {
|
|
1481
|
+
View thisView = thisViewState.mView;
|
|
1482
|
+
int numChildren = 0;
|
|
1483
|
+
|
|
1484
|
+
// Children are managed by React Native if both of the following are true:
|
|
1485
|
+
// 1) There are 1 or more children of this View, which must be a ViewGroup
|
|
1486
|
+
// 2) Those children are managed by RN (this is not the case for certain native
|
|
1487
|
+
// components, like embedded Litho hierarchies)
|
|
1488
|
+
boolean childrenAreManaged = false;
|
|
1489
|
+
|
|
1490
|
+
if (thisView instanceof ViewGroup) {
|
|
1491
|
+
View nextChild = null;
|
|
1492
|
+
// For reasons documented elsewhere in this class, getChildCount is not
|
|
1493
|
+
// necessarily reliable, and so we rely instead on requesting children directly.
|
|
1494
|
+
while ((nextChild = ((ViewGroup) thisView).getChildAt(numChildren)) != null) {
|
|
1495
|
+
int childId = nextChild.getId();
|
|
1496
|
+
childrenAreManaged = childrenAreManaged || getNullableViewState(childId) != null;
|
|
1497
|
+
localChildren.push(nextChild.getId());
|
|
1498
|
+
numChildren++;
|
|
1499
|
+
}
|
|
1500
|
+
// Removing all at once is more efficient than removing one-by-one
|
|
1501
|
+
// If the children are not managed by RN, we simply drop the entire
|
|
1502
|
+
// subtree instead of recursing further.
|
|
1503
|
+
if (childrenAreManaged) {
|
|
1504
|
+
try {
|
|
1505
|
+
// This can happen if the removeAllViews method is overriden to throw,
|
|
1506
|
+
// which it is explicitly in some cases (for example embedded Litho views,
|
|
1507
|
+
// but there could be other cases). In those cases, we want to fail silently
|
|
1508
|
+
// and then assume the subtree is /not/ managed by React Native.
|
|
1509
|
+
// In this case short-lived memory-leaks could occur if we aren't clearing
|
|
1510
|
+
// out the ViewState map properly; but the risk should be small.
|
|
1511
|
+
// In debug mode, the SoftException will cause a crash. In production it
|
|
1512
|
+
// will not. This should give good visibility into whether or not this is
|
|
1513
|
+
// a problem without causing user-facing errors.
|
|
1514
|
+
((ViewGroup) thisView).removeAllViews();
|
|
1515
|
+
} catch (RuntimeException e) {
|
|
1516
|
+
childrenAreManaged = false;
|
|
1517
|
+
ReactSoftExceptionLogger.logSoftException(TAG, e);
|
|
1518
|
+
}
|
|
1519
|
+
}
|
|
1520
|
+
}
|
|
1521
|
+
if (childrenAreManaged) {
|
|
1522
|
+
// Push tags onto the stack so we process all children
|
|
1523
|
+
mReactTagsToRemove.addAll(localChildren);
|
|
1524
|
+
}
|
|
1525
|
+
|
|
1526
|
+
// Immediately remove tag and notify listeners.
|
|
1527
|
+
// Note that this causes RemoveDeleteTree to call onViewStateDeleted
|
|
1528
|
+
// in a top-down matter (parents first) vs a bottom-up matter (leaf nodes first).
|
|
1529
|
+
// Hopefully this doesn't matter but you should ensure that any custom
|
|
1530
|
+
// onViewStateDeleted logic is resilient to both semantics.
|
|
1531
|
+
// In the initial version of RemoveDeleteTree we attempted to maintain
|
|
1532
|
+
// the bottom-up event listener behavior but this causes additional
|
|
1533
|
+
// memory pressure as well as complexity.
|
|
1534
|
+
mTagToViewState.remove(reactTag);
|
|
1535
|
+
onViewStateDeleted(thisViewState);
|
|
1536
|
+
|
|
1537
|
+
// Circuit breaker: after processing every N tags, check that we haven't
|
|
1538
|
+
// exceeded the max allowed time. Since we don't know what other work needs
|
|
1539
|
+
// to happen on the UI thread during this frame, and since this works tends to be
|
|
1540
|
+
// low-priority, we only give this function a fraction of a frame to run.
|
|
1541
|
+
if (deletedViews % 20 == 0 && haveExceededNonBatchedFrameTime(frameTimeNanos)) {
|
|
1542
|
+
break;
|
|
1543
|
+
}
|
|
1544
|
+
}
|
|
1545
|
+
}
|
|
1546
|
+
} finally {
|
|
1547
|
+
if (!mReactTagsToRemove.empty()) {
|
|
1548
|
+
ReactChoreographer.getInstance()
|
|
1549
|
+
.postFrameCallback(ReactChoreographer.CallbackType.IDLE_EVENT, this);
|
|
1550
|
+
} else {
|
|
1551
|
+
// If there are no more tags to process, then clear the "reused"
|
|
1552
|
+
// tag set. Since the RemoveDeleteTree runner executes /after/ all
|
|
1553
|
+
// other mounting instructions have been executed, all in-band Remove
|
|
1554
|
+
// instructions have already had a chance to execute here.
|
|
1555
|
+
mErroneouslyReaddedReactTags.clear();
|
|
1556
|
+
mReactTagsToRemove.clear();
|
|
1557
|
+
}
|
|
1558
|
+
}
|
|
1559
|
+
}
|
|
1560
|
+
}
|
|
1114
1561
|
}
|
|
@@ -16,7 +16,7 @@ public class DispatchStringCommandMountItem extends DispatchCommandMountItem {
|
|
|
16
16
|
|
|
17
17
|
private final int mSurfaceId;
|
|
18
18
|
private final int mReactTag;
|
|
19
|
-
|
|
19
|
+
private final @NonNull String mCommandId;
|
|
20
20
|
private final @Nullable ReadableArray mCommandArgs;
|
|
21
21
|
|
|
22
22
|
public DispatchStringCommandMountItem(
|