react-native 0.66.0 → 0.67.0-rc.2
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/hermes/reactexecutor/HermesExecutor.java +14 -8
- 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 +50 -2
- 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/jscexecutor/JSCExecutor.java +6 -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/react-native-0.66.0.aar → 0.67.0-rc.2/react-native-0.67.0-rc.2.aar} +0 -0
- package/android/com/facebook/react/react-native/0.67.0-rc.2/react-native-0.67.0-rc.2.aar.md5 +1 -0
- package/android/com/facebook/react/react-native/0.67.0-rc.2/react-native-0.67.0-rc.2.aar.sha1 +1 -0
- package/android/com/facebook/react/react-native/0.67.0-rc.2/react-native-0.67.0-rc.2.aar.sha256 +1 -0
- package/android/com/facebook/react/react-native/0.67.0-rc.2/react-native-0.67.0-rc.2.aar.sha512 +1 -0
- package/android/com/facebook/react/react-native/{0.66.0/react-native-0.66.0.module → 0.67.0-rc.2/react-native-0.67.0-rc.2.module} +16 -17
- package/android/com/facebook/react/react-native/0.67.0-rc.2/react-native-0.67.0-rc.2.module.md5 +1 -0
- package/android/com/facebook/react/react-native/0.67.0-rc.2/react-native-0.67.0-rc.2.module.sha1 +1 -0
- package/android/com/facebook/react/react-native/0.67.0-rc.2/react-native-0.67.0-rc.2.module.sha256 +1 -0
- package/android/com/facebook/react/react-native/0.67.0-rc.2/react-native-0.67.0-rc.2.module.sha512 +1 -0
- package/android/com/facebook/react/react-native/{0.66.0/react-native-0.66.0.pom → 0.67.0-rc.2/react-native-0.67.0-rc.2.pom} +2 -2
- package/android/com/facebook/react/react-native/0.67.0-rc.2/react-native-0.67.0-rc.2.pom.md5 +1 -0
- package/android/com/facebook/react/react-native/0.67.0-rc.2/react-native-0.67.0-rc.2.pom.sha1 +1 -0
- package/android/com/facebook/react/react-native/0.67.0-rc.2/react-native-0.67.0-rc.2.pom.sha256 +1 -0
- package/android/com/facebook/react/react-native/0.67.0-rc.2/react-native-0.67.0-rc.2.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 +200 -57
- 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/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/react-native-0.66.0.aar.md5 +0 -1
- package/android/com/facebook/react/react-native/0.66.0/react-native-0.66.0.aar.sha1 +0 -1
- package/android/com/facebook/react/react-native/0.66.0/react-native-0.66.0.aar.sha256 +0 -1
- package/android/com/facebook/react/react-native/0.66.0/react-native-0.66.0.aar.sha512 +0 -1
- package/android/com/facebook/react/react-native/0.66.0/react-native-0.66.0.module.md5 +0 -1
- package/android/com/facebook/react/react-native/0.66.0/react-native-0.66.0.module.sha1 +0 -1
- package/android/com/facebook/react/react-native/0.66.0/react-native-0.66.0.module.sha256 +0 -1
- package/android/com/facebook/react/react-native/0.66.0/react-native-0.66.0.module.sha512 +0 -1
- package/android/com/facebook/react/react-native/0.66.0/react-native-0.66.0.pom.md5 +0 -1
- package/android/com/facebook/react/react-native/0.66.0/react-native-0.66.0.pom.sha1 +0 -1
- package/android/com/facebook/react/react-native/0.66.0/react-native-0.66.0.pom.sha256 +0 -1
- package/android/com/facebook/react/react-native/0.66.0/react-native-0.66.0.pom.sha512 +0 -1
- package/scripts/generate-specs.sh +0 -99
- package/template/_editorconfig +0 -3
- package/template/_gitattributes +0 -3
|
@@ -1,137 +0,0 @@
|
|
|
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.modules.datepicker;
|
|
9
|
-
|
|
10
|
-
import android.annotation.SuppressLint;
|
|
11
|
-
import android.app.DatePickerDialog;
|
|
12
|
-
import android.app.DatePickerDialog.OnDateSetListener;
|
|
13
|
-
import android.app.Dialog;
|
|
14
|
-
import android.content.Context;
|
|
15
|
-
import android.content.DialogInterface;
|
|
16
|
-
import android.content.DialogInterface.OnDismissListener;
|
|
17
|
-
import android.graphics.drawable.ColorDrawable;
|
|
18
|
-
import android.os.Bundle;
|
|
19
|
-
import android.widget.DatePicker;
|
|
20
|
-
import androidx.annotation.Nullable;
|
|
21
|
-
import androidx.fragment.app.DialogFragment;
|
|
22
|
-
import java.util.Calendar;
|
|
23
|
-
import java.util.Locale;
|
|
24
|
-
|
|
25
|
-
@SuppressLint("ValidFragment")
|
|
26
|
-
public class DatePickerDialogFragment extends DialogFragment {
|
|
27
|
-
|
|
28
|
-
/** Minimum date supported by {@link DatePicker}, 01 Jan 1900 */
|
|
29
|
-
private static final long DEFAULT_MIN_DATE = -2208988800001l;
|
|
30
|
-
|
|
31
|
-
@Nullable private OnDateSetListener mOnDateSetListener;
|
|
32
|
-
@Nullable private OnDismissListener mOnDismissListener;
|
|
33
|
-
|
|
34
|
-
@Override
|
|
35
|
-
public Dialog onCreateDialog(Bundle savedInstanceState) {
|
|
36
|
-
Bundle args = getArguments();
|
|
37
|
-
return createDialog(args, getActivity(), mOnDateSetListener);
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
/*package*/ static Dialog createDialog(
|
|
41
|
-
Bundle args, Context activityContext, @Nullable OnDateSetListener onDateSetListener) {
|
|
42
|
-
final Calendar c = Calendar.getInstance();
|
|
43
|
-
if (args != null && args.containsKey(DatePickerDialogModule.ARG_DATE)) {
|
|
44
|
-
c.setTimeInMillis(args.getLong(DatePickerDialogModule.ARG_DATE));
|
|
45
|
-
}
|
|
46
|
-
final int year = c.get(Calendar.YEAR);
|
|
47
|
-
final int month = c.get(Calendar.MONTH);
|
|
48
|
-
final int day = c.get(Calendar.DAY_OF_MONTH);
|
|
49
|
-
|
|
50
|
-
DatePickerMode mode = DatePickerMode.DEFAULT;
|
|
51
|
-
if (args != null && args.getString(DatePickerDialogModule.ARG_MODE, null) != null) {
|
|
52
|
-
mode =
|
|
53
|
-
DatePickerMode.valueOf(
|
|
54
|
-
args.getString(DatePickerDialogModule.ARG_MODE).toUpperCase(Locale.US));
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
DatePickerDialog dialog = null;
|
|
58
|
-
|
|
59
|
-
switch (mode) {
|
|
60
|
-
case CALENDAR:
|
|
61
|
-
dialog =
|
|
62
|
-
new DismissableDatePickerDialog(
|
|
63
|
-
activityContext,
|
|
64
|
-
activityContext
|
|
65
|
-
.getResources()
|
|
66
|
-
.getIdentifier(
|
|
67
|
-
"CalendarDatePickerDialog", "style", activityContext.getPackageName()),
|
|
68
|
-
onDateSetListener,
|
|
69
|
-
year,
|
|
70
|
-
month,
|
|
71
|
-
day);
|
|
72
|
-
break;
|
|
73
|
-
case SPINNER:
|
|
74
|
-
dialog =
|
|
75
|
-
new DismissableDatePickerDialog(
|
|
76
|
-
activityContext,
|
|
77
|
-
android.R.style.Theme_Holo_Light_Dialog,
|
|
78
|
-
onDateSetListener,
|
|
79
|
-
year,
|
|
80
|
-
month,
|
|
81
|
-
day);
|
|
82
|
-
dialog
|
|
83
|
-
.getWindow()
|
|
84
|
-
.setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT));
|
|
85
|
-
break;
|
|
86
|
-
case DEFAULT:
|
|
87
|
-
dialog =
|
|
88
|
-
new DismissableDatePickerDialog(activityContext, onDateSetListener, year, month, day);
|
|
89
|
-
break;
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
final DatePicker datePicker = dialog.getDatePicker();
|
|
93
|
-
|
|
94
|
-
if (args != null && args.containsKey(DatePickerDialogModule.ARG_MINDATE)) {
|
|
95
|
-
// Set minDate to the beginning of the day. We need this because of clowniness in datepicker
|
|
96
|
-
// that causes it to throw an exception if minDate is greater than the internal timestamp
|
|
97
|
-
// that it generates from the y/m/d passed in the constructor.
|
|
98
|
-
c.setTimeInMillis(args.getLong(DatePickerDialogModule.ARG_MINDATE));
|
|
99
|
-
c.set(Calendar.HOUR_OF_DAY, 0);
|
|
100
|
-
c.set(Calendar.MINUTE, 0);
|
|
101
|
-
c.set(Calendar.SECOND, 0);
|
|
102
|
-
c.set(Calendar.MILLISECOND, 0);
|
|
103
|
-
datePicker.setMinDate(c.getTimeInMillis());
|
|
104
|
-
} else {
|
|
105
|
-
// This is to work around a bug in DatePickerDialog where it doesn't display a title showing
|
|
106
|
-
// the date under certain conditions.
|
|
107
|
-
datePicker.setMinDate(DEFAULT_MIN_DATE);
|
|
108
|
-
}
|
|
109
|
-
if (args != null && args.containsKey(DatePickerDialogModule.ARG_MAXDATE)) {
|
|
110
|
-
// Set maxDate to the end of the day, same reason as for minDate.
|
|
111
|
-
c.setTimeInMillis(args.getLong(DatePickerDialogModule.ARG_MAXDATE));
|
|
112
|
-
c.set(Calendar.HOUR_OF_DAY, 23);
|
|
113
|
-
c.set(Calendar.MINUTE, 59);
|
|
114
|
-
c.set(Calendar.SECOND, 59);
|
|
115
|
-
c.set(Calendar.MILLISECOND, 999);
|
|
116
|
-
datePicker.setMaxDate(c.getTimeInMillis());
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
return dialog;
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
@Override
|
|
123
|
-
public void onDismiss(DialogInterface dialog) {
|
|
124
|
-
super.onDismiss(dialog);
|
|
125
|
-
if (mOnDismissListener != null) {
|
|
126
|
-
mOnDismissListener.onDismiss(dialog);
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
/*package*/ void setOnDateSetListener(@Nullable OnDateSetListener onDateSetListener) {
|
|
131
|
-
mOnDateSetListener = onDateSetListener;
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
/*package*/ void setOnDismissListener(@Nullable OnDismissListener onDismissListener) {
|
|
135
|
-
mOnDismissListener = onDismissListener;
|
|
136
|
-
}
|
|
137
|
-
}
|
package/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/DatePickerDialogModule.java
DELETED
|
@@ -1,153 +0,0 @@
|
|
|
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.modules.datepicker;
|
|
9
|
-
|
|
10
|
-
import android.app.Activity;
|
|
11
|
-
import android.app.DatePickerDialog.OnDateSetListener;
|
|
12
|
-
import android.content.DialogInterface;
|
|
13
|
-
import android.content.DialogInterface.OnDismissListener;
|
|
14
|
-
import android.os.Bundle;
|
|
15
|
-
import android.widget.DatePicker;
|
|
16
|
-
import androidx.annotation.NonNull;
|
|
17
|
-
import androidx.annotation.Nullable;
|
|
18
|
-
import androidx.fragment.app.DialogFragment;
|
|
19
|
-
import androidx.fragment.app.FragmentActivity;
|
|
20
|
-
import androidx.fragment.app.FragmentManager;
|
|
21
|
-
import com.facebook.fbreact.specs.NativeDatePickerAndroidSpec;
|
|
22
|
-
import com.facebook.react.bridge.*;
|
|
23
|
-
import com.facebook.react.common.annotations.VisibleForTesting;
|
|
24
|
-
import com.facebook.react.module.annotations.ReactModule;
|
|
25
|
-
|
|
26
|
-
/**
|
|
27
|
-
* {@link NativeModule} that allows JS to show a native date picker dialog and get called back when
|
|
28
|
-
* the user selects a date.
|
|
29
|
-
*/
|
|
30
|
-
@ReactModule(name = DatePickerDialogModule.FRAGMENT_TAG)
|
|
31
|
-
public class DatePickerDialogModule extends NativeDatePickerAndroidSpec {
|
|
32
|
-
|
|
33
|
-
@VisibleForTesting public static final String FRAGMENT_TAG = "DatePickerAndroid";
|
|
34
|
-
|
|
35
|
-
private static final String ERROR_NO_ACTIVITY = "E_NO_ACTIVITY";
|
|
36
|
-
|
|
37
|
-
/* package */ static final String ARG_DATE = "date";
|
|
38
|
-
/* package */ static final String ARG_MINDATE = "minDate";
|
|
39
|
-
/* package */ static final String ARG_MAXDATE = "maxDate";
|
|
40
|
-
/* package */ static final String ARG_MODE = "mode";
|
|
41
|
-
|
|
42
|
-
/* package */ static final String ACTION_DATE_SET = "dateSetAction";
|
|
43
|
-
/* package */ static final String ACTION_DISMISSED = "dismissedAction";
|
|
44
|
-
|
|
45
|
-
public DatePickerDialogModule(ReactApplicationContext reactContext) {
|
|
46
|
-
super(reactContext);
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
public @NonNull String getName() {
|
|
50
|
-
return DatePickerDialogModule.FRAGMENT_TAG;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
private class DatePickerDialogListener implements OnDateSetListener, OnDismissListener {
|
|
54
|
-
|
|
55
|
-
private final Promise mPromise;
|
|
56
|
-
private boolean mPromiseResolved = false;
|
|
57
|
-
|
|
58
|
-
public DatePickerDialogListener(final Promise promise) {
|
|
59
|
-
mPromise = promise;
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
@Override
|
|
63
|
-
public void onDateSet(DatePicker view, int year, int month, int day) {
|
|
64
|
-
if (!mPromiseResolved && getReactApplicationContext().hasActiveReactInstance()) {
|
|
65
|
-
WritableMap result = new WritableNativeMap();
|
|
66
|
-
result.putString("action", ACTION_DATE_SET);
|
|
67
|
-
result.putInt("year", year);
|
|
68
|
-
result.putInt("month", month);
|
|
69
|
-
result.putInt("day", day);
|
|
70
|
-
mPromise.resolve(result);
|
|
71
|
-
mPromiseResolved = true;
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
@Override
|
|
76
|
-
public void onDismiss(DialogInterface dialog) {
|
|
77
|
-
if (!mPromiseResolved && getReactApplicationContext().hasActiveReactInstance()) {
|
|
78
|
-
WritableMap result = new WritableNativeMap();
|
|
79
|
-
result.putString("action", ACTION_DISMISSED);
|
|
80
|
-
mPromise.resolve(result);
|
|
81
|
-
mPromiseResolved = true;
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
/**
|
|
87
|
-
* Show a date picker dialog.
|
|
88
|
-
*
|
|
89
|
-
* @param options a map containing options. Available keys are:
|
|
90
|
-
* <ul>
|
|
91
|
-
* <li>{@code date} (timestamp in milliseconds) the date to show by default
|
|
92
|
-
* <li>{@code minDate} (timestamp in milliseconds) the minimum date the user should be
|
|
93
|
-
* allowed to select
|
|
94
|
-
* <li>{@code maxDate} (timestamp in milliseconds) the maximum date the user should be
|
|
95
|
-
* allowed to select
|
|
96
|
-
* <li>{@code mode} To set the date picker mode to 'calendar/spinner/default'
|
|
97
|
-
* </ul>
|
|
98
|
-
*
|
|
99
|
-
* @param promise This will be invoked with parameters action, year, month (0-11), day, where
|
|
100
|
-
* action is {@code dateSetAction} or {@code dismissedAction}, depending on what the user did.
|
|
101
|
-
* If the action is dismiss, year, month and date are undefined.
|
|
102
|
-
*/
|
|
103
|
-
@Override
|
|
104
|
-
public void open(@Nullable final ReadableMap options, final Promise promise) {
|
|
105
|
-
Activity raw_activity = getCurrentActivity();
|
|
106
|
-
if (raw_activity == null || !(raw_activity instanceof FragmentActivity)) {
|
|
107
|
-
promise.reject(
|
|
108
|
-
ERROR_NO_ACTIVITY,
|
|
109
|
-
"Tried to open a DatePicker dialog while not attached to a FragmentActivity");
|
|
110
|
-
return;
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
FragmentActivity activity = (FragmentActivity) raw_activity;
|
|
114
|
-
|
|
115
|
-
final FragmentManager fragmentManager = activity.getSupportFragmentManager();
|
|
116
|
-
DialogFragment oldFragment = (DialogFragment) fragmentManager.findFragmentByTag(FRAGMENT_TAG);
|
|
117
|
-
if (oldFragment != null) {
|
|
118
|
-
oldFragment.dismiss();
|
|
119
|
-
}
|
|
120
|
-
activity.runOnUiThread(
|
|
121
|
-
new Runnable() {
|
|
122
|
-
@Override
|
|
123
|
-
public void run() {
|
|
124
|
-
DatePickerDialogFragment fragment = new DatePickerDialogFragment();
|
|
125
|
-
if (options != null) {
|
|
126
|
-
final Bundle args = createFragmentArguments(options);
|
|
127
|
-
fragment.setArguments(args);
|
|
128
|
-
}
|
|
129
|
-
final DatePickerDialogListener listener = new DatePickerDialogListener(promise);
|
|
130
|
-
fragment.setOnDismissListener(listener);
|
|
131
|
-
fragment.setOnDateSetListener(listener);
|
|
132
|
-
fragment.show(fragmentManager, FRAGMENT_TAG);
|
|
133
|
-
}
|
|
134
|
-
});
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
private Bundle createFragmentArguments(ReadableMap options) {
|
|
138
|
-
final Bundle args = new Bundle();
|
|
139
|
-
if (options.hasKey(ARG_DATE) && !options.isNull(ARG_DATE)) {
|
|
140
|
-
args.putLong(ARG_DATE, (long) options.getDouble(ARG_DATE));
|
|
141
|
-
}
|
|
142
|
-
if (options.hasKey(ARG_MINDATE) && !options.isNull(ARG_MINDATE)) {
|
|
143
|
-
args.putLong(ARG_MINDATE, (long) options.getDouble(ARG_MINDATE));
|
|
144
|
-
}
|
|
145
|
-
if (options.hasKey(ARG_MAXDATE) && !options.isNull(ARG_MAXDATE)) {
|
|
146
|
-
args.putLong(ARG_MAXDATE, (long) options.getDouble(ARG_MAXDATE));
|
|
147
|
-
}
|
|
148
|
-
if (options.hasKey(ARG_MODE) && !options.isNull(ARG_MODE)) {
|
|
149
|
-
args.putString(ARG_MODE, options.getString(ARG_MODE));
|
|
150
|
-
}
|
|
151
|
-
return args;
|
|
152
|
-
}
|
|
153
|
-
}
|
package/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/DatePickerMode.java
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
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.modules.datepicker;
|
|
9
|
-
|
|
10
|
-
/** Date picker modes */
|
|
11
|
-
public enum DatePickerMode {
|
|
12
|
-
CALENDAR,
|
|
13
|
-
SPINNER,
|
|
14
|
-
DEFAULT
|
|
15
|
-
}
|
|
@@ -1,117 +0,0 @@
|
|
|
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.modules.datepicker;
|
|
9
|
-
|
|
10
|
-
import android.app.DatePickerDialog;
|
|
11
|
-
import android.content.Context;
|
|
12
|
-
import android.content.res.TypedArray;
|
|
13
|
-
import android.os.Build;
|
|
14
|
-
import android.util.AttributeSet;
|
|
15
|
-
import android.widget.DatePicker;
|
|
16
|
-
import androidx.annotation.Nullable;
|
|
17
|
-
import java.lang.reflect.Field;
|
|
18
|
-
import java.lang.reflect.Method;
|
|
19
|
-
|
|
20
|
-
public class DismissableDatePickerDialog extends DatePickerDialog {
|
|
21
|
-
|
|
22
|
-
public DismissableDatePickerDialog(
|
|
23
|
-
Context context,
|
|
24
|
-
@Nullable DatePickerDialog.OnDateSetListener callback,
|
|
25
|
-
int year,
|
|
26
|
-
int monthOfYear,
|
|
27
|
-
int dayOfMonth) {
|
|
28
|
-
super(context, callback, year, monthOfYear, dayOfMonth);
|
|
29
|
-
fixSpinner(context, year, monthOfYear, dayOfMonth);
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
public DismissableDatePickerDialog(
|
|
33
|
-
Context context,
|
|
34
|
-
int theme,
|
|
35
|
-
@Nullable DatePickerDialog.OnDateSetListener callback,
|
|
36
|
-
int year,
|
|
37
|
-
int monthOfYear,
|
|
38
|
-
int dayOfMonth) {
|
|
39
|
-
super(context, theme, callback, year, monthOfYear, dayOfMonth);
|
|
40
|
-
fixSpinner(context, year, monthOfYear, dayOfMonth);
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
private void fixSpinner(Context context, int year, int month, int dayOfMonth) {
|
|
44
|
-
if (Build.VERSION.SDK_INT == Build.VERSION_CODES.N) {
|
|
45
|
-
try {
|
|
46
|
-
// Get the theme's android:datePickerMode
|
|
47
|
-
final int MODE_SPINNER = 2;
|
|
48
|
-
Class<?> styleableClass = Class.forName("com.android.internal.R$styleable");
|
|
49
|
-
Field datePickerStyleableField = styleableClass.getField("DatePicker");
|
|
50
|
-
int[] datePickerStyleable = (int[]) datePickerStyleableField.get(null);
|
|
51
|
-
|
|
52
|
-
final TypedArray a =
|
|
53
|
-
context.obtainStyledAttributes(
|
|
54
|
-
null, datePickerStyleable, android.R.attr.datePickerStyle, 0);
|
|
55
|
-
Field datePickerModeStyleableField = styleableClass.getField("DatePicker_datePickerMode");
|
|
56
|
-
int datePickerModeStyleable = datePickerModeStyleableField.getInt(null);
|
|
57
|
-
final int mode = a.getInt(datePickerModeStyleable, MODE_SPINNER);
|
|
58
|
-
a.recycle();
|
|
59
|
-
|
|
60
|
-
if (mode == MODE_SPINNER) {
|
|
61
|
-
DatePicker datePicker =
|
|
62
|
-
(DatePicker)
|
|
63
|
-
findField(DatePickerDialog.class, DatePicker.class, "mDatePicker").get(this);
|
|
64
|
-
Class<?> delegateClass = Class.forName("android.widget.DatePickerSpinnerDelegate");
|
|
65
|
-
Field delegateField = findField(DatePicker.class, delegateClass, "mDelegate");
|
|
66
|
-
Object delegate = delegateField.get(datePicker);
|
|
67
|
-
Class<?> spinnerDelegateClass;
|
|
68
|
-
spinnerDelegateClass = Class.forName("android.widget.DatePickerSpinnerDelegate");
|
|
69
|
-
|
|
70
|
-
// In 7.0 Nougat for some reason the datePickerMode is ignored and the delegate is
|
|
71
|
-
// DatePickerClockDelegate
|
|
72
|
-
if (delegate.getClass() != spinnerDelegateClass) {
|
|
73
|
-
delegateField.set(datePicker, null); // throw out the DatePickerClockDelegate!
|
|
74
|
-
datePicker.removeAllViews(); // remove the DatePickerClockDelegate views
|
|
75
|
-
Method createSpinnerUIDelegate =
|
|
76
|
-
DatePicker.class.getDeclaredMethod(
|
|
77
|
-
"createSpinnerUIDelegate",
|
|
78
|
-
Context.class,
|
|
79
|
-
AttributeSet.class,
|
|
80
|
-
int.class,
|
|
81
|
-
int.class);
|
|
82
|
-
createSpinnerUIDelegate.setAccessible(true);
|
|
83
|
-
|
|
84
|
-
// Instantiate a DatePickerSpinnerDelegate throughout createSpinnerUIDelegate method
|
|
85
|
-
delegate =
|
|
86
|
-
createSpinnerUIDelegate.invoke(
|
|
87
|
-
datePicker, context, null, android.R.attr.datePickerStyle, 0);
|
|
88
|
-
delegateField.set(
|
|
89
|
-
datePicker, delegate); // set the DatePicker.mDelegate to the spinner delegate
|
|
90
|
-
datePicker.setCalendarViewShown(false);
|
|
91
|
-
// Initialize the date for the DatePicker delegate again
|
|
92
|
-
datePicker.init(year, month, dayOfMonth, this);
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
} catch (Exception e) {
|
|
96
|
-
throw new RuntimeException(e);
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
private static Field findField(Class objectClass, Class fieldClass, String expectedName) {
|
|
102
|
-
try {
|
|
103
|
-
Field field = objectClass.getDeclaredField(expectedName);
|
|
104
|
-
field.setAccessible(true);
|
|
105
|
-
return field;
|
|
106
|
-
} catch (NoSuchFieldException e) {
|
|
107
|
-
} // ignore
|
|
108
|
-
// search for it if it wasn't found under the expected ivar name
|
|
109
|
-
for (Field searchField : objectClass.getDeclaredFields()) {
|
|
110
|
-
if (searchField.getType() == fieldClass) {
|
|
111
|
-
searchField.setAccessible(true);
|
|
112
|
-
return searchField;
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
return null;
|
|
116
|
-
}
|
|
117
|
-
}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
load("//tools/build_defs/oss:rn_defs.bzl", "react_native_dep", "react_native_target", "rn_android_library")
|
|
2
|
-
|
|
3
|
-
rn_android_library(
|
|
4
|
-
name = "runtimescheduler",
|
|
5
|
-
srcs = glob(["**/*.java"]),
|
|
6
|
-
autoglob = False,
|
|
7
|
-
is_androidx = True,
|
|
8
|
-
labels = ["supermodule:xplat/default/public.react_native.infra"],
|
|
9
|
-
visibility = [
|
|
10
|
-
"PUBLIC",
|
|
11
|
-
],
|
|
12
|
-
deps = [
|
|
13
|
-
react_native_target("java/com/facebook/react/runtimescheduler/jni:jni"),
|
|
14
|
-
react_native_dep("third-party/android/androidx:annotation"),
|
|
15
|
-
react_native_dep("third-party/java/infer-annotations:infer-annotations"),
|
|
16
|
-
react_native_dep("libraries/fbjni:java"),
|
|
17
|
-
react_native_target("java/com/facebook/react/bridge:bridge"),
|
|
18
|
-
react_native_dep("libraries/soloader/java/com/facebook/soloader:soloader"),
|
|
19
|
-
],
|
|
20
|
-
)
|
package/ReactAndroid/src/main/java/com/facebook/react/runtimescheduler/RuntimeSchedulerManager.java
DELETED
|
@@ -1,39 +0,0 @@
|
|
|
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.runtimescheduler;
|
|
9
|
-
|
|
10
|
-
import com.facebook.jni.HybridData;
|
|
11
|
-
import com.facebook.proguard.annotations.DoNotStrip;
|
|
12
|
-
import com.facebook.proguard.annotations.DoNotStripAny;
|
|
13
|
-
import com.facebook.react.bridge.RuntimeExecutor;
|
|
14
|
-
import com.facebook.soloader.SoLoader;
|
|
15
|
-
|
|
16
|
-
@DoNotStripAny
|
|
17
|
-
public class RuntimeSchedulerManager {
|
|
18
|
-
|
|
19
|
-
static {
|
|
20
|
-
staticInit();
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
@DoNotStrip
|
|
24
|
-
@SuppressWarnings("unused")
|
|
25
|
-
private final HybridData mHybridData;
|
|
26
|
-
|
|
27
|
-
public RuntimeSchedulerManager(RuntimeExecutor runtimeExecutor) {
|
|
28
|
-
mHybridData = initHybrid(runtimeExecutor);
|
|
29
|
-
installJSIBindings();
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
private native HybridData initHybrid(RuntimeExecutor runtimeExecutor);
|
|
33
|
-
|
|
34
|
-
private native void installJSIBindings();
|
|
35
|
-
|
|
36
|
-
private static void staticInit() {
|
|
37
|
-
SoLoader.loadLibrary("runtimeschedulerjni");
|
|
38
|
-
}
|
|
39
|
-
}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
# Copyright (c) Facebook, Inc. and its affiliates.
|
|
2
|
-
#
|
|
3
|
-
# This source code is licensed under the MIT license found in the
|
|
4
|
-
# LICENSE file in the root directory of this source tree.
|
|
5
|
-
|
|
6
|
-
LOCAL_PATH := $(call my-dir)
|
|
7
|
-
|
|
8
|
-
include $(CLEAR_VARS)
|
|
9
|
-
|
|
10
|
-
LOCAL_MODULE := runtimeschedulerjni
|
|
11
|
-
|
|
12
|
-
LOCAL_SRC_FILES := $(wildcard $(LOCAL_PATH)/*.cpp)
|
|
13
|
-
|
|
14
|
-
LOCAL_SHARED_LIBRARIES := libglog libfb libfbjni libglog_init libreact_render_runtimescheduler librrc_native
|
|
15
|
-
|
|
16
|
-
LOCAL_STATIC_LIBRARIES :=
|
|
17
|
-
|
|
18
|
-
LOCAL_C_INCLUDES := $(LOCAL_PATH)/
|
|
19
|
-
|
|
20
|
-
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/
|
|
21
|
-
|
|
22
|
-
LOCAL_CFLAGS := \
|
|
23
|
-
-DLOG_TAG=\"ReacTNative\"
|
|
24
|
-
|
|
25
|
-
LOCAL_CFLAGS += -fexceptions -frtti -std=c++17 -Wall
|
|
26
|
-
|
|
27
|
-
include $(BUILD_SHARED_LIBRARY)
|
|
28
|
-
|
|
29
|
-
$(call import-module,fbgloginit)
|
|
30
|
-
$(call import-module,fb)
|
|
31
|
-
$(call import-module,fbjni)
|
|
32
|
-
$(call import-module,glog)
|
|
33
|
-
|
|
34
|
-
$(call import-module,react/renderer/runtimescheduler)
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
load("//tools/build_defs/oss:rn_defs.bzl", "ANDROID", "FBJNI_TARGET", "react_native_target", "react_native_xplat_target", "rn_xplat_cxx_library", "subdir_glob")
|
|
2
|
-
|
|
3
|
-
rn_xplat_cxx_library(
|
|
4
|
-
name = "jni",
|
|
5
|
-
srcs = glob(["*.cpp"]),
|
|
6
|
-
headers = glob(["*.h"]),
|
|
7
|
-
header_namespace = "",
|
|
8
|
-
exported_headers = subdir_glob(
|
|
9
|
-
[
|
|
10
|
-
("", "**/*.h"),
|
|
11
|
-
],
|
|
12
|
-
prefix = "react/runtimescheduler",
|
|
13
|
-
),
|
|
14
|
-
compiler_flags = [
|
|
15
|
-
"-fexceptions",
|
|
16
|
-
"-frtti",
|
|
17
|
-
"-std=c++17",
|
|
18
|
-
"-Wall",
|
|
19
|
-
],
|
|
20
|
-
fbandroid_allow_jni_merging = True,
|
|
21
|
-
labels = ["supermodule:xplat/default/public.react_native.infra"],
|
|
22
|
-
platforms = ANDROID,
|
|
23
|
-
preprocessor_flags = [
|
|
24
|
-
"-DLOG_TAG=\"ReactNative\"",
|
|
25
|
-
"-DWITH_FBSYSTRACE=1",
|
|
26
|
-
],
|
|
27
|
-
soname = "libruntimeschedulerjni.$(ext)",
|
|
28
|
-
visibility = ["PUBLIC"],
|
|
29
|
-
deps = [
|
|
30
|
-
react_native_xplat_target("react/renderer/runtimescheduler:runtimescheduler"),
|
|
31
|
-
react_native_xplat_target("runtimeexecutor:runtimeexecutor"),
|
|
32
|
-
react_native_target("jni/react/jni:jni"),
|
|
33
|
-
FBJNI_TARGET,
|
|
34
|
-
],
|
|
35
|
-
)
|
|
@@ -1,15 +0,0 @@
|
|
|
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
|
-
#include <fbjni/fbjni.h>
|
|
9
|
-
|
|
10
|
-
#include "RuntimeSchedulerManager.h"
|
|
11
|
-
|
|
12
|
-
JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *vm, void *) {
|
|
13
|
-
return facebook::jni::initialize(
|
|
14
|
-
vm, [] { facebook::react::RuntimeSchedulerManager::registerNatives(); });
|
|
15
|
-
}
|
|
@@ -1,46 +0,0 @@
|
|
|
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
|
-
#include <fbjni/fbjni.h>
|
|
9
|
-
#include <jsi/jsi.h>
|
|
10
|
-
#include <react/renderer/runtimescheduler/RuntimeScheduler.h>
|
|
11
|
-
#include <react/renderer/runtimescheduler/RuntimeSchedulerBinding.h>
|
|
12
|
-
|
|
13
|
-
#include "RuntimeSchedulerManager.h"
|
|
14
|
-
|
|
15
|
-
namespace facebook {
|
|
16
|
-
namespace react {
|
|
17
|
-
|
|
18
|
-
RuntimeSchedulerManager::RuntimeSchedulerManager(
|
|
19
|
-
RuntimeExecutor runtimeExecutor)
|
|
20
|
-
: runtimeExecutor_(runtimeExecutor) {}
|
|
21
|
-
|
|
22
|
-
jni::local_ref<RuntimeSchedulerManager::jhybriddata>
|
|
23
|
-
RuntimeSchedulerManager::initHybrid(
|
|
24
|
-
jni::alias_ref<jclass>,
|
|
25
|
-
jni::alias_ref<JRuntimeExecutor::javaobject> runtimeExecutor) {
|
|
26
|
-
return makeCxxInstance(runtimeExecutor->cthis()->get());
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
void RuntimeSchedulerManager::registerNatives() {
|
|
30
|
-
registerHybrid({
|
|
31
|
-
makeNativeMethod("initHybrid", RuntimeSchedulerManager::initHybrid),
|
|
32
|
-
makeNativeMethod(
|
|
33
|
-
"installJSIBindings", RuntimeSchedulerManager::installJSIBindings),
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
void RuntimeSchedulerManager::installJSIBindings() {
|
|
38
|
-
runtimeExecutor_([runtimeExecutor = runtimeExecutor_](jsi::Runtime &runtime) {
|
|
39
|
-
auto runtimeScheduler = std::make_shared<RuntimeScheduler>(runtimeExecutor);
|
|
40
|
-
RuntimeSchedulerBinding::createAndInstallIfNeeded(
|
|
41
|
-
runtime, runtimeScheduler);
|
|
42
|
-
});
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
} // namespace react
|
|
46
|
-
} // namespace facebook
|
package/ReactAndroid/src/main/java/com/facebook/react/runtimescheduler/jni/RuntimeSchedulerManager.h
DELETED
|
@@ -1,40 +0,0 @@
|
|
|
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
|
-
#pragma once
|
|
9
|
-
|
|
10
|
-
#include <ReactCommon/CallInvokerHolder.h>
|
|
11
|
-
#include <ReactCommon/RuntimeExecutor.h>
|
|
12
|
-
#include <fbjni/fbjni.h>
|
|
13
|
-
#include <react/jni/JRuntimeExecutor.h>
|
|
14
|
-
|
|
15
|
-
namespace facebook {
|
|
16
|
-
namespace react {
|
|
17
|
-
|
|
18
|
-
class RuntimeSchedulerManager
|
|
19
|
-
: public facebook::jni::HybridClass<RuntimeSchedulerManager> {
|
|
20
|
-
public:
|
|
21
|
-
static auto constexpr kJavaDescriptor =
|
|
22
|
-
"Lcom/facebook/react/runtimescheduler/RuntimeSchedulerManager;";
|
|
23
|
-
|
|
24
|
-
static facebook::jni::local_ref<jhybriddata> initHybrid(
|
|
25
|
-
jni::alias_ref<jclass>,
|
|
26
|
-
facebook::jni::alias_ref<JRuntimeExecutor::javaobject> runtimeExecutor);
|
|
27
|
-
|
|
28
|
-
static void registerNatives();
|
|
29
|
-
|
|
30
|
-
private:
|
|
31
|
-
friend HybridBase;
|
|
32
|
-
RuntimeExecutor runtimeExecutor_;
|
|
33
|
-
|
|
34
|
-
void installJSIBindings();
|
|
35
|
-
|
|
36
|
-
explicit RuntimeSchedulerManager(RuntimeExecutor runtimeExecutor);
|
|
37
|
-
};
|
|
38
|
-
|
|
39
|
-
} // namespace react
|
|
40
|
-
} // namespace facebook
|