react-native-reanimated 2.4.0 → 2.6.0

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.
Files changed (437) hide show
  1. package/Common/cpp/AnimatedSensor/AnimatedSensorModule.cpp +72 -0
  2. package/Common/cpp/NativeModules/NativeReanimatedModule.cpp +30 -1
  3. package/Common/cpp/NativeModules/NativeReanimatedModuleSpec.cpp +64 -39
  4. package/Common/cpp/Tools/RuntimeDecorator.cpp +2 -0
  5. package/Common/cpp/headers/AnimatedSensor/AnimatedSensorModule.h +41 -0
  6. package/Common/cpp/headers/NativeModules/NativeReanimatedModule.h +14 -0
  7. package/Common/cpp/headers/NativeModules/NativeReanimatedModuleSpec.h +14 -0
  8. package/Common/cpp/headers/SharedItems/MutableValue.h +4 -1
  9. package/Common/cpp/headers/SharedItems/ShareableValue.h +3 -0
  10. package/Common/cpp/headers/SharedItems/ValueWrapper.h +3 -0
  11. package/Common/cpp/headers/Tools/PlatformDepMethodsHolder.h +11 -0
  12. package/Common/cpp/headers/Tools/RuntimeDecorator.h +2 -0
  13. package/LICENSE +1 -1
  14. package/README.md +2 -2
  15. package/RNReanimated.podspec +15 -6
  16. package/android/.gradle/7.2/dependencies-accessors/dependencies-accessors.lock +0 -0
  17. package/android/.gradle/7.2/dependencies-accessors/gc.properties +0 -0
  18. package/android/.gradle/7.2/executionHistory/executionHistory.bin +0 -0
  19. package/android/.gradle/7.2/executionHistory/executionHistory.lock +0 -0
  20. package/android/.gradle/7.2/fileChanges/last-build.bin +0 -0
  21. package/android/.gradle/7.2/fileHashes/fileHashes.bin +0 -0
  22. package/android/.gradle/7.2/fileHashes/fileHashes.lock +0 -0
  23. package/android/.gradle/7.2/fileHashes/resourceHashesCache.bin +0 -0
  24. package/android/.gradle/7.2/gc.properties +0 -0
  25. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  26. package/android/.gradle/buildOutputCleanup/cache.properties +2 -0
  27. package/android/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
  28. package/android/.gradle/checksums/checksums.lock +0 -0
  29. package/android/.gradle/checksums/md5-checksums.bin +0 -0
  30. package/android/.gradle/checksums/sha1-checksums.bin +0 -0
  31. package/android/.gradle/vcs-1/gc.properties +0 -0
  32. package/android/CMakeLists.txt +198 -0
  33. package/android/README.md +15 -0
  34. package/android/build.gradle +676 -73
  35. package/android/empty.cpp +1 -0
  36. package/android/gradle/wrapper/gradle-wrapper.jar +0 -0
  37. package/android/gradle/wrapper/gradle-wrapper.properties +5 -0
  38. package/android/gradle.properties +25 -0
  39. package/android/gradlew +234 -0
  40. package/android/gradlew.bat +89 -0
  41. package/android/react-native-reanimated-64-hermes.aar +0 -0
  42. package/android/react-native-reanimated-64-jsc.aar +0 -0
  43. package/android/react-native-reanimated-65-hermes.aar +0 -0
  44. package/android/react-native-reanimated-65-jsc.aar +0 -0
  45. package/android/react-native-reanimated-66-hermes.aar +0 -0
  46. package/android/react-native-reanimated-66-jsc.aar +0 -0
  47. package/android/react-native-reanimated-67-hermes.aar +0 -0
  48. package/android/react-native-reanimated-67-jsc.aar +0 -0
  49. package/android/react-native-reanimated-68-hermes.aar +0 -0
  50. package/android/react-native-reanimated-68-jsc.aar +0 -0
  51. package/android/rnVersionPatch/62/layoutReanimation/ReanimatedNativeHierarchyManager.java +412 -0
  52. package/android/rnVersionPatch/62/layoutReanimation/ReanimatedUIImplementation.java +68 -0
  53. package/android/rnVersionPatch/63/layoutReanimation/ReanimatedUIImplementation.java +68 -0
  54. package/android/rnVersionPatch/64/layoutReanimation/ReanimatedUIImplementation.java +68 -0
  55. package/android/rnVersionPatch/65/.gitkeep +0 -0
  56. package/android/rnVersionPatch/66/.gitkeep +0 -0
  57. package/android/rnVersionPatch/67/.gitkeep +0 -0
  58. package/android/rnVersionPatch/68/.gitkeep +0 -0
  59. package/android/rnVersionPatch/backup/.gitkeep +0 -0
  60. package/android/settings.gradle +1 -0
  61. package/android/spotless.gradle +9 -0
  62. package/android/src/{AndroidManifest.xml → main/AndroidManifest.xml} +0 -0
  63. package/android/src/main/cpp/AndroidErrorHandler.cpp +42 -0
  64. package/android/src/main/cpp/AndroidLogger.cpp +27 -0
  65. package/android/src/main/cpp/AndroidScheduler.cpp +59 -0
  66. package/android/src/main/cpp/JNIHelper.cpp +59 -0
  67. package/android/src/main/cpp/LayoutAnimations.cpp +103 -0
  68. package/android/src/main/cpp/NativeProxy.cpp +327 -0
  69. package/android/src/main/cpp/OnLoad.cpp +17 -0
  70. package/android/src/main/cpp/TurboModule.cpp +44 -0
  71. package/android/src/main/cpp/headers/AndroidErrorHandler.h +30 -0
  72. package/android/src/main/cpp/headers/AndroidLogger.h +16 -0
  73. package/android/src/main/cpp/headers/AndroidScheduler.h +41 -0
  74. package/android/src/main/cpp/headers/JNIHelper.h +30 -0
  75. package/android/src/main/cpp/headers/LayoutAnimations.h +42 -0
  76. package/android/src/main/cpp/headers/NativeProxy.h +170 -0
  77. package/android/src/main/cpp/headers/TurboModule.h +70 -0
  78. package/android/src/main/java/com/facebook/react/uimanager/UIManagerReanimatedHelper.java +15 -0
  79. package/android/src/main/java/com/swmansion/common/GestureHandlerStateManager.java +5 -0
  80. package/android/src/main/java/com/swmansion/reanimated/AndroidErrorHandler.java +8 -0
  81. package/android/src/main/java/com/swmansion/reanimated/CopiedEvent.java +43 -0
  82. package/android/src/main/java/com/swmansion/reanimated/MapUtils.java +26 -0
  83. package/android/src/main/java/com/swmansion/reanimated/NativeMethodsHelper.java +117 -0
  84. package/android/src/main/java/com/swmansion/reanimated/NativeProxy.java +285 -0
  85. package/android/src/main/java/com/swmansion/reanimated/NodesManager.java +682 -0
  86. package/android/src/main/java/com/swmansion/reanimated/ReanimatedJSIModulePackage.java +29 -0
  87. package/android/src/main/java/com/swmansion/reanimated/ReanimatedModule.java +251 -0
  88. package/android/src/main/java/com/swmansion/reanimated/ReanimatedPackage.java +96 -0
  89. package/android/src/main/java/com/swmansion/reanimated/Scheduler.java +51 -0
  90. package/android/src/main/java/com/swmansion/reanimated/UpdateContext.java +11 -0
  91. package/android/src/main/java/com/swmansion/reanimated/Utils.java +32 -0
  92. package/android/src/main/java/com/swmansion/reanimated/layoutReanimation/AnimationsManager.java +517 -0
  93. package/android/src/main/java/com/swmansion/reanimated/layoutReanimation/LayoutAnimations.java +56 -0
  94. package/android/src/main/java/com/swmansion/reanimated/layoutReanimation/NativeMethodsHolder.java +11 -0
  95. package/android/src/main/java/com/swmansion/reanimated/layoutReanimation/ReanimatedNativeHierarchyManager.java +410 -0
  96. package/android/src/main/java/com/swmansion/reanimated/layoutReanimation/ReanimatedUIImplementation.java +68 -0
  97. package/android/src/main/java/com/swmansion/reanimated/layoutReanimation/ReanimatedUIManager.java +292 -0
  98. package/android/src/main/java/com/swmansion/reanimated/layoutReanimation/Snapshot.java +121 -0
  99. package/android/src/main/java/com/swmansion/reanimated/layoutReanimation/ViewHierarchyObserver.java +12 -0
  100. package/android/src/main/java/com/swmansion/reanimated/nodes/AlwaysNode.java +29 -0
  101. package/android/src/main/java/com/swmansion/reanimated/nodes/BezierNode.java +87 -0
  102. package/android/src/main/java/com/swmansion/reanimated/nodes/BlockNode.java +24 -0
  103. package/android/src/main/java/com/swmansion/reanimated/nodes/CallFuncNode.java +49 -0
  104. package/android/src/main/java/com/swmansion/reanimated/nodes/ClockNode.java +38 -0
  105. package/android/src/main/java/com/swmansion/reanimated/nodes/ClockOpNode.java +73 -0
  106. package/android/src/main/java/com/swmansion/reanimated/nodes/ConcatNode.java +36 -0
  107. package/android/src/main/java/com/swmansion/reanimated/nodes/CondNode.java +41 -0
  108. package/android/src/main/java/com/swmansion/reanimated/nodes/DebugNode.java +33 -0
  109. package/android/src/main/java/com/swmansion/reanimated/nodes/EventNode.java +83 -0
  110. package/android/src/main/java/com/swmansion/reanimated/nodes/FinalNode.java +5 -0
  111. package/android/src/main/java/com/swmansion/reanimated/nodes/FunctionNode.java +20 -0
  112. package/android/src/main/java/com/swmansion/reanimated/nodes/JSCallNode.java +41 -0
  113. package/android/src/main/java/com/swmansion/reanimated/nodes/Node.java +139 -0
  114. package/android/src/main/java/com/swmansion/reanimated/nodes/NoopNode.java +37 -0
  115. package/android/src/main/java/com/swmansion/reanimated/nodes/OperatorNode.java +377 -0
  116. package/android/src/main/java/com/swmansion/reanimated/nodes/ParamNode.java +71 -0
  117. package/android/src/main/java/com/swmansion/reanimated/nodes/PropsNode.java +153 -0
  118. package/android/src/main/java/com/swmansion/reanimated/nodes/SetNode.java +32 -0
  119. package/android/src/main/java/com/swmansion/reanimated/nodes/StyleNode.java +40 -0
  120. package/android/src/main/java/com/swmansion/reanimated/nodes/TransformNode.java +84 -0
  121. package/android/src/main/java/com/swmansion/reanimated/nodes/ValueNode.java +40 -0
  122. package/android/src/main/java/com/swmansion/reanimated/sensor/ReanimatedSensor.java +41 -0
  123. package/android/src/main/java/com/swmansion/reanimated/sensor/ReanimatedSensorContainer.java +40 -0
  124. package/android/src/main/java/com/swmansion/reanimated/sensor/ReanimatedSensorListener.java +31 -0
  125. package/android/src/main/java/com/swmansion/reanimated/sensor/ReanimatedSensorType.java +35 -0
  126. package/android/src/main/java/com/swmansion/reanimated/transitions/ChangeTransition.java +84 -0
  127. package/android/src/main/java/com/swmansion/reanimated/transitions/SaneSidePropagation.java +25 -0
  128. package/android/src/main/java/com/swmansion/reanimated/transitions/Scale.java +86 -0
  129. package/android/src/main/java/com/swmansion/reanimated/transitions/TransitionModule.java +41 -0
  130. package/android/src/main/java/com/swmansion/reanimated/transitions/TransitionUtils.java +161 -0
  131. package/ios/LayoutReanimation/REAAnimationsManager.m +14 -4
  132. package/ios/REAModule.m +8 -9
  133. package/ios/REANodesManager.h +4 -1
  134. package/ios/REANodesManager.m +76 -4
  135. package/ios/native/NativeProxy.mm +76 -4
  136. package/ios/sensor/ReanimatedSensor.h +25 -0
  137. package/ios/sensor/ReanimatedSensor.m +217 -0
  138. package/ios/sensor/ReanimatedSensorContainer.h +12 -0
  139. package/ios/sensor/ReanimatedSensorContainer.m +40 -0
  140. package/ios/sensor/ReanimatedSensorType.h +7 -0
  141. package/lib/{src/Animated.js → Animated.js} +0 -0
  142. package/lib/{src/ConfigHelper.js → ConfigHelper.js} +2 -2
  143. package/lib/{src/ReanimatedEventEmitter.js → ReanimatedEventEmitter.js} +0 -0
  144. package/lib/{src/ReanimatedModule.js → ReanimatedModule.js} +0 -0
  145. package/lib/{src/ReanimatedModule.macos.js → ReanimatedModule.macos.js} +0 -0
  146. package/lib/{src/ReanimatedModule.native.js → ReanimatedModule.native.js} +0 -0
  147. package/lib/{src/ReanimatedModule.windows.js → ReanimatedModule.windows.js} +0 -0
  148. package/lib/{src/ReanimatedModuleCompat.js → ReanimatedModuleCompat.js} +0 -0
  149. package/lib/{src/__mocks__ → __mocks__}/ReanimatedEventEmitter.js +0 -0
  150. package/lib/{src/__mocks__ → __mocks__}/ReanimatedModule.native.js +0 -0
  151. package/lib/{src/createAnimatedComponent.js → createAnimatedComponent.js} +3 -4
  152. package/lib/{src/index.js → index.js} +0 -0
  153. package/lib/{src/reanimated1 → reanimated1}/Easing.js +0 -0
  154. package/lib/{src/reanimated1 → reanimated1}/SpringConfig.js +0 -0
  155. package/lib/{src/reanimated1 → reanimated1}/Transitioning.js +0 -0
  156. package/lib/{src/reanimated1 → reanimated1}/animations/Animation.js +0 -0
  157. package/lib/{src/reanimated1 → reanimated1}/animations/SpringUtils.js +0 -0
  158. package/lib/{src/reanimated1 → reanimated1}/animations/backwardCompatibleAnimWrapper.js +0 -0
  159. package/lib/{src/reanimated1 → reanimated1}/animations/decay.js +0 -0
  160. package/lib/{src/reanimated1 → reanimated1}/animations/spring.js +0 -0
  161. package/lib/{src/reanimated1 → reanimated1}/animations/timing.js +0 -0
  162. package/lib/{src/reanimated1 → reanimated1}/base.js +0 -0
  163. package/lib/{src/reanimated1 → reanimated1}/core/AnimatedAlways.js +0 -0
  164. package/lib/{src/reanimated1 → reanimated1}/core/AnimatedBezier.js +0 -0
  165. package/lib/{src/reanimated1 → reanimated1}/core/AnimatedBlock.js +0 -0
  166. package/lib/{src/reanimated1 → reanimated1}/core/AnimatedCall.js +0 -0
  167. package/lib/{src/reanimated1 → reanimated1}/core/AnimatedCallFunc.js +0 -0
  168. package/lib/{src/reanimated1 → reanimated1}/core/AnimatedClock.js +0 -0
  169. package/lib/{src/reanimated1 → reanimated1}/core/AnimatedClockTest.js +0 -0
  170. package/lib/{src/reanimated1 → reanimated1}/core/AnimatedCode.js +0 -0
  171. package/lib/{src/reanimated1 → reanimated1}/core/AnimatedConcat.js +0 -0
  172. package/lib/{src/reanimated1 → reanimated1}/core/AnimatedCond.js +0 -0
  173. package/lib/{src/reanimated1 → reanimated1}/core/AnimatedDebug.js +0 -0
  174. package/lib/{src/reanimated1 → reanimated1}/core/AnimatedEvent.js +0 -0
  175. package/lib/{src/reanimated1 → reanimated1}/core/AnimatedFunction.js +1 -1
  176. package/lib/{src/reanimated1 → reanimated1}/core/AnimatedNode.js +0 -0
  177. package/lib/{src/reanimated1 → reanimated1}/core/AnimatedOperator.js +0 -0
  178. package/lib/{src/reanimated1 → reanimated1}/core/AnimatedParam.js +0 -0
  179. package/lib/{src/reanimated1 → reanimated1}/core/AnimatedProps.js +0 -0
  180. package/lib/{src/reanimated1 → reanimated1}/core/AnimatedSet.js +0 -0
  181. package/lib/{src/reanimated1 → reanimated1}/core/AnimatedStartClock.js +0 -0
  182. package/lib/{src/reanimated1 → reanimated1}/core/AnimatedStopClock.js +0 -0
  183. package/lib/{src/reanimated1 → reanimated1}/core/AnimatedStyle.js +0 -0
  184. package/lib/{src/reanimated1 → reanimated1}/core/AnimatedTransform.js +0 -0
  185. package/lib/{src/reanimated1 → reanimated1}/core/AnimatedValue.js +0 -0
  186. package/lib/{src/reanimated1 → reanimated1}/core/Core.test.js +0 -0
  187. package/lib/{src/reanimated1 → reanimated1}/core/InternalAnimatedValue.js +0 -0
  188. package/lib/{src/reanimated1 → reanimated1}/core/__mocks__/AnimatedProps.js +0 -0
  189. package/lib/{src/reanimated1 → reanimated1}/core/createEventObjectProxyPolyfill.js +0 -0
  190. package/lib/{src/reanimated1 → reanimated1}/derived/__mocks__/evaluateOnce.js +0 -0
  191. package/lib/{src/reanimated1 → reanimated1}/derived/acc.js +0 -0
  192. package/lib/{src/reanimated1 → reanimated1}/derived/color.js +0 -0
  193. package/lib/{src/reanimated1 → reanimated1}/derived/diff.js +0 -0
  194. package/lib/{src/reanimated1 → reanimated1}/derived/diffClamp.js +0 -0
  195. package/lib/{src/reanimated1 → reanimated1}/derived/evaluateOnce.js +0 -0
  196. package/lib/{src/reanimated1 → reanimated1}/derived/index.js +0 -0
  197. package/lib/{src/reanimated1 → reanimated1}/derived/interpolate.js +2 -4
  198. package/lib/{src/reanimated1 → reanimated1}/derived/interpolateColors.js +0 -0
  199. package/lib/{src/reanimated1 → reanimated1}/derived/onChange.js +0 -0
  200. package/lib/{src/reanimated1 → reanimated1}/derived/useCode.js +0 -0
  201. package/lib/{src/reanimated1 → reanimated1}/index.js +0 -0
  202. package/lib/{src/reanimated1 → reanimated1}/operators.js +0 -0
  203. package/lib/{src/reanimated1 → reanimated1}/useValue.js +0 -0
  204. package/lib/{src/reanimated1 → reanimated1}/val.js +0 -0
  205. package/lib/{src/reanimated2 → reanimated2}/Bezier.js +0 -0
  206. package/lib/{src/reanimated2 → reanimated2}/Colors.js +2 -1
  207. package/lib/{src/reanimated2 → reanimated2}/Easing.js +0 -0
  208. package/lib/{src/reanimated2 → reanimated2}/NativeMethods.js +0 -0
  209. package/lib/reanimated2/NativeReanimated/NativeReanimated.js +50 -0
  210. package/lib/{src/reanimated2 → reanimated2}/NativeReanimated/index.js +0 -4
  211. package/lib/{src/reanimated2 → reanimated2}/PlatformChecker.js +0 -0
  212. package/lib/{src/reanimated2 → reanimated2}/PropAdapters.js +0 -0
  213. package/lib/{src/reanimated2 → reanimated2}/UpdateProps.js +0 -0
  214. package/lib/{src/reanimated2 → reanimated2}/ViewDescriptorsSet.js +2 -2
  215. package/lib/{src/reanimated2 → reanimated2}/WorkletEventHandler.js +0 -0
  216. package/lib/{src/reanimated2 → reanimated2}/__mocks__/MutableValue.js +0 -0
  217. package/lib/{src/reanimated2 → reanimated2}/__mocks__/NativeReanimated.js +0 -0
  218. package/lib/{src/reanimated2 → reanimated2}/__mocks__/NativeReanimated.native.js +0 -0
  219. package/lib/{src/reanimated2 → reanimated2}/animation/commonTypes.js +0 -0
  220. package/lib/{src/reanimated2 → reanimated2}/animation/decay.js +0 -0
  221. package/lib/{src/reanimated2 → reanimated2}/animation/delay.js +0 -0
  222. package/lib/{src/reanimated2 → reanimated2}/animation/index.js +0 -0
  223. package/lib/{src/reanimated2 → reanimated2}/animation/repeat.js +0 -0
  224. package/lib/{src/reanimated2 → reanimated2}/animation/sequence.js +0 -0
  225. package/lib/{src/reanimated2 → reanimated2}/animation/spring.js +0 -0
  226. package/lib/{src/reanimated2 → reanimated2}/animation/styleAnimation.js +2 -1
  227. package/lib/{src/reanimated2 → reanimated2}/animation/timing.js +0 -0
  228. package/lib/{src/reanimated2 → reanimated2}/animation/util.js +0 -0
  229. package/lib/{src/reanimated2 → reanimated2}/commonTypes.js +0 -0
  230. package/lib/{src/reanimated2 → reanimated2}/component/FlatList.js +0 -0
  231. package/lib/{src/reanimated2 → reanimated2}/component/WrappedComponents.js +0 -0
  232. package/lib/{src/reanimated2 → reanimated2}/component/index.js +0 -0
  233. package/lib/{src/reanimated2 → reanimated2}/core.js +30 -24
  234. package/lib/{src/reanimated2 → reanimated2}/globals.d.ts +6 -0
  235. package/lib/{src/reanimated2 → reanimated2}/hook/Hooks.js +0 -0
  236. package/lib/{src/reanimated2 → reanimated2}/hook/commonTypes.js +0 -0
  237. package/lib/{src/reanimated2 → reanimated2}/hook/index.js +1 -0
  238. package/lib/{src/reanimated2 → reanimated2}/hook/useAnimatedGestureHandler.js +0 -0
  239. package/lib/{src/reanimated2 → reanimated2}/hook/useAnimatedReaction.js +0 -0
  240. package/lib/{src/reanimated2 → reanimated2}/hook/useAnimatedRef.js +0 -0
  241. package/lib/{src/reanimated2 → reanimated2}/hook/useAnimatedScrollHandler.js +0 -0
  242. package/lib/reanimated2/hook/useAnimatedSensor.js +66 -0
  243. package/lib/{src/reanimated2 → reanimated2}/hook/useAnimatedStyle.js +0 -0
  244. package/lib/{src/reanimated2 → reanimated2}/hook/useDerivedValue.js +0 -0
  245. package/lib/{src/reanimated2 → reanimated2}/hook/useSharedValue.js +0 -0
  246. package/lib/{src/reanimated2 → reanimated2}/hook/utils.js +0 -0
  247. package/lib/{src/reanimated2 → reanimated2}/index.js +0 -0
  248. package/lib/{src/reanimated2 → reanimated2}/interpolateColor.js +11 -11
  249. package/lib/{src/reanimated2 → reanimated2}/interpolation.js +1 -1
  250. package/lib/{src/reanimated2 → reanimated2}/jestUtils.js +9 -4
  251. package/lib/{src/reanimated2 → reanimated2}/js-reanimated/JSReanimated.js +23 -2
  252. package/lib/{src/reanimated2 → reanimated2}/js-reanimated/Mapper.js +0 -0
  253. package/lib/{src/reanimated2 → reanimated2}/js-reanimated/MapperRegistry.js +0 -0
  254. package/lib/{src/reanimated2 → reanimated2}/js-reanimated/MutableValue.js +0 -0
  255. package/lib/{src/reanimated2 → reanimated2}/js-reanimated/commonTypes.js +0 -0
  256. package/lib/{src/reanimated2 → reanimated2}/js-reanimated/index.js +3 -3
  257. package/lib/{src/reanimated2 → reanimated2}/layoutReanimation/LayoutAnimationRepository.js +0 -0
  258. package/lib/{src/reanimated2 → reanimated2}/layoutReanimation/animationBuilder/BaseAnimationBuilder.js +0 -0
  259. package/lib/{src/reanimated2 → reanimated2}/layoutReanimation/animationBuilder/ComplexAnimationBuilder.js +8 -0
  260. package/lib/{src/reanimated2 → reanimated2}/layoutReanimation/animationBuilder/Keyframe.js +2 -1
  261. package/lib/{src/reanimated2 → reanimated2}/layoutReanimation/animationBuilder/commonTypes.js +0 -0
  262. package/lib/{src/reanimated2 → reanimated2}/layoutReanimation/animationBuilder/index.js +0 -0
  263. package/lib/{src/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Bounce.js +32 -42
  264. package/lib/{src/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Default.js +0 -0
  265. package/lib/{src/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Fade.js +20 -38
  266. package/lib/{src/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Flip.js +32 -44
  267. package/lib/{src/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Lightspeed.js +8 -16
  268. package/lib/{src/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Pinwheel.js +6 -10
  269. package/lib/{src/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Roll.js +8 -12
  270. package/lib/{src/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Rotate.js +20 -36
  271. package/lib/{src/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Slide.js +16 -20
  272. package/lib/{src/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Stretch.js +8 -12
  273. package/lib/{src/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Zoom.js +32 -48
  274. package/lib/{src/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/index.js +0 -0
  275. package/lib/{src/reanimated2 → reanimated2}/layoutReanimation/defaultTransitions/CurvedTransition.js +0 -0
  276. package/lib/{src/reanimated2 → reanimated2}/layoutReanimation/defaultTransitions/EntryExitTransition.js +22 -18
  277. package/lib/{src/reanimated2 → reanimated2}/layoutReanimation/defaultTransitions/FadingTransition.js +0 -0
  278. package/lib/{src/reanimated2 → reanimated2}/layoutReanimation/defaultTransitions/JumpingTransition.js +0 -0
  279. package/lib/{src/reanimated2 → reanimated2}/layoutReanimation/defaultTransitions/LinearTransition.js +0 -0
  280. package/lib/{src/reanimated2 → reanimated2}/layoutReanimation/defaultTransitions/SequencedTransition.js +0 -0
  281. package/lib/{src/reanimated2 → reanimated2}/layoutReanimation/defaultTransitions/index.js +0 -0
  282. package/lib/{src/reanimated2 → reanimated2}/layoutReanimation/index.js +0 -0
  283. package/lib/{src/reanimated2 → reanimated2}/mock.js +3 -2
  284. package/lib/{src/reanimated2 → reanimated2}/platform-specific/RNRenderer.js +0 -0
  285. package/lib/{src/reanimated2 → reanimated2}/platform-specific/RNRenderer.web.js +0 -0
  286. package/lib/{src/reanimated2 → reanimated2}/utils.js +0 -0
  287. package/lib/{src/setAndForwardRef.js → setAndForwardRef.js} +0 -0
  288. package/lib/types/lib/ConfigHelper.d.ts +12 -0
  289. package/lib/types/lib/ReanimatedEventEmitter.d.ts +3 -0
  290. package/lib/types/lib/ReanimatedModule.d.ts +2 -0
  291. package/lib/types/lib/ReanimatedModule.macos.d.ts +2 -0
  292. package/lib/types/lib/ReanimatedModule.native.d.ts +2 -0
  293. package/lib/types/lib/ReanimatedModule.windows.d.ts +2 -0
  294. package/lib/types/lib/ReanimatedModuleCompat.d.ts +14 -0
  295. package/lib/types/lib/createAnimatedComponent.d.ts +33 -0
  296. package/lib/types/lib/reanimated2/Bezier.d.ts +6 -0
  297. package/lib/types/lib/reanimated2/Colors.d.ts +31 -0
  298. package/lib/types/lib/reanimated2/Easing.d.ts +172 -0
  299. package/lib/types/lib/reanimated2/NativeMethods.d.ts +14 -0
  300. package/lib/types/lib/reanimated2/NativeReanimated/NativeReanimated.d.ts +20 -0
  301. package/lib/types/lib/reanimated2/NativeReanimated/index.d.ts +3 -0
  302. package/lib/types/lib/reanimated2/PlatformChecker.d.ts +5 -0
  303. package/lib/types/lib/reanimated2/PropAdapters.d.ts +4 -0
  304. package/lib/types/lib/reanimated2/UpdateProps.d.ts +9 -0
  305. package/lib/types/lib/reanimated2/ViewDescriptorsSet.d.ts +20 -0
  306. package/lib/types/lib/reanimated2/WorkletEventHandler.d.ts +13 -0
  307. package/lib/types/lib/reanimated2/__mocks__/MutableValue.d.ts +5 -0
  308. package/lib/types/lib/reanimated2/__mocks__/NativeReanimated.d.ts +13 -0
  309. package/lib/types/lib/reanimated2/__mocks__/NativeReanimated.native.d.ts +13 -0
  310. package/lib/types/lib/reanimated2/animation/commonTypes.d.ts +27 -0
  311. package/lib/types/lib/reanimated2/animation/decay.d.ts +19 -0
  312. package/lib/types/lib/reanimated2/animation/delay.d.ts +7 -0
  313. package/lib/types/lib/reanimated2/animation/index.d.ts +9 -0
  314. package/lib/types/lib/reanimated2/animation/repeat.d.ts +12 -0
  315. package/lib/types/lib/reanimated2/animation/sequence.d.ts +7 -0
  316. package/lib/types/lib/reanimated2/animation/spring.d.ts +22 -0
  317. package/lib/types/lib/reanimated2/animation/styleAnimation.d.ts +7 -0
  318. package/lib/types/lib/reanimated2/animation/timing.d.ts +21 -0
  319. package/lib/types/lib/reanimated2/animation/util.d.ts +9 -0
  320. package/lib/types/lib/reanimated2/commonTypes.d.ts +80 -0
  321. package/lib/types/lib/reanimated2/component/FlatList.d.ts +9 -0
  322. package/lib/types/lib/reanimated2/component/WrappedComponents.d.ts +8 -0
  323. package/lib/types/lib/reanimated2/component/index.d.ts +9 -0
  324. package/lib/types/lib/reanimated2/core.d.ts +24 -0
  325. package/lib/types/lib/reanimated2/hook/Hooks.d.ts +5 -0
  326. package/lib/types/lib/reanimated2/hook/commonTypes.d.ts +14 -0
  327. package/lib/types/lib/reanimated2/hook/index.d.ts +10 -0
  328. package/lib/types/lib/reanimated2/hook/useAnimatedGestureHandler.d.ts +35 -0
  329. package/lib/types/lib/reanimated2/hook/useAnimatedReaction.d.ts +12 -0
  330. package/lib/types/lib/reanimated2/hook/useAnimatedRef.d.ts +3 -0
  331. package/lib/types/lib/reanimated2/hook/useAnimatedScrollHandler.d.ts +21 -0
  332. package/lib/types/lib/reanimated2/hook/useAnimatedSensor.d.ts +20 -0
  333. package/lib/types/lib/reanimated2/hook/useAnimatedStyle.d.ts +11 -0
  334. package/lib/types/lib/reanimated2/hook/useDerivedValue.d.ts +4 -0
  335. package/lib/types/lib/reanimated2/hook/useSharedValue.d.ts +2 -0
  336. package/lib/types/lib/reanimated2/hook/utils.d.ts +28 -0
  337. package/lib/types/lib/reanimated2/index.d.ts +12 -0
  338. package/lib/types/lib/reanimated2/interpolateColor.d.ts +26 -0
  339. package/lib/types/lib/reanimated2/interpolation.d.ts +14 -0
  340. package/lib/types/lib/reanimated2/jestUtils.d.ts +12 -0
  341. package/lib/types/lib/reanimated2/js-reanimated/JSReanimated.d.ts +30 -0
  342. package/lib/types/lib/reanimated2/js-reanimated/Mapper.d.ts +14 -0
  343. package/lib/types/lib/reanimated2/js-reanimated/MapperRegistry.d.ts +14 -0
  344. package/lib/types/lib/reanimated2/js-reanimated/MutableValue.d.ts +14 -0
  345. package/lib/types/lib/reanimated2/js-reanimated/commonTypes.d.ts +44 -0
  346. package/lib/types/lib/reanimated2/js-reanimated/index.d.ts +15 -0
  347. package/lib/types/lib/reanimated2/layoutReanimation/LayoutAnimationRepository.d.ts +1 -0
  348. package/lib/types/lib/reanimated2/layoutReanimation/animationBuilder/BaseAnimationBuilder.d.ts +22 -0
  349. package/lib/types/lib/reanimated2/layoutReanimation/animationBuilder/ComplexAnimationBuilder.d.ts +38 -0
  350. package/lib/types/lib/reanimated2/layoutReanimation/animationBuilder/Keyframe.d.ts +25 -0
  351. package/lib/types/lib/reanimated2/layoutReanimation/animationBuilder/commonTypes.d.ts +77 -0
  352. package/lib/types/lib/reanimated2/layoutReanimation/animationBuilder/index.d.ts +4 -0
  353. package/lib/types/lib/reanimated2/layoutReanimation/defaultAnimations/Bounce.d.ts +62 -0
  354. package/lib/types/lib/reanimated2/layoutReanimation/defaultAnimations/Default.d.ts +4 -0
  355. package/lib/types/lib/reanimated2/layoutReanimation/defaultAnimations/Fade.d.ts +42 -0
  356. package/lib/types/lib/reanimated2/layoutReanimation/defaultAnimations/Flip.d.ts +50 -0
  357. package/lib/types/lib/reanimated2/layoutReanimation/defaultAnimations/Lightspeed.d.ts +18 -0
  358. package/lib/types/lib/reanimated2/layoutReanimation/defaultAnimations/Pinwheel.d.ts +10 -0
  359. package/lib/types/lib/reanimated2/layoutReanimation/defaultAnimations/Roll.d.ts +18 -0
  360. package/lib/types/lib/reanimated2/layoutReanimation/defaultAnimations/Rotate.d.ts +34 -0
  361. package/lib/types/lib/reanimated2/layoutReanimation/defaultAnimations/Slide.d.ts +34 -0
  362. package/lib/types/lib/reanimated2/layoutReanimation/defaultAnimations/Stretch.d.ts +18 -0
  363. package/lib/types/lib/reanimated2/layoutReanimation/defaultAnimations/Zoom.d.ts +66 -0
  364. package/lib/types/lib/reanimated2/layoutReanimation/defaultAnimations/index.d.ts +10 -0
  365. package/lib/types/lib/reanimated2/layoutReanimation/defaultTransitions/CurvedTransition.d.ts +19 -0
  366. package/lib/types/lib/reanimated2/layoutReanimation/defaultTransitions/EntryExitTransition.d.ts +13 -0
  367. package/lib/types/lib/reanimated2/layoutReanimation/defaultTransitions/FadingTransition.d.ts +6 -0
  368. package/lib/types/lib/reanimated2/layoutReanimation/defaultTransitions/JumpingTransition.d.ts +6 -0
  369. package/lib/types/lib/reanimated2/layoutReanimation/defaultTransitions/LinearTransition.d.ts +7 -0
  370. package/lib/types/lib/reanimated2/layoutReanimation/defaultTransitions/SequencedTransition.d.ts +9 -0
  371. package/lib/types/lib/reanimated2/layoutReanimation/defaultTransitions/index.d.ts +6 -0
  372. package/lib/types/lib/reanimated2/layoutReanimation/index.d.ts +4 -0
  373. package/lib/types/lib/reanimated2/mock.d.ts +55 -0
  374. package/lib/types/lib/reanimated2/platform-specific/RNRenderer.d.ts +1 -0
  375. package/lib/types/lib/reanimated2/platform-specific/RNRenderer.web.d.ts +0 -0
  376. package/lib/types/lib/reanimated2/utils.d.ts +7 -0
  377. package/lib/types/lib/setAndForwardRef.d.ts +40 -0
  378. package/lib/types/react-native-reanimated-tests.d.ts +1 -0
  379. package/mock.js +5 -4
  380. package/package.json +44 -38
  381. package/plugin.js +3 -0
  382. package/react-native-reanimated.d.ts +64 -34
  383. package/src/ConfigHelper.ts +4 -4
  384. package/src/createAnimatedComponent.tsx +4 -4
  385. package/src/reanimated1/core/AnimatedFunction.js +1 -1
  386. package/src/reanimated1/derived/interpolate.js +2 -4
  387. package/src/reanimated2/Colors.ts +2 -1
  388. package/src/reanimated2/NativeReanimated/NativeReanimated.ts +42 -15
  389. package/src/reanimated2/NativeReanimated/index.ts +0 -6
  390. package/src/reanimated2/ViewDescriptorsSet.ts +2 -3
  391. package/src/reanimated2/animation/index.ts +1 -0
  392. package/src/reanimated2/animation/styleAnimation.ts +10 -7
  393. package/src/reanimated2/animation/timing.ts +3 -1
  394. package/src/reanimated2/animation/util.ts +10 -11
  395. package/src/reanimated2/commonTypes.ts +20 -0
  396. package/src/reanimated2/component/FlatList.tsx +3 -2
  397. package/src/reanimated2/core.ts +34 -26
  398. package/src/reanimated2/globals.d.ts +6 -0
  399. package/src/reanimated2/hook/index.ts +1 -0
  400. package/src/reanimated2/hook/useAnimatedSensor.ts +91 -0
  401. package/src/reanimated2/hook/utils.ts +2 -1
  402. package/src/reanimated2/interpolateColor.ts +11 -11
  403. package/src/reanimated2/interpolation.ts +2 -6
  404. package/src/reanimated2/jestUtils.ts +20 -4
  405. package/src/reanimated2/js-reanimated/JSReanimated.ts +25 -2
  406. package/src/reanimated2/js-reanimated/index.ts +3 -3
  407. package/src/reanimated2/layoutReanimation/animationBuilder/ComplexAnimationBuilder.ts +13 -0
  408. package/src/reanimated2/layoutReanimation/animationBuilder/Keyframe.ts +2 -3
  409. package/src/reanimated2/layoutReanimation/defaultAnimations/Bounce.ts +51 -21
  410. package/src/reanimated2/layoutReanimation/defaultAnimations/Fade.ts +40 -10
  411. package/src/reanimated2/layoutReanimation/defaultAnimations/Flip.ts +48 -12
  412. package/src/reanimated2/layoutReanimation/defaultAnimations/Lightspeed.ts +16 -4
  413. package/src/reanimated2/layoutReanimation/defaultAnimations/Pinwheel.ts +8 -2
  414. package/src/reanimated2/layoutReanimation/defaultAnimations/Roll.ts +16 -4
  415. package/src/reanimated2/layoutReanimation/defaultAnimations/Rotate.ts +32 -8
  416. package/src/reanimated2/layoutReanimation/defaultAnimations/Slide.ts +32 -10
  417. package/src/reanimated2/layoutReanimation/defaultAnimations/Stretch.ts +16 -4
  418. package/src/reanimated2/layoutReanimation/defaultAnimations/Zoom.ts +64 -16
  419. package/src/reanimated2/layoutReanimation/defaultTransitions/CurvedTransition.ts +2 -1
  420. package/src/reanimated2/layoutReanimation/defaultTransitions/EntryExitTransition.ts +26 -19
  421. package/src/reanimated2/layoutReanimation/defaultTransitions/FadingTransition.ts +2 -1
  422. package/src/reanimated2/layoutReanimation/defaultTransitions/JumpingTransition.ts +2 -1
  423. package/src/reanimated2/layoutReanimation/defaultTransitions/LinearTransition.ts +2 -1
  424. package/src/reanimated2/layoutReanimation/defaultTransitions/SequencedTransition.ts +2 -1
  425. package/src/reanimated2/mock.ts +3 -2
  426. package/android/expo/linking.gradle +0 -46
  427. package/android/expo/src/main/java/com/swmansion/reanimated/EXReanimatedAdapter.java +0 -12
  428. package/android/expo/src/main/java/expo/modules/adapters/reanimated/EXReanimatedPackage.java +0 -26
  429. package/android/react-native-reanimated-63-hermes.aar +0 -0
  430. package/android/react-native-reanimated-63-jsc.aar +0 -0
  431. package/android/src/main/java/com/swmansion/reanimated/ReanimatedProxyPackage.java +0 -15
  432. package/expo-module.config.json +0 -3
  433. package/lib/src/reanimated2/NativeReanimated/NativeReanimated.js +0 -37
  434. package/libSo/fbjni/jni/arm64-v8a/libfbjni.so +0 -0
  435. package/libSo/fbjni/jni/armeabi-v7a/libfbjni.so +0 -0
  436. package/libSo/fbjni/jni/x86/libfbjni.so +0 -0
  437. package/libSo/fbjni/jni/x86_64/libfbjni.so +0 -0
@@ -0,0 +1,285 @@
1
+ package com.swmansion.reanimated;
2
+
3
+ import android.os.SystemClock;
4
+ import android.util.Log;
5
+ import androidx.annotation.Nullable;
6
+ import com.facebook.jni.HybridData;
7
+ import com.facebook.proguard.annotations.DoNotStrip;
8
+ import com.facebook.react.ReactApplication;
9
+ import com.facebook.react.bridge.NativeModule;
10
+ import com.facebook.react.bridge.ReactApplicationContext;
11
+ import com.facebook.react.bridge.ReadableNativeArray;
12
+ import com.facebook.react.bridge.WritableArray;
13
+ import com.facebook.react.bridge.WritableMap;
14
+ import com.facebook.react.devsupport.interfaces.DevSupportManager;
15
+ import com.facebook.react.turbomodule.core.CallInvokerHolderImpl;
16
+ import com.facebook.react.uimanager.UIManagerModule;
17
+ import com.facebook.react.uimanager.events.RCTEventEmitter;
18
+ import com.swmansion.common.GestureHandlerStateManager;
19
+ import com.swmansion.reanimated.layoutReanimation.AnimationsManager;
20
+ import com.swmansion.reanimated.layoutReanimation.LayoutAnimations;
21
+ import com.swmansion.reanimated.layoutReanimation.NativeMethodsHolder;
22
+ import com.swmansion.reanimated.sensor.ReanimatedSensorContainer;
23
+ import com.swmansion.reanimated.sensor.ReanimatedSensorType;
24
+ import java.lang.ref.WeakReference;
25
+ import java.util.ArrayList;
26
+ import java.util.HashMap;
27
+ import java.util.HashSet;
28
+ import java.util.Map;
29
+ import java.util.Set;
30
+
31
+ public class NativeProxy {
32
+
33
+ static {
34
+ System.loadLibrary("reanimated");
35
+ }
36
+
37
+ @DoNotStrip
38
+ public static class AnimationFrameCallback implements NodesManager.OnAnimationFrame {
39
+
40
+ @DoNotStrip private final HybridData mHybridData;
41
+
42
+ @DoNotStrip
43
+ private AnimationFrameCallback(HybridData hybridData) {
44
+ mHybridData = hybridData;
45
+ }
46
+
47
+ @Override
48
+ public native void onAnimationFrame(double timestampMs);
49
+ }
50
+
51
+ @DoNotStrip
52
+ public static class EventHandler implements RCTEventEmitter {
53
+
54
+ @DoNotStrip private final HybridData mHybridData;
55
+ private UIManagerModule.CustomEventNamesResolver mCustomEventNamesResolver;
56
+
57
+ @DoNotStrip
58
+ private EventHandler(HybridData hybridData) {
59
+ mHybridData = hybridData;
60
+ }
61
+
62
+ @Override
63
+ public void receiveEvent(int targetTag, String eventName, @Nullable WritableMap event) {
64
+ String resolvedEventName = mCustomEventNamesResolver.resolveCustomEventName(eventName);
65
+ receiveEvent(targetTag + resolvedEventName, event);
66
+ }
67
+
68
+ public native void receiveEvent(String eventKey, @Nullable WritableMap event);
69
+
70
+ @Override
71
+ public void receiveTouches(
72
+ String eventName, WritableArray touches, WritableArray changedIndices) {
73
+ // not interested in processing touch events this way, we process raw events only
74
+ }
75
+ }
76
+
77
+ @DoNotStrip
78
+ public static class SensorSetter {
79
+
80
+ @DoNotStrip private final HybridData mHybridData;
81
+
82
+ @DoNotStrip
83
+ private SensorSetter(HybridData hybridData) {
84
+ mHybridData = hybridData;
85
+ }
86
+
87
+ public native void sensorSetter(float[] value);
88
+ }
89
+
90
+ @DoNotStrip
91
+ @SuppressWarnings("unused")
92
+ private final HybridData mHybridData;
93
+
94
+ private NodesManager mNodesManager;
95
+ private final WeakReference<ReactApplicationContext> mContext;
96
+ private Scheduler mScheduler = null;
97
+ private ReanimatedSensorContainer reanimatedSensorContainer;
98
+ private final GestureHandlerStateManager gestureHandlerStateManager;
99
+ private Long firstUptime = SystemClock.uptimeMillis();
100
+ private boolean slowAnimationsEnabled = false;
101
+
102
+ public NativeProxy(ReactApplicationContext context) {
103
+ CallInvokerHolderImpl holder =
104
+ (CallInvokerHolderImpl) context.getCatalystInstance().getJSCallInvokerHolder();
105
+ LayoutAnimations LayoutAnimations = new LayoutAnimations(context);
106
+ mScheduler = new Scheduler(context);
107
+ mHybridData =
108
+ initHybrid(
109
+ context.getJavaScriptContextHolder().get(), holder, mScheduler, LayoutAnimations);
110
+ mContext = new WeakReference<>(context);
111
+ prepare(LayoutAnimations);
112
+ reanimatedSensorContainer = new ReanimatedSensorContainer(mContext);
113
+ addDevMenuOption();
114
+
115
+ GestureHandlerStateManager tempHandlerStateManager;
116
+ try {
117
+ Class<NativeModule> gestureHandlerModuleClass =
118
+ (Class<NativeModule>)
119
+ Class.forName("com.swmansion.gesturehandler.react.RNGestureHandlerModule");
120
+ tempHandlerStateManager =
121
+ (GestureHandlerStateManager) context.getNativeModule(gestureHandlerModuleClass);
122
+ } catch (ClassCastException | ClassNotFoundException e) {
123
+ tempHandlerStateManager = null;
124
+ }
125
+ gestureHandlerStateManager = tempHandlerStateManager;
126
+ }
127
+
128
+ private native HybridData initHybrid(
129
+ long jsContext,
130
+ CallInvokerHolderImpl jsCallInvokerHolder,
131
+ Scheduler scheduler,
132
+ LayoutAnimations LayoutAnimations);
133
+
134
+ private native void installJSIBindings();
135
+
136
+ public native boolean isAnyHandlerWaitingForEvent(String eventName);
137
+
138
+ public Scheduler getScheduler() {
139
+ return mScheduler;
140
+ }
141
+
142
+ private void toggleSlowAnimations() {
143
+ slowAnimationsEnabled = !slowAnimationsEnabled;
144
+ if (slowAnimationsEnabled) {
145
+ firstUptime = SystemClock.uptimeMillis();
146
+ }
147
+ }
148
+
149
+ private void addDevMenuOption() {
150
+ final DevSupportManager devSupportManager =
151
+ ((ReactApplication) mContext.get().getApplicationContext())
152
+ .getReactNativeHost()
153
+ .getReactInstanceManager()
154
+ .getDevSupportManager();
155
+
156
+ devSupportManager.addCustomDevOption(
157
+ "Toggle slow animations (Reanimated)", this::toggleSlowAnimations);
158
+ }
159
+
160
+ @DoNotStrip
161
+ private void requestRender(AnimationFrameCallback callback) {
162
+ mNodesManager.postOnAnimation(callback);
163
+ }
164
+
165
+ @DoNotStrip
166
+ private void updateProps(int viewTag, Map<String, Object> props) {
167
+ mNodesManager.updateProps(viewTag, props);
168
+ }
169
+
170
+ @DoNotStrip
171
+ private String obtainProp(int viewTag, String propName) {
172
+ return mNodesManager.obtainProp(viewTag, propName);
173
+ }
174
+
175
+ @DoNotStrip
176
+ private void scrollTo(int viewTag, double x, double y, boolean animated) {
177
+ mNodesManager.scrollTo(viewTag, x, y, animated);
178
+ }
179
+
180
+ @DoNotStrip
181
+ private void setGestureState(int handlerTag, int newState) {
182
+ if (gestureHandlerStateManager != null) {
183
+ gestureHandlerStateManager.setGestureHandlerState(handlerTag, newState);
184
+ }
185
+ }
186
+
187
+ @DoNotStrip
188
+ private String getUptime() {
189
+ if (slowAnimationsEnabled) {
190
+ final long ANIMATIONS_DRAG_FACTOR = 10;
191
+ return Long.toString(
192
+ this.firstUptime
193
+ + (SystemClock.uptimeMillis() - this.firstUptime) / ANIMATIONS_DRAG_FACTOR);
194
+ } else {
195
+ return Long.toString(SystemClock.uptimeMillis());
196
+ }
197
+ }
198
+
199
+ @DoNotStrip
200
+ private float[] measure(int viewTag) {
201
+ return mNodesManager.measure(viewTag);
202
+ }
203
+
204
+ @DoNotStrip
205
+ private void configureProps(ReadableNativeArray uiProps, ReadableNativeArray nativeProps) {
206
+ Set<String> uiPropsSet = convertProps(uiProps);
207
+ Set<String> nativePropsSet = convertProps(nativeProps);
208
+ mNodesManager.configureProps(uiPropsSet, nativePropsSet);
209
+ }
210
+
211
+ private Set<String> convertProps(ReadableNativeArray props) {
212
+ Set<String> propsSet = new HashSet<>();
213
+ ArrayList<Object> propsList = props.toArrayList();
214
+ for (int i = 0; i < propsList.size(); i++) {
215
+ propsSet.add((String) propsList.get(i));
216
+ }
217
+ return propsSet;
218
+ }
219
+
220
+ @DoNotStrip
221
+ private void registerEventHandler(EventHandler handler) {
222
+ handler.mCustomEventNamesResolver = mNodesManager.getEventNameResolver();
223
+ mNodesManager.registerEventHandler(handler);
224
+ }
225
+
226
+ @DoNotStrip
227
+ private int registerSensor(int sensorType, int interval, SensorSetter setter) {
228
+ return reanimatedSensorContainer.registerSensor(
229
+ ReanimatedSensorType.getInstanceById(sensorType), interval, setter);
230
+ }
231
+
232
+ @DoNotStrip
233
+ private void unregisterSensor(int sensorId) {
234
+ reanimatedSensorContainer.unregisterSensor(sensorId);
235
+ }
236
+
237
+ public void onCatalystInstanceDestroy() {
238
+ mScheduler.deactivate();
239
+ mHybridData.resetNative();
240
+ }
241
+
242
+ public void prepare(LayoutAnimations LayoutAnimations) {
243
+ if (Utils.isChromeDebugger) {
244
+ Log.w("[REANIMATED]", "You can not use LayoutAnimation with enabled Chrome Debugger");
245
+ return;
246
+ }
247
+ mNodesManager = mContext.get().getNativeModule(ReanimatedModule.class).getNodesManager();
248
+ installJSIBindings();
249
+ AnimationsManager animationsManager =
250
+ mContext
251
+ .get()
252
+ .getNativeModule(ReanimatedModule.class)
253
+ .getNodesManager()
254
+ .getAnimationsManager();
255
+
256
+ WeakReference<LayoutAnimations> weakLayoutAnimations = new WeakReference<>(LayoutAnimations);
257
+ animationsManager.setNativeMethods(
258
+ new NativeMethodsHolder() {
259
+ @Override
260
+ public void startAnimationForTag(int tag, String type, HashMap<String, Float> values) {
261
+ LayoutAnimations LayoutAnimations = weakLayoutAnimations.get();
262
+ if (LayoutAnimations != null) {
263
+ HashMap<String, String> preparedValues = new HashMap<>();
264
+ for (String key : values.keySet()) {
265
+ preparedValues.put(key, values.get(key).toString());
266
+ }
267
+ LayoutAnimations.startAnimationForTag(tag, type, preparedValues);
268
+ }
269
+ }
270
+
271
+ @Override
272
+ public void removeConfigForTag(int tag) {
273
+ LayoutAnimations LayoutAnimations = weakLayoutAnimations.get();
274
+ if (LayoutAnimations != null) {
275
+ LayoutAnimations.removeConfigForTag(tag);
276
+ }
277
+ }
278
+
279
+ @Override
280
+ public boolean isLayoutAnimationEnabled() {
281
+ return LayoutAnimations.isLayoutAnimationEnabled();
282
+ }
283
+ });
284
+ }
285
+ }