react-native 0.0.0-263478b91 → 0.0.0-268efb102
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Libraries/ActionSheetIOS/ActionSheetIOS.js +14 -1
- package/Libraries/ActionSheetIOS/NativeActionSheetManager.js +2 -0
- package/Libraries/Animated/AnimatedEvent.js +23 -4
- package/Libraries/Animated/AnimatedMock.js +1 -7
- package/Libraries/Animated/NativeAnimatedHelper.js +3 -3
- package/Libraries/Animated/animations/Animation.js +1 -0
- package/Libraries/Animated/animations/DecayAnimation.js +2 -0
- package/Libraries/Animated/animations/SpringAnimation.js +1 -0
- package/Libraries/Animated/animations/TimingAnimation.js +3 -0
- package/Libraries/Animated/createAnimatedComponent.js +5 -1
- package/Libraries/Animated/createAnimatedComponentInjection.js +48 -0
- package/Libraries/Animated/createAnimatedComponent_EXPERIMENTAL.js +48 -0
- package/Libraries/Animated/nodes/AnimatedValue.js +6 -0
- package/Libraries/Animated/nodes/AnimatedWithChildren.js +1 -0
- package/Libraries/Animated/useAnimatedProps.js +211 -0
- package/Libraries/BatchedBridge/MessageQueue.js +15 -10
- package/Libraries/BatchedBridge/NativeModules.js +5 -1
- package/Libraries/Blob/FileReader.js +1 -1
- package/Libraries/Blob/RCTBlobManager.h +2 -1
- package/Libraries/Blob/RCTBlobManager.mm +1 -3
- package/Libraries/Blob/React-RCTBlob.podspec +1 -1
- package/Libraries/Blob/URL.js +1 -1
- package/Libraries/BugReporting/BugReporting.js +2 -0
- package/Libraries/BugReporting/getReactData.js +1 -1
- package/Libraries/Components/Button.js +18 -2
- package/Libraries/Components/DatePicker/DatePickerIOS.ios.js +3 -6
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +4 -7
- package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +1 -1
- package/Libraries/Components/Pressable/useAndroidRippleForView.js +18 -15
- package/Libraries/Components/ScrollView/ScrollView.js +22 -5
- package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +1 -0
- package/Libraries/Components/ScrollView/ScrollViewNativeComponentType.js +2 -0
- package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +268 -252
- package/Libraries/Components/ScrollView/ScrollViewViewConfig.js +2 -0
- package/Libraries/Components/SegmentedControlIOS/SegmentedControlIOS.ios.js +14 -6
- package/Libraries/Components/Slider/Slider.js +13 -1
- package/Libraries/Components/StatusBar/StatusBar.js +6 -14
- package/Libraries/Components/Switch/Switch.js +18 -6
- package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +4 -4
- package/Libraries/Components/TextInput/AndroidTextInputViewConfig.js +1 -0
- package/Libraries/Components/TextInput/TextInput.js +32 -4
- package/Libraries/Components/TextInput/TextInputState.js +1 -1
- package/Libraries/Components/Touchable/Touchable.js +14 -0
- package/Libraries/Components/Touchable/TouchableNativeFeedback.js +1 -1
- package/Libraries/Components/Touchable/TouchableOpacity.js +11 -2
- package/Libraries/Components/View/ReactNativeStyleAttributes.js +131 -64
- package/Libraries/Components/View/ViewAccessibility.js +2 -0
- package/Libraries/Components/View/ViewNativeComponent.js +0 -10
- package/Libraries/Core/Devtools/parseErrorStack.js +0 -10
- package/Libraries/Core/Devtools/parseHermesStack.js +1 -1
- package/Libraries/Core/ExceptionsManager.js +49 -39
- package/Libraries/{Components/View/ViewInjection.js → Core/ExtendedError.js} +8 -2
- package/Libraries/Core/ReactFiberErrorDialog.js +44 -34
- package/Libraries/Core/ReactNativeVersion.js +1 -1
- package/Libraries/Core/Timers/JSTimers.js +37 -28
- package/Libraries/Core/Timers/immediateShim.js +67 -0
- package/Libraries/Core/Timers/queueMicrotask.js +41 -0
- package/Libraries/Core/polyfillPromise.js +1 -1
- package/Libraries/Core/setUpBatchedBridge.js +1 -1
- package/Libraries/Core/setUpGlobals.js +2 -0
- package/Libraries/Core/setUpRegeneratorRuntime.js +25 -8
- package/Libraries/Core/setUpTimers.js +65 -6
- package/Libraries/DeprecatedPropTypes/DeprecatedImagePropType.android.js +131 -0
- package/Libraries/DeprecatedPropTypes/{DeprecatedImagePropType.js → DeprecatedImagePropType.ios.js} +0 -0
- package/Libraries/DeprecatedPropTypes/DeprecatedTextInputPropTypes.js +5 -5
- package/Libraries/DeprecatedPropTypes/DeprecatedViewAccessibility.js +1 -0
- package/Libraries/EventEmitter/NativeEventEmitter.js +2 -0
- package/Libraries/Image/Image.android.js +20 -130
- package/Libraries/Image/Image.ios.js +12 -7
- package/Libraries/Image/ImageBackground.js +10 -8
- package/Libraries/Image/ImageInjection.js +28 -0
- package/Libraries/Image/ImageProps.js +28 -0
- package/Libraries/Image/ImageSource.js +108 -65
- package/Libraries/Image/React-RCTImage.podspec +1 -1
- package/Libraries/Inspector/Inspector.js +6 -0
- package/Libraries/Interaction/InteractionManager.js +3 -0
- package/Libraries/Interaction/PanResponder.js +1 -1
- package/Libraries/LinkingIOS/React-RCTLinking.podspec +1 -1
- package/Libraries/Lists/CellRenderMask.js +145 -0
- package/Libraries/Lists/FlatList.js +43 -26
- package/Libraries/Lists/VirtualizedList.js +3 -1
- package/Libraries/Lists/VirtualizedSectionList.js +3 -0
- package/Libraries/Lists/__flowtests__/SectionList-flowtest.js +4 -4
- package/Libraries/LogBox/Data/LogBoxData.js +21 -19
- package/Libraries/LogBox/UI/LogBoxImages/alert-triangle.png +0 -0
- package/Libraries/LogBox/UI/LogBoxImages/chevron-left.png +0 -0
- package/Libraries/LogBox/UI/LogBoxImages/chevron-right.png +0 -0
- package/Libraries/LogBox/UI/LogBoxImages/close.png +0 -0
- package/Libraries/LogBox/UI/LogBoxImages/loader.png +0 -0
- package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +1 -0
- package/Libraries/Modal/Modal.js +1 -0
- package/Libraries/NativeAnimation/Nodes/RCTPropsAnimatedNode.m +0 -3
- package/Libraries/NativeAnimation/RCTNativeAnimatedModule.mm +6 -3
- package/Libraries/NativeAnimation/RCTNativeAnimatedNodesManager.h +1 -1
- package/Libraries/NativeAnimation/RCTNativeAnimatedNodesManager.m +1 -1
- package/Libraries/NativeAnimation/RCTNativeAnimatedTurboModule.mm +32 -28
- package/Libraries/NativeAnimation/React-RCTAnimation.podspec +1 -1
- package/Libraries/Network/RCTHTTPRequestHandler.h +5 -0
- package/Libraries/Network/RCTHTTPRequestHandler.mm +19 -7
- package/Libraries/Network/React-RCTNetwork.podspec +1 -1
- package/Libraries/Network/XMLHttpRequest.js +4 -1
- package/Libraries/NewAppScreen/components/Header.js +1 -0
- package/Libraries/NewAppScreen/components/logo.png +0 -0
- package/Libraries/Performance/QuickPerformanceLogger.js +3 -1
- package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +4 -1
- package/Libraries/PermissionsAndroid/PermissionsAndroid.js +6 -0
- package/Libraries/Pressability/Pressability.js +1 -0
- package/Libraries/Pressability/PressabilityPerformanceEventEmitter.js +1 -0
- package/Libraries/PushNotificationIOS/RCTPushNotificationManager.mm +0 -1
- package/Libraries/PushNotificationIOS/React-RCTPushNotification.podspec +1 -1
- package/Libraries/ReactNative/AppContainer.js +1 -0
- package/Libraries/ReactNative/AppRegistry.js +3 -1
- package/Libraries/ReactNative/I18nManager.js +12 -3
- package/Libraries/ReactNative/PaperUIManager.js +1 -0
- package/Libraries/ReactNative/renderApplication.js +8 -3
- package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +2 -3
- package/Libraries/Reliability/UserFlow.js +7 -0
- package/Libraries/Renderer/REVISION +1 -1
- package/Libraries/Renderer/implementations/ReactFabric-dev.fb.js +5686 -4572
- package/Libraries/Renderer/implementations/ReactFabric-dev.js +4324 -3826
- package/Libraries/Renderer/implementations/ReactFabric-prod.fb.js +2196 -1859
- package/Libraries/Renderer/implementations/ReactFabric-prod.js +196 -210
- package/Libraries/Renderer/implementations/ReactFabric-profiling.fb.js +2694 -2070
- package/Libraries/Renderer/implementations/ReactFabric-profiling.js +647 -375
- package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.fb.js +5474 -4460
- package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +4109 -3636
- package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.fb.js +1375 -1166
- package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +162 -193
- package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.fb.js +2197 -1708
- package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +618 -364
- package/Libraries/Renderer/shims/ReactFabric.js +5 -4
- package/Libraries/Renderer/shims/ReactFeatureFlags.js +3 -1
- package/Libraries/Renderer/shims/ReactNative.js +3 -1
- package/Libraries/Renderer/shims/ReactNativeTypes.js +7 -4
- package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +3 -1
- package/Libraries/Renderer/shims/createReactNativeComponentClass.js +3 -1
- package/Libraries/Settings/React-RCTSettings.podspec +1 -1
- package/Libraries/Settings/Settings.ios.js +4 -0
- package/Libraries/Storage/AsyncStorage.js +1 -0
- package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +16 -1
- package/Libraries/StyleSheet/PlatformColorValueTypesIOS.ios.js +8 -1
- package/Libraries/StyleSheet/PlatformColorValueTypesIOS.js +2 -0
- package/Libraries/StyleSheet/StyleSheet.js +3 -5
- package/Libraries/StyleSheet/normalizeColor.js +2 -2
- package/Libraries/SurfaceHostingComponent/RCTSurfaceHostingComponent.mm +1 -1
- package/Libraries/Text/Text.js +11 -0
- package/Libraries/Text/TextInput/RCTBaseTextInputView.m +10 -12
- package/Libraries/Text/TextInput/RCTInputAccessoryViewContent.m +4 -11
- package/Libraries/Text/TextProps.js +5 -7
- package/Libraries/TurboModule/TurboModuleRegistry.js +1 -10
- package/Libraries/TypeSafety/RCTTypeSafety.podspec +1 -1
- package/Libraries/UTFSequence.js +1 -1
- package/Libraries/Utilities/Dimensions.js +9 -14
- package/Libraries/Utilities/FeatureDetection.js +31 -0
- package/Libraries/Utilities/HMRClient.js +13 -6
- package/Libraries/Utilities/MatrixMath.js +1 -1
- package/Libraries/Utilities/NativeDeviceInfo.js +1 -1
- package/Libraries/Utilities/PerformanceLoggerContext.js +1 -1
- package/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js +1 -0
- package/Libraries/Utilities/deprecatedPropType.js +2 -2
- package/Libraries/Utilities/useMergeRefs.js +44 -0
- package/Libraries/Utilities/useRefEffect.js +45 -0
- package/Libraries/Utilities/useWindowDimensions.js +7 -2
- package/Libraries/Vibration/React-RCTVibration.podspec +1 -1
- package/Libraries/YellowBox/YellowBoxDeprecated.js +1 -0
- package/Libraries/promiseRejectionTrackingOptions.js +2 -0
- package/Libraries/vendor/emitter/_EventSubscriptionVendor.js +1 -1
- package/README.md +5 -5
- package/React/Base/RCTAssert.h +11 -11
- package/React/Base/RCTBridge+Private.h +8 -2
- package/React/Base/RCTBridge.h +12 -3
- package/React/Base/RCTBridge.m +24 -12
- package/React/Base/RCTBridgeModule.h +36 -12
- package/React/Base/RCTBundleURLProvider.h +26 -1
- package/React/Base/RCTBundleURLProvider.mm +79 -15
- package/React/Base/RCTCallableJSModules.m +47 -0
- package/React/Base/RCTConstants.h +6 -7
- package/React/Base/RCTConstants.m +12 -12
- package/React/Base/RCTConvert.h +1 -1
- package/React/Base/RCTConvert.m +31 -7
- package/React/Base/RCTCxxConvert.h +1 -1
- package/React/Base/RCTDefines.h +12 -3
- package/React/Base/RCTEventDispatcherProtocol.h +3 -2
- package/React/{Views/RCTPickerManager.h → Base/RCTInitializing.h} +4 -2
- package/React/Base/RCTJSThread.h +29 -0
- package/React/Base/RCTJSThread.m +19 -0
- package/React/Base/RCTModuleData.h +7 -3
- package/React/Base/RCTModuleData.mm +41 -1
- package/React/Base/RCTMultipartStreamReader.m +0 -2
- package/React/Base/RCTRootView.h +15 -0
- package/React/Base/RCTRootView.m +15 -0
- package/React/Base/RCTTouchHandler.m +4 -9
- package/React/Base/RCTUtils.h +3 -0
- package/React/Base/RCTUtils.m +14 -7
- package/React/Base/RCTVersion.m +1 -1
- package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingProxyRootView.h +12 -0
- package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingProxyRootView.mm +45 -1
- package/React/CoreModules/BUCK +4 -3
- package/React/CoreModules/RCTAccessibilityManager.mm +1 -1
- package/React/CoreModules/RCTActionSheetManager.mm +14 -5
- package/React/CoreModules/RCTAsyncLocalStorage.mm +4 -0
- package/React/CoreModules/RCTDevLoadingView.mm +6 -21
- package/React/CoreModules/RCTDevMenu.mm +8 -11
- package/React/CoreModules/RCTDevSettings.h +2 -1
- package/React/CoreModules/RCTDevSettings.mm +63 -53
- package/React/CoreModules/RCTDevSplitBundleLoader.mm +1 -6
- package/React/CoreModules/RCTDeviceInfo.mm +4 -4
- package/React/CoreModules/RCTEventDispatcher.h +2 -1
- package/React/CoreModules/RCTEventDispatcher.mm +17 -28
- package/React/CoreModules/RCTKeyboardObserver.mm +1 -1
- package/React/CoreModules/RCTLogBox.mm +14 -10
- package/React/CoreModules/RCTPerfMonitor.mm +9 -4
- package/React/CoreModules/RCTRedBox.mm +1 -5
- package/React/CoreModules/RCTTiming.h +2 -1
- package/React/CoreModules/RCTTiming.mm +1 -3
- package/React/CoreModules/React-CoreModules.podspec +1 -1
- package/React/CxxBridge/RCTCxxBridge.mm +49 -12
- package/React/DevSupport/RCTPackagerConnection.h +3 -0
- package/React/DevSupport/RCTPackagerConnection.mm +19 -8
- package/React/FBReactNativeSpec/FBReactNativeSpec.podspec +12 -4
- package/React/Fabric/Mounting/ComponentViews/Modal/RCTModalHostViewComponentView.mm +1 -2
- package/React/Fabric/Mounting/ComponentViews/RCTFabricComponentsPlugins.h +0 -1
- package/React/Fabric/Mounting/ComponentViews/RCTFabricComponentsPlugins.mm +0 -1
- package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +97 -85
- package/React/Fabric/Mounting/ComponentViews/Text/RCTParagraphComponentView.mm +1 -0
- package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +45 -17
- package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.h +6 -0
- package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +109 -5
- package/React/Fabric/Mounting/RCTComponentViewFactory.mm +1 -0
- package/React/Fabric/Mounting/RCTMountingManager.h +3 -0
- package/React/Fabric/Mounting/RCTMountingManager.mm +22 -3
- package/React/Fabric/Mounting/UIView+ComponentViewProtocol.h +2 -0
- package/React/Fabric/Mounting/UIView+ComponentViewProtocol.mm +12 -0
- package/React/Fabric/RCTConversions.h +3 -0
- package/React/Fabric/RCTScheduler.mm +23 -7
- package/React/Fabric/RCTSurfacePresenter.mm +28 -37
- package/React/Fabric/RCTSurfacePresenterBridgeAdapter.h +4 -2
- package/React/Fabric/RCTSurfacePresenterBridgeAdapter.mm +1 -1
- package/React/Fabric/RCTSurfaceRegistry.h +1 -1
- package/React/Fabric/RCTSurfaceTouchHandler.mm +6 -20
- package/React/Fabric/Surface/RCTFabricSurface.mm +3 -0
- package/React/Modules/RCTEventEmitter.h +1 -2
- package/React/Modules/RCTEventEmitter.m +8 -11
- package/React/Modules/RCTI18nUtil.h +14 -6
- package/React/Modules/RCTI18nUtil.m +1 -47
- package/React/Profiler/RCTProfileTrampoline-arm.S +1 -1
- package/React/Profiler/RCTProfileTrampoline-arm64.S +2 -2
- package/React/React-RCTFabric.podspec +3 -3
- package/React/Views/RCTFont.mm +54 -38
- package/React/Views/RCTModalHostView.h +1 -1
- package/React/Views/RCTModalHostView.m +16 -0
- package/React/Views/RCTModalHostViewManager.m +1 -0
- package/React/Views/RCTView.h +7 -7
- package/React/Views/RCTView.m +32 -49
- package/React/Views/RCTViewManager.m +14 -4
- package/React/Views/SafeAreaView/RCTSafeAreaView.m +1 -5
- package/React/Views/ScrollView/RCTScrollView.h +1 -0
- package/React/Views/ScrollView/RCTScrollView.m +123 -36
- package/React/Views/ScrollView/RCTScrollViewManager.m +4 -7
- package/React/Views/UIView+React.m +2 -11
- package/React/third-party.xcconfig +1 -1
- package/React-Core.podspec +2 -2
- package/ReactAndroid/Android-prebuilt.mk +8 -0
- package/ReactAndroid/README.md +1 -1
- package/ReactAndroid/build.gradle +82 -18
- package/ReactAndroid/gradle.properties +5 -5
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/BUCK +1 -1
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactAppInstrumentationTestCase.java +1 -1
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/idledetection/BUCK +1 -1
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/rule/BUCK +5 -5
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/BUCK +0 -2
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/core/BUCK +5 -5
- package/ReactAndroid/src/androidTest/js/BUCK +26 -0
- package/ReactAndroid/src/androidTest/js/TestBundle.js +0 -12
- package/ReactAndroid/src/main/java/com/facebook/hermes/instrumentation/Android.mk +2 -2
- package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/Android.mk +4 -4
- package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/HermesExecutorFactory.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/RuntimeConfig.java +0 -6
- package/ReactAndroid/src/main/java/com/facebook/proguard/annotations/BUCK +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/BUCK +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/ReactActivity.java +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/ReactAndroidHWInputDeviceHelper.java +5 -0
- package/ReactAndroid/src/main/java/com/facebook/react/ReactFragment.java +6 -2
- package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +123 -64
- package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManagerBuilder.java +28 -0
- package/ReactAndroid/src/main/java/com/facebook/react/ReactNativeHost.java +13 -0
- package/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java +25 -3
- package/ReactAndroid/src/main/java/com/facebook/react/animated/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedModule.java +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedNodesManager.java +5 -5
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/BackgroundExecutor.java +3 -2
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstance.java +4 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstanceImpl.java +11 -5
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaModuleWrapper.java +37 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeModuleRegistry.java +22 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java +3 -6
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContextBaseJavaModule.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactCxxErrorHandler.java +39 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactMarkerConstants.java +3 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/{ReactSoftException.java → ReactSoftExceptionLogger.java} +8 -3
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/RuntimeScheduler.java +21 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/SoftAssertions.java +8 -7
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/UIManager.java +10 -0
- package/ReactAndroid/src/main/java/com/facebook/react/common/BUCK +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/BUCK +3 -0
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/ReadableMapBuffer.java +1 -2
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/ReadableMapBufferSoLoader.java +33 -0
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/config/ReactFeatureFlags.java +40 -36
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BridgeDevSupportManager.java +275 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DefaultDevSupportManagerFactory.java +97 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevServerHelper.java +9 -58
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.java +163 -328
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerFactory.java +3 -72
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/PackagerStatusCheck.java +100 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/RedBoxHandler.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevSupportManager.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/Binding.java +10 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricComponents.java +4 -3
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricJSIModuleProvider.java +6 -67
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +154 -74
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventEmitterWrapper.java +36 -1
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/FabricEventEmitter.java +14 -2
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Android.mk +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/BUCK +1 -2
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Binding.cpp +129 -40
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Binding.h +18 -2
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/CoreComponentsRegistry.cpp +0 -6
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/EventEmitterWrapper.cpp +22 -2
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/EventEmitterWrapper.h +4 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountItemDispatcher.java +53 -7
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountingManager.java +27 -7
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.java +136 -35
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/IntBufferBatchMountItem.java +2 -1
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/PreAllocateViewMountItem.java +5 -5
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/SendAccessibilityEvent.java +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/jscexecutor/Android.mk +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/jstasks/HeadlessJsTaskContext.java +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/modules/accessibilityinfo/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/appearance/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/appstate/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobProvider.java +35 -7
- package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/jni/Android.mk +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/modules/bundleloader/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/camera/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/{JavaScriptTimerManager.java → JavaScriptTimerExecutor.java} +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/JavaTimerManager.java +7 -7
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/TimingModule.java +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/deviceinfo/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/deviceinfo/DeviceInfoModule.java +10 -6
- package/ReactAndroid/src/main/java/com/facebook/react/modules/dialog/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/i18nmanager/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/i18nmanager/I18nManagerModule.java +7 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/image/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/intent/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/intent/IntentModule.java +23 -19
- package/ReactAndroid/src/main/java/com/facebook/react/modules/network/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ForwardingCookieHandler.java +1 -4
- package/ReactAndroid/src/main/java/com/facebook/react/modules/permissions/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/share/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/sound/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/statusbar/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/storage/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/BUCK +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/toast/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/vibration/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/websocket/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/ReconnectingWebSocket.java +11 -9
- package/ReactAndroid/src/main/java/com/facebook/react/shell/BUCK +0 -2
- package/ReactAndroid/src/main/java/com/facebook/react/shell/MainReactPackage.java +0 -9
- package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/TurboModuleManager.java +4 -2
- package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/ReactCommon/TurboModuleManager.cpp +39 -11
- package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/ReactCommon/TurboModuleManager.h +9 -2
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/DisplayMetricsHolder.java +7 -28
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSTouchDispatcher.java +14 -5
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyOptimizer.java +10 -13
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/PixelUtil.java +1 -6
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactAccessibilityDelegate.java +5 -6
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactClippingProhibitedView.java +26 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactOverflowView.java +25 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TouchTargetHelper.java +162 -66
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIImplementation.java +1 -4
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerHelper.java +9 -9
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java +10 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIViewOperationQueue.java +6 -5
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagersPropertyCache.java +16 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/Event.java +53 -19
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/LockFreeEventDispatcherImpl.java +236 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTModernEventEmitter.java +8 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/ReactEventEmitter.java +20 -6
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchEvent.java +34 -5
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchesHelper.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/interfaces/ViewProps.java +9 -4
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/jni/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/jni/ComponentNameResolverManager.cpp +2 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/jni/ComponentNameResolverManager.h +10 -15
- package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/events/DrawerClosedEvent.java +0 -6
- package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/events/DrawerOpenedEvent.java +0 -6
- package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/events/DrawerSlideEvent.java +0 -6
- package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/events/DrawerStateChangedEvent.java +0 -6
- package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageManager.java +5 -5
- package/ReactAndroid/src/main/java/com/facebook/react/views/modal/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.java +7 -11
- package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/BUCK +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +15 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollViewManager.java +5 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +42 -5
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewHelper.java +18 -3
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewManager.java +5 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ScrollEvent.java +9 -7
- package/ReactAndroid/src/main/java/com/facebook/react/views/slider/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/slider/ReactSliderEvent.java +0 -5
- package/ReactAndroid/src/main/java/com/facebook/react/views/slider/ReactSliderManager.java +4 -7
- package/ReactAndroid/src/main/java/com/facebook/react/views/slider/ReactSlidingCompleteEvent.java +0 -5
- package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitchEvent.java +0 -6
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/CustomStyleSpan.java +6 -8
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactFontManager.java +59 -44
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextAnchorViewManager.java +0 -4
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextShadowNode.java +23 -2
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextView.java +19 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTypefaceUtils.java +41 -59
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributeProps.java +20 -51
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.java +31 -12
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManagerMapBuffer.java +31 -11
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/TypefaceStyle.java +72 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/BUCK +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java +16 -6
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditTextInputConnectionWrapper.java +3 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.java +117 -62
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/CanvasUtil.java +92 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewBackgroundDrawable.java +39 -8
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.java +49 -2
- package/ReactAndroid/src/main/jni/first-party/yogajni/jni/YGJNIVanilla.cpp +2 -7
- package/ReactAndroid/src/main/jni/first-party/yogajni/jni/YGJTypesVanilla.h +8 -4
- package/ReactAndroid/src/main/jni/react/jni/Android.mk +5 -3
- package/ReactAndroid/src/main/jni/react/jni/BUCK +5 -2
- package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.cpp +64 -3
- package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.h +9 -2
- package/ReactAndroid/src/main/jni/react/jni/JReactCxxErrorHandler.cpp +18 -0
- package/{ReactCommon/react/renderer/components/picker/iospicker/primitives.h → ReactAndroid/src/main/jni/react/jni/JReactCxxErrorHandler.h} +6 -10
- package/ReactAndroid/src/main/jni/react/jni/JReactSoftExceptionLogger.cpp +21 -0
- package/ReactAndroid/src/main/jni/react/jni/JReactSoftExceptionLogger.h +28 -0
- package/{ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDialogPickerComponentDescriptor.h → ReactAndroid/src/main/jni/react/jni/JRuntimeScheduler.cpp} +8 -7
- package/ReactAndroid/src/main/jni/react/jni/JRuntimeScheduler.h +30 -0
- package/ReactAndroid/src/main/jni/react/jni/JSLoader.cpp +1 -1
- package/ReactAndroid/src/main/jni/react/jni/ProxyExecutor.h +1 -0
- package/ReactAndroid/src/main/jni/third-party/folly/Android.mk +3 -1
- package/ReactAndroid/src/main/jni/third-party/libevent/Android.mk +0 -1
- package/ReactAndroid/src/main/libraries/fresco/fresco-react-native/BUCK +26 -26
- package/ReactAndroid/src/main/libraries/soloader/java/com/facebook/soloader/BUCK +5 -5
- package/ReactAndroid/src/main/res/devsupport/values/strings.xml +2 -1
- package/ReactAndroid/src/main/res/views/uimanager/values/strings_unlocalized.xml +0 -12
- package/ReactAndroid/src/main/third-party/android/androidx/BUCK +63 -2
- package/ReactAndroid/src/main/third-party/java/infer-annotations/BUCK +2 -2
- package/ReactAndroid/src/main/third-party/java/okhttp/BUCK +4 -4
- package/ReactAndroid/src/main/third-party/java/okio/BUCK +2 -2
- package/ReactAndroid/src/main/third-party/java/robolectric/{4.4/BUCK → BUCK} +0 -0
- package/ReactAndroid/src/main/third-party/java/testing-support-lib/BUCK +0 -31
- package/ReactAndroid/src/test/java/com/facebook/react/RootViewTest.java +2 -2
- package/ReactAndroid/src/test/java/com/facebook/react/bridge/BUCK +1 -1
- package/ReactAndroid/src/test/java/com/facebook/react/bridge/ReactTestHelper.java +1 -0
- package/ReactAndroid/src/test/java/com/facebook/react/modules/BUCK +1 -0
- package/ReactAndroid/src/test/java/com/facebook/react/modules/deviceinfo/DeviceInfoModuleTest.java +168 -0
- package/ReactAndroid/src/test/java/com/facebook/react/views/textinput/ReactTextInputPropertyTest.java +4 -0
- package/ReactCommon/React-Fabric.podspec +11 -11
- package/ReactCommon/ReactCommon.podspec +3 -2
- package/ReactCommon/callinvoker/BUCK +2 -2
- package/ReactCommon/callinvoker/React-callinvoker.podspec +1 -1
- package/ReactCommon/cxxreact/Android.mk +2 -1
- package/ReactCommon/cxxreact/BUCK +1 -3
- package/ReactCommon/cxxreact/CxxNativeModule.cpp +28 -0
- package/ReactCommon/cxxreact/CxxNativeModule.h +9 -0
- package/ReactCommon/cxxreact/Instance.cpp +5 -8
- package/ReactCommon/cxxreact/Instance.h +1 -1
- package/ReactCommon/cxxreact/React-cxxreact.podspec +4 -3
- package/ReactCommon/cxxreact/ReactNativeVersion.h +1 -1
- package/ReactCommon/hermes/React-hermes.podspec +2 -2
- package/ReactCommon/hermes/executor/Android.mk +4 -4
- package/ReactCommon/hermes/inspector/Android.mk +1 -2
- package/ReactCommon/hermes/inspector/tools/msggen/package.json +7 -4
- package/ReactCommon/hermes/inspector/tools/msggen/yarn.lock +13 -10
- package/ReactCommon/jsi/Android.mk +1 -1
- package/ReactCommon/jsi/BUCK +0 -2
- package/ReactCommon/jsi/React-jsi.podspec +3 -3
- package/ReactCommon/jsi/jsi/jsilib-posix.cpp +1 -11
- package/ReactCommon/jsiexecutor/Android.mk +2 -2
- package/ReactCommon/jsiexecutor/React-jsiexecutor.podspec +2 -2
- package/ReactCommon/logger/Android.mk +23 -0
- package/ReactCommon/logger/BUCK +43 -0
- package/ReactCommon/logger/React-logger.podspec +40 -0
- package/ReactCommon/logger/react_native_log.cpp +52 -0
- package/ReactCommon/logger/react_native_log.h +33 -0
- package/ReactCommon/react/nativemodule/core/Android.mk +2 -2
- package/ReactCommon/react/nativemodule/core/ReactCommon/LongLivedObject.cpp +1 -0
- package/ReactCommon/react/nativemodule/core/ReactCommon/LongLivedObject.h +3 -2
- package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleBinding.cpp +46 -1
- package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleBinding.h +10 -0
- package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleUtils.h +37 -1
- package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.cpp +24 -22
- package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.h +11 -8
- package/ReactCommon/react/nativemodule/core/platform/ios/RCTTurboModule.h +7 -5
- package/ReactCommon/react/nativemodule/core/platform/ios/RCTTurboModule.mm +61 -42
- package/ReactCommon/react/nativemodule/core/platform/ios/RCTTurboModuleManager.mm +55 -35
- package/ReactCommon/react/nativemodule/samples/BUCK +2 -2
- package/ReactCommon/react/nativemodule/samples/platform/android/Android.mk +1 -1
- package/ReactCommon/react/renderer/animations/BUCK +1 -0
- package/ReactCommon/react/renderer/animations/LayoutAnimationCallbackWrapper.h +34 -0
- package/ReactCommon/react/renderer/animations/LayoutAnimationDriver.cpp +5 -27
- package/ReactCommon/react/renderer/animations/LayoutAnimationDriver.h +8 -14
- package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.cpp +920 -1127
- package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.h +80 -245
- package/ReactCommon/react/renderer/animations/conversions.h +212 -0
- package/ReactCommon/react/renderer/animations/primitives.h +104 -0
- package/ReactCommon/react/renderer/animations/tests/LayoutAnimationTest.cpp +18 -10
- package/ReactCommon/react/renderer/animations/utils.cpp +71 -0
- package/ReactCommon/react/renderer/animations/utils.h +80 -0
- package/ReactCommon/react/renderer/attributedstring/AttributedString.h +0 -1
- package/ReactCommon/react/renderer/attributedstring/ParagraphAttributes.cpp +7 -3
- package/ReactCommon/react/renderer/attributedstring/ParagraphAttributes.h +12 -2
- package/ReactCommon/react/renderer/attributedstring/TextAttributes.cpp +7 -2
- package/ReactCommon/react/renderer/attributedstring/TextAttributes.h +3 -1
- package/ReactCommon/react/renderer/attributedstring/conversions.h +162 -11
- package/ReactCommon/react/renderer/attributedstring/primitives.h +34 -1
- package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorProviderRegistry.cpp +2 -2
- package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorProviderRegistry.h +1 -0
- package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorRegistry.cpp +12 -6
- package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorRegistry.h +4 -1
- package/ReactCommon/react/renderer/componentregistry/componentNameByReactViewName.cpp +2 -1
- package/ReactCommon/react/renderer/components/image/Android.mk +1 -1
- package/ReactCommon/react/renderer/components/image/ImageProps.cpp +28 -9
- package/ReactCommon/react/renderer/components/image/ImageProps.h +5 -1
- package/ReactCommon/react/renderer/components/image/conversions.h +9 -2
- package/ReactCommon/react/renderer/components/inputaccessory/BUCK +1 -1
- package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/BUCK +1 -1
- package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropComponentDescriptor.mm +0 -1
- package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropViewProps.cpp +2 -1
- package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropViewProps.h +2 -0
- package/ReactCommon/react/renderer/components/root/BUCK +1 -0
- package/ReactCommon/react/renderer/components/root/RootProps.cpp +12 -2
- package/ReactCommon/react/renderer/components/root/RootProps.h +6 -1
- package/ReactCommon/react/renderer/components/root/RootShadowNode.cpp +2 -1
- package/ReactCommon/react/renderer/components/root/RootShadowNode.h +2 -0
- package/ReactCommon/react/renderer/components/root/tests/RootShadowNodeTest.cpp +35 -3
- package/ReactCommon/react/renderer/components/safeareaview/BUCK +1 -1
- package/ReactCommon/react/renderer/components/scrollview/Android.mk +1 -1
- package/ReactCommon/react/renderer/components/scrollview/ScrollViewProps.cpp +54 -4
- package/ReactCommon/react/renderer/components/scrollview/ScrollViewProps.h +10 -5
- package/ReactCommon/react/renderer/components/scrollview/conversions.h +5 -0
- package/ReactCommon/react/renderer/components/text/Android.mk +1 -1
- package/ReactCommon/react/renderer/components/text/BaseTextProps.cpp +32 -0
- package/ReactCommon/react/renderer/components/text/BaseTextProps.h +5 -1
- package/ReactCommon/react/renderer/components/text/BaseTextShadowNode.cpp +2 -3
- package/ReactCommon/react/renderer/components/text/ParagraphComponentDescriptor.h +1 -16
- package/ReactCommon/react/renderer/components/text/ParagraphProps.cpp +10 -4
- package/ReactCommon/react/renderer/components/text/ParagraphProps.h +5 -1
- package/ReactCommon/react/renderer/components/text/ParagraphShadowNode.cpp +3 -3
- package/ReactCommon/react/renderer/components/text/RawTextProps.cpp +3 -2
- package/ReactCommon/react/renderer/components/text/RawTextProps.h +5 -1
- package/ReactCommon/react/renderer/components/text/RawTextShadowNode.h +36 -2
- package/ReactCommon/react/renderer/components/text/TextProps.cpp +6 -3
- package/ReactCommon/react/renderer/components/text/TextProps.h +5 -1
- package/ReactCommon/react/renderer/components/text/TextShadowNode.h +23 -0
- package/ReactCommon/react/renderer/components/textinput/Android.mk +1 -1
- package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputProps.cpp +58 -91
- package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputProps.h +10 -6
- package/ReactCommon/react/renderer/components/textinput/iostextinput/TextInputProps.cpp +46 -22
- package/ReactCommon/react/renderer/components/textinput/iostextinput/TextInputProps.h +6 -5
- package/ReactCommon/react/renderer/components/textinput/iostextinput/conversions.h +19 -7
- package/ReactCommon/react/renderer/components/textinput/iostextinput/primitives.h +6 -0
- package/ReactCommon/react/renderer/components/textinput/iostextinput/propsConversions.h +63 -2
- package/ReactCommon/react/renderer/components/unimplementedview/Android.mk +1 -1
- package/ReactCommon/react/renderer/components/unimplementedview/UnimplementedViewComponentDescriptor.cpp +4 -2
- package/ReactCommon/react/renderer/components/unimplementedview/UnimplementedViewComponentDescriptor.h +5 -2
- package/ReactCommon/react/renderer/components/unimplementedview/UnimplementedViewProps.h +1 -0
- package/ReactCommon/react/renderer/components/view/AccessibilityPrimitives.h +28 -0
- package/ReactCommon/react/renderer/components/view/AccessibilityProps.cpp +24 -1
- package/ReactCommon/react/renderer/components/view/AccessibilityProps.h +4 -1
- package/ReactCommon/react/renderer/components/view/Android.mk +3 -2
- package/ReactCommon/react/renderer/components/view/BUCK +1 -0
- package/ReactCommon/react/renderer/components/view/Touch.h +1 -32
- package/ReactCommon/react/renderer/components/view/TouchEventEmitter.cpp +19 -5
- package/ReactCommon/react/renderer/components/view/TouchEventEmitter.h +2 -1
- package/ReactCommon/react/renderer/components/view/ViewComponentDescriptor.h +0 -22
- package/ReactCommon/react/renderer/components/view/ViewEventEmitter.cpp +1 -1
- package/ReactCommon/react/renderer/components/view/ViewProps.cpp +62 -14
- package/ReactCommon/react/renderer/components/view/ViewProps.h +7 -1
- package/ReactCommon/react/renderer/components/view/ViewPropsInterpolation.h +5 -10
- package/ReactCommon/react/renderer/components/view/ViewShadowNode.cpp +5 -12
- package/ReactCommon/react/renderer/components/view/ViewShadowNode.h +1 -1
- package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.cpp +58 -33
- package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.h +2 -8
- package/ReactCommon/react/renderer/components/view/YogaStylableProps.cpp +3 -2
- package/ReactCommon/react/renderer/components/view/YogaStylableProps.h +2 -0
- package/ReactCommon/react/renderer/components/view/accessibilityPropsConversions.h +77 -6
- package/ReactCommon/react/renderer/components/view/conversions.h +57 -14
- package/ReactCommon/react/renderer/components/view/primitives.h +5 -4
- package/ReactCommon/react/renderer/components/view/propsConversions.h +163 -28
- package/ReactCommon/react/renderer/components/view/tests/ViewTest.cpp +7 -2
- package/ReactCommon/react/renderer/core/Android.mk +1 -1
- package/ReactCommon/react/renderer/core/BUCK +1 -0
- package/ReactCommon/react/renderer/core/BatchedEventQueue.cpp +2 -34
- package/ReactCommon/react/renderer/core/BatchedEventQueue.h +2 -9
- package/ReactCommon/react/renderer/core/ComponentDescriptor.h +5 -2
- package/ReactCommon/react/renderer/core/ConcreteComponentDescriptor.h +19 -21
- package/ReactCommon/react/renderer/core/ConcreteShadowNode.h +4 -0
- package/ReactCommon/react/renderer/core/EventDispatcher.cpp +5 -10
- package/ReactCommon/react/renderer/core/EventDispatcher.h +3 -8
- package/ReactCommon/react/renderer/core/EventEmitter.cpp +21 -11
- package/ReactCommon/react/renderer/core/EventEmitter.h +6 -1
- package/ReactCommon/react/renderer/core/EventPipe.h +2 -0
- package/ReactCommon/react/renderer/core/EventQueue.cpp +35 -32
- package/ReactCommon/react/renderer/core/EventQueue.h +12 -6
- package/ReactCommon/react/renderer/core/EventQueueProcessor.cpp +82 -0
- package/ReactCommon/react/renderer/core/EventQueueProcessor.h +36 -0
- package/ReactCommon/react/renderer/core/LayoutableShadowNode.cpp +1 -1
- package/ReactCommon/react/renderer/core/LayoutableShadowNode.h +0 -6
- package/ReactCommon/react/renderer/core/Props.cpp +10 -2
- package/ReactCommon/react/renderer/core/Props.h +6 -1
- package/ReactCommon/react/renderer/core/PropsParserContext.h +29 -0
- package/ReactCommon/react/renderer/core/RawEvent.cpp +4 -2
- package/ReactCommon/react/renderer/core/RawEvent.h +40 -3
- package/ReactCommon/react/renderer/core/RawProps.cpp +2 -1
- package/ReactCommon/react/renderer/core/RawProps.h +3 -1
- package/ReactCommon/react/renderer/core/RawPropsKey.cpp +10 -2
- package/ReactCommon/react/renderer/core/RawPropsKeyMap.cpp +1 -1
- package/ReactCommon/react/renderer/core/RawPropsParser.cpp +1 -1
- package/ReactCommon/react/renderer/core/RawPropsParser.h +11 -2
- package/ReactCommon/react/renderer/core/ReactEventPriority.h +43 -0
- package/ReactCommon/react/renderer/core/ReactPrimitives.h +0 -2
- package/ReactCommon/react/renderer/core/ShadowNode.cpp +9 -12
- package/ReactCommon/react/renderer/core/ShadowNode.h +4 -0
- package/ReactCommon/react/renderer/core/ShadowNodeFamily.h +1 -0
- package/ReactCommon/react/renderer/core/ShadowNodeTraits.h +17 -1
- package/ReactCommon/react/renderer/core/propsConversions.h +19 -9
- package/ReactCommon/react/renderer/core/tests/ComponentDescriptorTest.cpp +16 -4
- package/ReactCommon/react/renderer/core/tests/EventQueueProcessorTest.cpp +134 -0
- package/ReactCommon/react/renderer/core/tests/RawPropsTest.cpp +97 -29
- package/ReactCommon/react/renderer/core/tests/TestComponent.h +6 -2
- package/ReactCommon/react/renderer/core/tests/traitCastTest.cpp +31 -0
- package/ReactCommon/react/renderer/debug/DebugStringConvertible.h +9 -9
- package/ReactCommon/react/renderer/graphics/Android.mk +5 -2
- package/ReactCommon/react/renderer/graphics/BUCK +12 -1
- package/ReactCommon/react/renderer/graphics/React-graphics.podspec +3 -2
- package/ReactCommon/react/renderer/graphics/Transform.cpp +2 -2
- package/ReactCommon/react/renderer/graphics/Transform.h +1 -1
- package/ReactCommon/react/renderer/graphics/conversions.h +34 -19
- package/ReactCommon/react/renderer/graphics/platform/android/react/renderer/graphics/PlatformColorParser.h +67 -0
- package/ReactCommon/react/renderer/graphics/platform/cxx/react/renderer/graphics/Color.cpp +8 -0
- package/ReactCommon/react/renderer/graphics/platform/cxx/react/renderer/graphics/Color.h +1 -0
- package/ReactCommon/react/renderer/graphics/platform/cxx/react/renderer/graphics/PlatformColorParser.h +29 -0
- package/ReactCommon/react/renderer/graphics/platform/ios/Color.cpp +8 -0
- package/ReactCommon/react/renderer/graphics/platform/ios/Color.h +43 -1
- package/ReactCommon/react/renderer/graphics/platform/ios/PlatformColorParser.h +34 -0
- package/ReactCommon/react/renderer/graphics/platform/ios/RCTPlatformColorUtils.h +12 -0
- package/ReactCommon/react/renderer/graphics/platform/ios/RCTPlatformColorUtils.mm +206 -0
- package/ReactCommon/react/renderer/imagemanager/BUCK +1 -1
- package/ReactCommon/react/renderer/imagemanager/platform/ios/RCTSyncImageManager.mm +1 -1
- package/ReactCommon/react/renderer/leakchecker/LeakChecker.cpp +6 -9
- package/ReactCommon/react/renderer/leakchecker/LeakChecker.h +1 -4
- package/ReactCommon/react/renderer/mapbuffer/BUCK +2 -2
- package/ReactCommon/react/renderer/mounting/Android.mk +2 -1
- package/ReactCommon/react/renderer/mounting/Differentiator.cpp +3 -10
- package/ReactCommon/react/renderer/mounting/Differentiator.h +1 -2
- package/ReactCommon/react/renderer/mounting/MountingCoordinator.cpp +1 -7
- package/ReactCommon/react/renderer/mounting/MountingCoordinator.h +0 -4
- package/ReactCommon/react/renderer/mounting/MountingOverrideDelegate.h +1 -1
- package/ReactCommon/react/renderer/mounting/ShadowTree.cpp +7 -5
- package/ReactCommon/react/renderer/mounting/ShadowTree.h +2 -1
- package/ReactCommon/react/renderer/mounting/ShadowView.cpp +2 -0
- package/ReactCommon/react/renderer/mounting/ShadowView.h +1 -0
- package/ReactCommon/react/renderer/mounting/ShadowViewMutation.cpp +12 -0
- package/ReactCommon/react/renderer/mounting/ShadowViewMutation.h +10 -1
- package/ReactCommon/react/renderer/mounting/StubViewTree.cpp +10 -3
- package/ReactCommon/react/renderer/mounting/TelemetryController.cpp +1 -1
- package/ReactCommon/react/renderer/mounting/stubs.cpp +3 -3
- package/ReactCommon/react/renderer/mounting/tests/MountingTest.cpp +22 -21
- package/ReactCommon/react/renderer/mounting/tests/ShadowTreeLifeCycleTest.cpp +12 -5
- package/ReactCommon/react/renderer/mounting/tests/StackingContextTest.cpp +2 -2
- package/ReactCommon/react/renderer/mounting/tests/StateReconciliationTest.cpp +6 -3
- package/ReactCommon/react/renderer/runtimescheduler/Android.mk +2 -1
- package/ReactCommon/react/renderer/runtimescheduler/BUCK +1 -0
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.cpp +75 -33
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.h +54 -10
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerBinding.cpp +8 -7
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerBinding.h +8 -5
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerCallInvoker.cpp +30 -0
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerCallInvoker.h +34 -0
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerClock.h +4 -2
- package/ReactCommon/react/renderer/runtimescheduler/SchedulerPriority.h +4 -2
- package/ReactCommon/react/renderer/runtimescheduler/Task.cpp +11 -5
- package/ReactCommon/react/renderer/runtimescheduler/Task.h +5 -3
- package/ReactCommon/react/renderer/runtimescheduler/primitives.h +4 -2
- package/ReactCommon/react/renderer/runtimescheduler/tests/RuntimeSchedulerTest.cpp +157 -0
- package/ReactCommon/react/renderer/runtimescheduler/tests/StubQueue.h +6 -0
- package/ReactCommon/react/renderer/scheduler/AsynchronousEventBeat.cpp +13 -12
- package/ReactCommon/react/renderer/scheduler/AsynchronousEventBeat.h +4 -4
- package/ReactCommon/react/renderer/{components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDialogPickerShadowNode.cpp → scheduler/InspectorData.h} +10 -2
- package/ReactCommon/react/renderer/scheduler/Scheduler.cpp +64 -37
- package/ReactCommon/react/renderer/scheduler/Scheduler.h +18 -3
- package/ReactCommon/react/renderer/scheduler/SchedulerDelegate.h +9 -1
- package/ReactCommon/react/renderer/scheduler/SchedulerToolbox.h +1 -6
- package/ReactCommon/react/renderer/scheduler/SurfaceHandler.cpp +49 -35
- package/ReactCommon/react/renderer/scheduler/SurfaceHandler.h +12 -12
- package/ReactCommon/react/renderer/scheduler/SurfaceManager.cpp +1 -0
- package/ReactCommon/react/renderer/scheduler/SynchronousEventBeat.cpp +11 -4
- package/ReactCommon/react/renderer/scheduler/SynchronousEventBeat.h +4 -1
- package/ReactCommon/react/renderer/templateprocessor/UITemplateProcessor.cpp +5 -5
- package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/RCTAttributedTextUtils.h +2 -0
- package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/RCTAttributedTextUtils.mm +22 -0
- package/ReactCommon/react/renderer/timeline/BUCK +6 -6
- package/ReactCommon/react/renderer/uimanager/UIManager.cpp +29 -16
- package/ReactCommon/react/renderer/uimanager/UIManager.h +3 -1
- package/ReactCommon/react/renderer/uimanager/UIManagerAnimationDelegate.h +1 -1
- package/ReactCommon/react/renderer/uimanager/UIManagerBinding.cpp +61 -2
- package/ReactCommon/react/renderer/uimanager/UIManagerBinding.h +13 -1
- package/ReactCommon/react/renderer/uimanager/UIManagerDelegate.h +10 -2
- package/ReactCommon/react/test_utils/BUCK +3 -0
- package/ReactCommon/react/{renderer/core/Constants.h → test_utils/MockSurfaceHandler.h} +9 -7
- package/ReactCommon/react/test_utils/shadowTreeGeneration.h +18 -4
- package/ReactCommon/react/utils/Android.mk +3 -1
- package/ReactCommon/react/utils/BUCK +1 -0
- package/ReactCommon/react/utils/ContextContainer.h +0 -27
- package/ReactCommon/reactperflogger/React-perflogger.podspec +1 -1
- package/ReactCommon/runtimeexecutor/React-runtimeexecutor.podspec +1 -1
- package/ReactCommon/runtimeexecutor/ReactCommon/RuntimeExecutor.h +12 -0
- package/ReactCommon/yoga/yoga/Yoga.cpp +2 -6
- package/android/com/facebook/react/react-native/0.0.0-268efb102/react-native-0.0.0-268efb102.aar +0 -0
- package/android/com/facebook/react/react-native/0.0.0-268efb102/react-native-0.0.0-268efb102.aar.md5 +1 -0
- package/android/com/facebook/react/react-native/0.0.0-268efb102/react-native-0.0.0-268efb102.aar.sha1 +1 -0
- package/android/com/facebook/react/react-native/0.0.0-268efb102/react-native-0.0.0-268efb102.aar.sha256 +1 -0
- package/android/com/facebook/react/react-native/0.0.0-268efb102/react-native-0.0.0-268efb102.aar.sha512 +1 -0
- package/android/com/facebook/react/react-native/0.0.0-268efb102/react-native-0.0.0-268efb102.module +272 -0
- package/android/com/facebook/react/react-native/0.0.0-268efb102/react-native-0.0.0-268efb102.module.md5 +1 -0
- package/android/com/facebook/react/react-native/0.0.0-268efb102/react-native-0.0.0-268efb102.module.sha1 +1 -0
- package/android/com/facebook/react/react-native/0.0.0-268efb102/react-native-0.0.0-268efb102.module.sha256 +1 -0
- package/android/com/facebook/react/react-native/0.0.0-268efb102/react-native-0.0.0-268efb102.module.sha512 +1 -0
- package/android/com/facebook/react/react-native/{0.0.0-263478b91/react-native-0.0.0-263478b91.pom → 0.0.0-268efb102/react-native-0.0.0-268efb102.pom} +22 -11
- package/android/com/facebook/react/react-native/0.0.0-268efb102/react-native-0.0.0-268efb102.pom.md5 +1 -0
- package/android/com/facebook/react/react-native/0.0.0-268efb102/react-native-0.0.0-268efb102.pom.sha1 +1 -0
- package/android/com/facebook/react/react-native/0.0.0-268efb102/react-native-0.0.0-268efb102.pom.sha256 +1 -0
- package/android/com/facebook/react/react-native/0.0.0-268efb102/react-native-0.0.0-268efb102.pom.sha512 +1 -0
- package/android/com/facebook/react/react-native/maven-metadata.xml +4 -3
- package/android/com/facebook/react/react-native/maven-metadata.xml.md5 +1 -1
- package/android/com/facebook/react/react-native/maven-metadata.xml.sha1 +1 -1
- package/android/com/facebook/react/react-native/maven-metadata.xml.sha256 +1 -0
- package/android/com/facebook/react/react-native/maven-metadata.xml.sha512 +1 -0
- package/flow/HermesInternalType.js +114 -0
- package/flow/global.js +68 -0
- package/flow-typed/npm/react-test-renderer_v16.x.x.js +79 -0
- package/index.js +65 -40
- package/jest/preprocessor.js +75 -7
- package/jest/renderer.js +3 -7
- package/jest/setup.js +2 -1
- package/package.json +58 -19
- package/react.gradle +47 -25
- package/scripts/find-node.sh +6 -0
- package/scripts/generate-specs-cli.js +20 -2
- package/scripts/ios-configure-glog.sh +4 -0
- package/scripts/react-native-xcode.sh +5 -1
- package/scripts/react_native_pods.rb +213 -43
- package/template/_flowconfig +1 -1
- package/template/_gitignore +1 -0
- package/template/android/app/build.gradle +12 -7
- package/template/android/app/src/main/res/values/styles.xml +0 -1
- package/template/android/build.gradle +5 -6
- package/template/android/gradle/wrapper/gradle-wrapper.properties +1 -1
- package/template/android/gradle.properties +1 -1
- package/template/ios/HelloWorld.xcodeproj/project.pbxproj +2 -0
- package/template/ios/Podfile +1 -0
- package/template/package.json +3 -4
- package/third-party-podspecs/RCT-Folly.podspec +14 -10
- package/third-party-podspecs/boost.podspec +23 -0
- package/Libraries/BUCK +0 -24
- package/Libraries/Components/DatePickerAndroid/DatePickerAndroid.android.js +0 -87
- package/Libraries/Components/DatePickerAndroid/DatePickerAndroid.ios.js +0 -30
- package/Libraries/Components/DatePickerAndroid/DatePickerAndroidTypes.js +0 -30
- package/Libraries/Components/Picker/AndroidDialogPickerNativeComponent.js +0 -83
- package/Libraries/Components/Picker/AndroidDropdownPickerNativeComponent.js +0 -82
- package/Libraries/Components/Picker/Picker.js +0 -168
- package/Libraries/Components/Picker/PickerAndroid.android.js +0 -143
- package/Libraries/Components/Picker/PickerAndroid.ios.js +0 -12
- package/Libraries/Components/Picker/PickerIOS.android.js +0 -14
- package/Libraries/Components/Picker/PickerIOS.ios.js +0 -163
- package/Libraries/Components/Picker/RCTPickerNativeComponent.js +0 -86
- package/Libraries/Components/StaticContainer.react.js +0 -51
- package/Libraries/Components/StatusBar/StatusBarIOS.js +0 -38
- package/Libraries/Components/Touchable/ensurePositiveDelayProps.js +0 -25
- package/Libraries/Interaction/InteractionMixin.js +0 -53
- package/Libraries/ReactNative/queryLayoutByID.js +0 -58
- package/Libraries/StyleSheet/StyleSheetValidation.js +0 -100
- package/Libraries/Text/TextInjection.js +0 -15
- package/React/Base/RCTJSInvokerModule.h +0 -17
- package/React/Fabric/Mounting/ComponentViews/Picker/RCTPickerComponentView.h +0 -19
- package/React/Fabric/Mounting/ComponentViews/Picker/RCTPickerComponentView.mm +0 -206
- package/React/Views/RCTPicker.h +0 -23
- package/React/Views/RCTPicker.m +0 -122
- package/React/Views/RCTPickerManager.m +0 -59
- package/ReactAndroid/release.gradle +0 -87
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/DatePickerDialogTestCase.java +0 -172
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/ReactPickerTestCase.java +0 -196
- package/ReactAndroid/src/androidTest/js/DatePickerDialogTestModule.js +0 -45
- package/ReactAndroid/src/androidTest/js/PickerAndroidTestModule.js +0 -89
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerImpl.java +0 -82
- package/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/BUCK +0 -27
- package/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/DatePickerDialogFragment.java +0 -137
- package/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/DatePickerDialogModule.java +0 -153
- package/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/DatePickerMode.java +0 -15
- package/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/DismissableDatePickerDialog.java +0 -117
- package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/AndroidDialogPickerManagerDelegate.java +0 -48
- package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/AndroidDialogPickerManagerInterface.java +0 -23
- package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/AndroidDropdownPickerManagerDelegate.java +0 -48
- package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/AndroidDropdownPickerManagerInterface.java +0 -22
- package/ReactAndroid/src/main/java/com/facebook/react/views/picker/BUCK +0 -30
- package/ReactAndroid/src/main/java/com/facebook/react/views/picker/ReactDialogPickerManager.java +0 -51
- package/ReactAndroid/src/main/java/com/facebook/react/views/picker/ReactDropdownPickerManager.java +0 -50
- package/ReactAndroid/src/main/java/com/facebook/react/views/picker/ReactPicker.java +0 -196
- package/ReactAndroid/src/main/java/com/facebook/react/views/picker/ReactPickerAdapter.java +0 -95
- package/ReactAndroid/src/main/java/com/facebook/react/views/picker/ReactPickerItem.java +0 -43
- package/ReactAndroid/src/main/java/com/facebook/react/views/picker/ReactPickerManager.java +0 -99
- package/ReactAndroid/src/main/java/com/facebook/react/views/picker/events/PickerItemSelectEvent.java +0 -42
- package/ReactCommon/react/renderer/components/picker/Android.mk +0 -37
- package/ReactCommon/react/renderer/components/picker/BUCK +0 -98
- package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDialogPickerEventEmitter.cpp +0 -23
- package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDialogPickerEventEmitter.h +0 -27
- package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDialogPickerProps.cpp +0 -28
- package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDialogPickerProps.h +0 -77
- package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDialogPickerShadowNode.h +0 -29
- package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDropdownPickerComponentDescriptor.h +0 -21
- package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDropdownPickerEventEmitter.cpp +0 -23
- package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDropdownPickerEventEmitter.h +0 -27
- package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDropdownPickerProps.cpp +0 -28
- package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDropdownPickerProps.h +0 -77
- package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDropdownPickerShadowNode.cpp +0 -17
- package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDropdownPickerShadowNode.h +0 -29
- package/ReactCommon/react/renderer/components/picker/iospicker/BUCK +0 -59
- package/ReactCommon/react/renderer/components/picker/iospicker/PickerComponentDescriptor.h +0 -26
- package/ReactCommon/react/renderer/components/picker/iospicker/PickerEventEmitter.cpp +0 -23
- package/ReactCommon/react/renderer/components/picker/iospicker/PickerEventEmitter.h +0 -28
- package/ReactCommon/react/renderer/components/picker/iospicker/PickerProps.cpp +0 -46
- package/ReactCommon/react/renderer/components/picker/iospicker/PickerProps.h +0 -36
- package/ReactCommon/react/renderer/components/picker/iospicker/PickerShadowNode.cpp +0 -16
- package/ReactCommon/react/renderer/components/picker/iospicker/PickerShadowNode.h +0 -33
- package/ReactCommon/react/renderer/components/picker/iospicker/PickerState.h +0 -19
- package/ReactCommon/react/renderer/components/picker/iospicker/conversions.h +0 -48
- package/ReactCommon/react/renderer/core/Constants.cpp +0 -24
- package/ReactCommon/react/renderer/mounting/DifferentiatorFlatteningClassic.cpp +0 -1564
- package/ReactCommon/react/renderer/mounting/DifferentiatorFlatteningClassic.h +0 -45
- package/ReactCommon/react/renderer/scheduler/AsynchronousEventBeatV2.cpp +0 -58
- package/ReactCommon/react/renderer/scheduler/AsynchronousEventBeatV2.h +0 -41
- package/android/com/facebook/react/react-native/0.0.0-263478b91/react-native-0.0.0-263478b91.aar +0 -0
- package/android/com/facebook/react/react-native/0.0.0-263478b91/react-native-0.0.0-263478b91.aar.md5 +0 -1
- package/android/com/facebook/react/react-native/0.0.0-263478b91/react-native-0.0.0-263478b91.aar.sha1 +0 -1
- package/android/com/facebook/react/react-native/0.0.0-263478b91/react-native-0.0.0-263478b91.pom.md5 +0 -1
- package/android/com/facebook/react/react-native/0.0.0-263478b91/react-native-0.0.0-263478b91.pom.sha1 +0 -1
- package/scripts/generate-specs.sh +0 -100
- package/template/_editorconfig +0 -3
- package/template/_gitattributes +0 -3
|
@@ -13,9 +13,8 @@ import android.view.Display;
|
|
|
13
13
|
import android.view.WindowManager;
|
|
14
14
|
import androidx.annotation.Nullable;
|
|
15
15
|
import com.facebook.infer.annotation.Assertions;
|
|
16
|
+
import com.facebook.react.bridge.WritableMap;
|
|
16
17
|
import com.facebook.react.bridge.WritableNativeMap;
|
|
17
|
-
import java.util.HashMap;
|
|
18
|
-
import java.util.Map;
|
|
19
18
|
|
|
20
19
|
/**
|
|
21
20
|
* Holds an instance of the current DisplayMetrics so we don't have to thread it through all the
|
|
@@ -81,40 +80,20 @@ public class DisplayMetricsHolder {
|
|
|
81
80
|
return sScreenDisplayMetrics;
|
|
82
81
|
}
|
|
83
82
|
|
|
84
|
-
public static
|
|
83
|
+
public static WritableMap getDisplayMetricsWritableMap(double fontScale) {
|
|
85
84
|
Assertions.assertCondition(
|
|
86
85
|
sWindowDisplayMetrics != null && sScreenDisplayMetrics != null,
|
|
87
|
-
"DisplayMetricsHolder must be initialized with initDisplayMetricsIfNotInitialized or
|
|
88
|
-
|
|
89
|
-
result.put("windowPhysicalPixels", getPhysicalPixelsMap(sWindowDisplayMetrics, fontScale));
|
|
90
|
-
result.put("screenPhysicalPixels", getPhysicalPixelsMap(sScreenDisplayMetrics, fontScale));
|
|
91
|
-
return result;
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
public static WritableNativeMap getDisplayMetricsNativeMap(double fontScale) {
|
|
95
|
-
Assertions.assertCondition(
|
|
96
|
-
sWindowDisplayMetrics != null && sScreenDisplayMetrics != null,
|
|
97
|
-
"DisplayMetricsHolder must be initialized with initDisplayMetricsIfNotInitialized or initDisplayMetrics");
|
|
86
|
+
"DisplayMetricsHolder must be initialized with initDisplayMetricsIfNotInitialized or"
|
|
87
|
+
+ " initDisplayMetrics");
|
|
98
88
|
final WritableNativeMap result = new WritableNativeMap();
|
|
99
89
|
result.putMap(
|
|
100
|
-
"windowPhysicalPixels",
|
|
90
|
+
"windowPhysicalPixels", getPhysicalPixelsWritableMap(sWindowDisplayMetrics, fontScale));
|
|
101
91
|
result.putMap(
|
|
102
|
-
"screenPhysicalPixels",
|
|
103
|
-
return result;
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
private static Map<String, Object> getPhysicalPixelsMap(
|
|
107
|
-
DisplayMetrics displayMetrics, double fontScale) {
|
|
108
|
-
final Map<String, Object> result = new HashMap<>();
|
|
109
|
-
result.put("width", displayMetrics.widthPixels);
|
|
110
|
-
result.put("height", displayMetrics.heightPixels);
|
|
111
|
-
result.put("scale", displayMetrics.density);
|
|
112
|
-
result.put("fontScale", fontScale);
|
|
113
|
-
result.put("densityDpi", displayMetrics.densityDpi);
|
|
92
|
+
"screenPhysicalPixels", getPhysicalPixelsWritableMap(sScreenDisplayMetrics, fontScale));
|
|
114
93
|
return result;
|
|
115
94
|
}
|
|
116
95
|
|
|
117
|
-
private static
|
|
96
|
+
private static WritableMap getPhysicalPixelsWritableMap(
|
|
118
97
|
DisplayMetrics displayMetrics, double fontScale) {
|
|
119
98
|
final WritableNativeMap result = new WritableNativeMap();
|
|
120
99
|
result.putInt("width", displayMetrics.widthPixels);
|
|
@@ -12,6 +12,7 @@ import android.view.ViewGroup;
|
|
|
12
12
|
import com.facebook.common.logging.FLog;
|
|
13
13
|
import com.facebook.infer.annotation.Assertions;
|
|
14
14
|
import com.facebook.react.common.ReactConstants;
|
|
15
|
+
import com.facebook.react.uimanager.common.UIManagerType;
|
|
15
16
|
import com.facebook.react.uimanager.events.EventDispatcher;
|
|
16
17
|
import com.facebook.react.uimanager.events.TouchEvent;
|
|
17
18
|
import com.facebook.react.uimanager.events.TouchEventCoalescingKeyHelper;
|
|
@@ -50,14 +51,22 @@ public class JSTouchDispatcher {
|
|
|
50
51
|
mTargetTag = -1;
|
|
51
52
|
}
|
|
52
53
|
|
|
54
|
+
/**
|
|
55
|
+
* See Event.java. By contract, this surfaceId should be a valid SurfaceId in Fabric, and should
|
|
56
|
+
* ALWAYS return -1 in non-Fabric.
|
|
57
|
+
*
|
|
58
|
+
* @return
|
|
59
|
+
*/
|
|
53
60
|
private int getSurfaceId() {
|
|
54
|
-
if (mRootViewGroup
|
|
61
|
+
if (mRootViewGroup != null
|
|
62
|
+
&& mRootViewGroup instanceof ReactRoot
|
|
63
|
+
&& ((ReactRoot) mRootViewGroup).getUIManagerType() == UIManagerType.FABRIC) {
|
|
64
|
+
if (mRootViewGroup.getContext() instanceof ThemedReactContext) {
|
|
65
|
+
ThemedReactContext context = (ThemedReactContext) mRootViewGroup.getContext();
|
|
66
|
+
return context.getSurfaceId();
|
|
67
|
+
}
|
|
55
68
|
return ((ReactRoot) mRootViewGroup).getRootViewTag();
|
|
56
69
|
}
|
|
57
|
-
if (mRootViewGroup != null && mRootViewGroup.getContext() instanceof ThemedReactContext) {
|
|
58
|
-
ThemedReactContext context = (ThemedReactContext) mRootViewGroup.getContext();
|
|
59
|
-
return context.getSurfaceId();
|
|
60
|
-
}
|
|
61
70
|
return -1;
|
|
62
71
|
}
|
|
63
72
|
|
package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyOptimizer.java
CHANGED
|
@@ -13,7 +13,6 @@ import com.facebook.common.logging.FLog;
|
|
|
13
13
|
import com.facebook.infer.annotation.Assertions;
|
|
14
14
|
import com.facebook.react.bridge.ReadableArray;
|
|
15
15
|
import com.facebook.react.bridge.ReadableMapKeySetIterator;
|
|
16
|
-
import com.facebook.react.config.ReactFeatureFlags;
|
|
17
16
|
|
|
18
17
|
/**
|
|
19
18
|
* Class responsible for optimizing the native view hierarchy while still respecting the final UI
|
|
@@ -425,18 +424,16 @@ public class NativeViewHierarchyOptimizer {
|
|
|
425
424
|
// Bit of a hack: we need to update the layout of this node's children now that it's no longer
|
|
426
425
|
// layout-only, but we may still receive more layout updates at the end of this batch that we
|
|
427
426
|
// don't want to ignore.
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
+ mTagsWithLayoutVisited.size());
|
|
439
|
-
}
|
|
427
|
+
FLog.i(
|
|
428
|
+
TAG,
|
|
429
|
+
"Transitioning LayoutOnlyView - tag: "
|
|
430
|
+
+ node.getReactTag()
|
|
431
|
+
+ " - rootTag: "
|
|
432
|
+
+ node.getRootTag()
|
|
433
|
+
+ " - hasProps: "
|
|
434
|
+
+ (props != null)
|
|
435
|
+
+ " - tagsWithLayout.size: "
|
|
436
|
+
+ mTagsWithLayoutVisited.size());
|
|
440
437
|
Assertions.assertCondition(mTagsWithLayoutVisited.size() == 0);
|
|
441
438
|
applyLayoutBase(node);
|
|
442
439
|
for (int i = 0; i < node.getChildCount(); i++) {
|
|
@@ -24,11 +24,6 @@ public class PixelUtil {
|
|
|
24
24
|
return toPixelFromDIP((float) value);
|
|
25
25
|
}
|
|
26
26
|
|
|
27
|
-
/** Convert from PX to SP */
|
|
28
|
-
public static float toSPFromPixel(float value) {
|
|
29
|
-
return value / DisplayMetricsHolder.getScreenDisplayMetrics().scaledDensity;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
27
|
/** Convert from SP to PX */
|
|
33
28
|
public static float toPixelFromSP(float value) {
|
|
34
29
|
return toPixelFromSP(value, Float.NaN);
|
|
@@ -58,6 +53,6 @@ public class PixelUtil {
|
|
|
58
53
|
|
|
59
54
|
/** @return {@link float} that represents the density of the display metrics for device screen. */
|
|
60
55
|
public static float getDisplayMetricDensity() {
|
|
61
|
-
return DisplayMetricsHolder.
|
|
56
|
+
return DisplayMetricsHolder.getWindowDisplayMetrics().density;
|
|
62
57
|
}
|
|
63
58
|
}
|
package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactAccessibilityDelegate.java
CHANGED
|
@@ -26,7 +26,7 @@ import com.facebook.react.bridge.Arguments;
|
|
|
26
26
|
import com.facebook.react.bridge.Dynamic;
|
|
27
27
|
import com.facebook.react.bridge.ReactContext;
|
|
28
28
|
import com.facebook.react.bridge.ReactNoCrashSoftException;
|
|
29
|
-
import com.facebook.react.bridge.
|
|
29
|
+
import com.facebook.react.bridge.ReactSoftExceptionLogger;
|
|
30
30
|
import com.facebook.react.bridge.ReadableArray;
|
|
31
31
|
import com.facebook.react.bridge.ReadableMap;
|
|
32
32
|
import com.facebook.react.bridge.ReadableMapKeySetIterator;
|
|
@@ -107,6 +107,7 @@ public class ReactAccessibilityDelegate extends AccessibilityDelegateCompat {
|
|
|
107
107
|
TAB,
|
|
108
108
|
TABLIST,
|
|
109
109
|
TIMER,
|
|
110
|
+
LIST,
|
|
110
111
|
TOOLBAR;
|
|
111
112
|
|
|
112
113
|
public static String getValue(AccessibilityRole role) {
|
|
@@ -135,6 +136,8 @@ public class ReactAccessibilityDelegate extends AccessibilityDelegateCompat {
|
|
|
135
136
|
return "android.widget.SpinButton";
|
|
136
137
|
case SWITCH:
|
|
137
138
|
return "android.widget.Switch";
|
|
139
|
+
case LIST:
|
|
140
|
+
return "android.widget.AbsListView";
|
|
138
141
|
case NONE:
|
|
139
142
|
case LINK:
|
|
140
143
|
case SUMMARY:
|
|
@@ -316,7 +319,7 @@ public class ReactAccessibilityDelegate extends AccessibilityDelegateCompat {
|
|
|
316
319
|
});
|
|
317
320
|
}
|
|
318
321
|
} else {
|
|
319
|
-
|
|
322
|
+
ReactSoftExceptionLogger.logSoftException(
|
|
320
323
|
TAG, new ReactNoCrashSoftException("Cannot get RCTEventEmitter, no CatalystInstance"));
|
|
321
324
|
}
|
|
322
325
|
|
|
@@ -385,18 +388,14 @@ public class ReactAccessibilityDelegate extends AccessibilityDelegateCompat {
|
|
|
385
388
|
spannable.setSpan(new URLSpan(""), 0, spannable.length(), 0);
|
|
386
389
|
nodeInfo.setText(spannable);
|
|
387
390
|
}
|
|
388
|
-
} else if (role.equals(AccessibilityRole.SEARCH)) {
|
|
389
|
-
nodeInfo.setRoleDescription(context.getString(R.string.search_description));
|
|
390
391
|
} else if (role.equals(AccessibilityRole.IMAGE)) {
|
|
391
392
|
nodeInfo.setRoleDescription(context.getString(R.string.image_description));
|
|
392
393
|
} else if (role.equals(AccessibilityRole.IMAGEBUTTON)) {
|
|
393
394
|
nodeInfo.setRoleDescription(context.getString(R.string.imagebutton_description));
|
|
394
395
|
nodeInfo.setClickable(true);
|
|
395
396
|
} else if (role.equals(AccessibilityRole.BUTTON)) {
|
|
396
|
-
nodeInfo.setRoleDescription(context.getString(R.string.button_description));
|
|
397
397
|
nodeInfo.setClickable(true);
|
|
398
398
|
} else if (role.equals(AccessibilityRole.TOGGLEBUTTON)) {
|
|
399
|
-
nodeInfo.setRoleDescription(context.getString(R.string.toggle_button_description));
|
|
400
399
|
nodeInfo.setClickable(true);
|
|
401
400
|
nodeInfo.setCheckable(true);
|
|
402
401
|
} else if (role.equals(AccessibilityRole.SUMMARY)) {
|
package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactClippingProhibitedView.java
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
package com.facebook.react.uimanager;
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Some Views may not function if added directly to a ViewGroup that clips them. For example, TTRC
|
|
12
|
+
* markers may rely on `onDraw` functionality to work properly, and will break if they're clipped
|
|
13
|
+
* out of the View hierarchy for any resaon.
|
|
14
|
+
*
|
|
15
|
+
* <p>This situation can occur more often in Fabric with View Flattening. We may prevent this sort
|
|
16
|
+
* of View Flattening from occurring in the future, but the connection is not entirely certain.
|
|
17
|
+
*
|
|
18
|
+
* <p>This can occur either because ReactViewGroup clips them out, using the ordinarary subview
|
|
19
|
+
* clipping feature. It is also possible if a View is added directly to a ReactRootView below the
|
|
20
|
+
* fold of the screen.
|
|
21
|
+
*
|
|
22
|
+
* <p>Generally the solution is to prevent View flattening in JS by adding `collapsable=false` to a
|
|
23
|
+
* parent component of the clipped view, and/or move the View higher up in the hierarchy so it is
|
|
24
|
+
* always rendered within the first page of the screen.
|
|
25
|
+
*/
|
|
26
|
+
public interface ReactClippingProhibitedView {}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
package com.facebook.react.uimanager;
|
|
9
|
+
|
|
10
|
+
import android.view.View;
|
|
11
|
+
import androidx.annotation.Nullable;
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Interface that should be implemented by {@link View} subclasses that support {@code overflow}
|
|
15
|
+
* style. This allows the overflow information to be used by {@link TouchTargetHelper} to determine
|
|
16
|
+
* if a View is touchable.
|
|
17
|
+
*/
|
|
18
|
+
public interface ReactOverflowView {
|
|
19
|
+
/**
|
|
20
|
+
* Gets the overflow state of a view. If set, this should be one of {@link ViewProps#HIDDEN},
|
|
21
|
+
* {@link ViewProps#VISIBLE} or {@link ViewProps#SCROLL}.
|
|
22
|
+
*/
|
|
23
|
+
@Nullable
|
|
24
|
+
String getOverflow();
|
|
25
|
+
}
|
|
@@ -17,6 +17,9 @@ import androidx.annotation.Nullable;
|
|
|
17
17
|
import com.facebook.react.bridge.JSApplicationIllegalArgumentException;
|
|
18
18
|
import com.facebook.react.bridge.UiThreadUtil;
|
|
19
19
|
import com.facebook.react.touch.ReactHitSlopView;
|
|
20
|
+
import java.util.ArrayList;
|
|
21
|
+
import java.util.EnumSet;
|
|
22
|
+
import java.util.List;
|
|
20
23
|
|
|
21
24
|
/**
|
|
22
25
|
* Class responsible for identifying which react view should handle a given {@link MotionEvent}. It
|
|
@@ -80,7 +83,7 @@ public class TouchTargetHelper {
|
|
|
80
83
|
// Store eventCoords in array so that they are modified to be relative to the targetView found.
|
|
81
84
|
viewCoords[0] = eventX;
|
|
82
85
|
viewCoords[1] = eventY;
|
|
83
|
-
View nativeTargetView =
|
|
86
|
+
View nativeTargetView = findTouchTargetViewWithPointerEvents(viewCoords, viewGroup, null);
|
|
84
87
|
if (nativeTargetView != null) {
|
|
85
88
|
View reactTargetView = findClosestReactAncestor(nativeTargetView);
|
|
86
89
|
if (reactTargetView != null) {
|
|
@@ -93,6 +96,39 @@ public class TouchTargetHelper {
|
|
|
93
96
|
return targetTag;
|
|
94
97
|
}
|
|
95
98
|
|
|
99
|
+
/**
|
|
100
|
+
* Find touch event target view within the provided container given the coordinates provided via
|
|
101
|
+
* {@link MotionEvent}.
|
|
102
|
+
*
|
|
103
|
+
* @param eventX the X screen coordinate of the touch location
|
|
104
|
+
* @param eventY the Y screen coordinate of the touch location
|
|
105
|
+
* @param viewGroup the container view to traverse
|
|
106
|
+
* @param viewCoords an out parameter that will return the X,Y value in the target view
|
|
107
|
+
* @return If a target was found, returns a path through the view tree of all react tags that are
|
|
108
|
+
* a container for the touch target, ordered from target to root (last element)
|
|
109
|
+
*/
|
|
110
|
+
public static List<Integer> findTargetPathAndCoordinatesForTouch(
|
|
111
|
+
float eventX, float eventY, ViewGroup viewGroup, float[] viewCoords) {
|
|
112
|
+
UiThreadUtil.assertOnUiThread();
|
|
113
|
+
|
|
114
|
+
// Store eventCoords in array so that they are modified to be relative to the targetView found.
|
|
115
|
+
viewCoords[0] = eventX;
|
|
116
|
+
viewCoords[1] = eventY;
|
|
117
|
+
|
|
118
|
+
List<Integer> pathAccumulator = new ArrayList<>();
|
|
119
|
+
View targetView = findTouchTargetViewWithPointerEvents(viewCoords, viewGroup, pathAccumulator);
|
|
120
|
+
|
|
121
|
+
if (targetView != null) {
|
|
122
|
+
View reactTargetView = findClosestReactAncestor(targetView);
|
|
123
|
+
int targetTag = getTouchTargetForView(reactTargetView, viewCoords[0], viewCoords[1]);
|
|
124
|
+
if (targetTag != pathAccumulator.get(0)) {
|
|
125
|
+
pathAccumulator.add(0, targetTag);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
return pathAccumulator;
|
|
130
|
+
}
|
|
131
|
+
|
|
96
132
|
private static View findClosestReactAncestor(View view) {
|
|
97
133
|
while (view != null && view.getId() <= 0) {
|
|
98
134
|
view = (View) view.getParent();
|
|
@@ -100,6 +136,14 @@ public class TouchTargetHelper {
|
|
|
100
136
|
return view;
|
|
101
137
|
}
|
|
102
138
|
|
|
139
|
+
/** Types of allowed return values from {@link #findTouchTargetView}. */
|
|
140
|
+
private enum TouchTargetReturnType {
|
|
141
|
+
/** Allow returning the view passed in through the parameters. */
|
|
142
|
+
SELF,
|
|
143
|
+
/** Allow returning children of the view passed in through parameters. */
|
|
144
|
+
CHILD,
|
|
145
|
+
}
|
|
146
|
+
|
|
103
147
|
/**
|
|
104
148
|
* Returns the touch target View that is either viewGroup or one if its descendants. This is a
|
|
105
149
|
* recursive DFS since view the entire tree must be parsed until the target is found. If the
|
|
@@ -111,43 +155,91 @@ public class TouchTargetHelper {
|
|
|
111
155
|
* be relative to the current viewGroup. When the method returns, it will contain the eventCoords
|
|
112
156
|
* relative to the targetView found.
|
|
113
157
|
*/
|
|
114
|
-
private static View findTouchTargetView(
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
158
|
+
private static View findTouchTargetView(
|
|
159
|
+
float[] eventCoords,
|
|
160
|
+
View view,
|
|
161
|
+
EnumSet<TouchTargetReturnType> allowReturnTouchTargetTypes,
|
|
162
|
+
List<Integer> pathAccumulator) {
|
|
163
|
+
// We prefer returning a child, so we check for a child that can handle the touch first
|
|
164
|
+
if (allowReturnTouchTargetTypes.contains(TouchTargetReturnType.CHILD)
|
|
165
|
+
&& view instanceof ViewGroup) {
|
|
166
|
+
ViewGroup viewGroup = (ViewGroup) view;
|
|
167
|
+
int childrenCount = viewGroup.getChildCount();
|
|
168
|
+
// Consider z-index when determining the touch target.
|
|
169
|
+
ReactZIndexedViewGroup zIndexedViewGroup =
|
|
170
|
+
viewGroup instanceof ReactZIndexedViewGroup ? (ReactZIndexedViewGroup) viewGroup : null;
|
|
171
|
+
for (int i = childrenCount - 1; i >= 0; i--) {
|
|
172
|
+
int childIndex =
|
|
173
|
+
zIndexedViewGroup != null ? zIndexedViewGroup.getZIndexMappedChildIndex(i) : i;
|
|
174
|
+
View child = viewGroup.getChildAt(childIndex);
|
|
175
|
+
PointF childPoint = mTempPoint;
|
|
176
|
+
getChildPoint(eventCoords[0], eventCoords[1], viewGroup, child, childPoint);
|
|
177
|
+
// The childPoint value will contain the view coordinates relative to the child.
|
|
128
178
|
// We need to store the existing X,Y for the viewGroup away as it is possible this child
|
|
129
179
|
// will not actually be the target and so we restore them if not
|
|
130
180
|
float restoreX = eventCoords[0];
|
|
131
181
|
float restoreY = eventCoords[1];
|
|
132
182
|
eventCoords[0] = childPoint.x;
|
|
133
183
|
eventCoords[1] = childPoint.y;
|
|
134
|
-
View targetView = findTouchTargetViewWithPointerEvents(eventCoords, child);
|
|
184
|
+
View targetView = findTouchTargetViewWithPointerEvents(eventCoords, child, pathAccumulator);
|
|
185
|
+
|
|
135
186
|
if (targetView != null) {
|
|
136
|
-
|
|
187
|
+
// We don't allow touches on views that are outside the bounds of an `overflow: hidden`
|
|
188
|
+
// View
|
|
189
|
+
boolean inOverflowBounds = true;
|
|
190
|
+
if (viewGroup instanceof ReactOverflowView) {
|
|
191
|
+
@Nullable String overflow = ((ReactOverflowView) viewGroup).getOverflow();
|
|
192
|
+
if ((ViewProps.HIDDEN.equals(overflow) || ViewProps.SCROLL.equals(overflow))
|
|
193
|
+
&& !isTouchPointInView(restoreX, restoreY, view)) {
|
|
194
|
+
inOverflowBounds = false;
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
if (inOverflowBounds) {
|
|
198
|
+
return targetView;
|
|
199
|
+
}
|
|
137
200
|
}
|
|
138
201
|
eventCoords[0] = restoreX;
|
|
139
202
|
eventCoords[1] = restoreY;
|
|
140
203
|
}
|
|
141
204
|
}
|
|
142
|
-
|
|
205
|
+
|
|
206
|
+
// Check if parent can handle the touch after the children
|
|
207
|
+
if (allowReturnTouchTargetTypes.contains(TouchTargetReturnType.SELF)
|
|
208
|
+
&& isTouchPointInView(eventCoords[0], eventCoords[1], view)) {
|
|
209
|
+
return view;
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
return null;
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
/**
|
|
216
|
+
* Checks whether a touch at {@code x} and {@code y} are within the bounds of the View. Both
|
|
217
|
+
* {@code x} and {@code y} must be relative to the top-left corner of the view.
|
|
218
|
+
*/
|
|
219
|
+
private static boolean isTouchPointInView(float x, float y, View view) {
|
|
220
|
+
if (view instanceof ReactHitSlopView && ((ReactHitSlopView) view).getHitSlopRect() != null) {
|
|
221
|
+
Rect hitSlopRect = ((ReactHitSlopView) view).getHitSlopRect();
|
|
222
|
+
if ((x >= -hitSlopRect.left && x < (view.getWidth()) + hitSlopRect.right)
|
|
223
|
+
&& (y >= -hitSlopRect.top && y < (view.getHeight()) + hitSlopRect.bottom)) {
|
|
224
|
+
return true;
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
return false;
|
|
228
|
+
} else {
|
|
229
|
+
if ((x >= 0 && x < (view.getWidth())) && (y >= 0 && y < (view.getHeight()))) {
|
|
230
|
+
return true;
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
return false;
|
|
234
|
+
}
|
|
143
235
|
}
|
|
144
236
|
|
|
145
237
|
/**
|
|
146
|
-
* Returns
|
|
147
|
-
*
|
|
238
|
+
* Returns the coordinates of a touch in the child View. It is transform aware and will invert the
|
|
239
|
+
* transform Matrix to find the true local points This code is taken from {@link
|
|
148
240
|
* ViewGroup#isTransformedTouchPointInView()}
|
|
149
241
|
*/
|
|
150
|
-
private static
|
|
242
|
+
private static void getChildPoint(
|
|
151
243
|
float x, float y, ViewGroup parent, View child, PointF outLocalPoint) {
|
|
152
244
|
float localX = x + parent.getScrollX() - child.getLeft();
|
|
153
245
|
float localY = y + parent.getScrollY() - child.getTop();
|
|
@@ -162,26 +254,7 @@ public class TouchTargetHelper {
|
|
|
162
254
|
localX = localXY[0];
|
|
163
255
|
localY = localXY[1];
|
|
164
256
|
}
|
|
165
|
-
|
|
166
|
-
Rect hitSlopRect = ((ReactHitSlopView) child).getHitSlopRect();
|
|
167
|
-
if ((localX >= -hitSlopRect.left
|
|
168
|
-
&& localX < (child.getRight() - child.getLeft()) + hitSlopRect.right)
|
|
169
|
-
&& (localY >= -hitSlopRect.top
|
|
170
|
-
&& localY < (child.getBottom() - child.getTop()) + hitSlopRect.bottom)) {
|
|
171
|
-
outLocalPoint.set(localX, localY);
|
|
172
|
-
return true;
|
|
173
|
-
}
|
|
174
|
-
|
|
175
|
-
return false;
|
|
176
|
-
} else {
|
|
177
|
-
if ((localX >= 0 && localX < (child.getRight() - child.getLeft()))
|
|
178
|
-
&& (localY >= 0 && localY < (child.getBottom() - child.getTop()))) {
|
|
179
|
-
outLocalPoint.set(localX, localY);
|
|
180
|
-
return true;
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
return false;
|
|
184
|
-
}
|
|
257
|
+
outLocalPoint.set(localX, localY);
|
|
185
258
|
}
|
|
186
259
|
|
|
187
260
|
/**
|
|
@@ -189,7 +262,7 @@ public class TouchTargetHelper {
|
|
|
189
262
|
* its descendants are the touch target.
|
|
190
263
|
*/
|
|
191
264
|
private static @Nullable View findTouchTargetViewWithPointerEvents(
|
|
192
|
-
float eventCoords[], View view) {
|
|
265
|
+
float eventCoords[], View view, @Nullable List<Integer> pathAccumulator) {
|
|
193
266
|
PointerEvents pointerEvents =
|
|
194
267
|
view instanceof ReactPointerEventsView
|
|
195
268
|
? ((ReactPointerEventsView) view).getPointerEvents()
|
|
@@ -211,45 +284,68 @@ public class TouchTargetHelper {
|
|
|
211
284
|
return null;
|
|
212
285
|
|
|
213
286
|
} else if (pointerEvents == PointerEvents.BOX_ONLY) {
|
|
214
|
-
// This view
|
|
215
|
-
|
|
287
|
+
// This view may be the target, its children don't matter
|
|
288
|
+
View targetView =
|
|
289
|
+
findTouchTargetView(
|
|
290
|
+
eventCoords, view, EnumSet.of(TouchTargetReturnType.SELF), pathAccumulator);
|
|
291
|
+
if (targetView != null && pathAccumulator != null) {
|
|
292
|
+
pathAccumulator.add(view.getId());
|
|
293
|
+
}
|
|
294
|
+
return targetView;
|
|
216
295
|
|
|
217
296
|
} else if (pointerEvents == PointerEvents.BOX_NONE) {
|
|
218
297
|
// This view can't be the target, but its children might.
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
298
|
+
View targetView =
|
|
299
|
+
findTouchTargetView(
|
|
300
|
+
eventCoords, view, EnumSet.of(TouchTargetReturnType.CHILD), pathAccumulator);
|
|
301
|
+
if (targetView != null) {
|
|
302
|
+
if (pathAccumulator != null) {
|
|
303
|
+
pathAccumulator.add(view.getId());
|
|
223
304
|
}
|
|
305
|
+
return targetView;
|
|
306
|
+
}
|
|
224
307
|
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
308
|
+
// PointerEvents.BOX_NONE means that this react element cannot receive pointer events.
|
|
309
|
+
// However, there might be virtual children that can receive pointer events, in which case
|
|
310
|
+
// we still want to return this View and dispatch a pointer event to the virtual element.
|
|
311
|
+
// Note that this currently only applies to Nodes/FlatViewGroup as it's the only class that
|
|
312
|
+
// is both a ViewGroup and ReactCompoundView (ReactTextView is a ReactCompoundView but not a
|
|
313
|
+
// ViewGroup).
|
|
314
|
+
if (view instanceof ReactCompoundView
|
|
315
|
+
&& isTouchPointInView(eventCoords[0], eventCoords[1], view)) {
|
|
316
|
+
int reactTag = ((ReactCompoundView) view).reactTagForTouch(eventCoords[0], eventCoords[1]);
|
|
317
|
+
// make sure we exclude the View itself because of the PointerEvents.BOX_NONE
|
|
318
|
+
if (reactTag != view.getId()) {
|
|
319
|
+
if (pathAccumulator != null) {
|
|
320
|
+
pathAccumulator.add(view.getId());
|
|
237
321
|
}
|
|
322
|
+
return view;
|
|
238
323
|
}
|
|
239
324
|
}
|
|
325
|
+
|
|
240
326
|
return null;
|
|
241
327
|
|
|
242
328
|
} else if (pointerEvents == PointerEvents.AUTO) {
|
|
243
329
|
// Either this view or one of its children is the target
|
|
244
|
-
if (view instanceof ReactCompoundViewGroup
|
|
245
|
-
|
|
246
|
-
|
|
330
|
+
if (view instanceof ReactCompoundViewGroup
|
|
331
|
+
&& isTouchPointInView(eventCoords[0], eventCoords[1], view)
|
|
332
|
+
&& ((ReactCompoundViewGroup) view).interceptsTouchEvent(eventCoords[0], eventCoords[1])) {
|
|
333
|
+
if (pathAccumulator != null) {
|
|
334
|
+
pathAccumulator.add(view.getId());
|
|
247
335
|
}
|
|
336
|
+
return view;
|
|
248
337
|
}
|
|
249
|
-
|
|
250
|
-
|
|
338
|
+
|
|
339
|
+
View result =
|
|
340
|
+
findTouchTargetView(
|
|
341
|
+
eventCoords,
|
|
342
|
+
view,
|
|
343
|
+
EnumSet.of(TouchTargetReturnType.SELF, TouchTargetReturnType.CHILD),
|
|
344
|
+
pathAccumulator);
|
|
345
|
+
if (result != null && pathAccumulator != null) {
|
|
346
|
+
pathAccumulator.add(view.getId());
|
|
251
347
|
}
|
|
252
|
-
return
|
|
348
|
+
return result;
|
|
253
349
|
|
|
254
350
|
} else {
|
|
255
351
|
throw new JSApplicationIllegalArgumentException(
|
|
@@ -21,7 +21,6 @@ import com.facebook.react.bridge.ReadableMap;
|
|
|
21
21
|
import com.facebook.react.bridge.UiThreadUtil;
|
|
22
22
|
import com.facebook.react.bridge.WritableArray;
|
|
23
23
|
import com.facebook.react.common.ReactConstants;
|
|
24
|
-
import com.facebook.react.config.ReactFeatureFlags;
|
|
25
24
|
import com.facebook.react.modules.i18nmanager.I18nUtil;
|
|
26
25
|
import com.facebook.react.uimanager.debug.NotThreadSafeViewHierarchyUpdateDebugListener;
|
|
27
26
|
import com.facebook.react.uimanager.events.EventDispatcher;
|
|
@@ -965,9 +964,7 @@ public class UIImplementation {
|
|
|
965
964
|
}
|
|
966
965
|
}
|
|
967
966
|
cssNode.markUpdateSeen();
|
|
968
|
-
|
|
969
|
-
mNativeViewHierarchyOptimizer.onViewUpdatesCompleted(cssNode);
|
|
970
|
-
}
|
|
967
|
+
mNativeViewHierarchyOptimizer.onViewUpdatesCompleted(cssNode);
|
|
971
968
|
}
|
|
972
969
|
|
|
973
970
|
public void addUIBlock(UIBlock block) {
|