react-native-reanimated 2.8.0 → 3.0.0-rc.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 (381) hide show
  1. package/Common/cpp/Fabric/FabricUtils.cpp +128 -0
  2. package/Common/cpp/Fabric/ReanimatedUIManagerBinding.cpp +197 -0
  3. package/Common/cpp/NativeModules/NativeReanimatedModule.cpp +311 -6
  4. package/Common/cpp/Registries/EventHandlerRegistry.cpp +14 -1
  5. package/Common/cpp/Registries/NewestShadowNodesRegistry.cpp +68 -0
  6. package/Common/cpp/SharedItems/ShareableValue.cpp +18 -0
  7. package/Common/cpp/Tools/Mapper.cpp +23 -4
  8. package/Common/cpp/Tools/RuntimeDecorator.cpp +92 -32
  9. package/Common/cpp/Tools/Scheduler.cpp +4 -0
  10. package/Common/cpp/headers/Fabric/FabricUtils.h +78 -0
  11. package/Common/cpp/headers/Fabric/ReanimatedUIManagerBinding.h +46 -0
  12. package/Common/cpp/headers/NativeModules/NativeReanimatedModule.h +72 -2
  13. package/Common/cpp/headers/Registries/EventHandlerRegistry.h +8 -0
  14. package/Common/cpp/headers/Registries/NewestShadowNodesRegistry.h +41 -0
  15. package/Common/cpp/headers/SharedItems/SharedParent.h +3 -0
  16. package/Common/cpp/headers/SharedItems/ValueWrapper.h +25 -0
  17. package/Common/cpp/headers/SpecTools/ErrorHandler.h +5 -0
  18. package/Common/cpp/headers/Tools/Mapper.h +1 -1
  19. package/Common/cpp/headers/Tools/PlatformDepMethodsHolder.h +43 -8
  20. package/Common/cpp/headers/Tools/RuntimeDecorator.h +8 -3
  21. package/README.md +4 -0
  22. package/RNReanimated.podspec +22 -11
  23. package/android/CMakeLists.txt +139 -27
  24. package/android/build.gradle +86 -209
  25. package/android/local.properties +1 -0
  26. package/android/src/fabric/java/com/swmansion/reanimated/NativeProxy.java +310 -0
  27. package/android/src/fabric/java/com/swmansion/reanimated/ReaCompatibility.java +25 -0
  28. package/android/src/main/cpp/NativeProxy.cpp +178 -33
  29. package/android/src/main/cpp/headers/NativeProxy.h +43 -7
  30. package/android/src/main/java/com/swmansion/reanimated/NodesManager.java +13 -245
  31. package/android/src/main/java/com/swmansion/reanimated/ReanimatedModule.java +0 -125
  32. package/android/src/main/java/com/swmansion/reanimated/layoutReanimation/LayoutAnimations.java +2 -1
  33. package/android/src/{main → paper}/java/com/swmansion/reanimated/NativeProxy.java +15 -2
  34. package/android/src/paper/java/com/swmansion/reanimated/ReaCompatibility.java +17 -0
  35. package/ios/Fabric/REAInitializerRCTFabricSurface.h +12 -0
  36. package/ios/Fabric/REAInitializerRCTFabricSurface.mm +73 -0
  37. package/ios/REAEventDispatcher.m +0 -1
  38. package/ios/REAModule.h +10 -1
  39. package/ios/REAModule.mm +284 -0
  40. package/ios/REANodesManager.h +27 -51
  41. package/ios/{REANodesManager.m → REANodesManager.mm} +91 -223
  42. package/ios/native/NativeProxy.mm +144 -17
  43. package/ios/native/REAInitializer.mm +12 -4
  44. package/ios/native/UIResponder+Reanimated.h +3 -1
  45. package/ios/native/UIResponder+Reanimated.mm +3 -1
  46. package/lib/Animated.js +0 -4
  47. package/lib/createAnimatedComponent.js +30 -169
  48. package/lib/index.js +0 -4
  49. package/lib/reanimated2/Easing.js +0 -42
  50. package/lib/reanimated2/NativeMethods.js +20 -3
  51. package/lib/reanimated2/UpdateProps.js +25 -10
  52. package/lib/reanimated2/core.js +4 -1
  53. package/lib/reanimated2/fabricUtils.js +18 -0
  54. package/lib/reanimated2/globals.d.ts +17 -1
  55. package/lib/reanimated2/hook/useAnimatedRef.js +6 -2
  56. package/lib/reanimated2/hook/utils.js +0 -5
  57. package/lib/reanimated2/interpolateColor.js +5 -2
  58. package/lib/reanimated2/interpolation.js +0 -15
  59. package/lib/reanimated2/js-reanimated/index.js +3 -0
  60. package/lib/types/{lib/ConfigHelper.d.ts → ConfigHelper.d.ts} +0 -0
  61. package/lib/types/{lib/ReanimatedEventEmitter.d.ts → ReanimatedEventEmitter.d.ts} +0 -0
  62. package/lib/types/{lib/ReanimatedModule.d.ts → ReanimatedModule.d.ts} +0 -0
  63. package/lib/types/{lib/ReanimatedModule.macos.d.ts → ReanimatedModule.macos.d.ts} +0 -0
  64. package/lib/types/{lib/ReanimatedModule.native.d.ts → ReanimatedModule.native.d.ts} +0 -0
  65. package/lib/types/{lib/ReanimatedModule.windows.d.ts → ReanimatedModule.windows.d.ts} +0 -0
  66. package/lib/types/{lib/ReanimatedModuleCompat.d.ts → ReanimatedModuleCompat.d.ts} +0 -0
  67. package/lib/types/{lib/createAnimatedComponent.d.ts → createAnimatedComponent.d.ts} +0 -0
  68. package/lib/types/{lib/reanimated2 → reanimated2}/Bezier.d.ts +0 -0
  69. package/lib/types/{lib/reanimated2 → reanimated2}/Colors.d.ts +0 -0
  70. package/lib/types/{lib/reanimated2 → reanimated2}/Easing.d.ts +0 -0
  71. package/lib/types/{lib/reanimated2 → reanimated2}/NativeMethods.d.ts +2 -1
  72. package/lib/types/{lib/reanimated2 → reanimated2}/NativeReanimated/NativeReanimated.d.ts +0 -0
  73. package/lib/types/{lib/reanimated2 → reanimated2}/NativeReanimated/index.d.ts +0 -0
  74. package/lib/types/{lib/reanimated2 → reanimated2}/PlatformChecker.d.ts +0 -0
  75. package/lib/types/{lib/reanimated2 → reanimated2}/PropAdapters.d.ts +0 -0
  76. package/lib/types/{lib/reanimated2 → reanimated2}/UpdateProps.d.ts +0 -0
  77. package/lib/types/{lib/reanimated2 → reanimated2}/ViewDescriptorsSet.d.ts +0 -0
  78. package/lib/types/{lib/reanimated2 → reanimated2}/WorkletEventHandler.d.ts +0 -0
  79. package/lib/types/{lib/reanimated2 → reanimated2}/__mocks__/MutableValue.d.ts +0 -0
  80. package/lib/types/{lib/reanimated2 → reanimated2}/__mocks__/NativeReanimated.d.ts +0 -0
  81. package/lib/types/{lib/reanimated2 → reanimated2}/__mocks__/NativeReanimated.native.d.ts +0 -0
  82. package/lib/types/{lib/reanimated2 → reanimated2}/animation/commonTypes.d.ts +0 -0
  83. package/lib/types/{lib/reanimated2 → reanimated2}/animation/decay.d.ts +0 -0
  84. package/lib/types/{lib/reanimated2 → reanimated2}/animation/delay.d.ts +0 -0
  85. package/lib/types/{lib/reanimated2 → reanimated2}/animation/index.d.ts +0 -0
  86. package/lib/types/{lib/reanimated2 → reanimated2}/animation/repeat.d.ts +0 -0
  87. package/lib/types/{lib/reanimated2 → reanimated2}/animation/sequence.d.ts +0 -0
  88. package/lib/types/{lib/reanimated2 → reanimated2}/animation/spring.d.ts +0 -0
  89. package/lib/types/{lib/reanimated2 → reanimated2}/animation/styleAnimation.d.ts +0 -0
  90. package/lib/types/{lib/reanimated2 → reanimated2}/animation/timing.d.ts +0 -0
  91. package/lib/types/{lib/reanimated2 → reanimated2}/animation/util.d.ts +0 -0
  92. package/lib/types/{lib/reanimated2 → reanimated2}/commonTypes.d.ts +2 -1
  93. package/lib/types/{lib/reanimated2 → reanimated2}/component/FlatList.d.ts +0 -0
  94. package/lib/types/{lib/reanimated2 → reanimated2}/component/WrappedComponents.d.ts +0 -0
  95. package/lib/types/{lib/reanimated2 → reanimated2}/component/index.d.ts +0 -0
  96. package/lib/types/{lib/reanimated2 → reanimated2}/core.d.ts +0 -0
  97. package/lib/types/reanimated2/fabricUtils.d.ts +4 -0
  98. package/lib/types/{lib/reanimated2 → reanimated2}/hook/Hooks.d.ts +0 -0
  99. package/lib/types/{lib/reanimated2 → reanimated2}/hook/commonTypes.d.ts +2 -1
  100. package/lib/types/{lib/reanimated2 → reanimated2}/hook/index.d.ts +1 -1
  101. package/lib/types/{lib/reanimated2 → reanimated2}/hook/useAnimatedGestureHandler.d.ts +2 -2
  102. package/lib/types/{lib/reanimated2 → reanimated2}/hook/useAnimatedReaction.d.ts +0 -0
  103. package/lib/types/{lib/reanimated2 → reanimated2}/hook/useAnimatedRef.d.ts +0 -0
  104. package/lib/types/{lib/reanimated2 → reanimated2}/hook/useAnimatedScrollHandler.d.ts +2 -2
  105. package/lib/types/{lib/reanimated2 → reanimated2}/hook/useAnimatedSensor.d.ts +0 -0
  106. package/lib/types/{lib/reanimated2 → reanimated2}/hook/useAnimatedStyle.d.ts +0 -0
  107. package/lib/types/{lib/reanimated2 → reanimated2}/hook/useDerivedValue.d.ts +0 -0
  108. package/lib/types/{lib/reanimated2 → reanimated2}/hook/useSharedValue.d.ts +0 -0
  109. package/lib/types/{lib/reanimated2 → reanimated2}/hook/utils.d.ts +2 -2
  110. package/lib/types/{lib/reanimated2 → reanimated2}/index.d.ts +0 -0
  111. package/lib/types/{lib/reanimated2 → reanimated2}/interpolateColor.d.ts +5 -0
  112. package/lib/types/{lib/reanimated2 → reanimated2}/interpolation.d.ts +1 -4
  113. package/lib/types/{lib/reanimated2 → reanimated2}/jestUtils.d.ts +0 -0
  114. package/lib/types/{lib/reanimated2 → reanimated2}/js-reanimated/JSReanimated.d.ts +0 -0
  115. package/lib/types/{lib/reanimated2 → reanimated2}/js-reanimated/Mapper.d.ts +0 -0
  116. package/lib/types/{lib/reanimated2 → reanimated2}/js-reanimated/MapperRegistry.d.ts +0 -0
  117. package/lib/types/{lib/reanimated2 → reanimated2}/js-reanimated/MutableValue.d.ts +0 -0
  118. package/lib/types/{lib/reanimated2 → reanimated2}/js-reanimated/commonTypes.d.ts +0 -0
  119. package/lib/types/{lib/reanimated2 → reanimated2}/js-reanimated/index.d.ts +0 -0
  120. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/LayoutAnimationRepository.d.ts +0 -0
  121. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/animationBuilder/BaseAnimationBuilder.d.ts +0 -0
  122. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/animationBuilder/ComplexAnimationBuilder.d.ts +0 -0
  123. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/animationBuilder/Keyframe.d.ts +0 -0
  124. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/animationBuilder/commonTypes.d.ts +0 -0
  125. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/animationBuilder/index.d.ts +0 -0
  126. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Bounce.d.ts +0 -0
  127. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Default.d.ts +0 -0
  128. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Fade.d.ts +0 -0
  129. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Flip.d.ts +0 -0
  130. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Lightspeed.d.ts +0 -0
  131. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Pinwheel.d.ts +0 -0
  132. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Roll.d.ts +0 -0
  133. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Rotate.d.ts +0 -0
  134. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Slide.d.ts +0 -0
  135. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Stretch.d.ts +0 -0
  136. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Zoom.d.ts +0 -0
  137. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/index.d.ts +0 -0
  138. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultTransitions/CurvedTransition.d.ts +0 -0
  139. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultTransitions/EntryExitTransition.d.ts +0 -0
  140. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultTransitions/FadingTransition.d.ts +0 -0
  141. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultTransitions/JumpingTransition.d.ts +0 -0
  142. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultTransitions/LinearTransition.d.ts +0 -0
  143. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultTransitions/SequencedTransition.d.ts +0 -0
  144. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultTransitions/index.d.ts +0 -0
  145. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/index.d.ts +0 -0
  146. package/lib/types/{lib/reanimated2 → reanimated2}/mock.d.ts +0 -0
  147. package/lib/types/{lib/reanimated2 → reanimated2}/platform-specific/RNRenderer.d.ts +0 -0
  148. package/lib/types/{lib/reanimated2 → reanimated2}/platform-specific/RNRenderer.web.d.ts +0 -0
  149. package/lib/types/{lib/reanimated2 → reanimated2}/utils.d.ts +0 -0
  150. package/lib/types/{lib/setAndForwardRef.d.ts → setAndForwardRef.d.ts} +0 -0
  151. package/package.json +7 -5
  152. package/plugin.js +4 -1
  153. package/src/Animated.js +0 -4
  154. package/src/createAnimatedComponent.tsx +37 -197
  155. package/src/reanimated2/Easing.ts +0 -53
  156. package/src/reanimated2/NativeMethods.ts +39 -7
  157. package/src/reanimated2/UpdateProps.ts +38 -19
  158. package/src/reanimated2/commonTypes.ts +4 -1
  159. package/src/reanimated2/component/FlatList.tsx +8 -5
  160. package/src/reanimated2/core.ts +7 -1
  161. package/src/reanimated2/fabricUtils.ts +27 -0
  162. package/src/reanimated2/globals.d.ts +17 -1
  163. package/src/reanimated2/hook/commonTypes.ts +4 -2
  164. package/src/reanimated2/hook/index.ts +1 -1
  165. package/src/reanimated2/hook/useAnimatedGestureHandler.ts +2 -2
  166. package/src/reanimated2/hook/useAnimatedRef.ts +8 -3
  167. package/src/reanimated2/hook/useAnimatedScrollHandler.ts +2 -2
  168. package/src/reanimated2/hook/utils.ts +2 -11
  169. package/src/reanimated2/interpolateColor.ts +6 -2
  170. package/src/reanimated2/interpolation.ts +1 -26
  171. package/src/reanimated2/js-reanimated/index.ts +5 -0
  172. package/android/.gradle/7.2/dependencies-accessors/dependencies-accessors.lock +0 -0
  173. package/android/.gradle/7.2/dependencies-accessors/gc.properties +0 -0
  174. package/android/.gradle/7.2/executionHistory/executionHistory.bin +0 -0
  175. package/android/.gradle/7.2/executionHistory/executionHistory.lock +0 -0
  176. package/android/.gradle/7.2/fileChanges/last-build.bin +0 -0
  177. package/android/.gradle/7.2/fileHashes/fileHashes.bin +0 -0
  178. package/android/.gradle/7.2/fileHashes/fileHashes.lock +0 -0
  179. package/android/.gradle/7.2/fileHashes/resourceHashesCache.bin +0 -0
  180. package/android/.gradle/7.2/gc.properties +0 -0
  181. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  182. package/android/.gradle/buildOutputCleanup/cache.properties +0 -2
  183. package/android/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
  184. package/android/.gradle/checksums/checksums.lock +0 -0
  185. package/android/.gradle/checksums/md5-checksums.bin +0 -0
  186. package/android/.gradle/checksums/sha1-checksums.bin +0 -0
  187. package/android/.gradle/vcs-1/gc.properties +0 -0
  188. package/android/react-native-reanimated-64-hermes.aar +0 -0
  189. package/android/react-native-reanimated-64-jsc.aar +0 -0
  190. package/android/react-native-reanimated-65-hermes.aar +0 -0
  191. package/android/react-native-reanimated-65-jsc.aar +0 -0
  192. package/android/react-native-reanimated-66-hermes.aar +0 -0
  193. package/android/react-native-reanimated-66-jsc.aar +0 -0
  194. package/android/react-native-reanimated-67-hermes.aar +0 -0
  195. package/android/react-native-reanimated-67-jsc.aar +0 -0
  196. package/android/react-native-reanimated-68-hermes.aar +0 -0
  197. package/android/react-native-reanimated-68-jsc.aar +0 -0
  198. package/android/src/main/java/com/swmansion/reanimated/UpdateContext.java +0 -11
  199. package/android/src/main/java/com/swmansion/reanimated/nodes/AlwaysNode.java +0 -29
  200. package/android/src/main/java/com/swmansion/reanimated/nodes/BezierNode.java +0 -87
  201. package/android/src/main/java/com/swmansion/reanimated/nodes/BlockNode.java +0 -24
  202. package/android/src/main/java/com/swmansion/reanimated/nodes/CallFuncNode.java +0 -49
  203. package/android/src/main/java/com/swmansion/reanimated/nodes/ClockNode.java +0 -38
  204. package/android/src/main/java/com/swmansion/reanimated/nodes/ClockOpNode.java +0 -73
  205. package/android/src/main/java/com/swmansion/reanimated/nodes/ConcatNode.java +0 -36
  206. package/android/src/main/java/com/swmansion/reanimated/nodes/CondNode.java +0 -41
  207. package/android/src/main/java/com/swmansion/reanimated/nodes/DebugNode.java +0 -33
  208. package/android/src/main/java/com/swmansion/reanimated/nodes/EventNode.java +0 -83
  209. package/android/src/main/java/com/swmansion/reanimated/nodes/FinalNode.java +0 -5
  210. package/android/src/main/java/com/swmansion/reanimated/nodes/FunctionNode.java +0 -20
  211. package/android/src/main/java/com/swmansion/reanimated/nodes/JSCallNode.java +0 -41
  212. package/android/src/main/java/com/swmansion/reanimated/nodes/Node.java +0 -139
  213. package/android/src/main/java/com/swmansion/reanimated/nodes/NoopNode.java +0 -37
  214. package/android/src/main/java/com/swmansion/reanimated/nodes/OperatorNode.java +0 -377
  215. package/android/src/main/java/com/swmansion/reanimated/nodes/ParamNode.java +0 -71
  216. package/android/src/main/java/com/swmansion/reanimated/nodes/PropsNode.java +0 -153
  217. package/android/src/main/java/com/swmansion/reanimated/nodes/SetNode.java +0 -32
  218. package/android/src/main/java/com/swmansion/reanimated/nodes/StyleNode.java +0 -40
  219. package/android/src/main/java/com/swmansion/reanimated/nodes/TransformNode.java +0 -84
  220. package/android/src/main/java/com/swmansion/reanimated/nodes/ValueNode.java +0 -40
  221. package/android/src/main/java/com/swmansion/reanimated/transitions/ChangeTransition.java +0 -84
  222. package/android/src/main/java/com/swmansion/reanimated/transitions/SaneSidePropagation.java +0 -25
  223. package/android/src/main/java/com/swmansion/reanimated/transitions/Scale.java +0 -86
  224. package/android/src/main/java/com/swmansion/reanimated/transitions/TransitionModule.java +0 -41
  225. package/android/src/main/java/com/swmansion/reanimated/transitions/TransitionUtils.java +0 -161
  226. package/ios/Nodes/REAAlwaysNode.h +0 -4
  227. package/ios/Nodes/REAAlwaysNode.m +0 -35
  228. package/ios/Nodes/REABezierNode.h +0 -5
  229. package/ios/Nodes/REABezierNode.m +0 -103
  230. package/ios/Nodes/REABlockNode.h +0 -5
  231. package/ios/Nodes/REABlockNode.m +0 -25
  232. package/ios/Nodes/REACallFuncNode.h +0 -6
  233. package/ios/Nodes/REACallFuncNode.m +0 -69
  234. package/ios/Nodes/REAClockNodes.h +0 -19
  235. package/ios/Nodes/REAClockNodes.m +0 -118
  236. package/ios/Nodes/REAConcatNode.h +0 -5
  237. package/ios/Nodes/REAConcatNode.m +0 -32
  238. package/ios/Nodes/REACondNode.h +0 -5
  239. package/ios/Nodes/REACondNode.m +0 -36
  240. package/ios/Nodes/READebugNode.h +0 -5
  241. package/ios/Nodes/READebugNode.m +0 -30
  242. package/ios/Nodes/REAEventNode.h +0 -8
  243. package/ios/Nodes/REAEventNode.m +0 -35
  244. package/ios/Nodes/REAFunctionNode.h +0 -6
  245. package/ios/Nodes/REAFunctionNode.m +0 -24
  246. package/ios/Nodes/REAJSCallNode.h +0 -5
  247. package/ios/Nodes/REAJSCallNode.m +0 -30
  248. package/ios/Nodes/REANode.h +0 -40
  249. package/ios/Nodes/REANode.m +0 -155
  250. package/ios/Nodes/REAOperatorNode.h +0 -5
  251. package/ios/Nodes/REAOperatorNode.m +0 -114
  252. package/ios/Nodes/REAParamNode.h +0 -10
  253. package/ios/Nodes/REAParamNode.m +0 -79
  254. package/ios/Nodes/REAPropsNode.h +0 -9
  255. package/ios/Nodes/REAPropsNode.m +0 -96
  256. package/ios/Nodes/REASetNode.h +0 -5
  257. package/ios/Nodes/REASetNode.m +0 -34
  258. package/ios/Nodes/REAStyleNode.h +0 -5
  259. package/ios/Nodes/REAStyleNode.m +0 -27
  260. package/ios/Nodes/REATransformNode.h +0 -5
  261. package/ios/Nodes/REATransformNode.m +0 -36
  262. package/ios/Nodes/REAValueNode.h +0 -9
  263. package/ios/Nodes/REAValueNode.m +0 -26
  264. package/ios/REAModule.m +0 -184
  265. package/ios/Transitioning/RCTConvert+REATransition.h +0 -11
  266. package/ios/Transitioning/RCTConvert+REATransition.m +0 -53
  267. package/ios/Transitioning/REAAllTransitions.h +0 -26
  268. package/ios/Transitioning/REAAllTransitions.m +0 -296
  269. package/ios/Transitioning/REATransition.h +0 -64
  270. package/ios/Transitioning/REATransition.m +0 -210
  271. package/ios/Transitioning/REATransitionAnimation.h +0 -17
  272. package/ios/Transitioning/REATransitionAnimation.m +0 -79
  273. package/ios/Transitioning/REATransitionManager.h +0 -9
  274. package/ios/Transitioning/REATransitionManager.m +0 -60
  275. package/ios/Transitioning/REATransitionValues.h +0 -15
  276. package/ios/Transitioning/REATransitionValues.m +0 -25
  277. package/lib/reanimated1/Easing.js +0 -231
  278. package/lib/reanimated1/SpringConfig.js +0 -79
  279. package/lib/reanimated1/Transitioning.js +0 -158
  280. package/lib/reanimated1/animations/Animation.js +0 -32
  281. package/lib/reanimated1/animations/SpringUtils.js +0 -199
  282. package/lib/reanimated1/animations/backwardCompatibleAnimWrapper.js +0 -117
  283. package/lib/reanimated1/animations/decay.js +0 -54
  284. package/lib/reanimated1/animations/spring.js +0 -198
  285. package/lib/reanimated1/animations/timing.js +0 -74
  286. package/lib/reanimated1/base.js +0 -13
  287. package/lib/reanimated1/core/AnimatedAlways.js +0 -33
  288. package/lib/reanimated1/core/AnimatedBezier.js +0 -150
  289. package/lib/reanimated1/core/AnimatedBlock.js +0 -52
  290. package/lib/reanimated1/core/AnimatedCall.js +0 -55
  291. package/lib/reanimated1/core/AnimatedCallFunc.js +0 -72
  292. package/lib/reanimated1/core/AnimatedClock.js +0 -90
  293. package/lib/reanimated1/core/AnimatedClockTest.js +0 -22
  294. package/lib/reanimated1/core/AnimatedCode.js +0 -32
  295. package/lib/reanimated1/core/AnimatedConcat.js +0 -32
  296. package/lib/reanimated1/core/AnimatedCond.js +0 -57
  297. package/lib/reanimated1/core/AnimatedDebug.js +0 -62
  298. package/lib/reanimated1/core/AnimatedEvent.js +0 -126
  299. package/lib/reanimated1/core/AnimatedFunction.js +0 -55
  300. package/lib/reanimated1/core/AnimatedNode.js +0 -223
  301. package/lib/reanimated1/core/AnimatedOperator.js +0 -103
  302. package/lib/reanimated1/core/AnimatedParam.js +0 -88
  303. package/lib/reanimated1/core/AnimatedProps.js +0 -108
  304. package/lib/reanimated1/core/AnimatedSet.js +0 -38
  305. package/lib/reanimated1/core/AnimatedStartClock.js +0 -30
  306. package/lib/reanimated1/core/AnimatedStopClock.js +0 -30
  307. package/lib/reanimated1/core/AnimatedStyle.js +0 -78
  308. package/lib/reanimated1/core/AnimatedTransform.js +0 -78
  309. package/lib/reanimated1/core/AnimatedValue.js +0 -38
  310. package/lib/reanimated1/core/Core.test.js +0 -30
  311. package/lib/reanimated1/core/InternalAnimatedValue.js +0 -87
  312. package/lib/reanimated1/core/__mocks__/AnimatedProps.js +0 -86
  313. package/lib/reanimated1/core/createEventObjectProxyPolyfill.js +0 -44
  314. package/lib/reanimated1/derived/__mocks__/evaluateOnce.js +0 -14
  315. package/lib/reanimated1/derived/acc.js +0 -11
  316. package/lib/reanimated1/derived/color.js +0 -47
  317. package/lib/reanimated1/derived/diff.js +0 -16
  318. package/lib/reanimated1/derived/diffClamp.js +0 -11
  319. package/lib/reanimated1/derived/evaluateOnce.js +0 -35
  320. package/lib/reanimated1/derived/index.js +0 -8
  321. package/lib/reanimated1/derived/interpolate.js +0 -152
  322. package/lib/reanimated1/derived/interpolateColors.js +0 -62
  323. package/lib/reanimated1/derived/onChange.js +0 -14
  324. package/lib/reanimated1/derived/useCode.js +0 -41
  325. package/lib/reanimated1/index.js +0 -53
  326. package/lib/reanimated1/operators.js +0 -35
  327. package/lib/reanimated1/useValue.js +0 -10
  328. package/lib/reanimated1/val.js +0 -3
  329. package/lib/types/react-native-reanimated-tests.d.ts +0 -1
  330. package/src/reanimated1/Easing.js +0 -231
  331. package/src/reanimated1/SpringConfig.js +0 -79
  332. package/src/reanimated1/Transitioning.js +0 -158
  333. package/src/reanimated1/animations/Animation.js +0 -32
  334. package/src/reanimated1/animations/SpringUtils.js +0 -199
  335. package/src/reanimated1/animations/backwardCompatibleAnimWrapper.js +0 -117
  336. package/src/reanimated1/animations/decay.js +0 -54
  337. package/src/reanimated1/animations/spring.js +0 -198
  338. package/src/reanimated1/animations/timing.js +0 -74
  339. package/src/reanimated1/base.js +0 -13
  340. package/src/reanimated1/core/AnimatedAlways.js +0 -33
  341. package/src/reanimated1/core/AnimatedBezier.js +0 -150
  342. package/src/reanimated1/core/AnimatedBlock.js +0 -52
  343. package/src/reanimated1/core/AnimatedCall.js +0 -55
  344. package/src/reanimated1/core/AnimatedCallFunc.js +0 -72
  345. package/src/reanimated1/core/AnimatedClock.js +0 -90
  346. package/src/reanimated1/core/AnimatedClockTest.js +0 -22
  347. package/src/reanimated1/core/AnimatedCode.js +0 -32
  348. package/src/reanimated1/core/AnimatedConcat.js +0 -32
  349. package/src/reanimated1/core/AnimatedCond.js +0 -57
  350. package/src/reanimated1/core/AnimatedDebug.js +0 -62
  351. package/src/reanimated1/core/AnimatedEvent.js +0 -126
  352. package/src/reanimated1/core/AnimatedFunction.js +0 -55
  353. package/src/reanimated1/core/AnimatedNode.js +0 -223
  354. package/src/reanimated1/core/AnimatedOperator.js +0 -103
  355. package/src/reanimated1/core/AnimatedParam.js +0 -88
  356. package/src/reanimated1/core/AnimatedProps.js +0 -108
  357. package/src/reanimated1/core/AnimatedSet.js +0 -38
  358. package/src/reanimated1/core/AnimatedStartClock.js +0 -30
  359. package/src/reanimated1/core/AnimatedStopClock.js +0 -30
  360. package/src/reanimated1/core/AnimatedStyle.js +0 -78
  361. package/src/reanimated1/core/AnimatedTransform.js +0 -78
  362. package/src/reanimated1/core/AnimatedValue.js +0 -38
  363. package/src/reanimated1/core/Core.test.js +0 -30
  364. package/src/reanimated1/core/InternalAnimatedValue.js +0 -87
  365. package/src/reanimated1/core/__mocks__/AnimatedProps.js +0 -86
  366. package/src/reanimated1/core/createEventObjectProxyPolyfill.js +0 -44
  367. package/src/reanimated1/derived/__mocks__/evaluateOnce.js +0 -14
  368. package/src/reanimated1/derived/acc.js +0 -11
  369. package/src/reanimated1/derived/color.js +0 -47
  370. package/src/reanimated1/derived/diff.js +0 -16
  371. package/src/reanimated1/derived/diffClamp.js +0 -11
  372. package/src/reanimated1/derived/evaluateOnce.js +0 -35
  373. package/src/reanimated1/derived/index.js +0 -8
  374. package/src/reanimated1/derived/interpolate.js +0 -152
  375. package/src/reanimated1/derived/interpolateColors.js +0 -62
  376. package/src/reanimated1/derived/onChange.js +0 -14
  377. package/src/reanimated1/derived/useCode.js +0 -41
  378. package/src/reanimated1/index.js +0 -53
  379. package/src/reanimated1/operators.js +0 -35
  380. package/src/reanimated1/useValue.js +0 -10
  381. package/src/reanimated1/val.js +0 -3
@@ -1,5 +1,9 @@
1
1
  #pragma once
2
2
 
3
+ #ifdef RCT_NEW_ARCH_ENABLED
4
+ #include <JFabricUIManager.h>
5
+ #endif
6
+
3
7
  #include <ReactCommon/CallInvokerHolder.h>
4
8
  #include <fbjni/fbjni.h>
5
9
  #include <jsi/jsi.h>
@@ -128,7 +132,13 @@ class NativeProxy : public jni::HybridClass<NativeProxy> {
128
132
  jni::alias_ref<facebook::react::CallInvokerHolder::javaobject>
129
133
  jsCallInvokerHolder,
130
134
  jni::alias_ref<AndroidScheduler::javaobject> scheduler,
131
- jni::alias_ref<LayoutAnimations::javaobject> layoutAnimations);
135
+ jni::alias_ref<LayoutAnimations::javaobject> layoutAnimations
136
+ #ifdef RCT_NEW_ARCH_ENABLED
137
+ ,
138
+ jni::alias_ref<facebook::react::JFabricUIManager::javaobject>
139
+ fabricUIManager
140
+ #endif
141
+ /**/);
132
142
  static void registerNatives();
133
143
 
134
144
  ~NativeProxy();
@@ -139,18 +149,31 @@ class NativeProxy : public jni::HybridClass<NativeProxy> {
139
149
  jsi::Runtime *runtime_;
140
150
  std::shared_ptr<facebook::react::CallInvoker> jsCallInvoker_;
141
151
  std::shared_ptr<NativeReanimatedModule> _nativeReanimatedModule;
142
- std::shared_ptr<Scheduler> scheduler_;
143
152
  jni::global_ref<LayoutAnimations::javaobject> layoutAnimations;
144
-
153
+ std::shared_ptr<Scheduler> scheduler_;
154
+ #ifdef RCT_NEW_ARCH_ENABLED
155
+ std::shared_ptr<NewestShadowNodesRegistry> newestShadowNodesRegistry_;
156
+
157
+ // removed temporary, new event listener mechanism need fix on the RN side
158
+ // std::shared_ptr<facebook::react::Scheduler> reactScheduler_;
159
+ // std::shared_ptr<EventListener> eventListener_;
160
+ #endif
161
+ #ifdef RCT_NEW_ARCH_ENABLED
162
+ void installJSIBindings(
163
+ jni::alias_ref<JFabricUIManager::javaobject> fabricUIManager);
164
+ void synchronouslyUpdateUIProps(
165
+ jsi::Runtime &rt,
166
+ Tag viewTag,
167
+ const jsi::Value &uiProps);
168
+ #else
145
169
  void installJSIBindings();
170
+ #endif
146
171
  bool isAnyHandlerWaitingForEvent(std::string);
172
+ void performOperations();
147
173
  void requestRender(std::function<void(double)> onRender);
148
174
  void registerEventHandler(
149
175
  std::function<void(std::string, std::string)> handler);
150
- void updateProps(jsi::Runtime &rt, int viewTag, const jsi::Object &props);
151
- void scrollTo(int viewTag, double x, double y, bool animated);
152
176
  void setGestureState(int handlerTag, int newState);
153
- std::vector<std::pair<std::string, double>> measure(int viewTag);
154
177
  int registerSensor(
155
178
  int sensorType,
156
179
  int interval,
@@ -160,13 +183,26 @@ class NativeProxy : public jni::HybridClass<NativeProxy> {
160
183
  jsi::Runtime &rt,
161
184
  const jsi::Value &uiProps,
162
185
  const jsi::Value &nativeProps);
186
+ #ifdef RCT_NEW_ARCH_ENABLED
187
+ // nothing
188
+ #else
189
+ void updateProps(jsi::Runtime &rt, int viewTag, const jsi::Object &props);
190
+ void scrollTo(int viewTag, double x, double y, bool animated);
191
+ std::vector<std::pair<std::string, double>> measure(int viewTag);
192
+ #endif
163
193
 
164
194
  explicit NativeProxy(
165
195
  jni::alias_ref<NativeProxy::jhybridobject> jThis,
166
196
  jsi::Runtime *rt,
167
197
  std::shared_ptr<facebook::react::CallInvoker> jsCallInvoker,
168
198
  std::shared_ptr<Scheduler> scheduler,
169
- jni::global_ref<LayoutAnimations::javaobject> _layoutAnimations);
199
+ jni::global_ref<LayoutAnimations::javaobject> _layoutAnimations
200
+ #ifdef RCT_NEW_ARCH_ENABLED
201
+ ,
202
+ jni::alias_ref<facebook::react::JFabricUIManager::javaobject>
203
+ fabricUIManager
204
+ #endif
205
+ /**/);
170
206
  };
171
207
 
172
208
  } // namespace reanimated
@@ -1,11 +1,8 @@
1
1
  package com.swmansion.reanimated;
2
2
 
3
- import android.util.SparseArray;
4
3
  import android.view.View;
5
4
  import com.facebook.react.bridge.Arguments;
6
- import com.facebook.react.bridge.Callback;
7
5
  import com.facebook.react.bridge.GuardedRunnable;
8
- import com.facebook.react.bridge.JSApplicationIllegalArgumentException;
9
6
  import com.facebook.react.bridge.JavaOnlyMap;
10
7
  import com.facebook.react.bridge.ReactApplicationContext;
11
8
  import com.facebook.react.bridge.ReactContext;
@@ -28,30 +25,8 @@ import com.facebook.react.uimanager.events.Event;
28
25
  import com.facebook.react.uimanager.events.EventDispatcherListener;
29
26
  import com.facebook.react.uimanager.events.RCTEventEmitter;
30
27
  import com.swmansion.reanimated.layoutReanimation.AnimationsManager;
31
- import com.swmansion.reanimated.nodes.AlwaysNode;
32
- import com.swmansion.reanimated.nodes.BezierNode;
33
- import com.swmansion.reanimated.nodes.BlockNode;
34
- import com.swmansion.reanimated.nodes.CallFuncNode;
35
- import com.swmansion.reanimated.nodes.ClockNode;
36
- import com.swmansion.reanimated.nodes.ClockOpNode;
37
- import com.swmansion.reanimated.nodes.ConcatNode;
38
- import com.swmansion.reanimated.nodes.CondNode;
39
- import com.swmansion.reanimated.nodes.DebugNode;
40
- import com.swmansion.reanimated.nodes.EventNode;
41
- import com.swmansion.reanimated.nodes.FunctionNode;
42
- import com.swmansion.reanimated.nodes.JSCallNode;
43
- import com.swmansion.reanimated.nodes.Node;
44
- import com.swmansion.reanimated.nodes.NoopNode;
45
- import com.swmansion.reanimated.nodes.OperatorNode;
46
- import com.swmansion.reanimated.nodes.ParamNode;
47
- import com.swmansion.reanimated.nodes.PropsNode;
48
- import com.swmansion.reanimated.nodes.SetNode;
49
- import com.swmansion.reanimated.nodes.StyleNode;
50
- import com.swmansion.reanimated.nodes.TransformNode;
51
- import com.swmansion.reanimated.nodes.ValueNode;
52
28
  import java.util.ArrayList;
53
29
  import java.util.Collections;
54
- import java.util.HashMap;
55
30
  import java.util.LinkedList;
56
31
  import java.util.List;
57
32
  import java.util.Map;
@@ -64,8 +39,6 @@ import javax.annotation.Nullable;
64
39
 
65
40
  public class NodesManager implements EventDispatcherListener {
66
41
 
67
- private static final Double ZERO = Double.valueOf(0);
68
-
69
42
  public void scrollTo(int viewTag, double x, double y, boolean animated) {
70
43
  View view;
71
44
  try {
@@ -92,28 +65,23 @@ public class NodesManager implements EventDispatcherListener {
92
65
  void onAnimationFrame(double timestampMs);
93
66
  }
94
67
 
95
- private AnimationsManager mAnimationManager = null;
96
- private final SparseArray<Node> mAnimatedNodes = new SparseArray<>();
97
- private final Map<String, EventNode> mEventMapping = new HashMap<>();
68
+ private AnimationsManager mAnimationManager;
98
69
  private final UIImplementation mUIImplementation;
99
70
  private final DeviceEventManagerModule.RCTDeviceEventEmitter mEventEmitter;
100
71
  private final ReactChoreographer mReactChoreographer;
101
72
  private final GuardedFrameCallback mChoreographerCallback;
102
73
  protected final UIManagerModule.CustomEventNamesResolver mCustomEventNamesResolver;
103
74
  private final AtomicBoolean mCallbackPosted = new AtomicBoolean();
104
- private final NoopNode mNoopNode;
105
75
  private final ReactContext mContext;
106
76
  private final UIManagerModule mUIManager;
107
-
77
+ private ReactApplicationContext mReactApplicationContext;
108
78
  private RCTEventEmitter mCustomEventHandler;
109
79
  private List<OnAnimationFrame> mFrameCallbacks = new ArrayList<>();
110
80
  private ConcurrentLinkedQueue<CopiedEvent> mEventQueue = new ConcurrentLinkedQueue<>();
111
- private boolean mWantRunUpdates;
112
-
113
81
  public double currentFrameTimeMs;
114
- public final UpdateContext updateContext;
115
82
  public Set<String> uiProps = Collections.emptySet();
116
83
  public Set<String> nativeProps = Collections.emptySet();
84
+ private ReaCompatibility compatibility;
117
85
 
118
86
  public NativeProxy getNativeProxy() {
119
87
  return mNativeProxy;
@@ -137,8 +105,11 @@ public class NodesManager implements EventDispatcherListener {
137
105
  }
138
106
 
139
107
  public void initWithContext(ReactApplicationContext reactApplicationContext) {
108
+ mReactApplicationContext = reactApplicationContext;
140
109
  mNativeProxy = new NativeProxy(reactApplicationContext);
141
110
  mAnimationManager.setScheduler(getNativeProxy().getScheduler());
111
+ compatibility = new ReaCompatibility(reactApplicationContext);
112
+ compatibility.registerFabricEventListener(this);
142
113
  }
143
114
 
144
115
  private final class NativeUpdateOperation {
@@ -157,7 +128,6 @@ public class NodesManager implements EventDispatcherListener {
157
128
  public NodesManager(ReactContext context) {
158
129
  mContext = context;
159
130
  mUIManager = context.getNativeModule(UIManagerModule.class);
160
- updateContext = new UpdateContext();
161
131
  mUIImplementation = mUIManager.getUIImplementation();
162
132
  mCustomEventNamesResolver = mUIManager.getDirectEventNamesResolver();
163
133
  mEventEmitter = context.getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter.class);
@@ -171,8 +141,6 @@ public class NodesManager implements EventDispatcherListener {
171
141
  }
172
142
  };
173
143
 
174
- mNoopNode = new NoopNode(this);
175
-
176
144
  // We register as event listener at the end, because we pass `this` and we haven't finished
177
145
  // contructing an object yet.
178
146
  // This lead to a crash described in
@@ -214,7 +182,9 @@ public class NodesManager implements EventDispatcherListener {
214
182
  }
215
183
 
216
184
  private void performOperations() {
217
- if (!mOperationsInBatch.isEmpty()) {
185
+ if (BuildConfig.IS_NEW_ARCHITECTURE_ENABLED) {
186
+ mNativeProxy.performOperations();
187
+ } else if (!mOperationsInBatch.isEmpty()) {
218
188
  final Queue<NativeUpdateOperation> copiedOperationsQueue = mOperationsInBatch;
219
189
  mOperationsInBatch = new LinkedList<>();
220
190
  final boolean trySynchronously = mTryRunBatchUpdatesSynchronously;
@@ -274,13 +244,9 @@ public class NodesManager implements EventDispatcherListener {
274
244
  }
275
245
  }
276
246
 
277
- if (mWantRunUpdates) {
278
- Node.runUpdates(updateContext);
279
- }
280
247
  performOperations();
281
248
 
282
249
  mCallbackPosted.set(false);
283
- mWantRunUpdates = false;
284
250
 
285
251
  if (!mFrameCallbacks.isEmpty() || !mEventQueue.isEmpty()) {
286
252
  // enqueue next frame
@@ -288,153 +254,6 @@ public class NodesManager implements EventDispatcherListener {
288
254
  }
289
255
  }
290
256
 
291
- /**
292
- * Null-safe way of getting node's value. If node is not present we return 0. This also matches
293
- * iOS behavior when the app won't just crash.
294
- */
295
- public Object getNodeValue(int nodeID) {
296
- Node node = mAnimatedNodes.get(nodeID);
297
- if (node != null) {
298
- return node.value();
299
- }
300
- return ZERO;
301
- }
302
-
303
- /**
304
- * Null-safe way of getting node reference. This method always returns non-null instance. If the
305
- * node is not present we try to return a "no-op" node that allows for "set" calls and always
306
- * returns 0 as a value.
307
- */
308
- public <T extends Node> T findNodeById(int id, Class<T> type) {
309
- Node node = mAnimatedNodes.get(id);
310
- if (node == null) {
311
- if (type == Node.class || type == ValueNode.class) {
312
- return (T) mNoopNode;
313
- }
314
- throw new IllegalArgumentException(
315
- "Requested node with id " + id + " of type " + type + " cannot be found");
316
- }
317
- if (type.isInstance(node)) {
318
- return (T) node;
319
- }
320
- throw new IllegalArgumentException(
321
- "Node with id "
322
- + id
323
- + " is of incompatible type "
324
- + node.getClass()
325
- + ", requested type was "
326
- + type);
327
- }
328
-
329
- public void createNode(int nodeID, ReadableMap config) {
330
- if (mAnimatedNodes.get(nodeID) != null) {
331
- throw new JSApplicationIllegalArgumentException(
332
- "Animated node with ID " + nodeID + " already exists");
333
- }
334
- String type = config.getString("type");
335
- final Node node;
336
- if ("props".equals(type)) {
337
- node = new PropsNode(nodeID, config, this, mUIImplementation);
338
- } else if ("style".equals(type)) {
339
- node = new StyleNode(nodeID, config, this);
340
- } else if ("transform".equals(type)) {
341
- node = new TransformNode(nodeID, config, this);
342
- } else if ("value".equals(type)) {
343
- node = new ValueNode(nodeID, config, this);
344
- } else if ("block".equals(type)) {
345
- node = new BlockNode(nodeID, config, this);
346
- } else if ("cond".equals(type)) {
347
- node = new CondNode(nodeID, config, this);
348
- } else if ("op".equals(type)) {
349
- node = new OperatorNode(nodeID, config, this);
350
- } else if ("set".equals(type)) {
351
- node = new SetNode(nodeID, config, this);
352
- } else if ("debug".equals(type)) {
353
- node = new DebugNode(nodeID, config, this);
354
- } else if ("clock".equals(type)) {
355
- node = new ClockNode(nodeID, config, this);
356
- } else if ("clockStart".equals(type)) {
357
- node = new ClockOpNode.ClockStartNode(nodeID, config, this);
358
- } else if ("clockStop".equals(type)) {
359
- node = new ClockOpNode.ClockStopNode(nodeID, config, this);
360
- } else if ("clockTest".equals(type)) {
361
- node = new ClockOpNode.ClockTestNode(nodeID, config, this);
362
- } else if ("call".equals(type)) {
363
- node = new JSCallNode(nodeID, config, this);
364
- } else if ("bezier".equals(type)) {
365
- node = new BezierNode(nodeID, config, this);
366
- } else if ("event".equals(type)) {
367
- node = new EventNode(nodeID, config, this);
368
- } else if ("always".equals(type)) {
369
- node = new AlwaysNode(nodeID, config, this);
370
- } else if ("concat".equals(type)) {
371
- node = new ConcatNode(nodeID, config, this);
372
- } else if ("param".equals(type)) {
373
- node = new ParamNode(nodeID, config, this);
374
- } else if ("func".equals(type)) {
375
- node = new FunctionNode(nodeID, config, this);
376
- } else if ("callfunc".equals(type)) {
377
- node = new CallFuncNode(nodeID, config, this);
378
- } else {
379
- throw new JSApplicationIllegalArgumentException("Unsupported node type: " + type);
380
- }
381
- mAnimatedNodes.put(nodeID, node);
382
- }
383
-
384
- public void dropNode(int tag) {
385
- Node node = mAnimatedNodes.get(tag);
386
- if (node != null) {
387
- node.onDrop();
388
- }
389
- mAnimatedNodes.remove(tag);
390
- }
391
-
392
- public void connectNodes(int parentID, int childID) {
393
- Node parentNode = mAnimatedNodes.get(parentID);
394
- Node childNode = mAnimatedNodes.get(childID);
395
- if (childNode == null) {
396
- throw new JSApplicationIllegalArgumentException(
397
- "Animated node with ID " + childID + " does not exists");
398
- }
399
- parentNode.addChild(childNode);
400
- }
401
-
402
- public void disconnectNodes(int parentID, int childID) {
403
- Node parentNode = mAnimatedNodes.get(parentID);
404
- Node childNode = mAnimatedNodes.get(childID);
405
- if (childNode == null) {
406
- throw new JSApplicationIllegalArgumentException(
407
- "Animated node with ID " + childID + " does not exists");
408
- }
409
- parentNode.removeChild(childNode);
410
- }
411
-
412
- public void connectNodeToView(int nodeID, int viewTag) {
413
- Node node = mAnimatedNodes.get(nodeID);
414
- if (node == null) {
415
- throw new JSApplicationIllegalArgumentException(
416
- "Animated node with ID " + nodeID + " does not exists");
417
- }
418
- if (!(node instanceof PropsNode)) {
419
- throw new JSApplicationIllegalArgumentException(
420
- "Animated node connected to view should be" + "of type " + PropsNode.class.getName());
421
- }
422
- ((PropsNode) node).connectToView(viewTag);
423
- }
424
-
425
- public void disconnectNodeFromView(int nodeID, int viewTag) {
426
- Node node = mAnimatedNodes.get(nodeID);
427
- if (node == null) {
428
- throw new JSApplicationIllegalArgumentException(
429
- "Animated node with ID " + nodeID + " does not exists");
430
- }
431
- if (!(node instanceof PropsNode)) {
432
- throw new JSApplicationIllegalArgumentException(
433
- "Animated node connected to view should be" + "of type " + PropsNode.class.getName());
434
- }
435
- ((PropsNode) node).disconnectFromView(viewTag);
436
- }
437
-
438
257
  public void enqueueUpdateViewOnNativeThread(
439
258
  int viewTag, WritableMap nativeProps, boolean trySynchronously) {
440
259
  if (trySynchronously) {
@@ -443,41 +262,11 @@ public class NodesManager implements EventDispatcherListener {
443
262
  mOperationsInBatch.add(new NativeUpdateOperation(viewTag, nativeProps));
444
263
  }
445
264
 
446
- public void attachEvent(int viewTag, String eventName, int eventNodeID) {
447
- String key = viewTag + eventName;
448
-
449
- EventNode node = (EventNode) mAnimatedNodes.get(eventNodeID);
450
- if (node == null) {
451
- throw new JSApplicationIllegalArgumentException(
452
- "Event node " + eventNodeID + " does not exists");
453
- }
454
- if (mEventMapping.containsKey(key)) {
455
- throw new JSApplicationIllegalArgumentException(
456
- "Event handler already set for the given view and event type");
457
- }
458
-
459
- mEventMapping.put(key, node);
460
- }
461
-
462
- public void detachEvent(int viewTag, String eventName, int eventNodeID) {
463
- String key = viewTag + eventName;
464
- mEventMapping.remove(key);
465
- }
466
-
467
265
  public void configureProps(Set<String> uiPropsSet, Set<String> nativePropsSet) {
468
266
  uiProps = uiPropsSet;
469
267
  nativeProps = nativePropsSet;
470
268
  }
471
269
 
472
- public void getValue(int nodeID, Callback callback) {
473
- callback.invoke(mAnimatedNodes.get(nodeID).value());
474
- }
475
-
476
- public void postRunUpdatesAfterAnimation() {
477
- mWantRunUpdates = true;
478
- startUpdatingOnAnimationFrame();
479
- }
480
-
481
270
  public void postOnAnimation(OnAnimationFrame onAnimationFrame) {
482
271
  mFrameCallbacks.add(onAnimationFrame);
483
272
  startUpdatingOnAnimationFrame();
@@ -511,33 +300,15 @@ public class NodesManager implements EventDispatcherListener {
511
300
  // If the event has a different name in native, convert it to it's JS name.
512
301
  String eventName = mCustomEventNamesResolver.resolveCustomEventName(event.getEventName());
513
302
  int viewTag = event.getViewTag();
514
- String key = viewTag + eventName;
515
-
516
303
  if (mCustomEventHandler != null) {
517
304
  event.dispatch(mCustomEventHandler);
518
305
  }
519
-
520
- if (!mEventMapping.isEmpty()) {
521
- EventNode node = mEventMapping.get(key);
522
- if (node != null) {
523
- event.dispatch(node);
524
- }
525
- }
526
306
  }
527
307
 
528
308
  private void handleEvent(int targetTag, String eventName, @Nullable WritableMap event) {
529
309
  if (mCustomEventHandler != null) {
530
310
  mCustomEventHandler.receiveEvent(targetTag, eventName, event);
531
311
  }
532
-
533
- String key = targetTag + eventName;
534
-
535
- if (!mEventMapping.isEmpty()) {
536
- EventNode node = mEventMapping.get(key);
537
- if (node != null) {
538
- node.receiveEvent(targetTag, eventName, event);
539
- }
540
- }
541
312
  }
542
313
 
543
314
  public UIManagerModule.CustomEventNamesResolver getEventNameResolver() {
@@ -552,13 +323,6 @@ public class NodesManager implements EventDispatcherListener {
552
323
  mEventEmitter.emit(name, body);
553
324
  }
554
325
 
555
- public void setValue(int nodeID, Double newValue) {
556
- Node node = mAnimatedNodes.get(nodeID);
557
- if (node != null) {
558
- ((ValueNode) node).setValue(newValue);
559
- }
560
- }
561
-
562
326
  public void updateProps(int viewTag, Map<String, Object> props) {
563
327
  // TODO: update PropsNode to use this method instead of its own way of updating props
564
328
  boolean hasUIProps = false;
@@ -600,6 +364,10 @@ public class NodesManager implements EventDispatcherListener {
600
364
  }
601
365
  }
602
366
 
367
+ public void synchronouslyUpdateUIProps(int viewTag, ReadableMap uiProps) {
368
+ compatibility.synchronouslyUpdateUIProps(viewTag, uiProps);
369
+ }
370
+
603
371
  public String obtainProp(int viewTag, String propName) {
604
372
  View view = mUIManager.resolveView(viewTag);
605
373
  String result =
@@ -1,18 +1,15 @@
1
1
  package com.swmansion.reanimated;
2
2
 
3
3
  import android.util.Log;
4
- import com.facebook.react.bridge.Callback;
5
4
  import com.facebook.react.bridge.LifecycleEventListener;
6
5
  import com.facebook.react.bridge.ReactApplicationContext;
7
6
  import com.facebook.react.bridge.ReactContextBaseJavaModule;
8
7
  import com.facebook.react.bridge.ReactMethod;
9
- import com.facebook.react.bridge.ReadableMap;
10
8
  import com.facebook.react.module.annotations.ReactModule;
11
9
  import com.facebook.react.uimanager.NativeViewHierarchyManager;
12
10
  import com.facebook.react.uimanager.UIBlock;
13
11
  import com.facebook.react.uimanager.UIManagerModule;
14
12
  import com.facebook.react.uimanager.UIManagerModuleListener;
15
- import com.swmansion.reanimated.transitions.TransitionModule;
16
13
  import java.util.ArrayList;
17
14
  import javax.annotation.Nullable;
18
15
 
@@ -27,11 +24,7 @@ public class ReanimatedModule extends ReactContextBaseJavaModule
27
24
  }
28
25
 
29
26
  private ArrayList<UIThreadOperation> mOperations = new ArrayList<>();
30
-
31
27
  private @Nullable NodesManager mNodesManager;
32
- private @Nullable TransitionModule mTransitionManager;
33
-
34
- private UIManagerModule mUIManager;
35
28
 
36
29
  public ReanimatedModule(ReactApplicationContext reactContext) {
37
30
  super(reactContext);
@@ -43,9 +36,6 @@ public class ReanimatedModule extends ReactContextBaseJavaModule
43
36
  UIManagerModule uiManager = reactCtx.getNativeModule(UIManagerModule.class);
44
37
  reactCtx.addLifecycleEventListener(this);
45
38
  uiManager.addUIManagerListener(this);
46
- mTransitionManager = new TransitionModule(uiManager);
47
-
48
- mUIManager = uiManager;
49
39
  }
50
40
 
51
41
  @Override
@@ -115,121 +105,6 @@ public class ReanimatedModule extends ReactContextBaseJavaModule
115
105
  }
116
106
  }
117
107
 
118
- @ReactMethod
119
- public void animateNextTransition(int tag, ReadableMap config) {
120
- mTransitionManager.animateNextTransition(tag, config);
121
- }
122
-
123
- @ReactMethod
124
- public void createNode(final int tag, final ReadableMap config) {
125
- mOperations.add(
126
- new UIThreadOperation() {
127
- @Override
128
- public void execute(NodesManager nodesManager) {
129
- nodesManager.createNode(tag, config);
130
- }
131
- });
132
- }
133
-
134
- @ReactMethod
135
- public void dropNode(final int tag) {
136
- mOperations.add(
137
- new UIThreadOperation() {
138
- @Override
139
- public void execute(NodesManager nodesManager) {
140
- nodesManager.dropNode(tag);
141
- }
142
- });
143
- }
144
-
145
- @ReactMethod
146
- public void connectNodes(final int parentID, final int childID) {
147
- mOperations.add(
148
- new UIThreadOperation() {
149
- @Override
150
- public void execute(NodesManager nodesManager) {
151
- nodesManager.connectNodes(parentID, childID);
152
- }
153
- });
154
- }
155
-
156
- @ReactMethod
157
- public void disconnectNodes(final int parentID, final int childID) {
158
- mOperations.add(
159
- new UIThreadOperation() {
160
- @Override
161
- public void execute(NodesManager nodesManager) {
162
- nodesManager.disconnectNodes(parentID, childID);
163
- }
164
- });
165
- }
166
-
167
- @ReactMethod
168
- public void connectNodeToView(final int nodeID, final int viewTag) {
169
- mOperations.add(
170
- new UIThreadOperation() {
171
- @Override
172
- public void execute(NodesManager nodesManager) {
173
- nodesManager.connectNodeToView(nodeID, viewTag);
174
- }
175
- });
176
- }
177
-
178
- @ReactMethod
179
- public void disconnectNodeFromView(final int nodeID, final int viewTag) {
180
- mOperations.add(
181
- new UIThreadOperation() {
182
- @Override
183
- public void execute(NodesManager nodesManager) {
184
- nodesManager.disconnectNodeFromView(nodeID, viewTag);
185
- }
186
- });
187
- }
188
-
189
- @ReactMethod
190
- public void attachEvent(final int viewTag, final String eventName, final int eventNodeID) {
191
- mOperations.add(
192
- new UIThreadOperation() {
193
- @Override
194
- public void execute(NodesManager nodesManager) {
195
- nodesManager.attachEvent(viewTag, eventName, eventNodeID);
196
- }
197
- });
198
- }
199
-
200
- @ReactMethod
201
- public void detachEvent(final int viewTag, final String eventName, final int eventNodeID) {
202
- mOperations.add(
203
- new UIThreadOperation() {
204
- @Override
205
- public void execute(NodesManager nodesManager) {
206
- nodesManager.detachEvent(viewTag, eventName, eventNodeID);
207
- }
208
- });
209
- }
210
-
211
- @ReactMethod
212
- public void getValue(final int nodeID, final Callback callback) {
213
- mOperations.add(
214
- new UIThreadOperation() {
215
- @Override
216
- public void execute(NodesManager nodesManager) {
217
- nodesManager.getValue(nodeID, callback);
218
- }
219
- });
220
- }
221
-
222
- @ReactMethod
223
- public void setValue(final int nodeID, final Double newValue) {
224
- mOperations.add(
225
- new UIThreadOperation() {
226
- @Override
227
- public void execute(NodesManager nodesManager) {
228
- nodesManager.setValue(nodeID, newValue);
229
- }
230
- });
231
- }
232
-
233
108
  @ReactMethod
234
109
  public void addListener(String eventName) {
235
110
  // Keep: Required for RN built in Event Emitter Calls.
@@ -3,13 +3,14 @@ package com.swmansion.reanimated.layoutReanimation;
3
3
  import com.facebook.jni.HybridData;
4
4
  import com.facebook.proguard.annotations.DoNotStrip;
5
5
  import com.facebook.react.bridge.ReactApplicationContext;
6
+ import com.facebook.soloader.SoLoader;
6
7
  import com.swmansion.reanimated.ReanimatedModule;
7
8
  import java.lang.ref.WeakReference;
8
9
  import java.util.Map;
9
10
 
10
11
  public class LayoutAnimations {
11
12
  static {
12
- System.loadLibrary("reanimated");
13
+ SoLoader.loadLibrary("reanimated");
13
14
  }
14
15
 
15
16
  @DoNotStrip