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
|
@@ -0,0 +1,100 @@
|
|
|
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.devsupport;
|
|
9
|
+
|
|
10
|
+
import com.facebook.common.logging.FLog;
|
|
11
|
+
import com.facebook.react.common.ReactConstants;
|
|
12
|
+
import com.facebook.react.devsupport.interfaces.PackagerStatusCallback;
|
|
13
|
+
import java.io.IOException;
|
|
14
|
+
import java.util.Locale;
|
|
15
|
+
import java.util.concurrent.TimeUnit;
|
|
16
|
+
import okhttp3.Call;
|
|
17
|
+
import okhttp3.Callback;
|
|
18
|
+
import okhttp3.OkHttpClient;
|
|
19
|
+
import okhttp3.Request;
|
|
20
|
+
import okhttp3.Response;
|
|
21
|
+
import okhttp3.ResponseBody;
|
|
22
|
+
|
|
23
|
+
/** Use this class to check if the JavaScript packager is running on the provided host. */
|
|
24
|
+
public class PackagerStatusCheck {
|
|
25
|
+
|
|
26
|
+
private static final String PACKAGER_OK_STATUS = "packager-status:running";
|
|
27
|
+
private static final int HTTP_CONNECT_TIMEOUT_MS = 5000;
|
|
28
|
+
private static final String PACKAGER_STATUS_URL_TEMPLATE = "http://%s/status";
|
|
29
|
+
|
|
30
|
+
private final OkHttpClient mClient;
|
|
31
|
+
|
|
32
|
+
public PackagerStatusCheck() {
|
|
33
|
+
mClient =
|
|
34
|
+
new OkHttpClient.Builder()
|
|
35
|
+
.connectTimeout(HTTP_CONNECT_TIMEOUT_MS, TimeUnit.MILLISECONDS)
|
|
36
|
+
.readTimeout(0, TimeUnit.MILLISECONDS)
|
|
37
|
+
.writeTimeout(0, TimeUnit.MILLISECONDS)
|
|
38
|
+
.build();
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
public PackagerStatusCheck(OkHttpClient client) {
|
|
42
|
+
mClient = client;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
public void run(String host, final PackagerStatusCallback callback) {
|
|
46
|
+
String statusURL = createPackagerStatusURL(host);
|
|
47
|
+
Request request = new Request.Builder().url(statusURL).build();
|
|
48
|
+
|
|
49
|
+
mClient
|
|
50
|
+
.newCall(request)
|
|
51
|
+
.enqueue(
|
|
52
|
+
new Callback() {
|
|
53
|
+
@Override
|
|
54
|
+
public void onFailure(Call call, IOException e) {
|
|
55
|
+
FLog.w(
|
|
56
|
+
ReactConstants.TAG,
|
|
57
|
+
"The packager does not seem to be running as we got an IOException requesting "
|
|
58
|
+
+ "its status: "
|
|
59
|
+
+ e.getMessage());
|
|
60
|
+
callback.onPackagerStatusFetched(false);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
@Override
|
|
64
|
+
public void onResponse(Call call, Response response) throws IOException {
|
|
65
|
+
if (!response.isSuccessful()) {
|
|
66
|
+
FLog.e(
|
|
67
|
+
ReactConstants.TAG,
|
|
68
|
+
"Got non-success http code from packager when requesting status: "
|
|
69
|
+
+ response.code());
|
|
70
|
+
callback.onPackagerStatusFetched(false);
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
ResponseBody body = response.body();
|
|
74
|
+
if (body == null) {
|
|
75
|
+
FLog.e(
|
|
76
|
+
ReactConstants.TAG,
|
|
77
|
+
"Got null body response from packager when requesting status");
|
|
78
|
+
callback.onPackagerStatusFetched(false);
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
String bodyString =
|
|
82
|
+
body.string(); // cannot call body.string() twice, stored it into variable.
|
|
83
|
+
// https://github.com/square/okhttp/issues/1240#issuecomment-68142603
|
|
84
|
+
if (!PACKAGER_OK_STATUS.equals(bodyString)) {
|
|
85
|
+
FLog.e(
|
|
86
|
+
ReactConstants.TAG,
|
|
87
|
+
"Got unexpected response from packager when requesting status: "
|
|
88
|
+
+ bodyString);
|
|
89
|
+
callback.onPackagerStatusFetched(false);
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
callback.onPackagerStatusFetched(true);
|
|
93
|
+
}
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
private static String createPackagerStatusURL(String host) {
|
|
98
|
+
return String.format(Locale.US, PACKAGER_STATUS_URL_TEMPLATE, host);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
@@ -9,12 +9,16 @@ package com.facebook.react.fabric;
|
|
|
9
9
|
|
|
10
10
|
import android.annotation.SuppressLint;
|
|
11
11
|
import androidx.annotation.NonNull;
|
|
12
|
+
import androidx.annotation.Nullable;
|
|
12
13
|
import com.facebook.jni.HybridData;
|
|
13
14
|
import com.facebook.proguard.annotations.DoNotStrip;
|
|
14
15
|
import com.facebook.react.bridge.NativeMap;
|
|
16
|
+
import com.facebook.react.bridge.ReadableNativeMap;
|
|
15
17
|
import com.facebook.react.bridge.RuntimeExecutor;
|
|
18
|
+
import com.facebook.react.bridge.RuntimeScheduler;
|
|
16
19
|
import com.facebook.react.bridge.queue.MessageQueueThread;
|
|
17
20
|
import com.facebook.react.fabric.events.EventBeatManager;
|
|
21
|
+
import com.facebook.react.fabric.events.EventEmitterWrapper;
|
|
18
22
|
import com.facebook.react.uimanager.PixelUtil;
|
|
19
23
|
|
|
20
24
|
@DoNotStrip
|
|
@@ -35,6 +39,7 @@ public class Binding {
|
|
|
35
39
|
|
|
36
40
|
private native void installFabricUIManager(
|
|
37
41
|
RuntimeExecutor runtimeExecutor,
|
|
42
|
+
RuntimeScheduler runtimeScheduler,
|
|
38
43
|
Object uiManager,
|
|
39
44
|
EventBeatManager eventBeatManager,
|
|
40
45
|
MessageQueueThread jsMessageQueueThread,
|
|
@@ -76,8 +81,12 @@ public class Binding {
|
|
|
76
81
|
|
|
77
82
|
public native void driveCxxAnimations();
|
|
78
83
|
|
|
84
|
+
public native ReadableNativeMap getInspectorDataForInstance(
|
|
85
|
+
EventEmitterWrapper eventEmitterWrapper);
|
|
86
|
+
|
|
79
87
|
public void register(
|
|
80
88
|
@NonNull RuntimeExecutor runtimeExecutor,
|
|
89
|
+
@Nullable RuntimeScheduler runtimeScheduler,
|
|
81
90
|
@NonNull FabricUIManager fabricUIManager,
|
|
82
91
|
@NonNull EventBeatManager eventBeatManager,
|
|
83
92
|
@NonNull MessageQueueThread jsMessageQueueThread,
|
|
@@ -86,6 +95,7 @@ public class Binding {
|
|
|
86
95
|
fabricUIManager.setBinding(this);
|
|
87
96
|
installFabricUIManager(
|
|
88
97
|
runtimeExecutor,
|
|
98
|
+
runtimeScheduler,
|
|
89
99
|
fabricUIManager,
|
|
90
100
|
eventBeatManager,
|
|
91
101
|
jsMessageQueueThread,
|
|
@@ -14,15 +14,15 @@ import java.util.Map;
|
|
|
14
14
|
/**
|
|
15
15
|
* Utility class for Fabric components, this will be removed
|
|
16
16
|
*
|
|
17
|
-
* <p
|
|
18
|
-
*
|
|
17
|
+
* <p>TODO T97384889: remove this class when the component names are unified between JS - Android -
|
|
18
|
+
* iOS - C++
|
|
19
19
|
*/
|
|
20
20
|
public class FabricComponents {
|
|
21
21
|
|
|
22
22
|
private static @NonNull final Map<String, String> sComponentNames = new HashMap<>();
|
|
23
23
|
|
|
24
24
|
static {
|
|
25
|
-
// TODO
|
|
25
|
+
// TODO T97384889: unify component names between JS - Android - iOS - C++
|
|
26
26
|
sComponentNames.put("View", "RCTView");
|
|
27
27
|
sComponentNames.put("Image", "RCTImageView");
|
|
28
28
|
sComponentNames.put("ScrollView", "RCTScrollView");
|
|
@@ -40,6 +40,7 @@ public class FabricComponents {
|
|
|
40
40
|
sComponentNames.put("Map", "RCTMap");
|
|
41
41
|
sComponentNames.put("WebView", "RCTWebView");
|
|
42
42
|
sComponentNames.put("Keyframes", "RCTKeyframes");
|
|
43
|
+
sComponentNames.put("ImpressionTrackingView", "RCTImpressionTrackingView");
|
|
43
44
|
}
|
|
44
45
|
|
|
45
46
|
/** @return the name of component in the Fabric environment */
|
|
@@ -55,6 +55,7 @@ public class FabricJSIModuleProvider implements JSIModuleProvider<UIManager> {
|
|
|
55
55
|
|
|
56
56
|
binding.register(
|
|
57
57
|
mReactApplicationContext.getCatalystInstance().getRuntimeExecutor(),
|
|
58
|
+
mReactApplicationContext.getCatalystInstance().getRuntimeScheduler(),
|
|
58
59
|
uiManager,
|
|
59
60
|
eventBeatManager,
|
|
60
61
|
jsMessageQueueThread,
|
|
@@ -35,6 +35,7 @@ import com.facebook.debug.holder.PrinterHolder;
|
|
|
35
35
|
import com.facebook.debug.tags.ReactDebugOverlayTags;
|
|
36
36
|
import com.facebook.infer.annotation.ThreadConfined;
|
|
37
37
|
import com.facebook.proguard.annotations.DoNotStripAny;
|
|
38
|
+
import com.facebook.react.bridge.ColorPropConverter;
|
|
38
39
|
import com.facebook.react.bridge.LifecycleEventListener;
|
|
39
40
|
import com.facebook.react.bridge.NativeArray;
|
|
40
41
|
import com.facebook.react.bridge.NativeMap;
|
|
@@ -42,7 +43,7 @@ import com.facebook.react.bridge.ReactApplicationContext;
|
|
|
42
43
|
import com.facebook.react.bridge.ReactContext;
|
|
43
44
|
import com.facebook.react.bridge.ReactMarker;
|
|
44
45
|
import com.facebook.react.bridge.ReactMarkerConstants;
|
|
45
|
-
import com.facebook.react.bridge.
|
|
46
|
+
import com.facebook.react.bridge.ReactSoftExceptionLogger;
|
|
46
47
|
import com.facebook.react.bridge.ReadableArray;
|
|
47
48
|
import com.facebook.react.bridge.ReadableMap;
|
|
48
49
|
import com.facebook.react.bridge.UIManager;
|
|
@@ -200,7 +201,7 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
|
|
|
200
201
|
@Deprecated
|
|
201
202
|
public <T extends View> int addRootView(
|
|
202
203
|
final T rootView, final WritableMap initialProps, final @Nullable String initialUITemplate) {
|
|
203
|
-
|
|
204
|
+
ReactSoftExceptionLogger.logSoftException(
|
|
204
205
|
TAG,
|
|
205
206
|
new IllegalViewOperationException(
|
|
206
207
|
"Do not call addRootView in Fabric; it is unsupported. Call startSurface instead."));
|
|
@@ -223,6 +224,29 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
|
|
|
223
224
|
return rootTag;
|
|
224
225
|
}
|
|
225
226
|
|
|
227
|
+
/**
|
|
228
|
+
* This API returns metadata associated to the React Component that rendered the Android View
|
|
229
|
+
* received as a parameter.
|
|
230
|
+
*
|
|
231
|
+
* @param surfaceId {@link int} that represents the surfaceId for the View received as a
|
|
232
|
+
* parameter. In practice surfaceId can be retrieved calling the {@link View#getId()} method
|
|
233
|
+
* on the {@link ReactRoot} that holds the View received as a second parameter.
|
|
234
|
+
* @param view {@link View} view that will be used to retrieve the React view hierarchy metadata.
|
|
235
|
+
* @return a {@link ReadableMap} that contains metadata associated to the React Component that
|
|
236
|
+
* rendered the Android View received as a parameter. For more details about the keys stored
|
|
237
|
+
* in the {@link ReadableMap} refer to the "getInspectorDataForInstance" method from
|
|
238
|
+
* com/facebook/react/fabric/jni/Binding.cpp file.
|
|
239
|
+
*/
|
|
240
|
+
@UiThread
|
|
241
|
+
@ThreadConfined(UI)
|
|
242
|
+
public ReadableMap getInspectorDataForInstance(final int surfaceId, final View view) {
|
|
243
|
+
UiThreadUtil.assertOnUiThread();
|
|
244
|
+
int reactTag = view.getId();
|
|
245
|
+
|
|
246
|
+
EventEmitterWrapper eventEmitter = mMountingManager.getEventEmitter(surfaceId, reactTag);
|
|
247
|
+
return mBinding.getInspectorDataForInstance(eventEmitter);
|
|
248
|
+
}
|
|
249
|
+
|
|
226
250
|
@Override
|
|
227
251
|
public void preInitializeViewManagers(List<String> viewManagerNames) {
|
|
228
252
|
for (String viewManagerName : viewManagerNames) {
|
|
@@ -270,14 +294,28 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
|
|
|
270
294
|
return rootTag;
|
|
271
295
|
}
|
|
272
296
|
|
|
273
|
-
public void startSurface(final SurfaceHandler surfaceHandler) {
|
|
274
|
-
int rootTag = ReactRootViewTagGenerator.getNextRootViewTag();
|
|
275
|
-
|
|
297
|
+
public void startSurface(final SurfaceHandler surfaceHandler, final @Nullable View rootView) {
|
|
298
|
+
final int rootTag = ReactRootViewTagGenerator.getNextRootViewTag();
|
|
299
|
+
|
|
300
|
+
if (rootView == null) {
|
|
301
|
+
mMountingManager.startSurface(rootTag);
|
|
302
|
+
} else {
|
|
303
|
+
Context context = rootView.getContext();
|
|
304
|
+
ThemedReactContext reactContext =
|
|
305
|
+
new ThemedReactContext(
|
|
306
|
+
mReactApplicationContext, context, surfaceHandler.getModuleName(), rootTag);
|
|
307
|
+
mMountingManager.startSurface(rootTag, rootView, reactContext);
|
|
308
|
+
}
|
|
276
309
|
|
|
277
|
-
|
|
310
|
+
surfaceHandler.setSurfaceId(rootTag);
|
|
311
|
+
if (surfaceHandler instanceof SurfaceHandlerBinding) {
|
|
312
|
+
mBinding.registerSurface((SurfaceHandlerBinding) surfaceHandler);
|
|
313
|
+
}
|
|
314
|
+
surfaceHandler.setMountable(rootView != null);
|
|
315
|
+
surfaceHandler.start();
|
|
278
316
|
}
|
|
279
317
|
|
|
280
|
-
public void attachRootView(final
|
|
318
|
+
public void attachRootView(final SurfaceHandler surfaceHandler, final View rootView) {
|
|
281
319
|
ThemedReactContext reactContext =
|
|
282
320
|
new ThemedReactContext(
|
|
283
321
|
mReactApplicationContext,
|
|
@@ -289,30 +327,9 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
|
|
|
289
327
|
surfaceHandler.setMountable(true);
|
|
290
328
|
}
|
|
291
329
|
|
|
292
|
-
public void startSurfaceWithView(final View rootView, final SurfaceHandler surfaceHandler) {
|
|
293
|
-
final int rootTag = ReactRootViewTagGenerator.getNextRootViewTag();
|
|
294
|
-
|
|
295
|
-
Context context = rootView.getContext();
|
|
296
|
-
ThemedReactContext reactContext =
|
|
297
|
-
new ThemedReactContext(
|
|
298
|
-
mReactApplicationContext, context, surfaceHandler.getModuleName(), rootTag);
|
|
299
|
-
mMountingManager.startSurface(rootTag, rootView, reactContext);
|
|
300
|
-
|
|
301
|
-
startSurfaceWithId(surfaceHandler, rootTag, true);
|
|
302
|
-
}
|
|
303
|
-
|
|
304
|
-
private void startSurfaceWithId(SurfaceHandler surfaceHandler, int rootTag, boolean isMountable) {
|
|
305
|
-
surfaceHandler.setSurfaceId(rootTag);
|
|
306
|
-
if (surfaceHandler instanceof SurfaceHandlerBinding) {
|
|
307
|
-
mBinding.registerSurface((SurfaceHandlerBinding) surfaceHandler);
|
|
308
|
-
}
|
|
309
|
-
surfaceHandler.setMountable(isMountable);
|
|
310
|
-
surfaceHandler.start();
|
|
311
|
-
}
|
|
312
|
-
|
|
313
330
|
public void stopSurface(final SurfaceHandler surfaceHandler) {
|
|
314
331
|
if (!surfaceHandler.isRunning()) {
|
|
315
|
-
|
|
332
|
+
ReactSoftExceptionLogger.logSoftException(
|
|
316
333
|
FabricUIManager.TAG,
|
|
317
334
|
new IllegalStateException("Trying to stop surface that hasn't started yet"));
|
|
318
335
|
return;
|
|
@@ -360,7 +377,7 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
|
|
|
360
377
|
FLog.i(TAG, "FabricUIManager.onCatalystInstanceDestroy");
|
|
361
378
|
|
|
362
379
|
if (mDestroyed) {
|
|
363
|
-
|
|
380
|
+
ReactSoftExceptionLogger.logSoftException(
|
|
364
381
|
FabricUIManager.TAG, new IllegalStateException("Cannot double-destroy FabricUIManager"));
|
|
365
382
|
return;
|
|
366
383
|
}
|
|
@@ -448,6 +465,14 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
|
|
|
448
465
|
null);
|
|
449
466
|
}
|
|
450
467
|
|
|
468
|
+
@SuppressWarnings("unused")
|
|
469
|
+
public int getColor(int surfaceId, ReadableMap platformColor) {
|
|
470
|
+
ThemedReactContext context =
|
|
471
|
+
mMountingManager.getSurfaceManagerEnforced(surfaceId, "getColor").getContext();
|
|
472
|
+
Integer color = ColorPropConverter.getColor(platformColor, context);
|
|
473
|
+
return color != null ? color : 0;
|
|
474
|
+
}
|
|
475
|
+
|
|
451
476
|
@SuppressWarnings("unused")
|
|
452
477
|
private long measure(
|
|
453
478
|
int surfaceId,
|
|
@@ -758,7 +783,7 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
|
|
|
758
783
|
|
|
759
784
|
// TODO T83615646: make this a hard-crash in the future.
|
|
760
785
|
if (surfaceMountingManager == null) {
|
|
761
|
-
|
|
786
|
+
ReactSoftExceptionLogger.logSoftException(
|
|
762
787
|
TAG,
|
|
763
788
|
new IllegalViewOperationException(
|
|
764
789
|
"Cannot updateRootLayoutSpecs on surfaceId that does not exist: " + surfaceId));
|
|
@@ -785,6 +810,14 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
|
|
|
785
810
|
doLeftAndRightSwapInRTL);
|
|
786
811
|
}
|
|
787
812
|
|
|
813
|
+
@Override
|
|
814
|
+
public View resolveView(int reactTag) {
|
|
815
|
+
UiThreadUtil.assertOnUiThread();
|
|
816
|
+
|
|
817
|
+
SurfaceMountingManager surfaceManager = mMountingManager.getSurfaceManagerForView(reactTag);
|
|
818
|
+
return surfaceManager == null ? null : surfaceManager.getView(reactTag);
|
|
819
|
+
}
|
|
820
|
+
|
|
788
821
|
@Override
|
|
789
822
|
public void receiveEvent(int reactTag, String eventName, @Nullable WritableMap params) {
|
|
790
823
|
receiveEvent(View.NO_ID, reactTag, eventName, params);
|
package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventEmitterWrapper.java
CHANGED
|
@@ -47,7 +47,7 @@ public class EventEmitterWrapper {
|
|
|
47
47
|
* @param eventName {@link String} name of the event to execute.
|
|
48
48
|
* @param params {@link WritableMap} payload of the event
|
|
49
49
|
*/
|
|
50
|
-
public void invoke(@NonNull String eventName, @Nullable WritableMap params) {
|
|
50
|
+
public synchronized void invoke(@NonNull String eventName, @Nullable WritableMap params) {
|
|
51
51
|
if (!isValid()) {
|
|
52
52
|
return;
|
|
53
53
|
}
|
|
@@ -62,7 +62,7 @@ public class EventEmitterWrapper {
|
|
|
62
62
|
* @param eventName {@link String} name of the event to execute.
|
|
63
63
|
* @param params {@link WritableMap} payload of the event
|
|
64
64
|
*/
|
|
65
|
-
public void invokeUnique(
|
|
65
|
+
public synchronized void invokeUnique(
|
|
66
66
|
@NonNull String eventName, @Nullable WritableMap params, int customCoalesceKey) {
|
|
67
67
|
if (!isValid()) {
|
|
68
68
|
return;
|
|
@@ -71,7 +71,7 @@ public class EventEmitterWrapper {
|
|
|
71
71
|
invokeUniqueEvent(eventName, payload, customCoalesceKey);
|
|
72
72
|
}
|
|
73
73
|
|
|
74
|
-
public void destroy() {
|
|
74
|
+
public synchronized void destroy() {
|
|
75
75
|
if (mHybridData != null) {
|
|
76
76
|
mHybridData.resetNative();
|
|
77
77
|
}
|
|
@@ -11,7 +11,7 @@ LOCAL_MODULE := fabricjni
|
|
|
11
11
|
|
|
12
12
|
LOCAL_SRC_FILES := $(wildcard $(LOCAL_PATH)/*.cpp)
|
|
13
13
|
|
|
14
|
-
LOCAL_SHARED_LIBRARIES := libreactconfig librrc_slider librrc_progressbar librrc_switch librrc_modal libyoga libglog libfb libfbjni libglog_init libfolly_json libfolly_futures libreact_render_mounting libreactnativeutilsjni libreact_utils libreact_render_debug libreact_render_graphics libreact_render_core react_render_componentregistry librrc_view librrc_unimplementedview librrc_root librrc_scrollview libbetter libreact_render_attributedstring libreact_render_uimanager libreact_render_templateprocessor libreact_render_scheduler libreact_render_animations libreact_render_imagemanager libreact_render_textlayoutmanager libreact_codegen_rncore rrc_text librrc_image librrc_textinput libreact_debug libreact_render_mapbuffer libmapbufferjni libreact_render_telemetry
|
|
14
|
+
LOCAL_SHARED_LIBRARIES := libjsi libreactconfig librrc_slider librrc_progressbar librrc_switch librrc_modal libyoga libglog libfb libfbjni libglog_init libfolly_json libfolly_futures libreact_render_mounting libreactnativeutilsjni libreact_utils libreact_render_debug libreact_render_graphics libreact_render_core react_render_componentregistry librrc_view librrc_unimplementedview librrc_root librrc_scrollview libbetter libreact_render_attributedstring libreact_render_uimanager libreact_render_templateprocessor libreact_render_scheduler libreact_render_animations libreact_render_imagemanager libreact_render_textlayoutmanager libreact_codegen_rncore rrc_text librrc_image librrc_textinput libreact_debug libreact_render_mapbuffer libmapbufferjni libreact_render_telemetry libreact_render_runtimescheduler
|
|
15
15
|
|
|
16
16
|
LOCAL_STATIC_LIBRARIES :=
|
|
17
17
|
|
|
@@ -56,6 +56,7 @@ $(call import-module,react/renderer/graphics)
|
|
|
56
56
|
$(call import-module,react/renderer/imagemanager)
|
|
57
57
|
$(call import-module,react/renderer/mapbuffer)
|
|
58
58
|
$(call import-module,react/renderer/mounting)
|
|
59
|
+
$(call import-module,react/renderer/runtimescheduler)
|
|
59
60
|
$(call import-module,react/renderer/scheduler)
|
|
60
61
|
$(call import-module,react/renderer/templateprocessor)
|
|
61
62
|
$(call import-module,react/renderer/textlayoutmanager)
|
|
@@ -19,7 +19,7 @@ rn_xplat_cxx_library(
|
|
|
19
19
|
],
|
|
20
20
|
fbandroid_allow_jni_merging = True,
|
|
21
21
|
labels = ["supermodule:xplat/default/public.react_native.infra"],
|
|
22
|
-
platforms =
|
|
22
|
+
platforms = ANDROID,
|
|
23
23
|
preprocessor_flags = [
|
|
24
24
|
"-DLOG_TAG=\"ReactNative\"",
|
|
25
25
|
"-DWITH_FBSYSTRACE=1",
|
|
@@ -233,6 +233,33 @@ std::shared_ptr<Scheduler> Binding::getScheduler() {
|
|
|
233
233
|
return scheduler_;
|
|
234
234
|
}
|
|
235
235
|
|
|
236
|
+
jni::local_ref<ReadableNativeMap::jhybridobject>
|
|
237
|
+
Binding::getInspectorDataForInstance(
|
|
238
|
+
jni::alias_ref<EventEmitterWrapper::javaobject> eventEmitterWrapper) {
|
|
239
|
+
std::shared_ptr<Scheduler> scheduler = getScheduler();
|
|
240
|
+
if (!scheduler) {
|
|
241
|
+
LOG(ERROR) << "Binding::startSurface: scheduler disappeared";
|
|
242
|
+
return ReadableNativeMap::newObjectCxxArgs(folly::dynamic::object());
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
EventEmitterWrapper *cEventEmitter = cthis(eventEmitterWrapper);
|
|
246
|
+
InspectorData data =
|
|
247
|
+
scheduler->getInspectorDataForInstance(cEventEmitter->eventEmitter);
|
|
248
|
+
|
|
249
|
+
folly::dynamic result = folly::dynamic::object;
|
|
250
|
+
result["fileName"] = data.fileName;
|
|
251
|
+
result["lineNumber"] = data.lineNumber;
|
|
252
|
+
result["columnNumber"] = data.columnNumber;
|
|
253
|
+
result["selectedIndex"] = data.selectedIndex;
|
|
254
|
+
result["props"] = data.props;
|
|
255
|
+
auto hierarchy = folly::dynamic::array();
|
|
256
|
+
for (auto hierarchyItem : data.hierarchy) {
|
|
257
|
+
hierarchy.push_back(hierarchyItem);
|
|
258
|
+
}
|
|
259
|
+
result["hierarchy"] = hierarchy;
|
|
260
|
+
return ReadableNativeMap::newObjectCxxArgs(result);
|
|
261
|
+
}
|
|
262
|
+
|
|
236
263
|
void Binding::startSurface(
|
|
237
264
|
jint surfaceId,
|
|
238
265
|
jni::alias_ref<jstring> moduleName,
|
|
@@ -249,6 +276,7 @@ void Binding::startSurface(
|
|
|
249
276
|
layoutContext.pointScaleFactor = pointScaleFactor_;
|
|
250
277
|
|
|
251
278
|
auto surfaceHandler = SurfaceHandler{moduleName->toStdString(), surfaceId};
|
|
279
|
+
surfaceHandler.setContextContainer(scheduler->getContextContainer());
|
|
252
280
|
surfaceHandler.setProps(initialProps->consume());
|
|
253
281
|
surfaceHandler.constraintLayout({}, layoutContext);
|
|
254
282
|
|
|
@@ -260,7 +288,9 @@ void Binding::startSurface(
|
|
|
260
288
|
animationDriver_);
|
|
261
289
|
|
|
262
290
|
{
|
|
291
|
+
SystraceSection s2("FabricUIManagerBinding::startSurface::surfaceId::lock");
|
|
263
292
|
std::unique_lock<better::shared_mutex> lock(surfaceHandlerRegistryMutex_);
|
|
293
|
+
SystraceSection s3("FabricUIManagerBinding::startSurface::surfaceId");
|
|
264
294
|
surfaceHandlerRegistry_.emplace(surfaceId, std::move(surfaceHandler));
|
|
265
295
|
}
|
|
266
296
|
}
|
|
@@ -308,6 +338,7 @@ void Binding::startSurfaceWithConstraints(
|
|
|
308
338
|
isRTL ? LayoutDirection::RightToLeft : LayoutDirection::LeftToRight;
|
|
309
339
|
|
|
310
340
|
auto surfaceHandler = SurfaceHandler{moduleName->toStdString(), surfaceId};
|
|
341
|
+
surfaceHandler.setContextContainer(scheduler_->getContextContainer());
|
|
311
342
|
surfaceHandler.setProps(initialProps->consume());
|
|
312
343
|
surfaceHandler.constraintLayout(constraints, context);
|
|
313
344
|
|
|
@@ -319,7 +350,11 @@ void Binding::startSurfaceWithConstraints(
|
|
|
319
350
|
animationDriver_);
|
|
320
351
|
|
|
321
352
|
{
|
|
353
|
+
SystraceSection s2(
|
|
354
|
+
"FabricUIManagerBinding::startSurfaceWithConstraints::surfaceId::lock");
|
|
322
355
|
std::unique_lock<better::shared_mutex> lock(surfaceHandlerRegistryMutex_);
|
|
356
|
+
SystraceSection s3(
|
|
357
|
+
"FabricUIManagerBinding::startSurfaceWithConstraints::surfaceId");
|
|
323
358
|
surfaceHandlerRegistry_.emplace(surfaceId, std::move(surfaceHandler));
|
|
324
359
|
}
|
|
325
360
|
}
|
|
@@ -459,6 +494,7 @@ bool isMapBufferSerializationEnabled() {
|
|
|
459
494
|
|
|
460
495
|
void Binding::installFabricUIManager(
|
|
461
496
|
jni::alias_ref<JRuntimeExecutor::javaobject> runtimeExecutorHolder,
|
|
497
|
+
jni::alias_ref<JRuntimeScheduler::javaobject> runtimeSchedulerHolder,
|
|
462
498
|
jni::alias_ref<jobject> javaUIManager,
|
|
463
499
|
EventBeatManager *eventBeatManager,
|
|
464
500
|
jni::alias_ref<JavaMessageQueueThread::javaobject> jsMessageQueueThread,
|
|
@@ -493,6 +529,19 @@ void Binding::installFabricUIManager(
|
|
|
493
529
|
std::make_shared<JMessageQueueThread>(jsMessageQueueThread);
|
|
494
530
|
auto runtimeExecutor = runtimeExecutorHolder->cthis()->get();
|
|
495
531
|
|
|
532
|
+
if (runtimeSchedulerHolder) {
|
|
533
|
+
auto runtimeScheduler = runtimeSchedulerHolder->cthis()->get().lock();
|
|
534
|
+
if (runtimeScheduler) {
|
|
535
|
+
runtimeScheduler->setEnableYielding(config->getBool(
|
|
536
|
+
"react_native_new_architecture:runtimescheduler_enable_yielding_android"));
|
|
537
|
+
runtimeExecutor =
|
|
538
|
+
[runtimeScheduler](
|
|
539
|
+
std::function<void(jsi::Runtime & runtime)> &&callback) {
|
|
540
|
+
runtimeScheduler->scheduleWork(std::move(callback));
|
|
541
|
+
};
|
|
542
|
+
}
|
|
543
|
+
}
|
|
544
|
+
|
|
496
545
|
auto enableV2AsynchronousEventBeat =
|
|
497
546
|
config->getBool("react_fabric:enable_asynchronous_event_beat_v2_android");
|
|
498
547
|
|
|
@@ -540,9 +589,6 @@ void Binding::installFabricUIManager(
|
|
|
540
589
|
disablePreallocateViews_ = reactNativeConfig_->getBool(
|
|
541
590
|
"react_fabric:disabled_view_preallocation_android");
|
|
542
591
|
|
|
543
|
-
disableVirtualNodePreallocation_ = reactNativeConfig_->getBool(
|
|
544
|
-
"react_fabric:disable_virtual_node_preallocation");
|
|
545
|
-
|
|
546
592
|
enableEarlyEventEmitterUpdate_ = reactNativeConfig_->getBool(
|
|
547
593
|
"react_fabric:enable_early_event_emitter_update");
|
|
548
594
|
|
|
@@ -559,8 +605,8 @@ void Binding::installFabricUIManager(
|
|
|
559
605
|
toolbox.backgroundExecutor = backgroundExecutor_->get();
|
|
560
606
|
}
|
|
561
607
|
|
|
562
|
-
animationDriver_ =
|
|
563
|
-
|
|
608
|
+
animationDriver_ = std::make_shared<LayoutAnimationDriver>(
|
|
609
|
+
runtimeExecutor, contextContainer, this);
|
|
564
610
|
scheduler_ = std::make_shared<Scheduler>(
|
|
565
611
|
toolbox, (animationDriver_ ? animationDriver_.get() : nullptr), this);
|
|
566
612
|
}
|
|
@@ -1177,8 +1223,7 @@ void Binding::schedulerDidRequestPreliminaryViewAllocation(
|
|
|
1177
1223
|
|
|
1178
1224
|
auto shadowView = ShadowView(shadowNode);
|
|
1179
1225
|
|
|
1180
|
-
if (
|
|
1181
|
-
!shadowView.traits.check(ShadowNodeTraits::Trait::FormsView)) {
|
|
1226
|
+
if (!shadowView.traits.check(ShadowNodeTraits::Trait::FormsView)) {
|
|
1182
1227
|
return;
|
|
1183
1228
|
}
|
|
1184
1229
|
|
|
@@ -1191,9 +1236,6 @@ void Binding::schedulerDidCloneShadowNode(
|
|
|
1191
1236
|
const ShadowNode &newShadowNode) {
|
|
1192
1237
|
// This is only necessary if view preallocation was skipped during
|
|
1193
1238
|
// createShadowNode
|
|
1194
|
-
if (!disableVirtualNodePreallocation_) {
|
|
1195
|
-
return;
|
|
1196
|
-
}
|
|
1197
1239
|
|
|
1198
1240
|
// We may need to PreAllocate a ShadowNode at this point if this is the
|
|
1199
1241
|
// earliest point it is possible to do so:
|
|
@@ -1308,6 +1350,8 @@ void Binding::registerNatives() {
|
|
|
1308
1350
|
makeNativeMethod(
|
|
1309
1351
|
"installFabricUIManager", Binding::installFabricUIManager),
|
|
1310
1352
|
makeNativeMethod("startSurface", Binding::startSurface),
|
|
1353
|
+
makeNativeMethod(
|
|
1354
|
+
"getInspectorDataForInstance", Binding::getInspectorDataForInstance),
|
|
1311
1355
|
makeNativeMethod(
|
|
1312
1356
|
"startSurfaceWithConstraints", Binding::startSurfaceWithConstraints),
|
|
1313
1357
|
makeNativeMethod(
|
|
@@ -10,15 +10,18 @@
|
|
|
10
10
|
#include <fbjni/fbjni.h>
|
|
11
11
|
#include <react/jni/JMessageQueueThread.h>
|
|
12
12
|
#include <react/jni/JRuntimeExecutor.h>
|
|
13
|
+
#include <react/jni/JRuntimeScheduler.h>
|
|
13
14
|
#include <react/jni/ReadableNativeMap.h>
|
|
14
15
|
#include <react/renderer/animations/LayoutAnimationDriver.h>
|
|
15
16
|
#include <react/renderer/scheduler/Scheduler.h>
|
|
16
17
|
#include <react/renderer/scheduler/SchedulerDelegate.h>
|
|
17
18
|
#include <react/renderer/uimanager/LayoutAnimationStatusDelegate.h>
|
|
19
|
+
|
|
18
20
|
#include <memory>
|
|
19
21
|
#include <mutex>
|
|
20
22
|
#include "ComponentFactory.h"
|
|
21
23
|
#include "EventBeatManager.h"
|
|
24
|
+
#include "EventEmitterWrapper.h"
|
|
22
25
|
#include "JBackgroundExecutor.h"
|
|
23
26
|
#include "SurfaceHandlerBinding.h"
|
|
24
27
|
|
|
@@ -96,10 +99,14 @@ class Binding : public jni::HybridClass<Binding>,
|
|
|
96
99
|
jboolean isRTL,
|
|
97
100
|
jboolean doLeftAndRightSwapInRTL);
|
|
98
101
|
|
|
102
|
+
jni::local_ref<ReadableNativeMap::jhybridobject> getInspectorDataForInstance(
|
|
103
|
+
jni::alias_ref<EventEmitterWrapper::javaobject> eventEmitterWrapper);
|
|
104
|
+
|
|
99
105
|
static jni::local_ref<jhybriddata> initHybrid(jni::alias_ref<jclass>);
|
|
100
106
|
|
|
101
107
|
void installFabricUIManager(
|
|
102
108
|
jni::alias_ref<JRuntimeExecutor::javaobject> runtimeExecutorHolder,
|
|
109
|
+
jni::alias_ref<JRuntimeScheduler::javaobject> runtimeSchedulerHolder,
|
|
103
110
|
jni::alias_ref<jobject> javaUIManager,
|
|
104
111
|
EventBeatManager *eventBeatManager,
|
|
105
112
|
jni::alias_ref<JavaMessageQueueThread::javaobject> jsMessageQueueThread,
|
|
@@ -192,7 +199,6 @@ class Binding : public jni::HybridClass<Binding>,
|
|
|
192
199
|
|
|
193
200
|
std::shared_ptr<const ReactNativeConfig> reactNativeConfig_{nullptr};
|
|
194
201
|
bool disablePreallocateViews_{false};
|
|
195
|
-
bool disableVirtualNodePreallocation_{false};
|
|
196
202
|
bool enableFabricLogs_{false};
|
|
197
203
|
bool enableEarlyEventEmitterUpdate_{false};
|
|
198
204
|
};
|
package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountItemDispatcher.java
CHANGED
|
@@ -13,6 +13,7 @@ import static com.facebook.react.fabric.FabricUIManager.ENABLE_FABRIC_LOGS;
|
|
|
13
13
|
import static com.facebook.react.fabric.FabricUIManager.IS_DEVELOPMENT_ENVIRONMENT;
|
|
14
14
|
|
|
15
15
|
import android.os.SystemClock;
|
|
16
|
+
import android.view.View;
|
|
16
17
|
import androidx.annotation.AnyThread;
|
|
17
18
|
import androidx.annotation.NonNull;
|
|
18
19
|
import androidx.annotation.Nullable;
|
|
@@ -21,7 +22,7 @@ import com.facebook.common.logging.FLog;
|
|
|
21
22
|
import com.facebook.infer.annotation.ThreadConfined;
|
|
22
23
|
import com.facebook.react.bridge.ReactIgnorableMountingException;
|
|
23
24
|
import com.facebook.react.bridge.ReactNoCrashSoftException;
|
|
24
|
-
import com.facebook.react.bridge.
|
|
25
|
+
import com.facebook.react.bridge.ReactSoftExceptionLogger;
|
|
25
26
|
import com.facebook.react.bridge.RetryableMountingLayerException;
|
|
26
27
|
import com.facebook.react.fabric.mounting.mountitems.DispatchCommandMountItem;
|
|
27
28
|
import com.facebook.react.fabric.mounting.mountitems.MountItem;
|
|
@@ -131,7 +132,7 @@ public class MountItemDispatcher {
|
|
|
131
132
|
if (mReDispatchCounter < 10 && didDispatchItems) {
|
|
132
133
|
// Executing twice in a row is normal. Only log after that point.
|
|
133
134
|
if (mReDispatchCounter > 2) {
|
|
134
|
-
|
|
135
|
+
ReactSoftExceptionLogger.logSoftException(
|
|
135
136
|
TAG,
|
|
136
137
|
new ReactNoCrashSoftException(
|
|
137
138
|
"Re-dispatched "
|
|
@@ -224,14 +225,14 @@ public class MountItemDispatcher {
|
|
|
224
225
|
// exception but never crash in debug.
|
|
225
226
|
// It's not clear that logging this is even useful, because these events are very
|
|
226
227
|
// common, mundane, and there's not much we can do about them currently.
|
|
227
|
-
|
|
228
|
+
ReactSoftExceptionLogger.logSoftException(
|
|
228
229
|
TAG,
|
|
229
230
|
new ReactNoCrashSoftException(
|
|
230
231
|
"Caught exception executing ViewCommand: " + command.toString(), e));
|
|
231
232
|
}
|
|
232
233
|
} catch (Throwable e) {
|
|
233
234
|
// Non-Retryable exceptions are logged as soft exceptions in prod, but crash in Debug.
|
|
234
|
-
|
|
235
|
+
ReactSoftExceptionLogger.logSoftException(
|
|
235
236
|
TAG,
|
|
236
237
|
new RuntimeException(
|
|
237
238
|
"Caught exception executing ViewCommand: " + command.toString(), e));
|
|
@@ -274,13 +275,20 @@ public class MountItemDispatcher {
|
|
|
274
275
|
executeOrEnqueue(mountItem);
|
|
275
276
|
} catch (Throwable e) {
|
|
276
277
|
// If there's an exception, we want to log diagnostics in prod and rethrow.
|
|
277
|
-
FLog.e(TAG, "dispatchMountItems: caught exception, displaying
|
|
278
|
+
FLog.e(TAG, "dispatchMountItems: caught exception, displaying mount state", e);
|
|
278
279
|
for (MountItem m : mountItemsToDispatch) {
|
|
279
280
|
printMountItem(m, "dispatchMountItems: mountItem");
|
|
280
281
|
}
|
|
282
|
+
if (mountItem.getSurfaceId() != View.NO_ID) {
|
|
283
|
+
SurfaceMountingManager surfaceManager =
|
|
284
|
+
mMountingManager.getSurfaceManager(mountItem.getSurfaceId());
|
|
285
|
+
if (surfaceManager != null) {
|
|
286
|
+
surfaceManager.printSurfaceState();
|
|
287
|
+
}
|
|
288
|
+
}
|
|
281
289
|
|
|
282
290
|
if (ReactIgnorableMountingException.isIgnorable(e)) {
|
|
283
|
-
|
|
291
|
+
ReactSoftExceptionLogger.logSoftException(TAG, e);
|
|
284
292
|
} else {
|
|
285
293
|
throw e;
|
|
286
294
|
}
|