react-native 0.0.0-16bb2ae4f → 0.0.0-18697adec
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/NativeAnimatedHelper.js +3 -3
- package/Libraries/BatchedBridge/MessageQueue.js +10 -10
- package/Libraries/Blob/FileReader.js +1 -1
- package/Libraries/Blob/React-RCTBlob.podspec +1 -1
- package/Libraries/Blob/URL.js +1 -1
- package/Libraries/Components/Button.js +3 -0
- package/Libraries/Components/DatePicker/DatePickerIOS.ios.js +3 -6
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +4 -7
- package/Libraries/Components/ScrollView/ScrollView.js +14 -5
- package/Libraries/Components/ScrollView/ScrollViewNativeComponentType.js +1 -0
- package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +268 -252
- package/Libraries/Components/ScrollView/ScrollViewViewConfig.js +1 -0
- package/Libraries/Components/StatusBar/StatusBar.js +6 -14
- package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +2 -3
- package/Libraries/Components/TextInput/AndroidTextInputViewConfig.js +1 -0
- package/Libraries/Components/TextInput/TextInput.js +27 -1
- package/Libraries/Components/TextInput/TextInputState.js +1 -1
- package/Libraries/Components/View/ViewAccessibility.js +1 -0
- package/Libraries/Core/ExceptionsManager.js +3 -1
- 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/DeprecatedTextInputPropTypes.js +1 -1
- package/Libraries/Image/Image.ios.js +6 -0
- package/Libraries/Image/ImageBackground.js +10 -8
- package/Libraries/Image/ImageProps.js +28 -0
- package/Libraries/Image/ImageSource.js +1 -1
- package/Libraries/Image/React-RCTImage.podspec +1 -1
- package/Libraries/LinkingIOS/React-RCTLinking.podspec +1 -1
- package/Libraries/Lists/FlatList.js +43 -26
- package/Libraries/Lists/VirtualizedList.js +3 -1
- package/Libraries/Lists/__flowtests__/SectionList-flowtest.js +4 -4
- package/Libraries/LogBox/Data/LogBoxData.js +18 -18
- 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/NativeAnimation/Nodes/RCTPropsAnimatedNode.m +0 -3
- package/Libraries/NativeAnimation/RCTNativeAnimatedModule.mm +6 -3
- package/Libraries/NativeAnimation/RCTNativeAnimatedTurboModule.h +1 -2
- package/Libraries/NativeAnimation/RCTNativeAnimatedTurboModule.mm +17 -11
- package/Libraries/NativeAnimation/React-RCTAnimation.podspec +1 -1
- package/Libraries/Network/React-RCTNetwork.podspec +1 -1
- package/Libraries/Network/XMLHttpRequest.js +3 -1
- package/Libraries/NewAppScreen/components/logo.png +0 -0
- package/Libraries/Performance/QuickPerformanceLogger.js +2 -1
- package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +2 -1
- package/Libraries/PermissionsAndroid/PermissionsAndroid.js +2 -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/AppRegistry.js +1 -1
- package/Libraries/ReactNative/PaperUIManager.js +1 -0
- package/Libraries/ReactNative/renderApplication.js +1 -1
- package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +1 -2
- package/Libraries/Reliability/UserFlow.js +7 -0
- package/Libraries/Renderer/REVISION +1 -1
- package/Libraries/Renderer/implementations/ReactFabric-dev.fb.js +4485 -3842
- package/Libraries/Renderer/implementations/ReactFabric-prod.fb.js +2060 -1709
- package/Libraries/Renderer/implementations/ReactFabric-profiling.fb.js +2148 -1796
- package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.fb.js +4264 -3695
- package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.fb.js +1303 -1063
- package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.fb.js +1374 -1139
- package/Libraries/Renderer/shims/ReactFabric.js +3 -1
- package/Libraries/Renderer/shims/ReactFeatureFlags.js +3 -1
- package/Libraries/Renderer/shims/ReactNative.js +3 -1
- package/Libraries/Renderer/shims/ReactNativeTypes.js +3 -1
- 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/StyleSheet/normalizeColor.js +2 -2
- package/Libraries/Text/Text.js +11 -0
- package/Libraries/Text/TextInput/RCTBaseTextInputView.m +2 -12
- package/Libraries/Text/TextInput/RCTInputAccessoryViewContent.m +4 -11
- package/Libraries/Text/TextProps.js +1 -7
- package/Libraries/TurboModule/TurboModuleRegistry.js +1 -1
- 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 +10 -6
- package/Libraries/Utilities/MatrixMath.js +1 -1
- package/Libraries/Utilities/NativeDeviceInfo.js +1 -1
- package/Libraries/Utilities/deprecatedPropType.js +2 -2
- package/Libraries/Utilities/useWindowDimensions.js +7 -2
- package/Libraries/Vibration/React-RCTVibration.podspec +1 -1
- package/Libraries/vendor/emitter/_EventSubscriptionVendor.js +1 -1
- package/React/Base/RCTBridge+Private.h +8 -0
- package/React/Base/RCTBridge.h +13 -0
- package/React/Base/RCTBridge.m +30 -7
- package/React/Base/RCTBridgeModule.h +3 -12
- package/React/Base/RCTBundleURLProvider.h +26 -1
- package/React/Base/RCTBundleURLProvider.mm +79 -15
- 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 +1 -1
- package/React/Base/RCTCxxConvert.h +1 -1
- package/React/Base/RCTDefines.h +12 -3
- package/React/Base/RCTEventDispatcherProtocol.h +2 -0
- package/React/Base/RCTJSThread.h +29 -0
- package/React/Base/RCTJSThread.m +19 -0
- 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 +11 -0
- package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingProxyRootView.mm +35 -1
- package/React/CoreModules/BUCK +3 -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 +5 -10
- package/React/CoreModules/RCTDevSettings.mm +12 -10
- package/React/CoreModules/RCTDevSplitBundleLoader.mm +1 -1
- package/React/CoreModules/RCTDeviceInfo.mm +4 -4
- package/React/CoreModules/RCTEventDispatcher.mm +5 -0
- package/React/CoreModules/RCTLogBox.mm +14 -10
- package/React/CoreModules/RCTPerfMonitor.mm +9 -4
- package/React/CoreModules/RCTRedBox.mm +1 -5
- package/React/CoreModules/React-CoreModules.podspec +1 -1
- package/React/CxxBridge/RCTCxxBridge.mm +18 -1
- 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/ScrollView/RCTScrollViewComponentView.mm +64 -62
- package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +31 -11
- package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.h +6 -0
- package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +108 -4
- 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 +12 -5
- package/React/Fabric/RCTSurfacePresenter.mm +6 -7
- package/React/Fabric/RCTSurfacePresenterBridgeAdapter.h +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/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 +1 -1
- 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.m +2 -7
- package/React/Views/RCTViewManager.m +4 -2
- package/React/Views/SafeAreaView/RCTSafeAreaView.m +1 -5
- package/React/Views/ScrollView/RCTScrollView.h +1 -0
- package/React/Views/ScrollView/RCTScrollView.m +111 -36
- package/React/Views/ScrollView/RCTScrollViewManager.m +1 -7
- package/React/Views/UIView+React.m +2 -11
- package/React-Core.podspec +1 -1
- package/ReactAndroid/Android-prebuilt.mk +8 -0
- package/ReactAndroid/README.md +1 -1
- package/ReactAndroid/build.gradle +12 -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 -1
- 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 -7
- 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/react/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/ReactActivity.java +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/ReactAndroidHWInputDeviceHelper.java +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/ReactFragment.java +6 -2
- package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +89 -44
- 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 +5 -4
- 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 +4 -4
- 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 -0
- 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/{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/jni/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/config/ReactFeatureFlags.java +32 -4
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BUCK +1 -1
- 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 +14 -9
- 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/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 +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +64 -31
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventEmitterWrapper.java +3 -3
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Android.mk +2 -1
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Binding.cpp +54 -10
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Binding.h +7 -1
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountItemDispatcher.java +14 -6
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountingManager.java +4 -4
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.java +40 -11
- 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/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 -1
- package/ReactAndroid/src/main/java/com/facebook/react/shell/MainReactPackage.java +0 -5
- 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/PixelUtil.java +1 -6
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactAccessibilityDelegate.java +2 -2
- 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/UIManagerHelper.java +9 -9
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java +1 -0
- 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 +12 -20
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/LockFreeEventDispatcherImpl.java +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/ReactEventEmitter.java +14 -13
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchEvent.java +21 -5
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchesHelper.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/jni/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/BUCK +1 -1
- 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 +9 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +24 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ScrollEvent.java +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/views/slider/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/slider/ReactSliderManager.java +4 -7
- 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/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 +8 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributeProps.java +20 -1
- 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/textinput/BUCK +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java +14 -4
- 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 +114 -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 +24 -3
- 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 +61 -0
- package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.h +8 -0
- package/ReactAndroid/src/main/jni/react/jni/JReactCxxErrorHandler.cpp +18 -0
- package/ReactAndroid/src/main/jni/react/jni/JReactCxxErrorHandler.h +25 -0
- 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/core/Constants.cpp → ReactAndroid/src/main/jni/react/jni/JRuntimeScheduler.cpp} +6 -8
- 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/third-party/libevent/Android.mk +0 -1
- package/ReactAndroid/src/main/third-party/android/androidx/BUCK +63 -2
- package/ReactAndroid/src/main/third-party/java/testing-support-lib/BUCK +0 -31
- 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/ReactCommon/React-Fabric.podspec +10 -1
- package/ReactCommon/ReactCommon.podspec +2 -1
- 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 -0
- package/ReactCommon/cxxreact/CxxNativeModule.cpp +28 -0
- package/ReactCommon/cxxreact/CxxNativeModule.h +9 -0
- package/ReactCommon/cxxreact/React-cxxreact.podspec +2 -1
- package/ReactCommon/cxxreact/ReactNativeVersion.h +1 -1
- package/ReactCommon/hermes/React-hermes.podspec +1 -1
- 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 +1 -1
- package/ReactCommon/jsiexecutor/Android.mk +2 -2
- package/ReactCommon/jsiexecutor/React-jsiexecutor.podspec +1 -1
- package/ReactCommon/logger/Android.mk +23 -0
- package/ReactCommon/logger/BUCK +43 -0
- package/ReactCommon/logger/React-logger.podspec +40 -0
- package/ReactCommon/logger/react_native_log.cpp +52 -0
- package/ReactCommon/logger/react_native_log.h +33 -0
- package/ReactCommon/react/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 +51 -29
- package/ReactCommon/react/nativemodule/core/platform/ios/RCTTurboModuleManager.mm +45 -34
- 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 -1136
- 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 +9 -6
- 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 +10 -4
- 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/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 +8 -4
- 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 +45 -4
- package/ReactCommon/react/renderer/components/scrollview/ScrollViewProps.h +5 -1
- 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/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/RawTextProps.cpp +3 -2
- package/ReactCommon/react/renderer/components/text/RawTextProps.h +5 -1
- package/ReactCommon/react/renderer/components/text/RawTextShadowNode.h +0 -6
- 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 +0 -6
- 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 +15 -3
- 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 +21 -0
- package/ReactCommon/react/renderer/components/view/AccessibilityProps.cpp +24 -1
- package/ReactCommon/react/renderer/components/view/AccessibilityProps.h +3 -0
- 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/ViewComponentDescriptor.h +0 -22
- 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 +2 -10
- package/ReactCommon/react/renderer/components/view/ViewShadowNode.cpp +5 -4
- 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 +62 -8
- package/ReactCommon/react/renderer/components/view/conversions.h +57 -14
- 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/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 +12 -31
- package/ReactCommon/react/renderer/core/EventDispatcher.h +1 -4
- 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/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/RawPropsParser.h +11 -2
- package/ReactCommon/react/renderer/core/ReactPrimitives.h +0 -2
- package/ReactCommon/react/renderer/core/ShadowNode.cpp +7 -10
- 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 +11 -1
- package/ReactCommon/react/renderer/core/propsConversions.h +18 -8
- package/ReactCommon/react/renderer/core/tests/ComponentDescriptorTest.cpp +16 -4
- package/ReactCommon/react/renderer/core/tests/RawPropsTest.cpp +85 -20
- package/ReactCommon/react/renderer/core/tests/TestComponent.h +6 -2
- 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 +2 -1
- package/ReactCommon/react/renderer/graphics/Transform.cpp +1 -1
- 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/PlatformColorParser.h +29 -0
- package/ReactCommon/react/renderer/graphics/platform/ios/Color.h +42 -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/mapbuffer/BUCK +2 -2
- package/ReactCommon/react/renderer/mounting/Android.mk +2 -1
- package/ReactCommon/react/renderer/mounting/MountingOverrideDelegate.h +1 -1
- package/ReactCommon/react/renderer/mounting/ShadowTree.cpp +6 -2
- package/ReactCommon/react/renderer/mounting/ShadowTree.h +3 -1
- package/ReactCommon/react/renderer/mounting/ShadowViewMutation.cpp +12 -0
- package/ReactCommon/react/renderer/mounting/ShadowViewMutation.h +10 -1
- package/ReactCommon/react/renderer/mounting/tests/MountingTest.cpp +12 -1
- package/ReactCommon/react/renderer/mounting/tests/ShadowTreeLifeCycleTest.cpp +8 -1
- package/ReactCommon/react/renderer/mounting/tests/StateReconciliationTest.cpp +10 -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 +10 -4
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.h +9 -2
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerBinding.cpp +4 -2
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerBinding.h +4 -2
- 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 +34 -0
- package/ReactCommon/react/renderer/{core/Constants.h → scheduler/InspectorData.h} +9 -8
- package/ReactCommon/react/renderer/scheduler/Scheduler.cpp +44 -29
- package/ReactCommon/react/renderer/scheduler/Scheduler.h +14 -0
- package/ReactCommon/react/renderer/scheduler/SurfaceHandler.cpp +49 -29
- package/ReactCommon/react/renderer/scheduler/SurfaceHandler.h +12 -4
- package/ReactCommon/react/renderer/scheduler/SurfaceManager.cpp +1 -0
- 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 +34 -30
- package/ReactCommon/react/renderer/uimanager/UIManager.h +6 -3
- package/ReactCommon/react/renderer/uimanager/UIManagerAnimationDelegate.h +1 -1
- package/ReactCommon/react/renderer/uimanager/UIManagerBinding.cpp +101 -108
- package/ReactCommon/react/renderer/uimanager/UIManagerBinding.h +4 -7
- package/ReactCommon/react/test_utils/BUCK +3 -0
- package/ReactCommon/react/test_utils/MockSurfaceHandler.h +25 -0
- 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/android/com/facebook/react/react-native/{0.0.0-16bb2ae4f/react-native-0.0.0-16bb2ae4f.aar → 0.0.0-18697adec/react-native-0.0.0-18697adec.aar} +0 -0
- package/android/com/facebook/react/react-native/0.0.0-18697adec/react-native-0.0.0-18697adec.aar.md5 +1 -0
- package/android/com/facebook/react/react-native/0.0.0-18697adec/react-native-0.0.0-18697adec.aar.sha1 +1 -0
- package/android/com/facebook/react/react-native/0.0.0-18697adec/react-native-0.0.0-18697adec.aar.sha256 +1 -0
- package/android/com/facebook/react/react-native/0.0.0-18697adec/react-native-0.0.0-18697adec.aar.sha512 +1 -0
- package/android/com/facebook/react/react-native/{0.0.0-16bb2ae4f/react-native-0.0.0-16bb2ae4f.module → 0.0.0-18697adec/react-native-0.0.0-18697adec.module} +30 -17
- package/android/com/facebook/react/react-native/0.0.0-18697adec/react-native-0.0.0-18697adec.module.md5 +1 -0
- package/android/com/facebook/react/react-native/0.0.0-18697adec/react-native-0.0.0-18697adec.module.sha1 +1 -0
- package/android/com/facebook/react/react-native/0.0.0-18697adec/react-native-0.0.0-18697adec.module.sha256 +1 -0
- package/android/com/facebook/react/react-native/0.0.0-18697adec/react-native-0.0.0-18697adec.module.sha512 +1 -0
- package/android/com/facebook/react/react-native/{0.0.0-16bb2ae4f/react-native-0.0.0-16bb2ae4f.pom → 0.0.0-18697adec/react-native-0.0.0-18697adec.pom} +8 -2
- package/android/com/facebook/react/react-native/0.0.0-18697adec/react-native-0.0.0-18697adec.pom.md5 +1 -0
- package/android/com/facebook/react/react-native/0.0.0-18697adec/react-native-0.0.0-18697adec.pom.sha1 +1 -0
- package/android/com/facebook/react/react-native/0.0.0-18697adec/react-native-0.0.0-18697adec.pom.sha256 +1 -0
- package/android/com/facebook/react/react-native/0.0.0-18697adec/react-native-0.0.0-18697adec.pom.sha512 +1 -0
- package/android/com/facebook/react/react-native/maven-metadata.xml +4 -4
- package/android/com/facebook/react/react-native/maven-metadata.xml.md5 +1 -1
- package/android/com/facebook/react/react-native/maven-metadata.xml.sha1 +1 -1
- package/android/com/facebook/react/react-native/maven-metadata.xml.sha256 +1 -1
- package/android/com/facebook/react/react-native/maven-metadata.xml.sha512 +1 -1
- package/flow/HermesInternalType.js +114 -0
- package/flow/global.js +68 -0
- package/index.js +37 -24
- package/jest/renderer.js +3 -7
- package/jest/setup.js +2 -1
- package/package.json +55 -16
- package/react.gradle +19 -13
- package/scripts/generate-specs-cli.js +20 -2
- package/scripts/ios-configure-glog.sh +4 -0
- package/scripts/react-native-xcode.sh +1 -1
- package/scripts/react_native_pods.rb +195 -38
- package/template/_flowconfig +1 -1
- package/template/android/app/build.gradle +2 -2
- package/template/android/build.gradle +1 -2
- 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 +6 -3
- package/Libraries/BUCK +0 -26
- package/Libraries/Components/DatePickerAndroid/DatePickerAndroid.android.js +0 -87
- package/Libraries/Components/DatePickerAndroid/DatePickerAndroid.ios.js +0 -30
- package/Libraries/Components/DatePickerAndroid/DatePickerAndroidTypes.js +0 -30
- package/Libraries/Components/StaticContainer.react.js +0 -51
- package/Libraries/Components/StatusBar/StatusBarIOS.js +0 -38
- package/Libraries/Components/Touchable/ensurePositiveDelayProps.js +0 -25
- package/Libraries/Interaction/InteractionMixin.js +0 -54
- package/Libraries/ReactNative/queryLayoutByID.js +0 -58
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/DatePickerDialogTestCase.java +0 -172
- package/ReactAndroid/src/androidTest/js/DatePickerDialogTestModule.js +0 -45
- package/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/BUCK +0 -27
- package/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/DatePickerDialogFragment.java +0 -137
- package/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/DatePickerDialogModule.java +0 -153
- package/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/DatePickerMode.java +0 -15
- package/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/DismissableDatePickerDialog.java +0 -117
- package/ReactAndroid/src/main/java/com/facebook/react/runtimescheduler/BUCK +0 -20
- package/ReactAndroid/src/main/java/com/facebook/react/runtimescheduler/RuntimeSchedulerManager.java +0 -39
- package/ReactAndroid/src/main/java/com/facebook/react/runtimescheduler/jni/Android.mk +0 -34
- package/ReactAndroid/src/main/java/com/facebook/react/runtimescheduler/jni/BUCK +0 -35
- package/ReactAndroid/src/main/java/com/facebook/react/runtimescheduler/jni/OnLoad.cpp +0 -15
- package/ReactAndroid/src/main/java/com/facebook/react/runtimescheduler/jni/RuntimeSchedulerManager.cpp +0 -46
- package/ReactAndroid/src/main/java/com/facebook/react/runtimescheduler/jni/RuntimeSchedulerManager.h +0 -40
- package/android/com/facebook/react/react-native/0.0.0-16bb2ae4f/react-native-0.0.0-16bb2ae4f.aar.md5 +0 -1
- package/android/com/facebook/react/react-native/0.0.0-16bb2ae4f/react-native-0.0.0-16bb2ae4f.aar.sha1 +0 -1
- package/android/com/facebook/react/react-native/0.0.0-16bb2ae4f/react-native-0.0.0-16bb2ae4f.aar.sha256 +0 -1
- package/android/com/facebook/react/react-native/0.0.0-16bb2ae4f/react-native-0.0.0-16bb2ae4f.aar.sha512 +0 -1
- package/android/com/facebook/react/react-native/0.0.0-16bb2ae4f/react-native-0.0.0-16bb2ae4f.module.md5 +0 -1
- package/android/com/facebook/react/react-native/0.0.0-16bb2ae4f/react-native-0.0.0-16bb2ae4f.module.sha1 +0 -1
- package/android/com/facebook/react/react-native/0.0.0-16bb2ae4f/react-native-0.0.0-16bb2ae4f.module.sha256 +0 -1
- package/android/com/facebook/react/react-native/0.0.0-16bb2ae4f/react-native-0.0.0-16bb2ae4f.module.sha512 +0 -1
- package/android/com/facebook/react/react-native/0.0.0-16bb2ae4f/react-native-0.0.0-16bb2ae4f.pom.md5 +0 -1
- package/android/com/facebook/react/react-native/0.0.0-16bb2ae4f/react-native-0.0.0-16bb2ae4f.pom.sha1 +0 -1
- package/android/com/facebook/react/react-native/0.0.0-16bb2ae4f/react-native-0.0.0-16bb2ae4f.pom.sha256 +0 -1
- package/android/com/facebook/react/react-native/0.0.0-16bb2ae4f/react-native-0.0.0-16bb2ae4f.pom.sha512 +0 -1
- package/scripts/generate-specs.sh +0 -100
- package/template/_editorconfig +0 -3
- package/template/_gitattributes +0 -3
|
@@ -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(
|
|
@@ -20,7 +20,7 @@ import com.facebook.react.bridge.CatalystInstance;
|
|
|
20
20
|
import com.facebook.react.bridge.JSIModuleType;
|
|
21
21
|
import com.facebook.react.bridge.ReactContext;
|
|
22
22
|
import com.facebook.react.bridge.ReactNoCrashSoftException;
|
|
23
|
-
import com.facebook.react.bridge.
|
|
23
|
+
import com.facebook.react.bridge.ReactSoftExceptionLogger;
|
|
24
24
|
import com.facebook.react.bridge.UIManager;
|
|
25
25
|
import com.facebook.react.uimanager.common.UIManagerType;
|
|
26
26
|
import com.facebook.react.uimanager.events.EventDispatcher;
|
|
@@ -55,7 +55,7 @@ public class UIManagerHelper {
|
|
|
55
55
|
if (context.isBridgeless()) {
|
|
56
56
|
@Nullable UIManager uiManager = (UIManager) context.getJSIModule(JSIModuleType.UIManager);
|
|
57
57
|
if (uiManager == null) {
|
|
58
|
-
|
|
58
|
+
ReactSoftExceptionLogger.logSoftException(
|
|
59
59
|
TAG,
|
|
60
60
|
new ReactNoCrashSoftException(
|
|
61
61
|
"Cannot get UIManager because the instance hasn't been initialized yet."));
|
|
@@ -65,7 +65,7 @@ public class UIManagerHelper {
|
|
|
65
65
|
}
|
|
66
66
|
|
|
67
67
|
if (!context.hasCatalystInstance()) {
|
|
68
|
-
|
|
68
|
+
ReactSoftExceptionLogger.logSoftException(
|
|
69
69
|
TAG,
|
|
70
70
|
new ReactNoCrashSoftException(
|
|
71
71
|
"Cannot get UIManager because the context doesn't contain a CatalystInstance."));
|
|
@@ -74,7 +74,7 @@ public class UIManagerHelper {
|
|
|
74
74
|
// TODO T60461551: add tests to verify emission of events when the ReactContext is being turn
|
|
75
75
|
// down.
|
|
76
76
|
if (!context.hasActiveReactInstance()) {
|
|
77
|
-
|
|
77
|
+
ReactSoftExceptionLogger.logSoftException(
|
|
78
78
|
TAG,
|
|
79
79
|
new ReactNoCrashSoftException(
|
|
80
80
|
"Cannot get UIManager because the context doesn't contain an active CatalystInstance."));
|
|
@@ -89,7 +89,7 @@ public class UIManagerHelper {
|
|
|
89
89
|
: catalystInstance.getNativeModule(UIManagerModule.class);
|
|
90
90
|
} catch (IllegalArgumentException ex) {
|
|
91
91
|
// TODO T67518514 Clean this up once we migrate everything over to bridgeless mode
|
|
92
|
-
|
|
92
|
+
ReactSoftExceptionLogger.logSoftException(
|
|
93
93
|
TAG,
|
|
94
94
|
new ReactNoCrashSoftException(
|
|
95
95
|
"Cannot get UIManager for UIManagerType: " + uiManagerType));
|
|
@@ -105,7 +105,7 @@ public class UIManagerHelper {
|
|
|
105
105
|
public static EventDispatcher getEventDispatcherForReactTag(ReactContext context, int reactTag) {
|
|
106
106
|
EventDispatcher eventDispatcher = getEventDispatcher(context, getUIManagerType(reactTag));
|
|
107
107
|
if (eventDispatcher == null) {
|
|
108
|
-
|
|
108
|
+
ReactSoftExceptionLogger.logSoftException(
|
|
109
109
|
TAG, new IllegalStateException("Cannot get EventDispatcher for reactTag " + reactTag));
|
|
110
110
|
}
|
|
111
111
|
return eventDispatcher;
|
|
@@ -127,7 +127,7 @@ public class UIManagerHelper {
|
|
|
127
127
|
}
|
|
128
128
|
UIManager uiManager = getUIManager(context, uiManagerType, false);
|
|
129
129
|
if (uiManager == null) {
|
|
130
|
-
|
|
130
|
+
ReactSoftExceptionLogger.logSoftException(
|
|
131
131
|
TAG,
|
|
132
132
|
new ReactNoCrashSoftException(
|
|
133
133
|
"Unable to find UIManager for UIManagerType " + uiManagerType));
|
|
@@ -135,7 +135,7 @@ public class UIManagerHelper {
|
|
|
135
135
|
}
|
|
136
136
|
EventDispatcher eventDispatcher = (EventDispatcher) uiManager.getEventDispatcher();
|
|
137
137
|
if (eventDispatcher == null) {
|
|
138
|
-
|
|
138
|
+
ReactSoftExceptionLogger.logSoftException(
|
|
139
139
|
TAG,
|
|
140
140
|
new IllegalStateException(
|
|
141
141
|
"Cannot get EventDispatcher for UIManagerType " + uiManagerType));
|
|
@@ -180,7 +180,7 @@ public class UIManagerHelper {
|
|
|
180
180
|
|
|
181
181
|
// All Fabric-managed Views (should) have a ThemedReactContext attached.
|
|
182
182
|
if (surfaceId == -1) {
|
|
183
|
-
|
|
183
|
+
ReactSoftExceptionLogger.logSoftException(
|
|
184
184
|
TAG,
|
|
185
185
|
new IllegalStateException(
|
|
186
186
|
"Fabric View [" + reactTag + "] does not have SurfaceId associated with it"));
|
|
@@ -18,7 +18,7 @@ import com.facebook.react.bridge.GuardedRunnable;
|
|
|
18
18
|
import com.facebook.react.bridge.ReactApplicationContext;
|
|
19
19
|
import com.facebook.react.bridge.ReactContext;
|
|
20
20
|
import com.facebook.react.bridge.ReactNoCrashSoftException;
|
|
21
|
-
import com.facebook.react.bridge.
|
|
21
|
+
import com.facebook.react.bridge.ReactSoftExceptionLogger;
|
|
22
22
|
import com.facebook.react.bridge.ReadableArray;
|
|
23
23
|
import com.facebook.react.bridge.ReadableMap;
|
|
24
24
|
import com.facebook.react.bridge.RetryableMountingLayerException;
|
|
@@ -313,7 +313,7 @@ public class UIViewOperationQueue {
|
|
|
313
313
|
try {
|
|
314
314
|
mNativeViewHierarchyManager.dispatchCommand(mTag, mCommand, mArgs);
|
|
315
315
|
} catch (Throwable e) {
|
|
316
|
-
|
|
316
|
+
ReactSoftExceptionLogger.logSoftException(
|
|
317
317
|
TAG, new RuntimeException("Error dispatching View Command", e));
|
|
318
318
|
}
|
|
319
319
|
}
|
|
@@ -354,7 +354,7 @@ public class UIViewOperationQueue {
|
|
|
354
354
|
try {
|
|
355
355
|
mNativeViewHierarchyManager.dispatchCommand(mTag, mCommand, mArgs);
|
|
356
356
|
} catch (Throwable e) {
|
|
357
|
-
|
|
357
|
+
ReactSoftExceptionLogger.logSoftException(
|
|
358
358
|
TAG, new RuntimeException("Error dispatching View Command", e));
|
|
359
359
|
}
|
|
360
360
|
}
|
|
@@ -892,11 +892,12 @@ public class UIViewOperationQueue {
|
|
|
892
892
|
mViewCommandOperations.add(op);
|
|
893
893
|
} else {
|
|
894
894
|
// Retryable exceptions should be logged, but never crash in debug.
|
|
895
|
-
|
|
895
|
+
ReactSoftExceptionLogger.logSoftException(
|
|
896
|
+
TAG, new ReactNoCrashSoftException(e));
|
|
896
897
|
}
|
|
897
898
|
} catch (Throwable e) {
|
|
898
899
|
// Non-retryable exceptions should be logged in prod, and crash in Debug.
|
|
899
|
-
|
|
900
|
+
ReactSoftExceptionLogger.logSoftException(TAG, e);
|
|
900
901
|
}
|
|
901
902
|
}
|
|
902
903
|
}
|
package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagersPropertyCache.java
CHANGED
|
@@ -325,6 +325,21 @@ import java.util.Map;
|
|
|
325
325
|
}
|
|
326
326
|
}
|
|
327
327
|
|
|
328
|
+
private static class BoxedColorPropSetter extends PropSetter {
|
|
329
|
+
|
|
330
|
+
public BoxedColorPropSetter(ReactProp prop, Method setter) {
|
|
331
|
+
super(prop, "mixed", setter);
|
|
332
|
+
}
|
|
333
|
+
|
|
334
|
+
@Override
|
|
335
|
+
protected @Nullable Object getValueOrDefault(Object value, Context context) {
|
|
336
|
+
if (value != null) {
|
|
337
|
+
return ColorPropConverter.getColor(value, context);
|
|
338
|
+
}
|
|
339
|
+
return null;
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
|
|
328
343
|
/*package*/ static Map<String, String> getNativePropsForView(
|
|
329
344
|
Class<? extends ViewManager> viewManagerTopClass,
|
|
330
345
|
Class<? extends ReactShadowNode> shadowNodeTopClass) {
|
|
@@ -418,7 +433,7 @@ import java.util.Map;
|
|
|
418
433
|
return new BoxedBooleanPropSetter(annotation, method);
|
|
419
434
|
} else if (propTypeClass == Integer.class) {
|
|
420
435
|
if ("Color".equals(annotation.customType())) {
|
|
421
|
-
return new
|
|
436
|
+
return new BoxedColorPropSetter(annotation, method);
|
|
422
437
|
}
|
|
423
438
|
return new BoxedIntPropSetter(annotation, method);
|
|
424
439
|
} else if (propTypeClass == ReadableArray.class) {
|
|
@@ -40,15 +40,6 @@ public abstract class Event<T extends Event> {
|
|
|
40
40
|
private long mTimestampMs;
|
|
41
41
|
private int mUniqueID = sUniqueID++;
|
|
42
42
|
|
|
43
|
-
// Android native Event times use 'uptimeMillis', and historically we've used `uptimeMillis`
|
|
44
|
-
// throughout this Event class as the coalescing key for events, and for other purposes.
|
|
45
|
-
// To get an accurate(ish) absolute UNIX time for the event, we store the initial clock time here.
|
|
46
|
-
// uptimeMillis can then be added to this to get an accurate UNIX time.
|
|
47
|
-
// However, we still default to uptimeMillis: you must explicitly request UNIX time if you want
|
|
48
|
-
// that; see `getUnixTimestampMs`.
|
|
49
|
-
public static final long sInitialClockTimeUnixOffset =
|
|
50
|
-
SystemClock.currentTimeMillis() - SystemClock.uptimeMillis();
|
|
51
|
-
|
|
52
43
|
protected Event() {}
|
|
53
44
|
|
|
54
45
|
@Deprecated
|
|
@@ -65,8 +56,16 @@ public abstract class Event<T extends Event> {
|
|
|
65
56
|
init(-1, viewTag);
|
|
66
57
|
}
|
|
67
58
|
|
|
68
|
-
/** This method needs to be called before event is sent to event dispatcher. */
|
|
69
59
|
protected void init(int surfaceId, int viewTag) {
|
|
60
|
+
init(surfaceId, viewTag, SystemClock.uptimeMillis());
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* This method needs to be called before event is sent to event dispatcher. Event timestamps can
|
|
65
|
+
* optionally be dated/backdated to a custom time: for example, touch events should be dated with
|
|
66
|
+
* the system event time.
|
|
67
|
+
*/
|
|
68
|
+
protected void init(int surfaceId, int viewTag, long timestampMs) {
|
|
70
69
|
mSurfaceId = surfaceId;
|
|
71
70
|
mViewTag = viewTag;
|
|
72
71
|
|
|
@@ -82,9 +81,7 @@ public abstract class Event<T extends Event> {
|
|
|
82
81
|
// At some point it would be great to pass the SurfaceContext here instead.
|
|
83
82
|
mUIManagerType = (surfaceId == -1 ? UIManagerType.DEFAULT : UIManagerType.FABRIC);
|
|
84
83
|
|
|
85
|
-
|
|
86
|
-
mTimestampMs = SystemClock.uptimeMillis();
|
|
87
|
-
|
|
84
|
+
mTimestampMs = timestampMs;
|
|
88
85
|
mInitialized = true;
|
|
89
86
|
}
|
|
90
87
|
|
|
@@ -106,11 +103,6 @@ public abstract class Event<T extends Event> {
|
|
|
106
103
|
return mTimestampMs;
|
|
107
104
|
}
|
|
108
105
|
|
|
109
|
-
/** @return the time at which the event happened as a UNIX timestamp, in milliseconds. */
|
|
110
|
-
public final long getUnixTimestampMs() {
|
|
111
|
-
return sInitialClockTimeUnixOffset + mTimestampMs;
|
|
112
|
-
}
|
|
113
|
-
|
|
114
106
|
/** @return false if this Event can *never* be coalesced */
|
|
115
107
|
public boolean canCoalesce() {
|
|
116
108
|
return true;
|
|
@@ -174,7 +166,7 @@ public abstract class Event<T extends Event> {
|
|
|
174
166
|
WritableMap eventData = getEventData();
|
|
175
167
|
if (eventData == null) {
|
|
176
168
|
throw new IllegalViewOperationException(
|
|
177
|
-
"Event: you must return a valid, non-null value from `getEventData`, or override `dispatch` and `
|
|
169
|
+
"Event: you must return a valid, non-null value from `getEventData`, or override `dispatch` and `dispatchModern`. Event: "
|
|
178
170
|
+ getEventName());
|
|
179
171
|
}
|
|
180
172
|
rctEventEmitter.receiveEvent(getViewTag(), getEventName(), eventData);
|
|
@@ -224,7 +216,7 @@ public abstract class Event<T extends Event> {
|
|
|
224
216
|
getEventName(),
|
|
225
217
|
canCoalesce(),
|
|
226
218
|
getCoalescingKey(),
|
|
227
|
-
|
|
219
|
+
eventData);
|
|
228
220
|
return;
|
|
229
221
|
}
|
|
230
222
|
}
|
|
@@ -52,7 +52,7 @@ import java.util.concurrent.CopyOnWriteArrayList;
|
|
|
52
52
|
*/
|
|
53
53
|
public class LockFreeEventDispatcherImpl implements EventDispatcher, LifecycleEventListener {
|
|
54
54
|
|
|
55
|
-
private final boolean DEBUG_MODE =
|
|
55
|
+
private final boolean DEBUG_MODE = ReactBuildConfig.DEBUG;
|
|
56
56
|
private final String TAG = LockFreeEventDispatcherImpl.class.getSimpleName();
|
|
57
57
|
|
|
58
58
|
private final ReactApplicationContext mReactContext;
|
|
@@ -77,7 +77,7 @@ public class LockFreeEventDispatcherImpl implements EventDispatcher, LifecycleEv
|
|
|
77
77
|
Assertions.assertNotNull(mReactEventEmitter);
|
|
78
78
|
|
|
79
79
|
if (DEBUG_MODE) {
|
|
80
|
-
FLog.
|
|
80
|
+
FLog.v(TAG, "dispatchEvent: " + event.toString());
|
|
81
81
|
}
|
|
82
82
|
|
|
83
83
|
for (EventDispatcherListener listener : mListeners) {
|
package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/ReactEventEmitter.java
CHANGED
|
@@ -13,7 +13,7 @@ import androidx.annotation.Nullable;
|
|
|
13
13
|
import com.facebook.infer.annotation.Assertions;
|
|
14
14
|
import com.facebook.react.bridge.ReactApplicationContext;
|
|
15
15
|
import com.facebook.react.bridge.ReactNoCrashSoftException;
|
|
16
|
-
import com.facebook.react.bridge.
|
|
16
|
+
import com.facebook.react.bridge.ReactSoftExceptionLogger;
|
|
17
17
|
import com.facebook.react.bridge.WritableArray;
|
|
18
18
|
import com.facebook.react.bridge.WritableMap;
|
|
19
19
|
import com.facebook.react.uimanager.common.UIManagerType;
|
|
@@ -61,15 +61,10 @@ public class ReactEventEmitter implements RCTModernEventEmitter {
|
|
|
61
61
|
|
|
62
62
|
@Override
|
|
63
63
|
public void receiveEvent(
|
|
64
|
-
int surfaceId,
|
|
65
|
-
int targetTag,
|
|
66
|
-
String eventName,
|
|
67
|
-
boolean canCoalesceEvent,
|
|
68
|
-
int customCoalesceKey,
|
|
69
|
-
@Nullable WritableMap event) {
|
|
64
|
+
int surfaceId, int targetTag, String eventName, @Nullable WritableMap event) {
|
|
70
65
|
// The two additional params here, `canCoalesceEvent` and `customCoalesceKey`, have no
|
|
71
66
|
// meaning outside of Fabric.
|
|
72
|
-
receiveEvent(surfaceId, targetTag, eventName, event);
|
|
67
|
+
receiveEvent(surfaceId, targetTag, eventName, false, 0, event);
|
|
73
68
|
}
|
|
74
69
|
|
|
75
70
|
@Override
|
|
@@ -84,7 +79,7 @@ public class ReactEventEmitter implements RCTModernEventEmitter {
|
|
|
84
79
|
} else if (uiManagerType == UIManagerType.DEFAULT && getEventEmitter(reactTag) != null) {
|
|
85
80
|
mRCTEventEmitter.receiveTouches(eventName, touches, changedIndices);
|
|
86
81
|
} else {
|
|
87
|
-
|
|
82
|
+
ReactSoftExceptionLogger.logSoftException(
|
|
88
83
|
TAG,
|
|
89
84
|
new ReactNoCrashSoftException(
|
|
90
85
|
"Cannot find EventEmitter for receivedTouches: ReactTag["
|
|
@@ -105,7 +100,7 @@ public class ReactEventEmitter implements RCTModernEventEmitter {
|
|
|
105
100
|
if (mReactContext.hasActiveReactInstance()) {
|
|
106
101
|
mRCTEventEmitter = mReactContext.getJSModule(RCTEventEmitter.class);
|
|
107
102
|
} else {
|
|
108
|
-
|
|
103
|
+
ReactSoftExceptionLogger.logSoftException(
|
|
109
104
|
TAG,
|
|
110
105
|
new ReactNoCrashSoftException(
|
|
111
106
|
"Cannot get RCTEventEmitter from Context for reactTag: "
|
|
@@ -120,14 +115,20 @@ public class ReactEventEmitter implements RCTModernEventEmitter {
|
|
|
120
115
|
|
|
121
116
|
@Override
|
|
122
117
|
public void receiveEvent(
|
|
123
|
-
int surfaceId,
|
|
118
|
+
int surfaceId,
|
|
119
|
+
int targetReactTag,
|
|
120
|
+
String eventName,
|
|
121
|
+
boolean canCoalesceEvent,
|
|
122
|
+
int customCoalesceKey,
|
|
123
|
+
@Nullable WritableMap event) {
|
|
124
124
|
@UIManagerType int uiManagerType = ViewUtil.getUIManagerType(targetReactTag);
|
|
125
125
|
if (uiManagerType == UIManagerType.FABRIC && mFabricEventEmitter != null) {
|
|
126
|
-
mFabricEventEmitter.receiveEvent(
|
|
126
|
+
mFabricEventEmitter.receiveEvent(
|
|
127
|
+
surfaceId, targetReactTag, eventName, canCoalesceEvent, customCoalesceKey, event);
|
|
127
128
|
} else if (uiManagerType == UIManagerType.DEFAULT && getEventEmitter(targetReactTag) != null) {
|
|
128
129
|
mRCTEventEmitter.receiveEvent(targetReactTag, eventName, event);
|
|
129
130
|
} else {
|
|
130
|
-
|
|
131
|
+
ReactSoftExceptionLogger.logSoftException(
|
|
131
132
|
TAG,
|
|
132
133
|
new ReactNoCrashSoftException(
|
|
133
134
|
"Cannot find EventEmitter for receiveEvent: SurfaceId["
|