react-native-reanimated 2.3.0-alpha.1 → 2.3.0-beta.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/Common/cpp/LayoutAnimations/LayoutAnimationsProxy.cpp +15 -8
- package/Common/cpp/NativeModules/NativeReanimatedModule.cpp +170 -166
- package/Common/cpp/NativeModules/NativeReanimatedModuleSpec.cpp +36 -34
- package/Common/cpp/Registries/EventHandlerRegistry.cpp +13 -6
- package/Common/cpp/Registries/MapperRegistry.cpp +19 -15
- package/Common/cpp/Registries/WorkletsCache.cpp +19 -9
- package/Common/cpp/SharedItems/FrozenObject.cpp +19 -8
- package/Common/cpp/SharedItems/MutableValue.cpp +38 -25
- package/Common/cpp/SharedItems/MutableValueSetterProxy.cpp +11 -7
- package/Common/cpp/SharedItems/RemoteObject.cpp +9 -5
- package/Common/cpp/SharedItems/ShareableValue.cpp +216 -143
- package/Common/cpp/Tools/JSIStoreValueUser.cpp +36 -24
- package/Common/cpp/Tools/Mapper.cpp +41 -29
- package/Common/cpp/Tools/RuntimeDecorator.cpp +103 -84
- package/Common/cpp/Tools/Scheduler.cpp +14 -6
- package/Common/cpp/Tools/WorkletEventHandler.cpp +1 -1
- package/Common/cpp/headers/LayoutAnimations/LayoutAnimationsProxy.h +12 -11
- package/Common/cpp/headers/NativeModules/NativeReanimatedModule.h +45 -34
- package/Common/cpp/headers/NativeModules/NativeReanimatedModuleSpec.h +28 -16
- package/Common/cpp/headers/Registries/EventHandlerRegistry.h +14 -8
- package/Common/cpp/headers/Registries/MapperRegistry.h +4 -4
- package/Common/cpp/headers/Registries/WorkletsCache.h +9 -7
- package/Common/cpp/headers/SharedItems/FrozenObject.h +15 -11
- package/Common/cpp/headers/SharedItems/HostFunctionHandler.h +6 -4
- package/Common/cpp/headers/SharedItems/MutableValue.h +21 -12
- package/Common/cpp/headers/SharedItems/MutableValueSetterProxy.h +10 -7
- package/Common/cpp/headers/SharedItems/RemoteObject.h +16 -8
- package/Common/cpp/headers/SharedItems/RuntimeManager.h +39 -21
- package/Common/cpp/headers/SharedItems/ShareableValue.h +31 -27
- package/Common/cpp/headers/SharedItems/SharedParent.h +7 -4
- package/Common/cpp/headers/SharedItems/ValueWrapper.h +80 -61
- package/Common/cpp/headers/SpecTools/ErrorHandler.h +17 -19
- package/Common/cpp/headers/Tools/JSIStoreValueUser.h +18 -13
- package/Common/cpp/headers/Tools/Mapper.h +24 -18
- package/Common/cpp/headers/Tools/PlatformDepMethodsHolder.h +12 -7
- package/Common/cpp/headers/Tools/ReanimatedHiddenHeaders.h +7 -7
- package/Common/cpp/headers/Tools/RuntimeDecorator.h +29 -23
- package/Common/cpp/headers/Tools/Scheduler.h +28 -33
- package/Common/cpp/headers/Tools/WorkletEventHandler.h +9 -7
- package/Common/cpp/hidden_headers/Logger.h +14 -14
- package/Common/cpp/hidden_headers/LoggerInterface.h +8 -9
- package/Common/cpp/hidden_headers/SpeedChecker.h +7 -8
- package/README.md +1 -1
- package/RNReanimated.podspec +4 -4
- package/android/build.gradle +80 -3
- package/android/react-native-reanimated-63-hermes.aar +0 -0
- package/android/react-native-reanimated-63-jsc.aar +0 -0
- package/android/react-native-reanimated-64-hermes.aar +0 -0
- package/android/react-native-reanimated-64-jsc.aar +0 -0
- package/android/react-native-reanimated-65-hermes.aar +0 -0
- package/android/react-native-reanimated-65-jsc.aar +0 -0
- package/android/react-native-reanimated-66-hermes.aar +0 -0
- package/android/react-native-reanimated-66-jsc.aar +0 -0
- package/ios/LayoutReanimation/REAAnimationsManager.h +19 -10
- package/ios/LayoutReanimation/REAAnimationsManager.m +195 -200
- package/ios/LayoutReanimation/REASnapshot.h +13 -0
- package/ios/LayoutReanimation/REASnapshot.m +29 -0
- package/ios/LayoutReanimation/REAUIManager.h +16 -0
- package/ios/LayoutReanimation/REAUIManager.mm +348 -0
- package/ios/Nodes/REAAlwaysNode.m +14 -15
- package/ios/Nodes/REABezierNode.m +8 -7
- package/ios/Nodes/REABlockNode.m +1 -1
- package/ios/Nodes/REACallFuncNode.h +0 -1
- package/ios/Nodes/REACallFuncNode.m +10 -8
- package/ios/Nodes/REAClockNodes.m +22 -20
- package/ios/Nodes/REAConcatNode.h +0 -1
- package/ios/Nodes/REAConcatNode.m +2 -2
- package/ios/Nodes/REACondNode.m +7 -5
- package/ios/Nodes/READebugNode.m +5 -4
- package/ios/Nodes/REAEventNode.m +1 -1
- package/ios/Nodes/REAFunctionNode.h +0 -1
- package/ios/Nodes/REAFunctionNode.m +2 -2
- package/ios/Nodes/REAJSCallNode.m +4 -5
- package/ios/Nodes/REANode.h +3 -4
- package/ios/Nodes/REANode.m +9 -11
- package/ios/Nodes/REAOperatorNode.m +68 -67
- package/ios/Nodes/REAParamNode.h +1 -3
- package/ios/Nodes/REAParamNode.m +15 -17
- package/ios/Nodes/REAPropsNode.h +1 -3
- package/ios/Nodes/REAPropsNode.m +19 -22
- package/ios/Nodes/REASetNode.h +0 -1
- package/ios/Nodes/REASetNode.m +7 -5
- package/ios/Nodes/REAStyleNode.h +0 -1
- package/ios/Nodes/REAStyleNode.m +2 -4
- package/ios/Nodes/REATransformNode.h +0 -1
- package/ios/Nodes/REATransformNode.m +3 -5
- package/ios/Nodes/REAValueNode.m +5 -7
- package/ios/REAEventDispatcher.m +3 -3
- package/ios/REAModule.h +0 -2
- package/ios/REAModule.m +29 -40
- package/ios/REANodesManager.h +11 -19
- package/ios/REANodesManager.m +105 -130
- package/ios/REAUtils.h +5 -3
- package/ios/Transitioning/RCTConvert+REATransition.m +45 -29
- package/ios/Transitioning/REAAllTransitions.h +2 -2
- package/ios/Transitioning/REAAllTransitions.m +14 -25
- package/ios/Transitioning/REATransition.h +8 -7
- package/ios/Transitioning/REATransition.m +19 -16
- package/ios/Transitioning/REATransitionAnimation.h +1 -1
- package/ios/Transitioning/REATransitionAnimation.m +2 -3
- package/ios/Transitioning/REATransitionManager.m +3 -3
- package/ios/native/NativeMethods.h +15 -5
- package/ios/native/NativeProxy.h +4 -3
- package/ios/native/NativeProxy.mm +19 -5
- package/ios/native/REAIOSErrorHandler.h +13 -10
- package/ios/native/REAIOSLogger.h +8 -8
- package/ios/native/REAIOSScheduler.h +5 -5
- package/ios/native/REAIOSScheduler.mm +7 -5
- package/ios/native/REAInitializer.h +37 -0
- package/ios/native/REAInitializer.mm +63 -0
- package/ios/native/UIResponder+Reanimated.mm +9 -48
- package/lib/ConfigHelper.js +1 -0
- package/lib/ReanimatedModule.native.js +10 -2
- package/lib/createAnimatedComponent.js +64 -30
- package/lib/reanimated1/core/AnimatedAlways.js +1 -1
- package/lib/reanimated1/core/AnimatedBezier.js +1 -1
- package/lib/reanimated1/core/AnimatedBlock.js +1 -1
- package/lib/reanimated1/core/AnimatedCall.js +1 -1
- package/lib/reanimated1/core/AnimatedCallFunc.js +1 -1
- package/lib/reanimated1/core/AnimatedConcat.js +1 -1
- package/lib/reanimated1/core/AnimatedCond.js +1 -1
- package/lib/reanimated1/core/AnimatedDebug.js +1 -1
- package/lib/reanimated1/core/AnimatedEvent.js +1 -1
- package/lib/reanimated1/core/AnimatedFunction.js +1 -1
- package/lib/reanimated1/core/AnimatedOperator.js +1 -1
- package/lib/reanimated1/core/AnimatedParam.js +1 -1
- package/lib/reanimated1/core/AnimatedProps.js +2 -2
- package/lib/reanimated1/core/AnimatedSet.js +1 -1
- package/lib/reanimated1/core/AnimatedStartClock.js +1 -1
- package/lib/reanimated1/core/AnimatedStopClock.js +1 -1
- package/lib/reanimated1/core/AnimatedStyle.js +1 -1
- package/lib/reanimated1/core/AnimatedTransform.js +1 -1
- package/lib/reanimated1/core/Core.test.js +30 -0
- package/lib/reanimated1/core/InternalAnimatedValue.js +1 -1
- package/lib/reanimated1/core/__mocks__/AnimatedProps.js +1 -1
- package/lib/reanimated1/derived/interpolate.js +1 -1
- package/lib/reanimated2/Colors.js +16 -12
- package/lib/reanimated2/NativeMethods.js +3 -14
- package/lib/reanimated2/{NativeReanimated.native.js → NativeReanimated/NativeReanimated.js} +19 -24
- package/lib/reanimated2/NativeReanimated/index.js +15 -0
- package/lib/reanimated2/PlatformChecker.js +16 -0
- package/lib/reanimated2/PropAdapters.js +14 -4
- package/lib/reanimated2/UpdateProps.js +14 -11
- package/lib/reanimated2/ViewDescriptorsSet.js +73 -0
- package/lib/reanimated2/WorkletEventHandler.js +15 -13
- package/lib/reanimated2/animation/commonTypes.js +1 -0
- package/lib/reanimated2/animation/decay.js +71 -0
- package/lib/reanimated2/animation/delay.js +64 -0
- package/lib/reanimated2/animation/index.js +8 -0
- package/lib/reanimated2/animation/repeat.js +69 -0
- package/lib/reanimated2/animation/sequence.js +72 -0
- package/lib/reanimated2/animation/spring.js +101 -0
- package/lib/reanimated2/animation/styleAnimation.js +166 -0
- package/lib/reanimated2/animation/timing.js +64 -0
- package/lib/reanimated2/animation/util.js +157 -0
- package/lib/reanimated2/commonTypes.js +1 -0
- package/lib/reanimated2/core.js +35 -39
- package/lib/reanimated2/globals.d.ts +47 -1
- package/lib/reanimated2/hook/Hooks.js +9 -0
- package/lib/reanimated2/hook/commonTypes.js +1 -0
- package/lib/reanimated2/hook/index.js +8 -0
- package/lib/reanimated2/hook/useAnimatedGestureHandler.js +50 -0
- package/lib/reanimated2/hook/useAnimatedReaction.js +37 -0
- package/lib/reanimated2/hook/useAnimatedRef.js +25 -0
- package/lib/reanimated2/hook/useAnimatedScrollHandler.js +41 -0
- package/lib/reanimated2/hook/useAnimatedStyle.js +376 -0
- package/lib/reanimated2/hook/useDerivedValue.js +36 -0
- package/lib/reanimated2/hook/useSharedValue.js +17 -0
- package/lib/reanimated2/hook/utils.js +175 -0
- package/lib/reanimated2/index.js +3 -2
- package/lib/reanimated2/interpolation.js +95 -86
- package/lib/reanimated2/jestUtils.js +0 -12
- package/lib/reanimated2/js-reanimated/JSReanimated.js +9 -10
- package/lib/reanimated2/js-reanimated/index.js +57 -1
- package/lib/reanimated2/layoutReanimation/LayoutAnimationRepository.js +58 -0
- package/lib/reanimated2/layoutReanimation/animationBuilder/BaseAnimationBuilder.js +69 -0
- package/lib/reanimated2/layoutReanimation/animationBuilder/ComplexAnimationBuilder.js +125 -0
- package/lib/reanimated2/layoutReanimation/animationBuilder/Keyframe.js +193 -0
- package/lib/reanimated2/layoutReanimation/animationBuilder/commonTypes.js +1 -0
- package/lib/reanimated2/layoutReanimation/animationBuilder/index.js +3 -0
- package/lib/reanimated2/layoutReanimation/defaultAnimations/Bounce.js +325 -207
- package/lib/reanimated2/layoutReanimation/defaultAnimations/Default.js +36 -0
- package/lib/reanimated2/layoutReanimation/defaultAnimations/Fade.js +235 -187
- package/lib/reanimated2/layoutReanimation/defaultAnimations/Flip.js +327 -269
- package/lib/reanimated2/layoutReanimation/defaultAnimations/Lightspeed.js +146 -0
- package/lib/reanimated2/layoutReanimation/defaultAnimations/Pinwheel.js +85 -0
- package/lib/reanimated2/layoutReanimation/defaultAnimations/Roll.js +119 -0
- package/lib/reanimated2/layoutReanimation/defaultAnimations/Rotate.js +289 -0
- package/lib/reanimated2/layoutReanimation/defaultAnimations/Slide.js +159 -121
- package/lib/reanimated2/layoutReanimation/defaultAnimations/Stretch.js +83 -65
- package/lib/reanimated2/layoutReanimation/defaultAnimations/Zoom.js +371 -277
- package/lib/reanimated2/layoutReanimation/defaultAnimations/index.js +4 -0
- package/lib/reanimated2/layoutReanimation/defaultTransitions/CurvedTransition.js +78 -0
- package/lib/reanimated2/layoutReanimation/defaultTransitions/EntryExitTransition.js +128 -0
- package/lib/reanimated2/layoutReanimation/defaultTransitions/FadingTransition.js +37 -0
- package/lib/reanimated2/layoutReanimation/defaultTransitions/JumpingTransition.js +41 -0
- package/lib/reanimated2/layoutReanimation/defaultTransitions/LinearTransition.js +34 -0
- package/lib/reanimated2/layoutReanimation/defaultTransitions/SequencedTransition.js +46 -0
- package/lib/reanimated2/layoutReanimation/defaultTransitions/index.js +6 -0
- package/lib/reanimated2/layoutReanimation/index.js +3 -2
- package/lib/reanimated2/platform-specific/RNRenderer.web.js +2 -0
- package/lib/reanimated2/utils.js +9 -0
- package/libSo/fbjni/jni/arm64-v8a/libfbjni.so +0 -0
- package/libSo/fbjni/jni/armeabi-v7a/libfbjni.so +0 -0
- package/libSo/fbjni/jni/x86/libfbjni.so +0 -0
- package/libSo/fbjni/jni/x86_64/libfbjni.so +0 -0
- package/package.json +21 -10
- package/plugin.js +244 -85
- package/react-native-reanimated.d.ts +531 -453
- package/src/ConfigHelper.js +1 -0
- package/src/ReanimatedModule.native.js +10 -2
- package/src/createAnimatedComponent.js +64 -30
- package/src/reanimated1/core/AnimatedAlways.js +1 -1
- package/src/reanimated1/core/AnimatedBezier.js +1 -1
- package/src/reanimated1/core/AnimatedBlock.js +1 -1
- package/src/reanimated1/core/AnimatedCall.js +1 -1
- package/src/reanimated1/core/AnimatedCallFunc.js +1 -1
- package/src/reanimated1/core/AnimatedConcat.js +1 -1
- package/src/reanimated1/core/AnimatedCond.js +1 -1
- package/src/reanimated1/core/AnimatedDebug.js +1 -1
- package/src/reanimated1/core/AnimatedEvent.js +1 -1
- package/src/reanimated1/core/AnimatedFunction.js +1 -1
- package/src/reanimated1/core/AnimatedOperator.js +1 -1
- package/src/reanimated1/core/AnimatedParam.js +1 -1
- package/src/reanimated1/core/AnimatedProps.js +2 -2
- package/src/reanimated1/core/AnimatedSet.js +1 -1
- package/src/reanimated1/core/AnimatedStartClock.js +1 -1
- package/src/reanimated1/core/AnimatedStopClock.js +1 -1
- package/src/reanimated1/core/AnimatedStyle.js +1 -1
- package/src/reanimated1/core/AnimatedTransform.js +1 -1
- package/src/reanimated1/core/Core.test.js +30 -0
- package/src/reanimated1/core/InternalAnimatedValue.js +1 -1
- package/src/reanimated1/core/__mocks__/AnimatedProps.js +1 -1
- package/src/reanimated1/derived/interpolate.js +1 -1
- package/src/reanimated2/Colors.ts +30 -27
- package/src/reanimated2/Easing.ts +3 -1
- package/src/reanimated2/NativeMethods.ts +26 -16
- package/src/reanimated2/NativeReanimated/NativeReanimated.ts +78 -0
- package/src/reanimated2/NativeReanimated/index.ts +18 -0
- package/src/reanimated2/PlatformChecker.ts +21 -0
- package/src/reanimated2/PropAdapters.ts +52 -34
- package/src/reanimated2/UpdateProps.ts +40 -20
- package/src/reanimated2/ViewDescriptorsSet.ts +108 -0
- package/src/reanimated2/WorkletEventHandler.ts +41 -23
- package/src/reanimated2/animation/commonTypes.ts +48 -0
- package/src/reanimated2/animation/decay.ts +141 -0
- package/src/reanimated2/animation/delay.ts +103 -0
- package/src/reanimated2/animation/index.ts +16 -0
- package/src/reanimated2/animation/repeat.ts +128 -0
- package/src/reanimated2/animation/sequence.ts +110 -0
- package/src/reanimated2/animation/spring.ts +165 -0
- package/src/reanimated2/animation/styleAnimation.ts +253 -0
- package/src/reanimated2/animation/timing.ts +109 -0
- package/src/reanimated2/animation/util.ts +242 -0
- package/src/reanimated2/commonTypes.ts +81 -0
- package/src/reanimated2/core.ts +128 -82
- package/src/reanimated2/globals.d.ts +47 -1
- package/src/reanimated2/hook/Hooks.ts +16 -0
- package/src/reanimated2/hook/commonTypes.ts +12 -0
- package/src/reanimated2/hook/index.ts +25 -0
- package/src/reanimated2/hook/useAnimatedGestureHandler.ts +110 -0
- package/src/reanimated2/hook/useAnimatedReaction.ts +49 -0
- package/src/reanimated2/hook/useAnimatedRef.ts +34 -0
- package/src/reanimated2/hook/useAnimatedScrollHandler.ts +83 -0
- package/src/reanimated2/hook/useAnimatedStyle.ts +538 -0
- package/src/reanimated2/hook/useDerivedValue.ts +48 -0
- package/src/reanimated2/hook/useSharedValue.ts +22 -0
- package/src/reanimated2/hook/utils.ts +259 -0
- package/src/reanimated2/index.ts +3 -2
- package/src/reanimated2/interpolation.ts +170 -101
- package/src/reanimated2/jestUtils.ts +0 -12
- package/src/reanimated2/js-reanimated/JSReanimated.ts +47 -22
- package/src/reanimated2/js-reanimated/Mapper.ts +1 -1
- package/src/reanimated2/js-reanimated/index.ts +71 -0
- package/src/reanimated2/layoutReanimation/LayoutAnimationRepository.tsx +62 -0
- package/src/reanimated2/layoutReanimation/animationBuilder/BaseAnimationBuilder.ts +91 -0
- package/src/reanimated2/layoutReanimation/animationBuilder/ComplexAnimationBuilder.ts +169 -0
- package/src/reanimated2/layoutReanimation/animationBuilder/Keyframe.ts +263 -0
- package/src/reanimated2/layoutReanimation/animationBuilder/commonTypes.ts +78 -0
- package/src/reanimated2/layoutReanimation/animationBuilder/index.ts +16 -0
- package/src/reanimated2/layoutReanimation/defaultAnimations/Bounce.ts +243 -121
- package/src/reanimated2/layoutReanimation/defaultAnimations/Default.ts +43 -0
- package/src/reanimated2/layoutReanimation/defaultAnimations/Fade.ts +95 -53
- package/src/reanimated2/layoutReanimation/defaultAnimations/Flip.ts +114 -64
- package/src/reanimated2/layoutReanimation/defaultAnimations/Lightspeed.ts +179 -0
- package/src/reanimated2/layoutReanimation/defaultAnimations/Pinwheel.ts +93 -0
- package/src/reanimated2/layoutReanimation/defaultAnimations/Roll.ts +132 -0
- package/src/reanimated2/layoutReanimation/defaultAnimations/Rotate.ts +333 -0
- package/src/reanimated2/layoutReanimation/defaultAnimations/Slide.ts +84 -50
- package/src/reanimated2/layoutReanimation/defaultAnimations/Stretch.ts +41 -23
- package/src/reanimated2/layoutReanimation/defaultAnimations/Zoom.ts +234 -154
- package/src/reanimated2/layoutReanimation/defaultAnimations/index.ts +4 -0
- package/src/reanimated2/layoutReanimation/defaultTransitions/CurvedTransition.ts +104 -0
- package/src/reanimated2/layoutReanimation/defaultTransitions/EntryExitTransition.ts +213 -0
- package/src/reanimated2/layoutReanimation/defaultTransitions/FadingTransition.ts +60 -0
- package/src/reanimated2/layoutReanimation/defaultTransitions/JumpingTransition.ts +58 -0
- package/src/reanimated2/layoutReanimation/defaultTransitions/LinearTransition.ts +41 -0
- package/src/reanimated2/layoutReanimation/defaultTransitions/SequencedTransition.ts +78 -0
- package/src/reanimated2/layoutReanimation/defaultTransitions/index.ts +6 -0
- package/src/reanimated2/layoutReanimation/index.ts +3 -2
- package/src/reanimated2/platform-specific/RNRenderer.web.ts +2 -0
- package/src/reanimated2/utils.ts +21 -0
- package/android/react-native-reanimated-62-hermes.aar +0 -0
- package/android/react-native-reanimated-62-jsc.aar +0 -0
- package/ios/LayoutReanimation/REAAnimationRootView.h +0 -12
- package/ios/LayoutReanimation/REAAnimationRootView.m +0 -16
- package/ios/LayoutReanimation/REAAnimationRootViewManager.h +0 -9
- package/ios/LayoutReanimation/REAAnimationRootViewManager.m +0 -49
- package/ios/LayoutReanimation/REAReactBatchObserver.h +0 -20
- package/ios/LayoutReanimation/REAReactBatchObserver.m +0 -125
- package/ios/LayoutReanimation/REASnapshooter.h +0 -19
- package/ios/LayoutReanimation/REASnapshooter.m +0 -64
- package/ios/LayoutReanimation/REAViewTraverser.h +0 -13
- package/ios/LayoutReanimation/REAViewTraverser.m +0 -40
- package/lib/reanimated2/Hooks.js +0 -732
- package/lib/reanimated2/NativeReanimated.js +0 -4
- package/lib/reanimated2/animations.js +0 -713
- package/lib/reanimated2/js-reanimated/index.web.js +0 -20
- package/lib/reanimated2/layoutReanimation/AnimatedRoot.js +0 -55
- package/lib/reanimated2/layoutReanimation/defaultAnimationsBuilder.js +0 -374
- package/src/reanimated2/Hooks.ts +0 -918
- package/src/reanimated2/NativeReanimated.native.ts +0 -61
- package/src/reanimated2/NativeReanimated.ts +0 -5
- package/src/reanimated2/animations.ts +0 -868
- package/src/reanimated2/js-reanimated/index.js +0 -0
- package/src/reanimated2/js-reanimated/index.web.ts +0 -29
- package/src/reanimated2/layoutReanimation/AnimatedRoot.tsx +0 -68
- package/src/reanimated2/layoutReanimation/defaultAnimationsBuilder.ts +0 -440
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
#pragma once
|
|
2
2
|
|
|
3
|
-
#include <
|
|
4
|
-
#include <thread>
|
|
5
|
-
#include <mutex>
|
|
3
|
+
#include <ReactCommon/CallInvoker.h>
|
|
6
4
|
#include <condition_variable>
|
|
7
5
|
#include <functional>
|
|
8
|
-
#include <
|
|
6
|
+
#include <mutex>
|
|
7
|
+
#include <queue>
|
|
8
|
+
#include <thread>
|
|
9
9
|
|
|
10
|
-
namespace reanimated
|
|
11
|
-
{
|
|
10
|
+
namespace reanimated {
|
|
12
11
|
|
|
13
12
|
//
|
|
14
13
|
// Copyright (c) 2013 Juan Palacios juan.palacios.puyana@gmail.com
|
|
@@ -16,15 +15,11 @@ namespace reanimated
|
|
|
16
15
|
// - see < http://opensource.org/licenses/BSD-2-Clause>
|
|
17
16
|
//
|
|
18
17
|
template <typename T>
|
|
19
|
-
class Queue
|
|
20
|
-
{
|
|
18
|
+
class Queue {
|
|
21
19
|
public:
|
|
22
|
-
|
|
23
|
-
T pop()
|
|
24
|
-
{
|
|
20
|
+
T pop() {
|
|
25
21
|
std::unique_lock<std::mutex> mlock(mutex_);
|
|
26
|
-
while (queue_.empty())
|
|
27
|
-
{
|
|
22
|
+
while (queue_.empty()) {
|
|
28
23
|
cond_.wait(mlock);
|
|
29
24
|
}
|
|
30
25
|
auto item = queue_.front();
|
|
@@ -32,27 +27,23 @@ class Queue
|
|
|
32
27
|
return item;
|
|
33
28
|
}
|
|
34
29
|
|
|
35
|
-
void pop(T&
|
|
36
|
-
{
|
|
30
|
+
void pop(T &item) {
|
|
37
31
|
std::unique_lock<std::mutex> mlock(mutex_);
|
|
38
|
-
while (queue_.empty())
|
|
39
|
-
{
|
|
32
|
+
while (queue_.empty()) {
|
|
40
33
|
cond_.wait(mlock);
|
|
41
34
|
}
|
|
42
35
|
item = queue_.front();
|
|
43
36
|
queue_.pop();
|
|
44
37
|
}
|
|
45
38
|
|
|
46
|
-
void push(const T&
|
|
47
|
-
{
|
|
39
|
+
void push(const T &item) {
|
|
48
40
|
std::unique_lock<std::mutex> mlock(mutex_);
|
|
49
41
|
queue_.push(item);
|
|
50
42
|
mlock.unlock();
|
|
51
43
|
cond_.notify_one();
|
|
52
44
|
}
|
|
53
45
|
|
|
54
|
-
void push(T&&
|
|
55
|
-
{
|
|
46
|
+
void push(T &&item) {
|
|
56
47
|
std::unique_lock<std::mutex> mlock(mutex_);
|
|
57
48
|
queue_.push(std::move(item));
|
|
58
49
|
mlock.unlock();
|
|
@@ -76,17 +67,21 @@ class Queue
|
|
|
76
67
|
class RuntimeManager;
|
|
77
68
|
|
|
78
69
|
class Scheduler {
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
70
|
+
public:
|
|
71
|
+
Scheduler();
|
|
72
|
+
void scheduleOnJS(std::function<void()> job);
|
|
73
|
+
void setJSCallInvoker(
|
|
74
|
+
std::shared_ptr<facebook::react::CallInvoker> jsCallInvoker);
|
|
75
|
+
void setRuntimeManager(std::shared_ptr<RuntimeManager> runtimeManager);
|
|
76
|
+
virtual void scheduleOnUI(std::function<void()> job);
|
|
77
|
+
virtual void triggerUI();
|
|
78
|
+
virtual ~Scheduler();
|
|
79
|
+
|
|
80
|
+
protected:
|
|
81
|
+
std::atomic<bool> scheduledOnUI{};
|
|
82
|
+
Queue<std::function<void()>> uiJobs;
|
|
83
|
+
std::shared_ptr<facebook::react::CallInvoker> jsCallInvoker_;
|
|
84
|
+
std::weak_ptr<RuntimeManager> runtimeManager;
|
|
90
85
|
};
|
|
91
86
|
|
|
92
|
-
}
|
|
87
|
+
} // namespace reanimated
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#pragma once
|
|
2
2
|
|
|
3
|
-
#include <string>
|
|
4
3
|
#include <jsi/jsi.h>
|
|
4
|
+
#include <string>
|
|
5
5
|
|
|
6
6
|
using namespace facebook;
|
|
7
7
|
|
|
@@ -12,16 +12,18 @@ class EventHandlerRegistry;
|
|
|
12
12
|
class WorkletEventHandler {
|
|
13
13
|
friend EventHandlerRegistry;
|
|
14
14
|
|
|
15
|
-
private:
|
|
15
|
+
private:
|
|
16
16
|
unsigned long id;
|
|
17
17
|
std::string eventName;
|
|
18
18
|
jsi::Function handler;
|
|
19
19
|
|
|
20
|
-
public:
|
|
21
|
-
WorkletEventHandler(
|
|
22
|
-
|
|
23
|
-
|
|
20
|
+
public:
|
|
21
|
+
WorkletEventHandler(
|
|
22
|
+
unsigned long id,
|
|
23
|
+
std::string eventName,
|
|
24
|
+
jsi::Function &&handler)
|
|
25
|
+
: id(id), eventName(eventName), handler(std::move(handler)) {}
|
|
24
26
|
void process(jsi::Runtime &rt, jsi::Value &eventValue);
|
|
25
27
|
};
|
|
26
28
|
|
|
27
|
-
}
|
|
29
|
+
} // namespace reanimated
|
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
#pragma once
|
|
2
2
|
|
|
3
|
-
#include "./LoggerInterface.h"
|
|
4
3
|
#include <memory>
|
|
4
|
+
#include "./LoggerInterface.h"
|
|
5
5
|
|
|
6
|
-
namespace reanimated
|
|
7
|
-
{
|
|
6
|
+
namespace reanimated {
|
|
8
7
|
|
|
9
8
|
class Logger {
|
|
10
|
-
|
|
11
|
-
template<typename T>
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
9
|
+
public:
|
|
10
|
+
template <typename T>
|
|
11
|
+
static void log(T value) {
|
|
12
|
+
if (instance == nullptr) {
|
|
13
|
+
throw std::runtime_error("no logger specified");
|
|
14
|
+
}
|
|
15
|
+
instance->log(value);
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
private:
|
|
19
|
+
static std::unique_ptr<LoggerInterface> instance;
|
|
20
20
|
};
|
|
21
21
|
|
|
22
|
-
}
|
|
22
|
+
} // namespace reanimated
|
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
#pragma once
|
|
2
2
|
|
|
3
|
-
namespace reanimated
|
|
4
|
-
{
|
|
3
|
+
namespace reanimated {
|
|
5
4
|
|
|
6
5
|
class LoggerInterface {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
6
|
+
public:
|
|
7
|
+
virtual void log(const char *str) = 0;
|
|
8
|
+
virtual void log(double d) = 0;
|
|
9
|
+
virtual void log(int i) = 0;
|
|
10
|
+
virtual void log(bool b) = 0;
|
|
11
|
+
virtual ~LoggerInterface() {}
|
|
13
12
|
};
|
|
14
13
|
|
|
15
|
-
}
|
|
14
|
+
} // namespace reanimated
|
|
@@ -2,17 +2,16 @@
|
|
|
2
2
|
|
|
3
3
|
#define CHECK_SPEED 1
|
|
4
4
|
|
|
5
|
-
#include
|
|
6
|
-
#include <memory>
|
|
5
|
+
#include <chrono>
|
|
7
6
|
#include <functional>
|
|
7
|
+
#include <memory>
|
|
8
8
|
#include <string>
|
|
9
|
-
#include
|
|
9
|
+
#include "./Logger.h"
|
|
10
10
|
|
|
11
|
-
namespace reanimated
|
|
12
|
-
{
|
|
11
|
+
namespace reanimated {
|
|
13
12
|
|
|
14
13
|
class SpeedChecker {
|
|
15
|
-
public:
|
|
14
|
+
public:
|
|
16
15
|
static void checkSpeed(std::string tag, std::function<void()> fun) {
|
|
17
16
|
#if CHECK_SPEED
|
|
18
17
|
auto start = std::chrono::system_clock::now();
|
|
@@ -20,11 +19,11 @@ public:
|
|
|
20
19
|
fun();
|
|
21
20
|
#if CHECK_SPEED
|
|
22
21
|
auto end = std::chrono::system_clock::now();
|
|
23
|
-
std::chrono::duration<double> elapsed_seconds = end-start;
|
|
22
|
+
std::chrono::duration<double> elapsed_seconds = end - start;
|
|
24
23
|
tag += " " + std::to_string(elapsed_seconds.count()) + "s";
|
|
25
24
|
Logger::log(tag.c_str());
|
|
26
25
|
#endif
|
|
27
26
|
}
|
|
28
27
|
};
|
|
29
28
|
|
|
30
|
-
}
|
|
29
|
+
} // namespace reanimated
|
package/README.md
CHANGED
|
@@ -11,7 +11,7 @@ comes to gesture based interactions.
|
|
|
11
11
|
|
|
12
12
|
## Installation
|
|
13
13
|
|
|
14
|
-
Check out [installation](https://docs.swmansion.com/react-native-reanimated/docs/installation) section of our docs for the detailed installation instructions.
|
|
14
|
+
Check out [installation](https://docs.swmansion.com/react-native-reanimated/docs/fundamentals/installation) section of our docs for the detailed installation instructions.
|
|
15
15
|
|
|
16
16
|
## Documentation
|
|
17
17
|
|
package/RNReanimated.podspec
CHANGED
|
@@ -7,7 +7,7 @@ reactVersion = '0.0.0'
|
|
|
7
7
|
begin
|
|
8
8
|
reactVersion = JSON.parse(File.read(File.join(__dir__, "..", "react-native", "package.json")))["version"]
|
|
9
9
|
rescue
|
|
10
|
-
reactVersion = '0.
|
|
10
|
+
reactVersion = '0.66.0'
|
|
11
11
|
end
|
|
12
12
|
|
|
13
13
|
rnVersion = reactVersion.split('.')[1]
|
|
@@ -20,7 +20,7 @@ end
|
|
|
20
20
|
|
|
21
21
|
folly_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -DRNVERSION=' + rnVersion
|
|
22
22
|
folly_compiler_flags = folly_flags + ' ' + '-Wno-comma -Wno-shorten-64-to-32'
|
|
23
|
-
folly_version = '
|
|
23
|
+
folly_version = '2021.04.26.00'
|
|
24
24
|
boost_compiler_flags = '-Wno-documentation'
|
|
25
25
|
|
|
26
26
|
Pod::Spec.new do |s|
|
|
@@ -49,12 +49,12 @@ Pod::Spec.new do |s|
|
|
|
49
49
|
|
|
50
50
|
s.pod_target_xcconfig = {
|
|
51
51
|
"USE_HEADERMAP" => "YES",
|
|
52
|
-
"HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ReactCommon\" \"$(PODS_TARGET_SRCROOT)\" \"$(PODS_ROOT)/#{folly_prefix}Folly\" \"$(PODS_ROOT)/boost-for-react-native\" \"$(PODS_ROOT)/DoubleConversion\" \"$(PODS_ROOT)/Headers/Private/React-Core\" "
|
|
52
|
+
"HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ReactCommon\" \"$(PODS_TARGET_SRCROOT)\" \"$(PODS_ROOT)/#{folly_prefix}Folly\" \"$(PODS_ROOT)/boost\" \"$(PODS_ROOT)/boost-for-react-native\" \"$(PODS_ROOT)/DoubleConversion\" \"$(PODS_ROOT)/Headers/Private/React-Core\" "
|
|
53
53
|
}
|
|
54
54
|
s.compiler_flags = folly_compiler_flags + ' ' + boost_compiler_flags
|
|
55
55
|
s.xcconfig = {
|
|
56
56
|
"CLANG_CXX_LANGUAGE_STANDARD" => "c++14",
|
|
57
|
-
"HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/boost-for-react-native\" \"$(PODS_ROOT)/glog\" \"$(PODS_ROOT)/#{folly_prefix}Folly\"",
|
|
57
|
+
"HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/boost\" \"$(PODS_ROOT)/boost-for-react-native\" \"$(PODS_ROOT)/glog\" \"$(PODS_ROOT)/#{folly_prefix}Folly\" \"${PODS_ROOT}/Headers/Public/React-hermes\" \"${PODS_ROOT}/Headers/Public/hermes-engine\"",
|
|
58
58
|
"OTHER_CFLAGS" => "$(inherited)" + " " + folly_flags }
|
|
59
59
|
|
|
60
60
|
s.requires_arc = true
|
package/android/build.gradle
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import groovy.json.JsonSlurper
|
|
1
|
+
import groovy.json.JsonSlurper
|
|
2
|
+
import java.util.regex.Matcher
|
|
3
|
+
import java.util.regex.Pattern
|
|
2
4
|
configurations.maybeCreate("default")
|
|
3
5
|
|
|
4
6
|
def inputFile = new File(projectDir, '../../react-native/package.json')
|
|
@@ -7,8 +9,83 @@ def reactNativeVersion = json.version as String
|
|
|
7
9
|
def (major, minor, patch) = reactNativeVersion.tokenize('.')
|
|
8
10
|
|
|
9
11
|
def engine = "jsc"
|
|
10
|
-
|
|
11
|
-
|
|
12
|
+
|
|
13
|
+
abstract class replaceSoTask extends DefaultTask {
|
|
14
|
+
public static String appName = ":app"
|
|
15
|
+
public static String buildDir = "../../../android/app/build"
|
|
16
|
+
|
|
17
|
+
@TaskAction
|
|
18
|
+
def run() {
|
|
19
|
+
for(def abiVersion in ["x86", "x86_64", "armeabi-v7a", "arm64-v8a"]) {
|
|
20
|
+
ant.sequential {
|
|
21
|
+
copy(
|
|
22
|
+
tofile: "${buildDir}/intermediates/merged_native_libs/debug/out/lib/${abiVersion}/libfbjni.so",
|
|
23
|
+
file: "../libSo/fbjni/jni/${abiVersion}/libfbjni.so",
|
|
24
|
+
overwrite: true
|
|
25
|
+
)
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
def getCurrentFlavor() {
|
|
32
|
+
Gradle gradle = getGradle()
|
|
33
|
+
String taskRequestName = gradle.getStartParameter().getTaskRequests().toString()
|
|
34
|
+
Pattern pattern
|
|
35
|
+
|
|
36
|
+
if(taskRequestName.contains("assemble")) {
|
|
37
|
+
pattern = Pattern.compile("assemble(\\w+)(Release|Debug)")
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
pattern = Pattern.compile("generate(\\w+)(Release|Debug)")
|
|
41
|
+
}
|
|
42
|
+
Matcher matcher = pattern.matcher(taskRequestName)
|
|
43
|
+
|
|
44
|
+
if(matcher.find()) {
|
|
45
|
+
return matcher.group(1).toLowerCase()
|
|
46
|
+
}
|
|
47
|
+
return ""
|
|
12
48
|
}
|
|
13
49
|
|
|
50
|
+
def replaceSoTaskDebug
|
|
51
|
+
def replaceSoTaskRelease
|
|
52
|
+
if(Integer.parseInt(minor) < 65) {
|
|
53
|
+
tasks.register("replaceSoTaskDebug", replaceSoTask)
|
|
54
|
+
tasks.register("replaceSoTaskRelease", replaceSoTask)
|
|
55
|
+
replaceSoTaskDebug = project.getTasks().getByPath(":react-native-reanimated:replaceSoTaskDebug")
|
|
56
|
+
replaceSoTaskRelease = project.getTasks().getByPath(":react-native-reanimated:replaceSoTaskRelease")
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
rootProject.getSubprojects().forEach({project ->
|
|
60
|
+
if (project.plugins.hasPlugin("com.android.application")) {
|
|
61
|
+
if(project.ext.react.enableHermes) {
|
|
62
|
+
engine = "hermes"
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
if(project.getProperties().get("android") && Integer.parseInt(minor) < 65) {
|
|
66
|
+
def projectProperties = project.getProperties()
|
|
67
|
+
if(!projectProperties.get("reanimated")
|
|
68
|
+
|| (projectProperties.get("reanimated") && projectProperties.get("reanimated").get("enablePackagingOptions"))
|
|
69
|
+
) {
|
|
70
|
+
def flavorString = getCurrentFlavor()
|
|
71
|
+
replaceSoTask.appName = project.getProperties().path
|
|
72
|
+
replaceSoTask.buildDir = project.getProperties().buildDir
|
|
73
|
+
def appName = project.getProperties().path
|
|
74
|
+
|
|
75
|
+
replaceSoTaskDebug.dependsOn(
|
|
76
|
+
project.getTasks().getByPath("${appName}:merge${flavorString}DebugNativeLibs"),
|
|
77
|
+
project.getTasks().getByPath("${appName}:strip${flavorString}DebugDebugSymbols")
|
|
78
|
+
)
|
|
79
|
+
project.getTasks().getByPath("${appName}:package${flavorString}Debug").dependsOn(replaceSoTaskDebug)
|
|
80
|
+
|
|
81
|
+
replaceSoTaskRelease.dependsOn(
|
|
82
|
+
project.getTasks().getByPath("${appName}:merge${flavorString}ReleaseNativeLibs"),
|
|
83
|
+
project.getTasks().getByPath("${appName}:strip${flavorString}ReleaseDebugSymbols")
|
|
84
|
+
)
|
|
85
|
+
project.getTasks().getByPath("${appName}:package${flavorString}Release").dependsOn(replaceSoTaskRelease)
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
})
|
|
90
|
+
|
|
14
91
|
artifacts.add("default", file("react-native-reanimated-${minor}-${engine}.aar"))
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1,22 +1,31 @@
|
|
|
1
1
|
#import <Foundation/Foundation.h>
|
|
2
|
-
#import "REASnapshooter.h"
|
|
3
2
|
#import <React/RCTUIManager.h>
|
|
3
|
+
#import "REASnapshot.h"
|
|
4
4
|
|
|
5
5
|
NS_ASSUME_NONNULL_BEGIN
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
typedef NS_ENUM(NSInteger, ViewState) {
|
|
8
|
+
Appearing,
|
|
9
|
+
Disappearing,
|
|
10
|
+
Layout,
|
|
11
|
+
Inactive,
|
|
12
|
+
ToRemove,
|
|
13
|
+
};
|
|
10
14
|
|
|
11
|
-
|
|
15
|
+
@interface REAAnimationsManager : NSObject
|
|
12
16
|
|
|
17
|
+
- (instancetype)initWithUIManager:(RCTUIManager *)uiManager;
|
|
13
18
|
- (void)setRemovingConfigBlock:(void (^)(NSNumber *tag))block;
|
|
14
|
-
- (void)setAnimationStartingBlock:
|
|
15
|
-
|
|
16
|
-
- (void)
|
|
17
|
-
- (void)
|
|
18
|
-
|
|
19
|
+
- (void)setAnimationStartingBlock:
|
|
20
|
+
(void (^)(NSNumber *tag, NSString *type, NSDictionary *target, NSNumber *depth))startAnimation;
|
|
21
|
+
- (void)notifyAboutProgress:(NSDictionary *)newStyle tag:(NSNumber *)tag;
|
|
22
|
+
- (void)notifyAboutEnd:(NSNumber *)tag cancelled:(BOOL)cancelled;
|
|
19
23
|
- (void)invalidate;
|
|
24
|
+
- (void)onViewRemoval:(UIView *)view before:(REASnapshot *)before;
|
|
25
|
+
- (void)onViewCreate:(UIView *)view after:(REASnapshot *)after;
|
|
26
|
+
- (void)onViewUpdate:(UIView *)view before:(REASnapshot *)before after:(REASnapshot *)after;
|
|
27
|
+
- (void)setToBeRemovedRegistry:(NSMutableDictionary<NSNumber *, NSMutableSet<id<RCTComponent>> *> *)toBeRemovedRegister;
|
|
28
|
+
- (void)removeLeftovers;
|
|
20
29
|
|
|
21
30
|
@end
|
|
22
31
|
|