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
|
@@ -21,6 +21,7 @@ public class NativeModuleRegistry {
|
|
|
21
21
|
|
|
22
22
|
private final ReactApplicationContext mReactApplicationContext;
|
|
23
23
|
private final Map<String, ModuleHolder> mModules;
|
|
24
|
+
private final String TAG = NativeModuleRegistry.class.getSimpleName();
|
|
24
25
|
|
|
25
26
|
public NativeModuleRegistry(
|
|
26
27
|
ReactApplicationContext reactApplicationContext, Map<String, ModuleHolder> modules) {
|
|
@@ -41,6 +42,17 @@ public class NativeModuleRegistry {
|
|
|
41
42
|
ArrayList<JavaModuleWrapper> javaModules = new ArrayList<>();
|
|
42
43
|
for (Map.Entry<String, ModuleHolder> entry : mModules.entrySet()) {
|
|
43
44
|
if (!entry.getValue().isCxxModule()) {
|
|
45
|
+
if (ReactFeatureFlags.warnOnLegacyNativeModuleSystemUse) {
|
|
46
|
+
ReactSoftExceptionLogger.logSoftException(
|
|
47
|
+
TAG,
|
|
48
|
+
new ReactNoCrashSoftException(
|
|
49
|
+
"Registering legacy NativeModule: Java NativeModule (name = \""
|
|
50
|
+
+ entry.getValue().getName()
|
|
51
|
+
+ "\", className = "
|
|
52
|
+
+ entry.getValue().getClassName()
|
|
53
|
+
+ ")."));
|
|
54
|
+
}
|
|
55
|
+
|
|
44
56
|
javaModules.add(new JavaModuleWrapper(jsInstance, entry.getValue()));
|
|
45
57
|
}
|
|
46
58
|
}
|
|
@@ -51,6 +63,16 @@ public class NativeModuleRegistry {
|
|
|
51
63
|
ArrayList<ModuleHolder> cxxModules = new ArrayList<>();
|
|
52
64
|
for (Map.Entry<String, ModuleHolder> entry : mModules.entrySet()) {
|
|
53
65
|
if (entry.getValue().isCxxModule()) {
|
|
66
|
+
if (ReactFeatureFlags.warnOnLegacyNativeModuleSystemUse) {
|
|
67
|
+
ReactSoftExceptionLogger.logSoftException(
|
|
68
|
+
TAG,
|
|
69
|
+
new ReactNoCrashSoftException(
|
|
70
|
+
"Registering legacy NativeModule: Cxx NativeModule (name = \""
|
|
71
|
+
+ entry.getValue().getName()
|
|
72
|
+
+ "\", className = "
|
|
73
|
+
+ entry.getValue().getClassName()
|
|
74
|
+
+ ")."));
|
|
75
|
+
}
|
|
54
76
|
cxxModules.add(entry.getValue());
|
|
55
77
|
}
|
|
56
78
|
}
|
|
@@ -78,7 +78,7 @@ public class ReactContext extends ContextWrapper {
|
|
|
78
78
|
throw new IllegalStateException("ReactContext has been already initialized");
|
|
79
79
|
}
|
|
80
80
|
if (mDestroyed) {
|
|
81
|
-
|
|
81
|
+
ReactSoftExceptionLogger.logSoftException(
|
|
82
82
|
TAG,
|
|
83
83
|
new IllegalStateException("Cannot initialize ReactContext after it has been destroyed."));
|
|
84
84
|
}
|
|
@@ -89,11 +89,8 @@ public class ReactContext extends ContextWrapper {
|
|
|
89
89
|
initializeMessageQueueThreads(queueConfig);
|
|
90
90
|
}
|
|
91
91
|
|
|
92
|
-
/**
|
|
93
|
-
|
|
94
|
-
* this package instead of public
|
|
95
|
-
*/
|
|
96
|
-
public void initializeMessageQueueThreads(ReactQueueConfiguration queueConfig) {
|
|
92
|
+
/** Initialize message queue threads using a ReactQueueConfiguration. */
|
|
93
|
+
public synchronized void initializeMessageQueueThreads(ReactQueueConfiguration queueConfig) {
|
|
97
94
|
if (mUiMessageQueueThread != null
|
|
98
95
|
|| mNativeModulesMessageQueueThread != null
|
|
99
96
|
|| mJSMessageQueueThread != null) {
|
package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContextBaseJavaModule.java
CHANGED
|
@@ -63,7 +63,7 @@ public abstract class ReactContextBaseJavaModule extends BaseJavaModule {
|
|
|
63
63
|
if (ReactBuildConfig.DEBUG) {
|
|
64
64
|
FLog.w(tag, msg);
|
|
65
65
|
} else {
|
|
66
|
-
|
|
66
|
+
ReactSoftExceptionLogger.logSoftException(tag, new RuntimeException(msg));
|
|
67
67
|
}
|
|
68
68
|
return null;
|
|
69
69
|
}
|
|
@@ -0,0 +1,39 @@
|
|
|
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.bridge;
|
|
9
|
+
|
|
10
|
+
import com.facebook.common.logging.FLog;
|
|
11
|
+
import com.facebook.proguard.annotations.DoNotStrip;
|
|
12
|
+
import java.lang.reflect.Method;
|
|
13
|
+
|
|
14
|
+
@DoNotStrip
|
|
15
|
+
public class ReactCxxErrorHandler {
|
|
16
|
+
|
|
17
|
+
private static Method mHandleErrorFunc;
|
|
18
|
+
private static Object mObject;
|
|
19
|
+
|
|
20
|
+
@DoNotStrip
|
|
21
|
+
public static void setHandleErrorFunc(Object object, Method handleErrorFunc) {
|
|
22
|
+
mObject = object;
|
|
23
|
+
mHandleErrorFunc = handleErrorFunc;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
@DoNotStrip
|
|
27
|
+
// For use from within the C++ JReactCxxErrorHandler
|
|
28
|
+
private static void handleError(final String message) {
|
|
29
|
+
if (mHandleErrorFunc != null) {
|
|
30
|
+
try {
|
|
31
|
+
Object[] parameters = new Object[1];
|
|
32
|
+
parameters[0] = new Exception(message);
|
|
33
|
+
mHandleErrorFunc.invoke(mObject, parameters);
|
|
34
|
+
} catch (Exception e) {
|
|
35
|
+
FLog.e("ReactCxxErrorHandler", "Failed to invole error hanlder function", e);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
@@ -13,9 +13,7 @@ import java.util.List;
|
|
|
13
13
|
import java.util.concurrent.CopyOnWriteArrayList;
|
|
14
14
|
|
|
15
15
|
@DoNotStrip
|
|
16
|
-
|
|
17
|
-
// TODO T53446395: unify ReactSoftException with a more generic exception-handling utility
|
|
18
|
-
public class ReactSoftException {
|
|
16
|
+
public class ReactSoftExceptionLogger {
|
|
19
17
|
public interface ReactSoftExceptionListener {
|
|
20
18
|
void logSoftException(final String category, final Throwable cause);
|
|
21
19
|
}
|
|
@@ -52,4 +50,11 @@ public class ReactSoftException {
|
|
|
52
50
|
FLog.e(category, "Unhandled SoftException", cause);
|
|
53
51
|
}
|
|
54
52
|
}
|
|
53
|
+
|
|
54
|
+
@DoNotStrip
|
|
55
|
+
// For use from within the C++ JReactSoftExceptionLogger
|
|
56
|
+
private static void logNoThrowSoftExceptionWithMessage(
|
|
57
|
+
final String category, final String message) {
|
|
58
|
+
logSoftException(category, new ReactNoCrashSoftException(message));
|
|
59
|
+
}
|
|
55
60
|
}
|
|
@@ -0,0 +1,21 @@
|
|
|
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.bridge;
|
|
9
|
+
|
|
10
|
+
import com.facebook.jni.HybridData;
|
|
11
|
+
import com.facebook.proguard.annotations.DoNotStrip;
|
|
12
|
+
|
|
13
|
+
/** A Java holder for a C++ RuntimeScheduler. */
|
|
14
|
+
public class RuntimeScheduler {
|
|
15
|
+
|
|
16
|
+
@DoNotStrip private HybridData mHybridData;
|
|
17
|
+
|
|
18
|
+
public RuntimeScheduler(HybridData hybridData) {
|
|
19
|
+
mHybridData = hybridData;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
@@ -20,31 +20,32 @@ public class SoftAssertions {
|
|
|
20
20
|
/**
|
|
21
21
|
* Throw {@link AssertionException} with a given message. Use this method surrounded with {@code
|
|
22
22
|
* if} block with assert condition in case you plan to do string concatenation to produce the
|
|
23
|
-
* message. This logs an assertion with
|
|
23
|
+
* message. This logs an assertion with ReactSoftExceptionLogger, which decides whether or not to
|
|
24
24
|
* actually throw.
|
|
25
25
|
*/
|
|
26
26
|
public static void assertUnreachable(String message) {
|
|
27
|
-
|
|
27
|
+
ReactSoftExceptionLogger.logSoftException("SoftAssertions", new AssertionException(message));
|
|
28
28
|
}
|
|
29
29
|
|
|
30
30
|
/**
|
|
31
31
|
* Asserts the given condition, throwing an {@link AssertionException} if the condition doesn't
|
|
32
|
-
* hold. This logs an assertion with
|
|
33
|
-
* throw.
|
|
32
|
+
* hold. This logs an assertion with ReactSoftExceptionLogger, which decides whether or not to
|
|
33
|
+
* actually throw.
|
|
34
34
|
*/
|
|
35
35
|
public static void assertCondition(boolean condition, String message) {
|
|
36
36
|
if (!condition) {
|
|
37
|
-
|
|
37
|
+
ReactSoftExceptionLogger.logSoftException("SoftAssertions", new AssertionException(message));
|
|
38
38
|
}
|
|
39
39
|
}
|
|
40
40
|
|
|
41
41
|
/**
|
|
42
42
|
* Asserts that the given Object isn't null, throwing an {@link AssertionException} if it was.
|
|
43
|
-
* This logs an assertion with
|
|
43
|
+
* This logs an assertion with ReactSoftExceptionLogger, which decides whether or not to actually
|
|
44
|
+
* throw.
|
|
44
45
|
*/
|
|
45
46
|
public static <T> T assertNotNull(@Nullable T instance) {
|
|
46
47
|
if (instance == null) {
|
|
47
|
-
|
|
48
|
+
ReactSoftExceptionLogger.logSoftException(
|
|
48
49
|
"SoftAssertions", new AssertionException("Expected object to not be null!"));
|
|
49
50
|
}
|
|
50
51
|
return instance;
|
|
@@ -117,6 +117,16 @@ public interface UIManager extends JSIModule, PerformanceCounter {
|
|
|
117
117
|
*/
|
|
118
118
|
void removeUIManagerEventListener(UIManagerListener listener);
|
|
119
119
|
|
|
120
|
+
/**
|
|
121
|
+
* Resolves a view based on its reactTag. Do not mutate properties on this view that are already
|
|
122
|
+
* managed by React, as there are no guarantees this changes will be preserved.
|
|
123
|
+
*
|
|
124
|
+
* @throws IllegalViewOperationException if tag could not be resolved.
|
|
125
|
+
* @param reactTag tag
|
|
126
|
+
* @return view if found
|
|
127
|
+
*/
|
|
128
|
+
View resolveView(int reactTag);
|
|
129
|
+
|
|
120
130
|
/**
|
|
121
131
|
* This method dispatches events from RN Android code to JS. The delivery of this event will not
|
|
122
132
|
* be queued in EventDispatcher class.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
load("//tools/build_defs/oss:rn_defs.bzl", "react_native_dep", "rn_android_build_config", "rn_android_library")
|
|
1
|
+
load("//tools/build_defs/oss:rn_defs.bzl", "HERMES_BYTECODE_VERSION", "react_native_dep", "rn_android_build_config", "rn_android_library")
|
|
2
2
|
|
|
3
3
|
SUB_PROJECTS = [
|
|
4
4
|
"network/**/*",
|
|
@@ -41,7 +41,7 @@ rn_android_build_config(
|
|
|
41
41
|
package = "com.facebook.react",
|
|
42
42
|
values = [
|
|
43
43
|
"boolean IS_INTERNAL_BUILD = true",
|
|
44
|
-
"int HERMES_BYTECODE_VERSION =
|
|
44
|
+
"int HERMES_BYTECODE_VERSION = {}".format(HERMES_BYTECODE_VERSION),
|
|
45
45
|
],
|
|
46
46
|
visibility = [
|
|
47
47
|
"PUBLIC",
|
|
@@ -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",
|
|
@@ -26,15 +26,41 @@ public class ReactFeatureFlags {
|
|
|
26
26
|
public static volatile boolean useTurboModules = false;
|
|
27
27
|
|
|
28
28
|
/**
|
|
29
|
-
* Should application use the new
|
|
30
|
-
*
|
|
31
|
-
* quantified impact.
|
|
29
|
+
* Should this application use the new (Fabric) Renderer? If yes, all rendering in this app will
|
|
30
|
+
* use Fabric instead of the legacy renderer.
|
|
32
31
|
*/
|
|
33
|
-
public static volatile boolean
|
|
32
|
+
public static volatile boolean enableFabricRenderer = false;
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* After TurboModules and Fabric are enabled, we need to ensure that the legacy NativeModule isn't
|
|
36
|
+
* isn't used. So, turn this flag on to trigger warnings whenever the legacy NativeModule system
|
|
37
|
+
* is used.
|
|
38
|
+
*/
|
|
39
|
+
public static volatile boolean warnOnLegacyNativeModuleSystemUse = false;
|
|
34
40
|
|
|
35
41
|
/** Should we dispatch TurboModule methods with promise returns to the NativeModules thread? */
|
|
36
42
|
public static volatile boolean enableTurboModulePromiseAsyncDispatch = false;
|
|
37
43
|
|
|
44
|
+
/**
|
|
45
|
+
* Experiment:
|
|
46
|
+
*
|
|
47
|
+
* <p>Bridge and Bridgeless mode can run concurrently. This means that there can be two
|
|
48
|
+
* TurboModule systems alive at the same time.
|
|
49
|
+
*
|
|
50
|
+
* <p>The TurboModule system stores all JS callbacks in a global LongLivedObjectCollection. This
|
|
51
|
+
* collection is cleared when the JS VM is torn down. Implication: Tearing down the bridge JSVM
|
|
52
|
+
* invalidates the bridgeless JSVM's callbacks, and vice versa.
|
|
53
|
+
*
|
|
54
|
+
* <p>useGlobalCallbackCleanupScopeUsingRetainJSCallback => Use a retainJSCallbacks lambda to
|
|
55
|
+
* store jsi::Functions into the global LongLivedObjectCollection
|
|
56
|
+
*
|
|
57
|
+
* <p>useTurboModuleManagerCallbackCleanupScope => Use a retainJSCallbacks labmda to store
|
|
58
|
+
* jsi::Functions into a LongLivedObjectCollection owned by the TurboModuleManager
|
|
59
|
+
*/
|
|
60
|
+
public static boolean useGlobalCallbackCleanupScopeUsingRetainJSCallback = false;
|
|
61
|
+
|
|
62
|
+
public static boolean useTurboModuleManagerCallbackCleanupScope = false;
|
|
63
|
+
|
|
38
64
|
/** This feature flag enables logs for Fabric */
|
|
39
65
|
public static boolean enableFabricLogs = false;
|
|
40
66
|
|
|
@@ -69,4 +95,6 @@ public class ReactFeatureFlags {
|
|
|
69
95
|
public static boolean enableLockFreeEventDispatcher = false;
|
|
70
96
|
|
|
71
97
|
public static boolean enableAggressiveEventEmitterCleanup = false;
|
|
98
|
+
|
|
99
|
+
public static boolean insertZReorderBarriersOnViewGroupChildren = true;
|
|
72
100
|
}
|
|
@@ -0,0 +1,97 @@
|
|
|
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 android.content.Context;
|
|
11
|
+
import androidx.annotation.Nullable;
|
|
12
|
+
import com.facebook.react.devsupport.interfaces.DevBundleDownloadListener;
|
|
13
|
+
import com.facebook.react.devsupport.interfaces.DevSupportManager;
|
|
14
|
+
import com.facebook.react.packagerconnection.RequestHandler;
|
|
15
|
+
import java.lang.reflect.Constructor;
|
|
16
|
+
import java.util.Map;
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* A simple factory that creates instances of {@link DevSupportManager} implementations. Uses
|
|
20
|
+
* reflection to create BridgeDevSupportManager if it exists. This allows ProGuard to strip that
|
|
21
|
+
* class and its dependencies in release builds. If the class isn't found, {@link
|
|
22
|
+
* DisabledDevSupportManager} is returned instead.
|
|
23
|
+
*/
|
|
24
|
+
public class DefaultDevSupportManagerFactory implements DevSupportManagerFactory {
|
|
25
|
+
|
|
26
|
+
private static final String DEVSUPPORT_IMPL_PACKAGE = "com.facebook.react.devsupport";
|
|
27
|
+
private static final String DEVSUPPORT_IMPL_CLASS = "BridgeDevSupportManager";
|
|
28
|
+
|
|
29
|
+
public DevSupportManager create(
|
|
30
|
+
Context applicationContext,
|
|
31
|
+
ReactInstanceDevHelper reactInstanceDevHelper,
|
|
32
|
+
@Nullable String packagerPathForJSBundleName,
|
|
33
|
+
boolean enableOnCreate,
|
|
34
|
+
int minNumShakes) {
|
|
35
|
+
|
|
36
|
+
return create(
|
|
37
|
+
applicationContext,
|
|
38
|
+
reactInstanceDevHelper,
|
|
39
|
+
packagerPathForJSBundleName,
|
|
40
|
+
enableOnCreate,
|
|
41
|
+
null,
|
|
42
|
+
null,
|
|
43
|
+
minNumShakes,
|
|
44
|
+
null);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
@Override
|
|
48
|
+
public DevSupportManager create(
|
|
49
|
+
Context applicationContext,
|
|
50
|
+
ReactInstanceDevHelper reactInstanceManagerHelper,
|
|
51
|
+
@Nullable String packagerPathForJSBundleName,
|
|
52
|
+
boolean enableOnCreate,
|
|
53
|
+
@Nullable RedBoxHandler redBoxHandler,
|
|
54
|
+
@Nullable DevBundleDownloadListener devBundleDownloadListener,
|
|
55
|
+
int minNumShakes,
|
|
56
|
+
@Nullable Map<String, RequestHandler> customPackagerCommandHandlers) {
|
|
57
|
+
if (!enableOnCreate) {
|
|
58
|
+
return new DisabledDevSupportManager();
|
|
59
|
+
}
|
|
60
|
+
try {
|
|
61
|
+
// ProGuard is surprisingly smart in this case and will keep a class if it detects a call to
|
|
62
|
+
// Class.forName() with a static string. So instead we generate a quasi-dynamic string to
|
|
63
|
+
// confuse it.
|
|
64
|
+
String className =
|
|
65
|
+
new StringBuilder(DEVSUPPORT_IMPL_PACKAGE)
|
|
66
|
+
.append(".")
|
|
67
|
+
.append(DEVSUPPORT_IMPL_CLASS)
|
|
68
|
+
.toString();
|
|
69
|
+
Class<?> devSupportManagerClass = Class.forName(className);
|
|
70
|
+
Constructor constructor =
|
|
71
|
+
devSupportManagerClass.getConstructor(
|
|
72
|
+
Context.class,
|
|
73
|
+
ReactInstanceDevHelper.class,
|
|
74
|
+
String.class,
|
|
75
|
+
boolean.class,
|
|
76
|
+
RedBoxHandler.class,
|
|
77
|
+
DevBundleDownloadListener.class,
|
|
78
|
+
int.class,
|
|
79
|
+
Map.class);
|
|
80
|
+
return (DevSupportManager)
|
|
81
|
+
constructor.newInstance(
|
|
82
|
+
applicationContext,
|
|
83
|
+
reactInstanceManagerHelper,
|
|
84
|
+
packagerPathForJSBundleName,
|
|
85
|
+
true,
|
|
86
|
+
redBoxHandler,
|
|
87
|
+
devBundleDownloadListener,
|
|
88
|
+
minNumShakes,
|
|
89
|
+
customPackagerCommandHandlers);
|
|
90
|
+
} catch (Exception e) {
|
|
91
|
+
throw new RuntimeException(
|
|
92
|
+
"Requested enabled DevSupportManager, but BridgeDevSupportManager class was not found"
|
|
93
|
+
+ " or could not be created",
|
|
94
|
+
e);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
@@ -41,7 +41,6 @@ import okhttp3.OkHttpClient;
|
|
|
41
41
|
import okhttp3.Request;
|
|
42
42
|
import okhttp3.RequestBody;
|
|
43
43
|
import okhttp3.Response;
|
|
44
|
-
import okhttp3.ResponseBody;
|
|
45
44
|
import okio.Okio;
|
|
46
45
|
import okio.Sink;
|
|
47
46
|
import org.json.JSONArray;
|
|
@@ -63,8 +62,6 @@ import org.json.JSONObject;
|
|
|
63
62
|
public class DevServerHelper {
|
|
64
63
|
public static final String RELOAD_APP_EXTRA_JS_PROXY = "jsproxy";
|
|
65
64
|
|
|
66
|
-
private static final String PACKAGER_OK_STATUS = "packager-status:running";
|
|
67
|
-
|
|
68
65
|
private static final int HTTP_CONNECT_TIMEOUT_MS = 5000;
|
|
69
66
|
|
|
70
67
|
private static final String DEBUGGER_MSG_DISABLE = "{ \"id\":1,\"method\":\"Debugger.disable\" }";
|
|
@@ -113,6 +110,7 @@ public class DevServerHelper {
|
|
|
113
110
|
private final DevInternalSettings mSettings;
|
|
114
111
|
private final OkHttpClient mClient;
|
|
115
112
|
private final BundleDownloader mBundleDownloader;
|
|
113
|
+
private final PackagerStatusCheck mPackagerStatusCheck;
|
|
116
114
|
private final String mPackageName;
|
|
117
115
|
|
|
118
116
|
private @Nullable JSPackagerClient mPackagerClient;
|
|
@@ -132,7 +130,7 @@ public class DevServerHelper {
|
|
|
132
130
|
.writeTimeout(0, TimeUnit.MILLISECONDS)
|
|
133
131
|
.build();
|
|
134
132
|
mBundleDownloader = new BundleDownloader(mClient);
|
|
135
|
-
|
|
133
|
+
mPackagerStatusCheck = new PackagerStatusCheck(mClient);
|
|
136
134
|
mPackageName = packageName;
|
|
137
135
|
}
|
|
138
136
|
|
|
@@ -477,60 +475,13 @@ public class DevServerHelper {
|
|
|
477
475
|
}
|
|
478
476
|
|
|
479
477
|
public void isPackagerRunning(final PackagerStatusCallback callback) {
|
|
480
|
-
String
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
new Callback() {
|
|
488
|
-
@Override
|
|
489
|
-
public void onFailure(Call call, IOException e) {
|
|
490
|
-
FLog.w(
|
|
491
|
-
ReactConstants.TAG,
|
|
492
|
-
"The packager does not seem to be running as we got an IOException requesting "
|
|
493
|
-
+ "its status: "
|
|
494
|
-
+ e.getMessage());
|
|
495
|
-
callback.onPackagerStatusFetched(false);
|
|
496
|
-
}
|
|
497
|
-
|
|
498
|
-
@Override
|
|
499
|
-
public void onResponse(Call call, Response response) throws IOException {
|
|
500
|
-
if (!response.isSuccessful()) {
|
|
501
|
-
FLog.e(
|
|
502
|
-
ReactConstants.TAG,
|
|
503
|
-
"Got non-success http code from packager when requesting status: "
|
|
504
|
-
+ response.code());
|
|
505
|
-
callback.onPackagerStatusFetched(false);
|
|
506
|
-
return;
|
|
507
|
-
}
|
|
508
|
-
ResponseBody body = response.body();
|
|
509
|
-
if (body == null) {
|
|
510
|
-
FLog.e(
|
|
511
|
-
ReactConstants.TAG,
|
|
512
|
-
"Got null body response from packager when requesting status");
|
|
513
|
-
callback.onPackagerStatusFetched(false);
|
|
514
|
-
return;
|
|
515
|
-
}
|
|
516
|
-
String bodyString =
|
|
517
|
-
body.string(); // cannot call body.string() twice, stored it into variable.
|
|
518
|
-
// https://github.com/square/okhttp/issues/1240#issuecomment-68142603
|
|
519
|
-
if (!PACKAGER_OK_STATUS.equals(bodyString)) {
|
|
520
|
-
FLog.e(
|
|
521
|
-
ReactConstants.TAG,
|
|
522
|
-
"Got unexpected response from packager when requesting status: "
|
|
523
|
-
+ bodyString);
|
|
524
|
-
callback.onPackagerStatusFetched(false);
|
|
525
|
-
return;
|
|
526
|
-
}
|
|
527
|
-
callback.onPackagerStatusFetched(true);
|
|
528
|
-
}
|
|
529
|
-
});
|
|
530
|
-
}
|
|
531
|
-
|
|
532
|
-
private static String createPackagerStatusURL(String host) {
|
|
533
|
-
return String.format(Locale.US, "http://%s/status", host);
|
|
478
|
+
String host = mSettings.getPackagerConnectionSettings().getDebugServerHost();
|
|
479
|
+
if (host == null) {
|
|
480
|
+
FLog.w(ReactConstants.TAG, "No packager host configured.");
|
|
481
|
+
callback.onPackagerStatusFetched(false);
|
|
482
|
+
} else {
|
|
483
|
+
mPackagerStatusCheck.run(host, callback);
|
|
484
|
+
}
|
|
534
485
|
}
|
|
535
486
|
|
|
536
487
|
private String createLaunchJSDevtoolsCommandUrl() {
|
|
@@ -345,16 +345,21 @@ public abstract class DevSupportManagerBase implements DevSupportManager {
|
|
|
345
345
|
@Override
|
|
346
346
|
public void run() {
|
|
347
347
|
Activity context = mReactInstanceDevHelper.getCurrentActivity();
|
|
348
|
-
if (
|
|
349
|
-
if (context == null || context.isFinishing()) {
|
|
350
|
-
FLog.e(
|
|
351
|
-
ReactConstants.TAG,
|
|
352
|
-
"Unable to launch redbox because react activity "
|
|
353
|
-
+ "is not available, here is the error that redbox would've displayed: "
|
|
354
|
-
+ message);
|
|
355
|
-
return;
|
|
356
|
-
}
|
|
348
|
+
if (context != null && !context.isFinishing() && currentActivity != context) {
|
|
357
349
|
currentActivity = context;
|
|
350
|
+
// Create a new RedBox when currentActivity get updated
|
|
351
|
+
mRedBoxDialog =
|
|
352
|
+
new RedBoxDialog(currentActivity, DevSupportManagerBase.this, mRedBoxHandler);
|
|
353
|
+
}
|
|
354
|
+
if (currentActivity == null || currentActivity.isFinishing()) {
|
|
355
|
+
FLog.e(
|
|
356
|
+
ReactConstants.TAG,
|
|
357
|
+
"Unable to launch redbox because react activity "
|
|
358
|
+
+ "is not available, here is the error that redbox would've displayed: "
|
|
359
|
+
+ message);
|
|
360
|
+
return;
|
|
361
|
+
}
|
|
362
|
+
if (mRedBoxDialog == null) {
|
|
358
363
|
mRedBoxDialog =
|
|
359
364
|
new RedBoxDialog(currentActivity, DevSupportManagerBase.this, mRedBoxHandler);
|
|
360
365
|
}
|
package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerFactory.java
CHANGED
|
@@ -12,39 +12,10 @@ import androidx.annotation.Nullable;
|
|
|
12
12
|
import com.facebook.react.devsupport.interfaces.DevBundleDownloadListener;
|
|
13
13
|
import com.facebook.react.devsupport.interfaces.DevSupportManager;
|
|
14
14
|
import com.facebook.react.packagerconnection.RequestHandler;
|
|
15
|
-
import java.lang.reflect.Constructor;
|
|
16
15
|
import java.util.Map;
|
|
17
16
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
* reflection to create BridgeDevSupportManager if it exists. This allows ProGuard to strip that
|
|
21
|
-
* class and its dependencies in release builds. If the class isn't found, {@link
|
|
22
|
-
* DisabledDevSupportManager} is returned instead.
|
|
23
|
-
*/
|
|
24
|
-
public class DevSupportManagerFactory {
|
|
25
|
-
|
|
26
|
-
private static final String DEVSUPPORT_IMPL_PACKAGE = "com.facebook.react.devsupport";
|
|
27
|
-
private static final String DEVSUPPORT_IMPL_CLASS = "BridgeDevSupportManager";
|
|
28
|
-
|
|
29
|
-
public static DevSupportManager create(
|
|
30
|
-
Context applicationContext,
|
|
31
|
-
ReactInstanceDevHelper reactInstanceDevHelper,
|
|
32
|
-
@Nullable String packagerPathForJSBundleName,
|
|
33
|
-
boolean enableOnCreate,
|
|
34
|
-
int minNumShakes) {
|
|
35
|
-
|
|
36
|
-
return create(
|
|
37
|
-
applicationContext,
|
|
38
|
-
reactInstanceDevHelper,
|
|
39
|
-
packagerPathForJSBundleName,
|
|
40
|
-
enableOnCreate,
|
|
41
|
-
null,
|
|
42
|
-
null,
|
|
43
|
-
minNumShakes,
|
|
44
|
-
null);
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
public static DevSupportManager create(
|
|
17
|
+
public interface DevSupportManagerFactory {
|
|
18
|
+
DevSupportManager create(
|
|
48
19
|
Context applicationContext,
|
|
49
20
|
ReactInstanceDevHelper reactInstanceManagerHelper,
|
|
50
21
|
@Nullable String packagerPathForJSBundleName,
|
|
@@ -52,45 +23,5 @@ public class DevSupportManagerFactory {
|
|
|
52
23
|
@Nullable RedBoxHandler redBoxHandler,
|
|
53
24
|
@Nullable DevBundleDownloadListener devBundleDownloadListener,
|
|
54
25
|
int minNumShakes,
|
|
55
|
-
@Nullable Map<String, RequestHandler> customPackagerCommandHandlers)
|
|
56
|
-
if (!enableOnCreate) {
|
|
57
|
-
return new DisabledDevSupportManager();
|
|
58
|
-
}
|
|
59
|
-
try {
|
|
60
|
-
// ProGuard is surprisingly smart in this case and will keep a class if it detects a call to
|
|
61
|
-
// Class.forName() with a static string. So instead we generate a quasi-dynamic string to
|
|
62
|
-
// confuse it.
|
|
63
|
-
String className =
|
|
64
|
-
new StringBuilder(DEVSUPPORT_IMPL_PACKAGE)
|
|
65
|
-
.append(".")
|
|
66
|
-
.append(DEVSUPPORT_IMPL_CLASS)
|
|
67
|
-
.toString();
|
|
68
|
-
Class<?> devSupportManagerClass = Class.forName(className);
|
|
69
|
-
Constructor constructor =
|
|
70
|
-
devSupportManagerClass.getConstructor(
|
|
71
|
-
Context.class,
|
|
72
|
-
ReactInstanceDevHelper.class,
|
|
73
|
-
String.class,
|
|
74
|
-
boolean.class,
|
|
75
|
-
RedBoxHandler.class,
|
|
76
|
-
DevBundleDownloadListener.class,
|
|
77
|
-
int.class,
|
|
78
|
-
Map.class);
|
|
79
|
-
return (DevSupportManager)
|
|
80
|
-
constructor.newInstance(
|
|
81
|
-
applicationContext,
|
|
82
|
-
reactInstanceManagerHelper,
|
|
83
|
-
packagerPathForJSBundleName,
|
|
84
|
-
true,
|
|
85
|
-
redBoxHandler,
|
|
86
|
-
devBundleDownloadListener,
|
|
87
|
-
minNumShakes,
|
|
88
|
-
customPackagerCommandHandlers);
|
|
89
|
-
} catch (Exception e) {
|
|
90
|
-
throw new RuntimeException(
|
|
91
|
-
"Requested enabled DevSupportManager, but BridgeDevSupportManager class was not found"
|
|
92
|
-
+ " or could not be created",
|
|
93
|
-
e);
|
|
94
|
-
}
|
|
95
|
-
}
|
|
26
|
+
@Nullable Map<String, RequestHandler> customPackagerCommandHandlers);
|
|
96
27
|
}
|