react-native 0.66.0-rc.4 → 0.67.0-rc.1
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 +2 -2
- package/Libraries/Animated/components/AnimatedImage.js +3 -3
- package/Libraries/Animated/components/AnimatedScrollView.js +3 -3
- package/Libraries/Animated/components/AnimatedText.js +3 -3
- package/Libraries/Animated/components/AnimatedView.js +1 -3
- package/Libraries/Animated/createAnimatedComponent.js +3 -34
- 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/AndroidHorizontalScrollViewNativeComponent.js +1 -0
- package/Libraries/Components/ScrollView/ScrollView.js +17 -16
- package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +268 -252
- package/Libraries/Components/View/View.js +1 -1
- package/Libraries/Components/View/ViewAccessibility.js +1 -1
- package/Libraries/Core/ExceptionsManager.js +45 -80
- package/Libraries/Core/ExtendedError.js +0 -1
- package/Libraries/Core/ReactNativeVersion.js +2 -2
- package/Libraries/Core/setUpBatchedBridge.js +1 -1
- package/Libraries/Core/setUpGlobals.js +2 -4
- package/Libraries/Core/setUpTimers.js +2 -2
- 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/RCTImageView.mm +4 -0
- package/Libraries/LogBox/Data/LogBoxData.js +18 -19
- package/Libraries/LogBox/UI/LogBoxImages/alert-triangle.png +0 -0
- package/Libraries/LogBox/UI/LogBoxImages/chevron-left.png +0 -0
- package/Libraries/LogBox/UI/LogBoxImages/chevron-right.png +0 -0
- package/Libraries/LogBox/UI/LogBoxImages/close.png +0 -0
- package/Libraries/LogBox/UI/LogBoxImages/loader.png +0 -0
- package/Libraries/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 +2 -1
- package/Libraries/NewAppScreen/components/logo.png +0 -0
- package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +2 -1
- package/Libraries/PermissionsAndroid/PermissionsAndroid.js +2 -0
- package/Libraries/Pressability/Pressability.js +13 -13
- package/Libraries/Pressability/PressabilityPerformanceEventEmitter.js +1 -1
- package/Libraries/PushNotificationIOS/RCTPushNotificationManager.mm +0 -1
- package/Libraries/ReactNative/AppRegistry.js +4 -2
- package/Libraries/Renderer/REVISION +1 -1
- package/Libraries/Renderer/implementations/ReactFabric-dev.fb.js +1569 -875
- package/Libraries/Renderer/implementations/ReactFabric-prod.fb.js +529 -319
- package/Libraries/Renderer/implementations/ReactFabric-profiling.fb.js +570 -362
- package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.fb.js +1592 -891
- package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.fb.js +521 -311
- package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.fb.js +562 -354
- package/Libraries/Share/Share.js +1 -1
- package/Libraries/StyleSheet/normalizeColor.js +2 -2
- package/Libraries/Text/TextInput/Multiline/RCTUITextView.m +4 -2
- 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/Utilities/HMRClient.js +1 -1
- package/README.md +1 -1
- package/React/Base/RCTBridge+Private.h +8 -0
- package/React/Base/RCTBridge.h +4 -0
- package/React/Base/RCTBridge.m +19 -7
- package/React/Base/RCTBridgeModule.h +2 -11
- package/React/Base/RCTBundleURLProvider.h +1 -1
- package/React/Base/RCTBundleURLProvider.mm +5 -3
- package/React/Base/RCTConstants.h +0 -6
- package/React/Base/RCTConstants.m +0 -15
- package/React/Base/RCTConvert.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/RCTRootView.h +15 -0
- package/React/Base/RCTRootView.m +15 -0
- package/React/Base/RCTTouchHandler.m +1 -9
- package/React/Base/RCTUtils.h +3 -0
- package/React/Base/RCTUtils.m +14 -7
- package/React/Base/RCTVersion.m +2 -2
- package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingProxyRootView.h +11 -0
- package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingProxyRootView.mm +35 -1
- package/React/CoreModules/RCTAccessibilityManager+Internal.h +24 -0
- package/React/CoreModules/RCTAccessibilityManager.mm +18 -3
- package/React/CoreModules/RCTActionSheetManager.mm +14 -5
- package/React/CoreModules/RCTAppearance.mm +3 -1
- package/React/CoreModules/RCTDevLoadingView.mm +5 -10
- package/React/CoreModules/RCTDevSettings.mm +6 -6
- package/React/CoreModules/RCTDevSplitBundleLoader.mm +1 -1
- package/React/CoreModules/RCTDeviceInfo.mm +4 -4
- package/React/CoreModules/RCTEventDispatcher.mm +5 -0
- package/React/CoreModules/RCTExceptionsManager.mm +11 -24
- package/React/CoreModules/RCTPerfMonitor.mm +9 -4
- package/React/CoreModules/RCTRedBox.mm +1 -5
- package/React/CxxBridge/RCTCxxBridge.mm +18 -1
- package/React/DevSupport/RCTPackagerConnection.h +3 -0
- package/React/DevSupport/RCTPackagerConnection.mm +9 -5
- package/React/FBReactNativeSpec/FBReactNativeSpec.podspec +11 -3
- package/React/Fabric/Mounting/ComponentViews/Modal/RCTModalHostViewComponentView.mm +0 -3
- package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +16 -0
- package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.h +6 -0
- package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +3 -5
- package/React/Fabric/Mounting/RCTMountingManager.mm +15 -1
- package/React/Fabric/RCTScheduler.mm +12 -5
- package/React/Fabric/RCTSurfacePresenter.mm +0 -4
- package/React/Fabric/RCTSurfaceTouchHandler.mm +6 -20
- package/React/Fabric/Surface/RCTFabricSurface.mm +1 -3
- package/React/React-RCTFabric.podspec +0 -1
- package/React/Views/RCTFont.mm +54 -38
- package/React/Views/RCTView.m +1 -6
- package/React/Views/RCTViewManager.m +3 -2
- package/React/Views/SafeAreaView/RCTSafeAreaView.m +1 -5
- package/React/Views/ScrollView/RCTScrollView.m +5 -15
- package/React/Views/ScrollView/RCTScrollViewManager.m +0 -7
- package/React/Views/UIView+React.m +2 -11
- package/React-Core.podspec +0 -1
- package/ReactAndroid/build.gradle +11 -5
- package/ReactAndroid/gradle.properties +1 -1
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/BUCK +0 -1
- package/ReactAndroid/src/androidTest/js/TestBundle.js +0 -7
- package/ReactAndroid/src/main/java/com/facebook/hermes/instrumentation/BUCK +2 -1
- package/ReactAndroid/src/main/java/com/facebook/react/BUCK +0 -1
- package/ReactAndroid/src/main/java/com/facebook/react/ReactActivity.java +7 -0
- package/ReactAndroid/src/main/java/com/facebook/react/ReactActivityDelegate.java +7 -0
- package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +63 -26
- package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManagerBuilder.java +46 -1
- package/ReactAndroid/src/main/java/com/facebook/react/ReactNativeHost.java +31 -0
- package/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java +17 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstance.java +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstanceImpl.java +13 -2
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactCxxErrorHandler.java +39 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/RuntimeScheduler.java +21 -0
- package/ReactAndroid/src/main/java/com/facebook/react/common/BUCK +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/common/SurfaceDelegate.java +40 -0
- package/ReactAndroid/src/main/java/com/facebook/react/common/SurfaceDelegateFactory.java +24 -0
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/BUCK +0 -6
- package/ReactAndroid/src/main/java/com/facebook/react/config/ReactFeatureFlags.java +16 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BUCK +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BridgeDevSupportManager.java +5 -2
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DefaultDevSupportManagerFactory.java +102 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.java +35 -11
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerFactory.java +5 -72
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DisabledDevSupportManager.java +12 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LogBoxDialogSurfaceDelegate.java +92 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LogBoxModule.java +27 -42
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevSupportManager.java +14 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/Binding.java +5 -4
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricJSIModuleProvider.java +3 -7
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +41 -2
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventEmitterWrapper.java +8 -3
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/FabricEventEmitter.java +43 -9
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Android.mk +2 -1
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/AsyncEventBeatV2.cpp +69 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/AsyncEventBeatV2.h +40 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/BUCK +2 -6
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Binding.cpp +84 -32
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Binding.h +4 -2
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/EventEmitterWrapper.cpp +20 -2
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/EventEmitterWrapper.h +2 -1
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountItemDispatcher.java +9 -1
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.java +19 -4
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/IntBufferBatchMountItem.java +6 -2
- package/ReactAndroid/src/main/java/com/facebook/react/jscexecutor/BUCK +2 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/appearance/AppearanceModule.java +10 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/jni/BUCK +0 -6
- package/ReactAndroid/src/main/java/com/facebook/react/modules/clipboard/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/clipboard/ClipboardModule.java +9 -8
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ExceptionsManagerModule.java +7 -19
- 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/i18nmanager/I18nManagerModule.java +7 -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/ForwardingCookieHandler.java +1 -4
- package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/ReconnectingWebSocket.java +8 -8
- package/ReactAndroid/src/main/java/com/facebook/react/processing/ReactPropertyProcessor.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/reactperflogger/jni/BUCK +0 -6
- 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/jni/BUCK +0 -12
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSTouchDispatcher.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TouchTargetHelper.java +75 -10
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/Event.java +19 -22
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventCategoryDef.java +42 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcherImpl.java +7 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/LockFreeEventDispatcherImpl.java +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTEventEmitter.java +7 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTModernEventEmitter.java +2 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/ReactEventEmitter.java +17 -9
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchEvent.java +43 -8
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchEventType.java +15 -16
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchesHelper.java +108 -19
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/jni/BUCK +0 -6
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +79 -4
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollViewManager.java +5 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +94 -3
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewHelper.java +21 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewManager.java +5 -0
- 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 +16 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextView.java +9 -1
- 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 +25 -6
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManagerMapBuffer.java +25 -5
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditTextInputConnectionWrapper.java +3 -0
- 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 +8 -8
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.java +19 -0
- package/ReactAndroid/src/main/jni/react/jni/Android.mk +3 -2
- package/ReactAndroid/src/main/jni/react/jni/BUCK +4 -5
- package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.cpp +49 -7
- package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.h +15 -2
- package/ReactAndroid/src/main/jni/react/jni/JReactCxxErrorHandler.cpp +18 -0
- package/ReactAndroid/src/main/jni/react/jni/JReactCxxErrorHandler.h +25 -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/perftests/BUCK +0 -4
- package/ReactAndroid/src/main/third-party/android/androidx/BUCK +6 -6
- package/ReactAndroid/src/test/java/com/facebook/react/RootViewTest.java +43 -0
- package/ReactAndroid/src/test/java/com/facebook/react/modules/clipboard/ClipboardModuleTest.java +3 -1
- package/ReactCommon/React-Fabric.podspec +9 -1
- package/ReactCommon/better/BUCK +0 -6
- package/ReactCommon/callinvoker/BUCK +2 -8
- package/ReactCommon/cxxreact/BUCK +1 -16
- package/ReactCommon/cxxreact/ReactNativeVersion.h +2 -2
- package/ReactCommon/hermes/inspector/tools/msggen/package.json +7 -4
- package/ReactCommon/hermes/inspector/tools/msggen/yarn.lock +13 -10
- package/ReactCommon/jsi/BUCK +0 -9
- package/ReactCommon/jsinspector/BUCK +0 -5
- package/ReactCommon/logger/BUCK +0 -5
- package/ReactCommon/react/config/BUCK +0 -6
- package/ReactCommon/react/debug/BUCK +0 -6
- package/ReactCommon/react/nativemodule/core/BUCK +0 -5
- package/ReactCommon/react/nativemodule/core/platform/ios/RCTTurboModuleManager.mm +14 -31
- package/ReactCommon/react/nativemodule/samples/BUCK +0 -7
- package/ReactCommon/react/renderer/animations/BUCK +1 -4
- package/ReactCommon/react/renderer/animations/LayoutAnimationCallbackWrapper.h +34 -0
- package/ReactCommon/react/renderer/animations/LayoutAnimationDriver.cpp +5 -26
- package/ReactCommon/react/renderer/animations/LayoutAnimationDriver.h +8 -14
- package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.cpp +912 -1147
- 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 +3 -3
- 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/BUCK +0 -6
- package/ReactCommon/react/renderer/attributedstring/ParagraphAttributes.cpp +7 -3
- package/ReactCommon/react/renderer/attributedstring/ParagraphAttributes.h +12 -2
- package/ReactCommon/react/renderer/attributedstring/TextAttributes.h +1 -1
- package/ReactCommon/react/renderer/attributedstring/conversions.h +58 -3
- package/ReactCommon/react/renderer/attributedstring/primitives.h +18 -1
- package/ReactCommon/react/renderer/componentregistry/BUCK +0 -6
- package/ReactCommon/react/renderer/componentregistry/native/BUCK +0 -6
- package/ReactCommon/react/renderer/components/image/BUCK +0 -6
- package/ReactCommon/react/renderer/components/image/ImageComponentDescriptor.h +0 -2
- package/ReactCommon/react/renderer/components/inputaccessory/BUCK +0 -6
- package/ReactCommon/react/renderer/components/inputaccessory/InputAccessoryComponentDescriptor.h +0 -4
- package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/BUCK +0 -6
- package/ReactCommon/react/renderer/components/modal/BUCK +0 -6
- package/ReactCommon/react/renderer/components/modal/ModalHostViewComponentDescriptor.h +0 -5
- package/ReactCommon/react/renderer/components/progressbar/BUCK +0 -6
- package/ReactCommon/react/renderer/components/progressbar/android/react/renderer/components/progressbar/AndroidProgressBarComponentDescriptor.h +0 -3
- package/ReactCommon/react/renderer/components/root/BUCK +0 -6
- package/ReactCommon/react/renderer/components/safeareaview/BUCK +0 -6
- package/ReactCommon/react/renderer/components/scrollview/BUCK +0 -6
- package/ReactCommon/react/renderer/components/slider/BUCK +0 -6
- package/ReactCommon/react/renderer/components/slider/SliderComponentDescriptor.h +0 -3
- package/ReactCommon/react/renderer/components/switch/BUCK +0 -6
- package/ReactCommon/react/renderer/components/switch/androidswitch/react/renderer/components/androidswitch/AndroidSwitchComponentDescriptor.h +0 -3
- package/ReactCommon/react/renderer/components/text/BUCK +0 -6
- package/ReactCommon/react/renderer/components/text/ParagraphComponentDescriptor.h +1 -20
- package/ReactCommon/react/renderer/components/textinput/BUCK +0 -6
- package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputComponentDescriptor.h +0 -3
- package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputProps.h +2 -0
- package/ReactCommon/react/renderer/components/textinput/iostextinput/BUCK +0 -6
- package/ReactCommon/react/renderer/components/textinput/iostextinput/TextInputComponentDescriptor.h +0 -3
- package/ReactCommon/react/renderer/components/unimplementedview/BUCK +0 -6
- package/ReactCommon/react/renderer/components/unimplementedview/UnimplementedViewComponentDescriptor.cpp +0 -4
- package/ReactCommon/react/renderer/components/view/Android.mk +1 -1
- package/ReactCommon/react/renderer/components/view/BUCK +0 -6
- package/ReactCommon/react/renderer/components/view/Touch.h +1 -32
- package/ReactCommon/react/renderer/components/view/ViewComponentDescriptor.h +0 -23
- package/ReactCommon/react/renderer/components/view/ViewPropsInterpolation.h +2 -3
- package/ReactCommon/react/renderer/components/view/ViewShadowNode.cpp +3 -3
- package/ReactCommon/react/renderer/components/view/ViewShadowNode.h +1 -1
- package/ReactCommon/react/renderer/components/view/accessibilityPropsConversions.h +4 -0
- package/ReactCommon/react/renderer/core/BUCK +2 -6
- package/ReactCommon/react/renderer/core/ConcreteComponentDescriptor.h +14 -9
- package/ReactCommon/react/renderer/core/ConcreteShadowNode.h +1 -10
- package/ReactCommon/react/renderer/core/EventEmitter.cpp +9 -4
- package/ReactCommon/react/renderer/core/EventEmitter.h +2 -1
- package/ReactCommon/react/renderer/core/Props.h +1 -0
- package/ReactCommon/react/renderer/core/PropsParserContext.h +3 -2
- package/ReactCommon/react/renderer/core/RawEvent.h +7 -5
- package/ReactCommon/react/renderer/core/RawPropsKey.cpp +10 -2
- package/ReactCommon/react/renderer/core/ReactPrimitives.h +0 -2
- package/ReactCommon/react/renderer/core/ShadowNode.cpp +7 -10
- package/ReactCommon/react/renderer/core/ShadowNodeFamily.h +1 -0
- package/ReactCommon/react/renderer/debug/BUCK +0 -6
- package/ReactCommon/react/renderer/element/BUCK +0 -6
- package/ReactCommon/react/renderer/graphics/Android.mk +1 -1
- package/ReactCommon/react/renderer/graphics/BUCK +0 -6
- package/ReactCommon/react/renderer/graphics/React-graphics.podspec +0 -1
- package/ReactCommon/react/renderer/graphics/Transform.cpp +1 -1
- package/ReactCommon/react/renderer/graphics/Transform.h +1 -1
- package/ReactCommon/react/renderer/imagemanager/BUCK +0 -6
- package/ReactCommon/react/renderer/leakchecker/BUCK +0 -6
- package/ReactCommon/react/renderer/mapbuffer/BUCK +0 -6
- package/ReactCommon/react/renderer/mounting/Android.mk +2 -1
- package/ReactCommon/react/renderer/mounting/BUCK +0 -6
- package/ReactCommon/react/renderer/mounting/MountingOverrideDelegate.h +1 -1
- package/ReactCommon/react/renderer/mounting/ShadowViewMutation.cpp +12 -0
- package/ReactCommon/react/renderer/mounting/ShadowViewMutation.h +10 -1
- package/ReactCommon/react/renderer/runtimescheduler/Android.mk +2 -1
- package/ReactCommon/react/renderer/runtimescheduler/BUCK +1 -7
- package/ReactCommon/react/renderer/runtimescheduler/ErrorUtils.h +36 -0
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.cpp +28 -20
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.h +4 -2
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerBinding.cpp +4 -3
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerBinding.h +4 -2
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerCallInvoker.cpp +32 -0
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerCallInvoker.h +36 -0
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerClock.h +4 -2
- package/ReactCommon/react/renderer/runtimescheduler/SchedulerPriority.h +4 -3
- package/ReactCommon/react/renderer/runtimescheduler/Task.cpp +4 -2
- package/ReactCommon/react/renderer/runtimescheduler/Task.h +4 -2
- package/ReactCommon/react/renderer/runtimescheduler/primitives.h +4 -2
- package/ReactCommon/react/renderer/runtimescheduler/tests/RuntimeSchedulerTest.cpp +26 -1
- package/ReactCommon/react/renderer/runtimescheduler/tests/StubErrorUtils.h +72 -0
- package/ReactCommon/react/renderer/scheduler/BUCK +0 -6
- package/ReactCommon/react/renderer/scheduler/Scheduler.cpp +1 -4
- package/ReactCommon/react/renderer/scheduler/Scheduler.h +1 -1
- package/ReactCommon/react/renderer/scheduler/SurfaceHandler.h +4 -4
- package/ReactCommon/react/renderer/telemetry/BUCK +0 -6
- package/ReactCommon/react/renderer/templateprocessor/BUCK +0 -6
- package/ReactCommon/react/renderer/textlayoutmanager/BUCK +0 -6
- package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/RCTAttributedTextUtils.h +2 -0
- package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/RCTAttributedTextUtils.mm +19 -0
- package/ReactCommon/react/renderer/timeline/BUCK +6 -12
- package/ReactCommon/react/renderer/uimanager/BUCK +0 -6
- package/ReactCommon/react/renderer/uimanager/UIManagerAnimationDelegate.h +1 -1
- package/ReactCommon/react/renderer/uimanager/UIManagerBinding.cpp +2 -2
- package/ReactCommon/react/renderer/uimanager/UIManagerBinding.h +1 -1
- package/ReactCommon/react/test_utils/BUCK +3 -6
- package/ReactCommon/react/{renderer/core/Constants.h → test_utils/MockSurfaceHandler.h} +9 -7
- package/ReactCommon/react/utils/BUCK +0 -6
- package/ReactCommon/react/utils/ContextContainer.h +0 -27
- package/ReactCommon/reactperflogger/BUCK +0 -4
- package/ReactCommon/runtimeexecutor/BUCK +0 -6
- package/ReactCommon/yoga/BUCK +1 -5
- package/android/com/facebook/react/react-native/{0.66.0-rc.4/react-native-0.66.0-rc.4.aar → 0.67.0-rc.1/react-native-0.67.0-rc.1.aar} +0 -0
- package/android/com/facebook/react/react-native/0.67.0-rc.1/react-native-0.67.0-rc.1.aar.md5 +1 -0
- package/android/com/facebook/react/react-native/0.67.0-rc.1/react-native-0.67.0-rc.1.aar.sha1 +1 -0
- package/android/com/facebook/react/react-native/0.67.0-rc.1/react-native-0.67.0-rc.1.aar.sha256 +1 -0
- package/android/com/facebook/react/react-native/0.67.0-rc.1/react-native-0.67.0-rc.1.aar.sha512 +1 -0
- package/android/com/facebook/react/react-native/{0.66.0-rc.4/react-native-0.66.0-rc.4.module → 0.67.0-rc.1/react-native-0.67.0-rc.1.module} +16 -17
- package/android/com/facebook/react/react-native/0.67.0-rc.1/react-native-0.67.0-rc.1.module.md5 +1 -0
- package/android/com/facebook/react/react-native/0.67.0-rc.1/react-native-0.67.0-rc.1.module.sha1 +1 -0
- package/android/com/facebook/react/react-native/0.67.0-rc.1/react-native-0.67.0-rc.1.module.sha256 +1 -0
- package/android/com/facebook/react/react-native/0.67.0-rc.1/react-native-0.67.0-rc.1.module.sha512 +1 -0
- package/android/com/facebook/react/react-native/{0.66.0-rc.4/react-native-0.66.0-rc.4.pom → 0.67.0-rc.1/react-native-0.67.0-rc.1.pom} +2 -2
- package/android/com/facebook/react/react-native/0.67.0-rc.1/react-native-0.67.0-rc.1.pom.md5 +1 -0
- package/android/com/facebook/react/react-native/0.67.0-rc.1/react-native-0.67.0-rc.1.pom.sha1 +1 -0
- package/android/com/facebook/react/react-native/0.67.0-rc.1/react-native-0.67.0-rc.1.pom.sha256 +1 -0
- package/android/com/facebook/react/react-native/0.67.0-rc.1/react-native-0.67.0-rc.1.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/global.js +45 -0
- package/index.js +15 -10
- package/jest/mockModal.js +31 -0
- package/jest/setup.js +5 -3
- package/package.json +8 -9
- package/react.gradle +53 -18
- package/scripts/find-node.sh +13 -0
- package/scripts/generate-specs-cli.js +18 -0
- package/scripts/ios-configure-glog.sh +4 -0
- package/scripts/react-native-xcode.sh +7 -7
- package/scripts/react_native_pods.rb +202 -70
- package/template/Gemfile +6 -0
- package/template/Gemfile.lock +100 -0
- package/template/_bundle/config +2 -0
- package/template/_flowconfig +1 -1
- package/template/_ruby-version +1 -0
- package/template/android/app/build.gradle +1 -1
- package/template/android/app/src/main/res/drawable/rn_edit_text_material.xml +36 -0
- package/template/android/app/src/main/res/values/styles.xml +1 -0
- package/template/android/build.gradle +7 -3
- package/template/android/gradle/wrapper/gradle-wrapper.properties +1 -1
- package/template/android/gradle.properties +1 -1
- package/template/ios/HelloWorld.xcodeproj/project.pbxproj +0 -2
- package/template/ios/Podfile +0 -1
- package/template/package.json +1 -1
- package/third-party-podspecs/RCT-Folly.podspec +1 -1
- package/third-party-podspecs/glog.podspec +0 -1
- 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/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/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/AndroidViewPagerManagerDelegate.java +0 -57
- package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/AndroidViewPagerManagerInterface.java +0 -23
- package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/BUCK +0 -19
- package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/DatePickerManagerDelegate.java +0 -62
- package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/DatePickerManagerInterface.java +0 -25
- package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/InputAccessoryViewManagerDelegate.java +0 -33
- package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/InputAccessoryViewManagerInterface.java +0 -17
- package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/PullToRefreshViewManagerDelegate.java +0 -51
- package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/PullToRefreshViewManagerInterface.java +0 -21
- package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/SwitchManagerDelegate.java +0 -63
- package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/SwitchManagerInterface.java +0 -24
- package/android/com/facebook/react/react-native/0.66.0-rc.4/react-native-0.66.0-rc.4.aar.md5 +0 -1
- package/android/com/facebook/react/react-native/0.66.0-rc.4/react-native-0.66.0-rc.4.aar.sha1 +0 -1
- package/android/com/facebook/react/react-native/0.66.0-rc.4/react-native-0.66.0-rc.4.aar.sha256 +0 -1
- package/android/com/facebook/react/react-native/0.66.0-rc.4/react-native-0.66.0-rc.4.aar.sha512 +0 -1
- package/android/com/facebook/react/react-native/0.66.0-rc.4/react-native-0.66.0-rc.4.module.md5 +0 -1
- package/android/com/facebook/react/react-native/0.66.0-rc.4/react-native-0.66.0-rc.4.module.sha1 +0 -1
- package/android/com/facebook/react/react-native/0.66.0-rc.4/react-native-0.66.0-rc.4.module.sha256 +0 -1
- package/android/com/facebook/react/react-native/0.66.0-rc.4/react-native-0.66.0-rc.4.module.sha512 +0 -1
- package/android/com/facebook/react/react-native/0.66.0-rc.4/react-native-0.66.0-rc.4.pom.md5 +0 -1
- package/android/com/facebook/react/react-native/0.66.0-rc.4/react-native-0.66.0-rc.4.pom.sha1 +0 -1
- package/android/com/facebook/react/react-native/0.66.0-rc.4/react-native-0.66.0-rc.4.pom.sha256 +0 -1
- package/android/com/facebook/react/react-native/0.66.0-rc.4/react-native-0.66.0-rc.4.pom.sha512 +0 -1
- package/scripts/generate-specs.sh +0 -99
- package/template/_editorconfig +0 -3
- package/template/_gitattributes +0 -3
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
package com.facebook.react;
|
|
9
9
|
|
|
10
10
|
import android.content.Intent;
|
|
11
|
+
import android.content.res.Configuration;
|
|
11
12
|
import android.os.Bundle;
|
|
12
13
|
import android.view.KeyEvent;
|
|
13
14
|
import androidx.annotation.Nullable;
|
|
@@ -121,6 +122,12 @@ public abstract class ReactActivity extends AppCompatActivity
|
|
|
121
122
|
mDelegate.onWindowFocusChanged(hasFocus);
|
|
122
123
|
}
|
|
123
124
|
|
|
125
|
+
@Override
|
|
126
|
+
public void onConfigurationChanged(Configuration newConfig) {
|
|
127
|
+
super.onConfigurationChanged(newConfig);
|
|
128
|
+
mDelegate.onConfigurationChanged(newConfig);
|
|
129
|
+
}
|
|
130
|
+
|
|
124
131
|
protected final ReactNativeHost getReactNativeHost() {
|
|
125
132
|
return mDelegate.getReactNativeHost();
|
|
126
133
|
}
|
|
@@ -11,6 +11,7 @@ import android.annotation.TargetApi;
|
|
|
11
11
|
import android.app.Activity;
|
|
12
12
|
import android.content.Context;
|
|
13
13
|
import android.content.Intent;
|
|
14
|
+
import android.content.res.Configuration;
|
|
14
15
|
import android.os.Build;
|
|
15
16
|
import android.os.Bundle;
|
|
16
17
|
import android.view.KeyEvent;
|
|
@@ -154,6 +155,12 @@ public class ReactActivityDelegate {
|
|
|
154
155
|
}
|
|
155
156
|
}
|
|
156
157
|
|
|
158
|
+
public void onConfigurationChanged(Configuration newConfig) {
|
|
159
|
+
if (getReactNativeHost().hasInstance()) {
|
|
160
|
+
getReactInstanceManager().onConfigurationChanged(getContext(), newConfig);
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
|
|
157
164
|
@TargetApi(Build.VERSION_CODES.M)
|
|
158
165
|
public void requestPermissions(
|
|
159
166
|
String[] permissions, int requestCode, PermissionListener listener) {
|
|
@@ -65,6 +65,7 @@ import com.facebook.react.bridge.NotThreadSafeBridgeIdleDebugListener;
|
|
|
65
65
|
import com.facebook.react.bridge.ProxyJavaScriptExecutor;
|
|
66
66
|
import com.facebook.react.bridge.ReactApplicationContext;
|
|
67
67
|
import com.facebook.react.bridge.ReactContext;
|
|
68
|
+
import com.facebook.react.bridge.ReactCxxErrorHandler;
|
|
68
69
|
import com.facebook.react.bridge.ReactMarker;
|
|
69
70
|
import com.facebook.react.bridge.ReactMarkerConstants;
|
|
70
71
|
import com.facebook.react.bridge.ReactNoCrashSoftException;
|
|
@@ -75,6 +76,7 @@ import com.facebook.react.bridge.WritableNativeMap;
|
|
|
75
76
|
import com.facebook.react.bridge.queue.ReactQueueConfigurationSpec;
|
|
76
77
|
import com.facebook.react.common.LifecycleState;
|
|
77
78
|
import com.facebook.react.common.ReactConstants;
|
|
79
|
+
import com.facebook.react.common.SurfaceDelegateFactory;
|
|
78
80
|
import com.facebook.react.common.annotations.VisibleForTesting;
|
|
79
81
|
import com.facebook.react.config.ReactFeatureFlags;
|
|
80
82
|
import com.facebook.react.devsupport.DevSupportManagerFactory;
|
|
@@ -91,7 +93,6 @@ import com.facebook.react.modules.core.ReactChoreographer;
|
|
|
91
93
|
import com.facebook.react.modules.debug.interfaces.DeveloperSettings;
|
|
92
94
|
import com.facebook.react.modules.fabric.ReactFabric;
|
|
93
95
|
import com.facebook.react.packagerconnection.RequestHandler;
|
|
94
|
-
import com.facebook.react.runtimescheduler.RuntimeSchedulerManager;
|
|
95
96
|
import com.facebook.react.surface.ReactStage;
|
|
96
97
|
import com.facebook.react.turbomodule.core.TurboModuleManager;
|
|
97
98
|
import com.facebook.react.turbomodule.core.TurboModuleManagerDelegate;
|
|
@@ -107,6 +108,7 @@ import com.facebook.react.views.imagehelper.ResourceDrawableIdHelper;
|
|
|
107
108
|
import com.facebook.soloader.SoLoader;
|
|
108
109
|
import com.facebook.systrace.Systrace;
|
|
109
110
|
import com.facebook.systrace.SystraceMessage;
|
|
111
|
+
import java.lang.reflect.Method;
|
|
110
112
|
import java.util.ArrayList;
|
|
111
113
|
import java.util.Collection;
|
|
112
114
|
import java.util.Collections;
|
|
@@ -156,14 +158,15 @@ public class ReactInstanceManager {
|
|
|
156
158
|
/* accessed from any thread */
|
|
157
159
|
private final JavaScriptExecutorFactory mJavaScriptExecutorFactory;
|
|
158
160
|
|
|
161
|
+
// See {@code ReactInstanceManagerBuilder} for description of all flags here.
|
|
159
162
|
private @Nullable List<String> mViewManagerNames = null;
|
|
160
163
|
private final @Nullable JSBundleLoader mBundleLoader;
|
|
161
164
|
private final @Nullable String mJSMainModulePath; /* path to JS bundle root on Metro */
|
|
162
165
|
private final List<ReactPackage> mPackages;
|
|
163
166
|
private final DevSupportManager mDevSupportManager;
|
|
164
167
|
private final boolean mUseDeveloperSupport;
|
|
168
|
+
private final boolean mRequireActivity;
|
|
165
169
|
private @Nullable ComponentNameResolverManager mComponentNameResolverManager;
|
|
166
|
-
private @Nullable RuntimeSchedulerManager mRuntimeSchedulerManager;
|
|
167
170
|
private final @Nullable NotThreadSafeBridgeIdleDebugListener mBridgeIdleDebugListener;
|
|
168
171
|
private final Object mReactContextLock = new Object();
|
|
169
172
|
private @Nullable volatile ReactContext mCurrentReactContext;
|
|
@@ -182,6 +185,7 @@ public class ReactInstanceManager {
|
|
|
182
185
|
private final @Nullable JSIModulePackage mJSIModulePackage;
|
|
183
186
|
private final @Nullable ReactPackageTurboModuleManagerDelegate.Builder mTMMDelegateBuilder;
|
|
184
187
|
private List<ViewManager> mViewManagers;
|
|
188
|
+
private boolean mUseFallbackBundle = false;
|
|
185
189
|
|
|
186
190
|
private class ReactContextInitParams {
|
|
187
191
|
private final JavaScriptExecutorFactory mJsExecutorFactory;
|
|
@@ -216,6 +220,8 @@ public class ReactInstanceManager {
|
|
|
216
220
|
@Nullable String jsMainModulePath,
|
|
217
221
|
List<ReactPackage> packages,
|
|
218
222
|
boolean useDeveloperSupport,
|
|
223
|
+
DevSupportManagerFactory devSupportManagerFactory,
|
|
224
|
+
boolean requireActivity,
|
|
219
225
|
@Nullable NotThreadSafeBridgeIdleDebugListener bridgeIdleDebugListener,
|
|
220
226
|
LifecycleState initialLifecycleState,
|
|
221
227
|
@Nullable UIImplementationProvider mUIImplementationProvider,
|
|
@@ -227,12 +233,14 @@ public class ReactInstanceManager {
|
|
|
227
233
|
int minTimeLeftInFrameForNonBatchedOperationMs,
|
|
228
234
|
@Nullable JSIModulePackage jsiModulePackage,
|
|
229
235
|
@Nullable Map<String, RequestHandler> customPackagerCommandHandlers,
|
|
230
|
-
@Nullable ReactPackageTurboModuleManagerDelegate.Builder tmmDelegateBuilder
|
|
236
|
+
@Nullable ReactPackageTurboModuleManagerDelegate.Builder tmmDelegateBuilder,
|
|
237
|
+
@Nullable SurfaceDelegateFactory surfaceDelegateFactory) {
|
|
231
238
|
FLog.d(TAG, "ReactInstanceManager.ctor()");
|
|
232
239
|
initializeSoLoaderIfNecessary(applicationContext);
|
|
233
240
|
|
|
234
241
|
DisplayMetricsHolder.initDisplayMetricsIfNotInitialized(applicationContext);
|
|
235
242
|
|
|
243
|
+
// See {@code ReactInstanceManagerBuilder} for description of all flags here.
|
|
236
244
|
mApplicationContext = applicationContext;
|
|
237
245
|
mCurrentActivity = currentActivity;
|
|
238
246
|
mDefaultBackButtonImpl = defaultHardwareBackBtnHandler;
|
|
@@ -241,10 +249,11 @@ public class ReactInstanceManager {
|
|
|
241
249
|
mJSMainModulePath = jsMainModulePath;
|
|
242
250
|
mPackages = new ArrayList<>();
|
|
243
251
|
mUseDeveloperSupport = useDeveloperSupport;
|
|
252
|
+
mRequireActivity = requireActivity;
|
|
244
253
|
Systrace.beginSection(
|
|
245
254
|
Systrace.TRACE_TAG_REACT_JAVA_BRIDGE, "ReactInstanceManager.initDevSupportManager");
|
|
246
255
|
mDevSupportManager =
|
|
247
|
-
|
|
256
|
+
devSupportManagerFactory.create(
|
|
248
257
|
applicationContext,
|
|
249
258
|
createDevHelperInterface(),
|
|
250
259
|
mJSMainModulePath,
|
|
@@ -252,7 +261,8 @@ public class ReactInstanceManager {
|
|
|
252
261
|
redBoxHandler,
|
|
253
262
|
devBundleDownloadListener,
|
|
254
263
|
minNumShakes,
|
|
255
|
-
customPackagerCommandHandlers
|
|
264
|
+
customPackagerCommandHandlers,
|
|
265
|
+
surfaceDelegateFactory);
|
|
256
266
|
Systrace.endSection(TRACE_TAG_REACT_JAVA_BRIDGE);
|
|
257
267
|
mBridgeIdleDebugListener = bridgeIdleDebugListener;
|
|
258
268
|
mLifecycleState = initialLifecycleState;
|
|
@@ -286,6 +296,8 @@ public class ReactInstanceManager {
|
|
|
286
296
|
if (mUseDeveloperSupport) {
|
|
287
297
|
mDevSupportManager.startInspector();
|
|
288
298
|
}
|
|
299
|
+
|
|
300
|
+
registerCxxErrorHandlerFunc();
|
|
289
301
|
}
|
|
290
302
|
|
|
291
303
|
private ReactInstanceDevHelper createDevHelperInterface() {
|
|
@@ -343,6 +355,10 @@ public class ReactInstanceManager {
|
|
|
343
355
|
};
|
|
344
356
|
}
|
|
345
357
|
|
|
358
|
+
public synchronized void setUseFallbackBundle(boolean useFallbackBundle) {
|
|
359
|
+
mUseFallbackBundle = useFallbackBundle;
|
|
360
|
+
}
|
|
361
|
+
|
|
346
362
|
private JavaScriptExecutorFactory getJSExecutorFactory() {
|
|
347
363
|
return mJavaScriptExecutorFactory;
|
|
348
364
|
}
|
|
@@ -359,6 +375,22 @@ public class ReactInstanceManager {
|
|
|
359
375
|
return new ArrayList<>(mPackages);
|
|
360
376
|
}
|
|
361
377
|
|
|
378
|
+
public void handleCxxError(Exception e) {
|
|
379
|
+
mDevSupportManager.handleException(e);
|
|
380
|
+
}
|
|
381
|
+
|
|
382
|
+
public void registerCxxErrorHandlerFunc() {
|
|
383
|
+
Class[] parameterTypes = new Class[1];
|
|
384
|
+
parameterTypes[0] = Exception.class;
|
|
385
|
+
Method handleCxxErrorFunc = null;
|
|
386
|
+
try {
|
|
387
|
+
handleCxxErrorFunc = ReactInstanceManager.class.getMethod("handleCxxError", parameterTypes);
|
|
388
|
+
} catch (NoSuchMethodException e) {
|
|
389
|
+
FLog.e("ReactInstanceHolder", "Failed to set cxx error hanlder function", e);
|
|
390
|
+
}
|
|
391
|
+
ReactCxxErrorHandler.setHandleErrorFunc(this, handleCxxErrorFunc);
|
|
392
|
+
}
|
|
393
|
+
|
|
362
394
|
static void initializeSoLoaderIfNecessary(Context applicationContext) {
|
|
363
395
|
// Call SoLoader.initialize here, this is required for apps that does not use exopackage and
|
|
364
396
|
// does not use SoLoader for loading other native code except from the one used by React Native
|
|
@@ -429,7 +461,8 @@ public class ReactInstanceManager {
|
|
|
429
461
|
if (packagerIsRunning) {
|
|
430
462
|
mDevSupportManager.handleReloadJS();
|
|
431
463
|
} else if (mDevSupportManager.hasUpToDateJSBundleInCache()
|
|
432
|
-
&& !devSettings.isRemoteJSDebugEnabled()
|
|
464
|
+
&& !devSettings.isRemoteJSDebugEnabled()
|
|
465
|
+
&& !mUseFallbackBundle) {
|
|
433
466
|
// If there is a up-to-date bundle downloaded from server,
|
|
434
467
|
// with remote JS debugging disabled, always use that.
|
|
435
468
|
onJSBundleLoadedFromServer();
|
|
@@ -558,16 +591,20 @@ public class ReactInstanceManager {
|
|
|
558
591
|
* @param activity the activity being paused
|
|
559
592
|
*/
|
|
560
593
|
@ThreadConfined(UI)
|
|
561
|
-
public void onHostPause(Activity activity) {
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
594
|
+
public void onHostPause(@Nullable Activity activity) {
|
|
595
|
+
if (mRequireActivity) {
|
|
596
|
+
Assertions.assertCondition(mCurrentActivity != null);
|
|
597
|
+
}
|
|
598
|
+
if (mCurrentActivity != null) {
|
|
599
|
+
Assertions.assertCondition(
|
|
600
|
+
activity == mCurrentActivity,
|
|
601
|
+
"Pausing an activity that is not the current activity, this is incorrect! "
|
|
602
|
+
+ "Current activity: "
|
|
603
|
+
+ mCurrentActivity.getClass().getSimpleName()
|
|
604
|
+
+ " "
|
|
605
|
+
+ "Paused activity: "
|
|
606
|
+
+ activity.getClass().getSimpleName());
|
|
607
|
+
}
|
|
571
608
|
onHostPause();
|
|
572
609
|
}
|
|
573
610
|
|
|
@@ -583,7 +620,8 @@ public class ReactInstanceManager {
|
|
|
583
620
|
* this instance of {@link ReactInstanceManager}.
|
|
584
621
|
*/
|
|
585
622
|
@ThreadConfined(UI)
|
|
586
|
-
public void onHostResume(
|
|
623
|
+
public void onHostResume(
|
|
624
|
+
@Nullable Activity activity, DefaultHardwareBackBtnHandler defaultBackButtonImpl) {
|
|
587
625
|
UiThreadUtil.assertOnUiThread();
|
|
588
626
|
|
|
589
627
|
mDefaultBackButtonImpl = defaultBackButtonImpl;
|
|
@@ -592,7 +630,7 @@ public class ReactInstanceManager {
|
|
|
592
630
|
|
|
593
631
|
/** Use this method when the activity resumes. */
|
|
594
632
|
@ThreadConfined(UI)
|
|
595
|
-
public void onHostResume(Activity activity) {
|
|
633
|
+
public void onHostResume(@Nullable Activity activity) {
|
|
596
634
|
UiThreadUtil.assertOnUiThread();
|
|
597
635
|
|
|
598
636
|
mCurrentActivity = activity;
|
|
@@ -631,8 +669,8 @@ public class ReactInstanceManager {
|
|
|
631
669
|
// activity is attached to window, we can enable dev support immediately
|
|
632
670
|
mDevSupportManager.setDevSupportEnabled(true);
|
|
633
671
|
}
|
|
634
|
-
} else {
|
|
635
|
-
// there is no activity, we can enable dev support
|
|
672
|
+
} else if (!mRequireActivity) {
|
|
673
|
+
// there is no activity, but we can enable dev support
|
|
636
674
|
mDevSupportManager.setDevSupportEnabled(true);
|
|
637
675
|
}
|
|
638
676
|
}
|
|
@@ -666,7 +704,9 @@ public class ReactInstanceManager {
|
|
|
666
704
|
* @param activity the activity being destroyed
|
|
667
705
|
*/
|
|
668
706
|
@ThreadConfined(UI)
|
|
669
|
-
public void onHostDestroy(Activity activity) {
|
|
707
|
+
public void onHostDestroy(@Nullable Activity activity) {
|
|
708
|
+
// In some cases, Activity may (correctly) be null.
|
|
709
|
+
// See mRequireActivity flag.
|
|
670
710
|
if (activity == mCurrentActivity) {
|
|
671
711
|
onHostDestroy();
|
|
672
712
|
}
|
|
@@ -727,7 +767,6 @@ public class ReactInstanceManager {
|
|
|
727
767
|
mViewManagerNames = null;
|
|
728
768
|
}
|
|
729
769
|
mComponentNameResolverManager = null;
|
|
730
|
-
mRuntimeSchedulerManager = null;
|
|
731
770
|
FLog.d(ReactConstants.TAG, "ReactInstanceManager has been destroyed");
|
|
732
771
|
}
|
|
733
772
|
|
|
@@ -1190,7 +1229,8 @@ public class ReactInstanceManager {
|
|
|
1190
1229
|
// If we can't get a UIManager something has probably gone horribly wrong
|
|
1191
1230
|
if (uiManager == null) {
|
|
1192
1231
|
throw new IllegalStateException(
|
|
1193
|
-
"Unable to attach a rootView to ReactInstance when UIManager is not properly
|
|
1232
|
+
"Unable to attach a rootView to ReactInstance when UIManager is not properly"
|
|
1233
|
+
+ " initialized.");
|
|
1194
1234
|
}
|
|
1195
1235
|
|
|
1196
1236
|
@Nullable Bundle initialProperties = reactRoot.getAppProperties();
|
|
@@ -1362,9 +1402,6 @@ public class ReactInstanceManager {
|
|
|
1362
1402
|
});
|
|
1363
1403
|
catalystInstance.setGlobalVariable("__fbStaticViewConfig", "true");
|
|
1364
1404
|
}
|
|
1365
|
-
if (ReactFeatureFlags.enableRuntimeScheduler) {
|
|
1366
|
-
mRuntimeSchedulerManager = new RuntimeSchedulerManager(catalystInstance.getRuntimeExecutor());
|
|
1367
|
-
}
|
|
1368
1405
|
|
|
1369
1406
|
ReactMarker.logMarker(ReactMarkerConstants.PRE_RUN_JS_BUNDLE_START);
|
|
1370
1407
|
Systrace.beginSection(TRACE_TAG_REACT_JAVA_BRIDGE, "runJSBundle");
|
|
@@ -22,6 +22,9 @@ import com.facebook.react.bridge.JavaScriptExecutorFactory;
|
|
|
22
22
|
import com.facebook.react.bridge.NativeModuleCallExceptionHandler;
|
|
23
23
|
import com.facebook.react.bridge.NotThreadSafeBridgeIdleDebugListener;
|
|
24
24
|
import com.facebook.react.common.LifecycleState;
|
|
25
|
+
import com.facebook.react.common.SurfaceDelegateFactory;
|
|
26
|
+
import com.facebook.react.devsupport.DefaultDevSupportManagerFactory;
|
|
27
|
+
import com.facebook.react.devsupport.DevSupportManagerFactory;
|
|
25
28
|
import com.facebook.react.devsupport.RedBoxHandler;
|
|
26
29
|
import com.facebook.react.devsupport.interfaces.DevBundleDownloadListener;
|
|
27
30
|
import com.facebook.react.devsupport.interfaces.DevSupportManager;
|
|
@@ -45,6 +48,8 @@ public class ReactInstanceManagerBuilder {
|
|
|
45
48
|
private @Nullable NotThreadSafeBridgeIdleDebugListener mBridgeIdleDebugListener;
|
|
46
49
|
private @Nullable Application mApplication;
|
|
47
50
|
private boolean mUseDeveloperSupport;
|
|
51
|
+
private @Nullable DevSupportManagerFactory mDevSupportManagerFactory;
|
|
52
|
+
private boolean mRequireActivity;
|
|
48
53
|
private @Nullable LifecycleState mInitialLifecycleState;
|
|
49
54
|
private @Nullable UIImplementationProvider mUIImplementationProvider;
|
|
50
55
|
private @Nullable NativeModuleCallExceptionHandler mNativeModuleCallExceptionHandler;
|
|
@@ -59,6 +64,7 @@ public class ReactInstanceManagerBuilder {
|
|
|
59
64
|
private @Nullable JSIModulePackage mJSIModulesPackage;
|
|
60
65
|
private @Nullable Map<String, RequestHandler> mCustomPackagerCommandHandlers;
|
|
61
66
|
private @Nullable ReactPackageTurboModuleManagerDelegate.Builder mTMMDelegateBuilder;
|
|
67
|
+
private @Nullable SurfaceDelegateFactory mSurfaceDelegateFactory;
|
|
62
68
|
|
|
63
69
|
/* package protected */ ReactInstanceManagerBuilder() {}
|
|
64
70
|
|
|
@@ -171,6 +177,40 @@ public class ReactInstanceManagerBuilder {
|
|
|
171
177
|
return this;
|
|
172
178
|
}
|
|
173
179
|
|
|
180
|
+
/**
|
|
181
|
+
* Set the custom {@link DevSupportManagerFactory}. If not set, will use {@link
|
|
182
|
+
* DefaultDevSupportManagerFactory}.
|
|
183
|
+
*/
|
|
184
|
+
public ReactInstanceManagerBuilder setDevSupportManagerFactory(
|
|
185
|
+
final DevSupportManagerFactory devSupportManagerFactory) {
|
|
186
|
+
mDevSupportManagerFactory = devSupportManagerFactory;
|
|
187
|
+
return this;
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
/**
|
|
191
|
+
* When {@code false}, indicates that correct usage of React Native will NOT involve an Activity.
|
|
192
|
+
* For the vast majority of Android apps in the ecosystem, this will not need to change. Unless
|
|
193
|
+
* you really know what you're doing, you should probably not change this!
|
|
194
|
+
*/
|
|
195
|
+
public ReactInstanceManagerBuilder setRequireActivity(boolean requireActivity) {
|
|
196
|
+
mRequireActivity = requireActivity;
|
|
197
|
+
return this;
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
/**
|
|
201
|
+
* When the {@link SurfaceDelegateFactory} is provided, it will be used for native modules to get
|
|
202
|
+
* a {@link SurfaceDelegate} to interact with the platform specific surface that they that needs
|
|
203
|
+
* to be rendered in. For mobile platform this is default to be null so that these modules will
|
|
204
|
+
* need to provide a default surface delegate. One example of such native module is LogBoxModule,
|
|
205
|
+
* which is rendered in mobile platform with LogBoxDialog, while in VR platform with custom layer
|
|
206
|
+
* provided by runtime.
|
|
207
|
+
*/
|
|
208
|
+
public ReactInstanceManagerBuilder setSurfaceDelegateFactory(
|
|
209
|
+
@Nullable final SurfaceDelegateFactory surfaceDelegateFactory) {
|
|
210
|
+
mSurfaceDelegateFactory = surfaceDelegateFactory;
|
|
211
|
+
return this;
|
|
212
|
+
}
|
|
213
|
+
|
|
174
214
|
/**
|
|
175
215
|
* Sets the initial lifecycle state of the host. For example, if the host is already resumed at
|
|
176
216
|
* creation time, we wouldn't expect an onResume call until we get an onPause call.
|
|
@@ -283,6 +323,10 @@ public class ReactInstanceManagerBuilder {
|
|
|
283
323
|
mJSMainModulePath,
|
|
284
324
|
mPackages,
|
|
285
325
|
mUseDeveloperSupport,
|
|
326
|
+
mDevSupportManagerFactory == null
|
|
327
|
+
? new DefaultDevSupportManagerFactory()
|
|
328
|
+
: mDevSupportManagerFactory,
|
|
329
|
+
mRequireActivity,
|
|
286
330
|
mBridgeIdleDebugListener,
|
|
287
331
|
Assertions.assertNotNull(mInitialLifecycleState, "Initial lifecycle state was not set"),
|
|
288
332
|
mUIImplementationProvider,
|
|
@@ -294,7 +338,8 @@ public class ReactInstanceManagerBuilder {
|
|
|
294
338
|
mMinTimeLeftInFrameForNonBatchedOperationMs,
|
|
295
339
|
mJSIModulesPackage,
|
|
296
340
|
mCustomPackagerCommandHandlers,
|
|
297
|
-
mTMMDelegateBuilder
|
|
341
|
+
mTMMDelegateBuilder,
|
|
342
|
+
mSurfaceDelegateFactory);
|
|
298
343
|
}
|
|
299
344
|
|
|
300
345
|
private JavaScriptExecutorFactory getDefaultJSExecutorFactory(
|
|
@@ -15,6 +15,9 @@ import com.facebook.react.bridge.JavaScriptExecutorFactory;
|
|
|
15
15
|
import com.facebook.react.bridge.ReactMarker;
|
|
16
16
|
import com.facebook.react.bridge.ReactMarkerConstants;
|
|
17
17
|
import com.facebook.react.common.LifecycleState;
|
|
18
|
+
import com.facebook.react.common.SurfaceDelegate;
|
|
19
|
+
import com.facebook.react.common.SurfaceDelegateFactory;
|
|
20
|
+
import com.facebook.react.devsupport.DevSupportManagerFactory;
|
|
18
21
|
import com.facebook.react.devsupport.RedBoxHandler;
|
|
19
22
|
import com.facebook.react.uimanager.UIImplementationProvider;
|
|
20
23
|
import java.util.List;
|
|
@@ -68,6 +71,9 @@ public abstract class ReactNativeHost {
|
|
|
68
71
|
.setApplication(mApplication)
|
|
69
72
|
.setJSMainModulePath(getJSMainModuleName())
|
|
70
73
|
.setUseDeveloperSupport(getUseDeveloperSupport())
|
|
74
|
+
.setDevSupportManagerFactory(getDevSupportManagerFactory())
|
|
75
|
+
.setRequireActivity(getShouldRequireActivity())
|
|
76
|
+
.setSurfaceDelegateFactory(getSurfaceDelegateFactory())
|
|
71
77
|
.setRedBoxHandler(getRedBoxHandler())
|
|
72
78
|
.setJavaScriptExecutorFactory(getJavaScriptExecutorFactory())
|
|
73
79
|
.setUIImplementationProvider(getUIImplementationProvider())
|
|
@@ -124,6 +130,26 @@ public abstract class ReactNativeHost {
|
|
|
124
130
|
return null;
|
|
125
131
|
}
|
|
126
132
|
|
|
133
|
+
/** Returns whether or not to treat it as normal if Activity is null. */
|
|
134
|
+
public boolean getShouldRequireActivity() {
|
|
135
|
+
return true;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
/**
|
|
139
|
+
* Return the {@link SurfaceDelegateFactory} used by NativeModules to get access to a {@link
|
|
140
|
+
* SurfaceDelegate} to interact with a surface. By default in the mobile platform the {@link
|
|
141
|
+
* SurfaceDelegate} it returns is null, and the NativeModule needs to implement its own {@link
|
|
142
|
+
* SurfaceDelegate} to decide how it would interact with its own container surface.
|
|
143
|
+
*/
|
|
144
|
+
public SurfaceDelegateFactory getSurfaceDelegateFactory() {
|
|
145
|
+
return new SurfaceDelegateFactory() {
|
|
146
|
+
@Override
|
|
147
|
+
public @Nullable SurfaceDelegate createSurfaceDelegate(String moduleName) {
|
|
148
|
+
return null;
|
|
149
|
+
}
|
|
150
|
+
};
|
|
151
|
+
}
|
|
152
|
+
|
|
127
153
|
/**
|
|
128
154
|
* Returns the name of the main module. Determines the URL used to fetch the JS bundle from Metro.
|
|
129
155
|
* It is only used when dev support is enabled. This is the first file to be executed once the
|
|
@@ -154,6 +180,11 @@ public abstract class ReactNativeHost {
|
|
|
154
180
|
/** Returns whether dev mode should be enabled. This enables e.g. the dev menu. */
|
|
155
181
|
public abstract boolean getUseDeveloperSupport();
|
|
156
182
|
|
|
183
|
+
/** Get the {@link DevSupportManagerFactory}. Override this to use a custom dev support manager */
|
|
184
|
+
protected @Nullable DevSupportManagerFactory getDevSupportManagerFactory() {
|
|
185
|
+
return null;
|
|
186
|
+
}
|
|
187
|
+
|
|
157
188
|
/**
|
|
158
189
|
* Returns a list of {@link ReactPackage} used by the app. You'll most likely want to return at
|
|
159
190
|
* least the {@code MainReactPackage}. If your app uses additional views or modules besides the
|
|
@@ -16,8 +16,10 @@ import android.content.Context;
|
|
|
16
16
|
import android.graphics.Canvas;
|
|
17
17
|
import android.graphics.Point;
|
|
18
18
|
import android.graphics.Rect;
|
|
19
|
+
import android.os.Build;
|
|
19
20
|
import android.os.Bundle;
|
|
20
21
|
import android.util.AttributeSet;
|
|
22
|
+
import android.view.DisplayCutout;
|
|
21
23
|
import android.view.KeyEvent;
|
|
22
24
|
import android.view.MotionEvent;
|
|
23
25
|
import android.view.Surface;
|
|
@@ -647,6 +649,11 @@ public class ReactRootView extends FrameLayout implements RootView, ReactRoot {
|
|
|
647
649
|
mJSTouchDispatcher = new JSTouchDispatcher(this);
|
|
648
650
|
}
|
|
649
651
|
|
|
652
|
+
@VisibleForTesting
|
|
653
|
+
/* package */ void simulateCheckForKeyboardForTesting() {
|
|
654
|
+
getCustomGlobalLayoutListener().checkForKeyboardEvents();
|
|
655
|
+
}
|
|
656
|
+
|
|
650
657
|
private CustomGlobalLayoutListener getCustomGlobalLayoutListener() {
|
|
651
658
|
if (mCustomGlobalLayoutListener == null) {
|
|
652
659
|
mCustomGlobalLayoutListener = new CustomGlobalLayoutListener();
|
|
@@ -766,8 +773,17 @@ public class ReactRootView extends FrameLayout implements RootView, ReactRoot {
|
|
|
766
773
|
|
|
767
774
|
private void checkForKeyboardEvents() {
|
|
768
775
|
getRootView().getWindowVisibleDisplayFrame(mVisibleViewArea);
|
|
776
|
+
int notchHeight = 0;
|
|
777
|
+
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
|
|
778
|
+
DisplayCutout displayCutout = getRootView().getRootWindowInsets().getDisplayCutout();
|
|
779
|
+
if (displayCutout != null) {
|
|
780
|
+
notchHeight = displayCutout.getSafeInsetTop();
|
|
781
|
+
}
|
|
782
|
+
}
|
|
769
783
|
final int heightDiff =
|
|
770
|
-
DisplayMetricsHolder.getWindowDisplayMetrics().heightPixels
|
|
784
|
+
DisplayMetricsHolder.getWindowDisplayMetrics().heightPixels
|
|
785
|
+
- mVisibleViewArea.bottom
|
|
786
|
+
+ notchHeight;
|
|
771
787
|
|
|
772
788
|
boolean isKeyboardShowingOrKeyboardHeightChanged =
|
|
773
789
|
mKeyboardHeight != heightDiff && heightDiff > mMinKeyboardHeightDetected;
|
|
@@ -108,7 +108,8 @@ public class CatalystInstanceImpl implements CatalystInstance {
|
|
|
108
108
|
// C++ parts
|
|
109
109
|
private final HybridData mHybridData;
|
|
110
110
|
|
|
111
|
-
private static native HybridData initHybrid(
|
|
111
|
+
private static native HybridData initHybrid(
|
|
112
|
+
boolean enableRuntimeScheduler, boolean enableRuntimeSchedulerInTurboModule);
|
|
112
113
|
|
|
113
114
|
public native CallInvokerHolderImpl getJSCallInvokerHolder();
|
|
114
115
|
|
|
@@ -123,7 +124,15 @@ public class CatalystInstanceImpl implements CatalystInstance {
|
|
|
123
124
|
FLog.d(ReactConstants.TAG, "Initializing React Xplat Bridge.");
|
|
124
125
|
Systrace.beginSection(TRACE_TAG_REACT_JAVA_BRIDGE, "createCatalystInstanceImpl");
|
|
125
126
|
|
|
126
|
-
|
|
127
|
+
if (ReactFeatureFlags.enableRuntimeSchedulerInTurboModule
|
|
128
|
+
&& !ReactFeatureFlags.enableRuntimeScheduler) {
|
|
129
|
+
Assertions.assertUnreachable();
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
mHybridData =
|
|
133
|
+
initHybrid(
|
|
134
|
+
ReactFeatureFlags.enableRuntimeScheduler,
|
|
135
|
+
ReactFeatureFlags.enableRuntimeSchedulerInTurboModule);
|
|
127
136
|
|
|
128
137
|
mReactQueueConfiguration =
|
|
129
138
|
ReactQueueConfigurationImpl.create(
|
|
@@ -558,6 +567,8 @@ public class CatalystInstanceImpl implements CatalystInstance {
|
|
|
558
567
|
|
|
559
568
|
public native RuntimeExecutor getRuntimeExecutor();
|
|
560
569
|
|
|
570
|
+
public native RuntimeScheduler getRuntimeScheduler();
|
|
571
|
+
|
|
561
572
|
@Override
|
|
562
573
|
public void addJSIModules(List<JSIModuleSpec> jsiModules) {
|
|
563
574
|
mJSIModuleRegistry.registerModules(jsiModules);
|
|
@@ -91,6 +91,7 @@ public class ReactContext extends ContextWrapper {
|
|
|
91
91
|
|
|
92
92
|
/** Initialize message queue threads using a ReactQueueConfiguration. */
|
|
93
93
|
public synchronized void initializeMessageQueueThreads(ReactQueueConfiguration queueConfig) {
|
|
94
|
+
FLog.w(TAG, "initializeMessageQueueThreads() is called.");
|
|
94
95
|
if (mUiMessageQueueThread != null
|
|
95
96
|
|| mNativeModulesMessageQueueThread != null
|
|
96
97
|
|| mJSMessageQueueThread != null) {
|
|
@@ -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
|
+
}
|
|
@@ -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
|
+
}
|
|
@@ -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",
|
|
@@ -0,0 +1,40 @@
|
|
|
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.common;
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Interface for handling a surface in React Native. In mobile platform a surface can be any
|
|
12
|
+
* container that holds some {@link View}. For example, a Dialog can be a surface to wrap content
|
|
13
|
+
* view object as needed. In VR platform, a surface is provided by Shell panel app sdk, which
|
|
14
|
+
* requires custom logic to show/hide. NativeModules requires a surface will delegate interactions
|
|
15
|
+
* with the surface to a SurfaceDelegate.
|
|
16
|
+
*/
|
|
17
|
+
public interface SurfaceDelegate {
|
|
18
|
+
/**
|
|
19
|
+
* Create the React content view that uses the appKey as the React application name
|
|
20
|
+
*
|
|
21
|
+
* @param appKey
|
|
22
|
+
*/
|
|
23
|
+
void createContentView(String appKey);
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Check if the content view is created and ready to be shown
|
|
27
|
+
*
|
|
28
|
+
* @return true if the content view is ready to be shown
|
|
29
|
+
*/
|
|
30
|
+
boolean isContentViewReady();
|
|
31
|
+
|
|
32
|
+
/** Destroy the React content view to avoid memory leak */
|
|
33
|
+
void destroyContentView();
|
|
34
|
+
|
|
35
|
+
/** Show the surface containing the React content view */
|
|
36
|
+
void show();
|
|
37
|
+
|
|
38
|
+
/** Hide the surface containing the React content view */
|
|
39
|
+
void hide();
|
|
40
|
+
}
|